4 pontos por minsuchae 2025-04-21 | 9 comentários | Compartilhar no WhatsApp

Informações sobre os candidatos à 21ª eleição presidencial em um só lugar

  • O título parece grandioso, mas resumindo: este é um projeto que tem como objetivo fornecer, antes da 21ª eleição presidencial, informações como histórico dos candidatos presidenciais, promessas de campanha e até controvérsias envolvendo os candidatos.
  • 🔗 https://daeseoneunjigeum.com

Objetivo da criação

Pessoas conhecidas minhas na faixa dos 20 anos demonstraram interesse pelo presidente e pela eleição presidencial, e com vários acontecimentos recentes, achei que o interesse dos jovens pela eleição aumentou e que era preciso incentivar a participação na eleição presidencial.
Mas, na prática, quando chega a hora de votar, é difícil analisar cada pessoa em detalhes, e também não é fácil decidir quem é melhor ao comparar com os outros candidatos.
“Então vamos criar um site em que um LLM responda perguntas e respostas imediatamente.” Foi com essa ideia bem simples que comecei o projeto; o planejamento levou de 2 a 5 dias, e a programação com o deploy levaram cerca de dois dias.

Funcionalidades

  • Resumo de histórico, promessas e controvérsias por candidato
    (Como o material oficial da eleição ainda não saiu, por enquanto é um rascunho baseado em notícias.)
  • Q&A em tempo real com perguntas como “Me diga as principais promessas do candidato ○○”
    (Gemma‑3‑1b‑it gera as respostas. Tudo processado só com CPU 😅 )

Planos futuros

  • Fornecer informações com base nos materiais oficiais da eleição
  • Se o projeto despertar grande interesse não apenas entre desenvolvedores, mas entre os cidadãos da Coreia do Sul em geral, ou receber apoio institucional, melhorar o modelo LLM para o Gemma‑3‑27b

Pontos que deixam a desejar

  1. Tamanho do modelo
    A ideia original era rodar a versão de 27 b parâmetros, mas ela exigia 48 GB de VRAM.
    No fim, tive de me contentar com o modelo de 1 b. (Só alugar uma A6000 já custaria algo em torno de 600 mil won por mês.)
  2. Baixa qualidade dos dados
    Embora eu tenha feito uma triagem por meio de notícias e outras fontes, como ainda não há material oficial, ainda existe a limitação de ser difícil identificar promessas específicas com precisão. Assim que o material eleitoral oficial for divulgado, pretendo atualizar primeiro isso.
  3. Velocidade de resposta do modelo LLM
    Em cumprimentos simples ele responde em poucos segundos, mas quando a pergunta é algo central, como promessas de campanha, há o problema de levar mais de 1 minuto. Então chamar isso de tempo real é um pouco forçado. Isso acontece porque o processamento é via CPU. 😅

Pedidos

  • Se encontrar informações incorretas ou qualquer incômodo, por favor avise nos comentários.
  • Patrocínio de GPU / parceria em nuvem é sempre bem-vindo.
  • Agradeço se evitarem apenas testes de carga excessivos!

Como a participação dos jovens na eleição tem se tornado cada vez mais importante recentemente, criei isso para facilitar e agilizar o acesso à informação política.
Dê uma passada, pesquise o candidato sobre o qual você tem curiosidade e aponte o que pode ser melhorado. 🙏

Minha formação é na área de computação, mas meu perfil é mais de pesquisador em IA do que de desenvolvedor, então pontos como testes automatizados ou checagem de tipos de dados podem incomodar quem é desenvolvedor raiz.

9 comentários

 
gliburch 2025-05-29

Olá. Inspirado por este post, eu também criei algo parecido, mas com um formato um pouco diferente. Pessoalmente, venho testando várias possibilidades de aplicação de IA em serviços, e desta vez foi uma boa experiência em termos de abordagem técnica e implementação.

 
minsuchae 2025-05-09

Vou rodar com o gemma 12b de 8 de maio a 11 de maio. Participei de um teste beta realizado por uma empresa que oferece um serviço semelhante ao de computação em nuvem com GPU, fiz testes de carga relacionados e apliquei isso para que fosse possível entender a carga real.
Como é difícil continuar revisando as informações relacionadas o tempo todo, estou atualizando sempre que há uma grande atualização de informações. A próxima atualização será na manhã do dia 12, quando os candidatos oficiais da eleição forem confirmados, e depois disso, quando os materiais oficiais da campanha eleitoral forem publicados, pretendo melhorar o sistema para fornecer essas informações por meio de RAG.

 
cgl00 2025-04-23

A proposta é muito boa, mas acho que pode haver problemas legais se esse tipo de informação for transmitido com base em LLMs (ou seja, de forma imprecisa)..!

 
minsuchae 2025-04-21

