Repolode
MakazhanAlpamys

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. 1

    Instale o extra training com pip

    pip install "soup-cli[train]"
  2. 2

    Crie uma configuração a partir de um modelo

    soup init --template chat
  3. 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