Home
Login

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.

Apache-2.0Python 52.6khiyouga Last Updated: 2025-06-18

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