Eu não publiquei em alguns sites, e não sei se foi por causa dos meus testes internos ou de outra pessoa, mas ele acabou virando um zumbi devido à carga excessiva. É uma IA local e um modelo leve, então eu não esperava que a carga ficasse tão pesada assim, mas como executei em um ambiente virtualizado, ele entrou em estado zumbi... ;; Vou verificar e restaurar.
Para quem oferece serviços de IA local, se o processamento for em GPU talvez seja menos problemático, mas com CPU... acho melhor desistir. Não parece que alguém tenha usado tanto assim... ;;
Era um servidor físico que não costumava executar trabalhos pesados, mas subi o serviço em um docker container, e por mais modesta que fosse a máquina, a carga de CPU ficou tão excessiva que até acessar via ssh ficou difícil...; eu não tinha configurado limite de CPU, então isso acabou causando problema até no servidor host...
Também não parece que tenha havido tantos usuários reais assim...

 
pedogunu 2025-04-23

Vocês chegaram a considerar emitir e usar uma chave do OpenRouter, ou experimentar o WebLLM ou o Gemini Nano?

 
minsuchae 2025-04-24

Obrigado por avisar. Primeiro, como não é um site estático, estou pensando em fazer isso no backend em vez de necessariamente processar no frontend, para esconder ao máximo a chave da API.
Antes eu não pensava muito nisso, mas pretendo usar OpenAI ou outra API 7 ou 14 dias antes da eleição.
Até lá, embora seja possível reduzir os custos com um modelo menor, ainda não dá para estimar quanto será usado, então estou sendo cauteloso quanto ao uso.
Graças a você, fui pesquisar sobre o WebLLM. Como alguém que pesquisa deep learning, eu estava pensando em servir e executar o modelo em algo como uma CDN, e agora descobri que existe uma forma de servir assim. Mas ainda há pontos que me deixam em dúvida. Se for executado no frontend, claro que a carga diminui, mas acho que o problema pode ser o tempo inicial para servir o modelo, que talvez seja um pouco longo. Essa parte ainda me faz pensar. Mesmo assim, graças a você, conheci um projeto muito bom. Como ainda não vi tudo direito, não entendi completamente se só funcionam os modelos que estão no README, se modelos compatíveis também podem ser servidos, ou se é preciso colocá-los em outra CDN. Na minha opinião, talvez seja necessário servir o próprio modelo separadamente. Nesse caso, acho que essa parte seria uma preocupação. Não sei como é no exterior, mas fico me perguntando se existe alguma CDN no Brasil/Coreia do Sul para servir modelos. Pelo que pesquisei, as CDNs domésticas que encontrei em geral permitem apenas imagens.

 
jujumilk3 2025-04-22

Nossa T_T

 
minsuchae 2025-04-22

Embora seja um modelo LLM 1B, parece que ele exige bastante processamento. Ontem foi uma correria, e de repente o container entrou em estado zumbi, então fiquei meio perdido; fiz testes mudando continuamente o limite de uso de CPU no Docker, e no fim parece que ele mal consegue lidar com 3 a 5 requisições simultâneas.
De certo modo, ao fazer esse projeto simples, também queria entender até que ponto a IA local vai chegar nos próximos anos e quanta carga um serviço de LLM sofre quando há falta de recursos de GPU.
A CPU do servidor é um AMD 7700. No fim, percebi que para rodar isso com IA local é preciso considerar várias coisas. Há mais problemas de timeout entre o envio do POST e a chegada da resposta do que eu esperava, e concluí que, para oferecer um serviço estável, seria melhor ter muitas GPUs ou dispositivos voltados para inferência (por exemplo, Google TPU), além de estruturar isso de forma que possa ser oferecido em fila.
Na prática, no Brasil são poucas as empresas que realmente operam LLMs de forma adequada (como as já conhecidas Naver, Kakao e Upstage), e muitos chatbots acabam apenas executando funções predefinidas ou conectando APIs de modelos LLM. Isso me fez pensar melhor sobre quanta carga esse tipo de serviço realmente gera e, se quisermos reduzir o peso no servidor em um serviço web, que tipo de abordagem seria necessária.
A propósito, algumas pessoas que lerem este comentário podem pensar algo como “não basta simplesmente entregar o modelo e servir?”. Mas o tamanho do gemma3 1b passa de 1 GB, e embora eu esteja usando hospedagem de servidor, achei que não conseguiria suportar esse tráfego.
Talvez desse para pré-instalar isso de algum jeito em formato de app, mas no caso da web, empresas que pensarem bem em como oferecer esse tipo de serviço reduzindo a carga no servidor provavelmente conseguirão manter custos operacionais mais baixos.

 
jujumilk3 2025-04-22

Muito obrigado por compartilhar uma experiência tão valiosa.