Framework gratuito e open source para fine-tuning e pós-treinamento de LLMs, configurado por arquivos YAML.
MakazhanAlpamys/Soup
Ferramenta CLI para ajustar e fazer pós-treinamento de LLMs com um único arquivo YAML, incluindo opções para GPUs de consumo com pouca VRAM.
- Estrelas
- 9,388
- Forks
- 1,540
- Issues abertas
- 195
- Último commit
- ontem
O que é?
Soup é uma ferramenta de linha de comando para ajustar e fazer pós-treinamento de modelos de linguagem grandes. Um projeto é descrito em um único arquivo YAML, que define o modelo base, a tarefa, o conjunto de dados e as opções de treinamento; o comando `soup train` executa o trabalho. As tarefas compatíveis incluem SFT, métodos de preferência como DPO, KTO, ORPO e SimPO, além de variantes de aprendizado por reforço, como GRPO e PPO. LoRA e QLoRA são as opções padrão para adaptadores e quantização.
O projeto é voltado a desenvolvedores que querem treinar localmente sem precisar gerenciar manualmente máquinas com GPUs na nuvem. Formatos de conjunto de dados como Alpaca, ShareGPT e ChatML são detectados automaticamente em arquivos JSONL, JSON, CSV, Parquet ou TXT. O Soup também inclui etapas posteriores ao treinamento: conversar com um modelo, disponibilizar uma API compatível com OpenAI, combinar adaptadores, exportar para GGUF para uso com Ollama ou llama.cpp e enviar para o Hugging Face Hub.
Um modo opcional separado de streaming de camadas mantém o modelo base congelado na RAM do computador e transfere uma camada do decoder por vez para a GPU. Segundo o projeto, isso permite ajustar um modelo 8B em uma GPU de laptop com 4 GB. Esse modo é marcado como beta no projeto. Extras opcionais incluem uma interface web local, backends Unsloth e MLX e ferramentas de avaliação.
Recursos principais
- 01Treine com um único arquivo YAML usando `soup train`.
- 02Compatível com tarefas no estilo SFT, DPO, KTO, ORPO, SimPO, GRPO e PPO.
- 03Usa LoRA e QLoRA com configurações automáticas de tamanho de batch e quantização.
- 04Detecta automaticamente formatos comuns de conjuntos de dados, como Alpaca, ShareGPT e ChatML.
- 05Exporta modelos para GGUF e os disponibiliza por meio de uma API compatível com OpenAI.
Casos de uso
- Ajustar um modelo de 7B a 14B com QLoRA em uma única GPU de consumo.
- Executar experimentos de ajuste por preferência, como DPO ou ORPO, sem escrever loops de treinamento.
- Preparar um modelo ajustado com LoRA para uso local com Ollama ou llama.cpp, exportando-o para GGUF.
- Treinar em um laptop com pouca VRAM usando o modo opcional de streaming de camadas.
Início rápido
- 1
Instale o extra training com pip
pip install "soup-cli[train]" - 2
Crie uma configuração a partir de um modelo
soup init --template chat - 3
Treine o modelo
soup train
Antes de usar
- Apenas Python 3.10–3.12 é compatível; versões 3.13 ou posteriores não são suportadas.
- O fine-tuning requer o extra [train], e o recurso de streaming de camadas para pouca VRAM ainda está em BETA e é opcional.
- Algumas opções (por exemplo, exportação awq/gptq) estão obsoletas e serão removidas na v0.77.
Tópicos
Perguntas frequentes
- O que é Soup?
- Ferramenta CLI para ajustar e fazer pós-treinamento de LLMs com um único arquivo YAML, incluindo opções para GPUs de consumo com pouca VRAM. Soup é uma ferramenta de linha de comando para ajustar e fazer pós-treinamento de modelos de linguagem grandes. Um projeto é descrito em um único arquivo YAML, que define o modelo base, a tarefa, o conjunto de dados e as opções de treinamento; o comando `soup train` executa o trabalho. As tarefas compatíveis incluem SFT, métodos de preferência como DPO, KTO, ORPO e SimPO, além de variantes de aprendizado por reforço, como GRPO e PPO. LoRA e QLoRA são as opções padrão para adaptadores e quantização.
- Soup é gratuito? Qual é a licença?
- Soup é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- Soup ainda é mantido?
- Manutenção ativa. O último commit de Soup foi em 19 de out. de 2026.
- Para que posso usar Soup?
- Ajustar um modelo de 7B a 14B com QLoRA em uma única GPU de consumo. Executar experimentos de ajuste por preferência, como DPO ou ORPO, sem escrever loops de treinamento. Preparar um modelo ajustado com LoRA para uso local com Ollama ou llama.cpp, exportando-o para GGUF. Treinar em um laptop com pouca VRAM usando o modo opcional de streaming de camadas.
- Como instalar Soup?
- Instale o extra training com pip: pip install "soup-cli[train]" Crie uma configuração a partir de um modelo: soup init --template chat Treine o modelo: soup train
- Onde consigo Soup?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/MakazhanAlpamys/Soup
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Aplicativo desktop de código aberto e interface web para executar, ajustar e exportar LLMs e modelos de difusão localmente, além de uma biblioteca de treinamento baseada em código.
Framework unificado para ajustar 100+ LLMs e VLMs com eficiência, usando uma CLI e uma interface Web sem código.
Biblioteca Python que executa LLMs grandes camada por camada, permitindo inferência com modelos da classe 70B em uma única GPU de 4 GB, sem quantização.
Uma CLI e TUI em Rust que detecta CPU, RAM e GPU e classifica LLMs abertos conforme o desempenho esperado na sua máquina.
Um guia prático e codebase em PyTorch para treinar um LLM do zero, cobrindo pré-treinamento, SFT, modelagem de recompensas, DPO/PPO/GRPO e geração.