Uma estrutura de ajuste fino e implantação de modelos de linguagem grandes com código zero e baixo código, que suporta o ajuste fino unificado e eficiente de mais de 100 LLM/VLM.
💡 Explicação do Projeto LLaMA‑Factory
I. Visão Geral do Projeto
LLaMA‑Factory é uma plataforma de código aberto focada no ajuste fino, treinamento e implantação de modelos de linguagem grandes (LLM/VLM). Publicado por Yaowei Zheng et al. na ACL 2024 e incluído no arXiv ([gitee.com][1]). Este projeto destaca as seguintes características:
- Suporte para mais de 100 modelos: Incluindo LLaMA, LLaVA, Mistral, Qwen, ChatGLM, Phi e outros modelos principais e emergentes.
- Interface sem código + com pouco código: Modos CLI e Web UI (LLaMABoard), cobrindo fluxos de treinamento comuns, com um limite técnico muito baixo.
- Integração de vários métodos de ajuste fino eficientes: Suporte para LoRA, QLoRA (2/4/8 bit), congelamento, parâmetros completos de 16 bits, FlashAttention‑2, Unsloth, RoPE scaling, etc.
- Algoritmos de ajuste ricos: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture‑of‑Depths, LoRA+, LoftQ, PiSSA, etc.
- Múltiplos métodos de treinamento: Pré-treinamento, ajuste fino supervisionado (SFT), modelagem de recompensa (RM), métodos de aprendizado por reforço PPO/DPO/KTO/ORPO, etc.
- Múltiplas ferramentas de monitoramento de experimentos: Suporte para LlamaBoard, TensorBoard, Wandb, MLflow, SwanLab, etc.
- Compatibilidade de inferência e implantação: Suporte para implantação no estilo da API OpenAI, inferência simultânea vLLM, Gradio UI e outras opções de inferência ricas.
II. Destaques das Principais Funcionalidades
1. Ampla Gama de Suporte a Modelos
Cobre mais de cem modelos, incluindo vários tamanhos e arquiteturas, desde LLaMA, Phi até Qwen2-VL, Gemma, DeepSeek, etc.
2. Técnicas de Ajuste Fino Eficientes
- LoRA / QLoRA: Suporte para ajuste fino adaptativo de quantização de baixa precisão; o LoRA de 4 bits tem velocidade de inferência mais rápida e menor necessidade de memória de vídeo do que os métodos tradicionais.
- Operadores de otimização: FlashAttention-2, Unsloth melhoram a velocidade de treinamento e a utilização da memória de vídeo.
- RoPE Scaling: Expande a capacidade de comprimento do contexto.
3. Treinamento e Aprendizado por Reforço
Integra fluxos de treinamento comuns: desde pré-treinamento, SFT, até treinamento de modelo de recompensa e, em seguida, aprendizado por reforço PPO/DPO.
4. Monitoramento Visual
Visualize o progresso do treinamento, métricas e logs em tempo real através do Web UI (LLaMABoard), TensorBoard, Wandb, etc.
5. Capacidade de Inferência e Implantação
Suporta a exportação do modelo ajustado para o formato da API OpenAI e realiza inferência simultânea (vLLM) ou constrói um frontend Gradio.
III. Fluxo de Uso e Início Rápido
Instalação / Inicialização
pip install llama-factory # Ou instale clonando do GitHub
Modo CLI:
llama-factory train \ --model llama-13b \ --dataset mydata \ --finetuning_type lora \ ## Mais parâmetros consulte a documentação oficial
Modo Web UI:
CUDA_VISIBLE_DEVICES=0 python src/train_web.py
Inicie o LLaMABoard, configure os hiperparâmetros de treinamento em um só lugar
Preparação de Dados
O projeto vem com mais de 60 conjuntos de dados (diretório data) e também suporta arquivos JSON personalizados, gerenciando uniformemente dataset_info.json.
Monitoramento e Avaliação
O treinamento suporta automaticamente a exibição do TensorBoard, Wandb; também pode acessar backends de monitoramento como MLflow, SwanLab.
Inferência e Implantação
Após o treinamento, gere diretamente o pacote de implantação através do CLI ou script de exportação, suportando inferência simultânea e exibição Gradio.
V. Conclusão
LLaMA‑Factory é uma estrutura de ajuste fino de LLM completa, fácil de usar e tecnologicamente avançada. Seja você um pesquisador ou um engenheiro, você pode personalizar, treinar e implantar rapidamente uma grande quantidade de modelos de código aberto, sem a necessidade de escrever código complexo, sendo uma ferramenta poderosa para entrar no campo do ajuste fino de LLM.