Junior Martins Postado ontem às 12:02 Postado ontem às 12:02 Deixa eu contar a história. O Seshat é uma CLI em Rust que faço há um tempo com o propósito único: gerar commits com IA seguindo Conventional Commits, em PT-BR. Começou como dor pessoal e acbou virando bancada de estudo. Depois de acumular bastante histórico, decidi treinar um modelo próprio usando QLoRA sobre Qwen 2.5 Coder 7B, dataset feito dos meus próprios commits, desta forma nasceu o Seshat Commit. O primeiro fine-tuning a gente nunca esquece. 🎉 Depois montei um benchmark comparando três agentes (Codex, Claude, Ollama) em fixtures Rust/Python/TS. Resultado: • Seshat Commit (7B local): 371ms média | 100% Conventional Commits válidos | venceu todas as 3 fixtures • Claude Sonnet 4.6: 5.099ms média | 100% válidos | 0 fixtures vencidas • GPT-5.3-Codex: 12.984ms média | 100% válidos | 0 fixtures vencidas Mesma qualidade. ~14x mais rápido que Claude. ~35x mais rápido que Codex. Zero custo de API. Roda no notebook. A lição que fica: para tarefas estreitas e bem definidas, modelo pequeno especializado não só compete, ele vence. O hype é todo nos modelos gigantes, mas tem espaço e demanda para modelos pequenos focados. 🔗 Modelo: https://ollama.com/juniormartinxo/seshat-commit 🔗 Seshat + Bench: https://seshat.juniormartins.dev/ 🔗 Seshat no Github: https://github.com/juniormartinxo/seshat 1
Davi Ferreira Lacerda Baliza Postado ontem às 14:54 Postado ontem às 14:54 Caraca que insano... 35x mais rápido é coisa pra cacete, atualmente estou usando o codex pra e anda bem lentão pra qualquer tipo de tarefa, gostaria de tentar rodar alguns modelos locais por aqui na minha máquina mas acho que vou ficar um dia todo pra tentar executar 1 tarefa kkkkkkkkkkk. Muito legal seu estudo Junior, parabéns. 2
Marcelo Giovanni Oliveira Postado ontem às 15:30 Postado ontem às 15:30 Se puder falar mais sobre como foi o processo de treinamento. 1
Sergio T Postado ontem às 15:50 Postado ontem às 15:50 Mas obviamente seria mais rápido certo? Qual effort vc deixou o Claude e gpt? Além da latência de rede, vc ainda tem a concorrencia da infra q hj eh um dos grandes gargalos. Eu gosto de rodar local, tenho um note com 6gb de vram. Ultimamente tenho usado gemma4. Mas tô curioso pra rodar os qwen 2
Sergio T Postado ontem às 15:51 Postado ontem às 15:51 Agora, sob a perspectiva de c/b dificilmente a conta de rodar local fecha. Vale mais a pena pagar API de modelo chinês de trilhões q vai sair mais barato e com qualidade melhor Isso q eh foda. Temos q aproveitar os subsídios enqto ainda existem 2
Junior Martins Postado ontem às 15:56 Author Postado ontem às 15:56 16 minutes ago, Marcelo Giovanni Oliveira disse: Se puder falar mais sobre como foi o processo de treinamento. Opa, Marcelo, claro! O que eu fiz foi um um fine-tuning local para uma tarefa bem específica, que é: receber um git diff e devolver uma mensagem no padrão Conventional Commits, em PT-BR. O dataset saiu do meu próprio histórico de commits. Como eu já usava o Seshat (https://github.com/juniormartinxo/seshat) para fazer meus commits usando IA (Deepseek, Codex, Claude etc), eu extraí os commits dos repositórios que eu trabalho, normalizei para formato chat, removendo WIP, revert, commits genéricos, bots, diffs só de whitespace, mensagens fora de Conventional Commits e duplicatas. No fim, ficaram 4.869 amostras de treino + 256 de avaliação, a partir de 13.525 commits brutos. O modelo base foi o Qwen 2.5 Coder 7B Instruct em 4-bit. Fiz QLoRA com Unsloth/TRL, LoRA r=16, alpha=16, focando só em ensinar o padrão de saída e o meu estilo de commit, não em transformar o modelo num chat geral. Tanto que, se você perguntar algo diferente de "gerar commit", é capaz de ele responder algo absurdo. O que ele sabe fazer, e faz bem, é texto para commit. O treino rodou localmente numa RTX 5070 Ti 16 GB e fechou com loss final de 0.2768. Depois exportei para GGUF, quantizei em Q4_K_M e publiquei para uso via Ollama. A ideia é rodar 100% local: ``` git diff --cached | ollama run juniormartinxo/seshat-commit ``` Ou direto pelo Seshat com `seshat commit --yes`.
Junior Martins Postado ontem às 16:22 Author Postado ontem às 16:22 6 minutes ago, Sergio T disse: Mas obviamente seria mais rápido certo? Qual effort vc deixou o Claude e gpt? Além da latência de rede, vc ainda tem a concorrencia da infra q hj eh um dos grandes gargalos. Eu gosto de rodar local, tenho um note com 6gb de vram. Ultimamente tenho usado gemma4. Mas tô curioso pra rodar os qwen Sim, tende a ser mais rápido, principalmente por eliminar latência de rede, fila/concorrência de infra e custo de tokens. Mas o ganho real depende da máquina, do cold start do modelo, do tamanho do diff e da VRAM disponível. Mesmo rodando em outra máquina, o resultado ainda ficou melhor para esse caso porque o modelo é bem especializado, já que ele só precisa transformar diff em mensagem de commit no meu padrão. Não é um modelo geral tentando resolver tudo. Sobre o effort, eu comparei contra usos mais básicos/default de GPT 5.3 e Claude Sonnet 4.5, não em modo de raciocínio pesado/high effort. Aqui a comparação principal não é "inteligência geral", é custo, latência e aderência a uma tarefa muito específica. No meu fluxo isso fez bastante diferença porque eu costumo fazer commits separados por arquivo, e o Seshat ainda roda um Code Review antes de commitar. Então, o que antes consumia minutos e tokens em providers externos agora roda local, com mais previsibilidade e custo praticamente zero por execução. Depois quero trazer os números de latência certinhos aqui.
Junior Martins Postado ontem às 16:35 Author Postado ontem às 16:35 30 minutes ago, Sergio T disse: Agora, sob a perspectiva de c/b dificilmente a conta de rodar local fecha. Vale mais a pena pagar API de modelo chinês de trilhões q vai sair mais barato e com qualidade melhor Isso q eh foda. Temos q aproveitar os subsídios enqto ainda existem Aí eu discordo um pouco. Com DeepSeek eu pagava em média uns 5 dólares por ano só para gerar commits. É pouco, concordo. Mas agora meu custo marginal é zero, porque o hardware eu já tenho e o PC já fica ligado para outras tarefas. Do ponto de vista de C/B geral, para muita gente talvez API ainda faça mais sentido mesmo, não precisa manter máquina, não precisa VRAM, não tem setup, e você ainda aproveita o subsídio desses modelos grandes enquanto eles existirem. Mas no meu caso específico, para essa tarefa, o local fecha melhor. Não estou tentando competir com GPT ou Claude em inteligência geral. Eles são muito mais capazes. O ponto é que um modelo 7B especializado em uma única coisa, diff -> commit no meu padrão, pode ganhar em custo, latência e previsibilidade para esse fluxo. Então, para uso amplo, eu concordo que API costuma ser imbatível, mas para esse caso estreito e repetitivo, rodar local ficou melhor para mim.
Recommended Posts
Crie uma conta ou entre para comentar
You need to be a member in order to leave a comment
Crie sua conta
Matricule-se na AUVP e faça parte da maior comunidade de influenciadores do Brasil.
Matricule-se na AUVPSign in
Already have an account? Sign in here.
Login