Junte-se ao nosso grupo de usuários WeChat ou NPU.
[Inglês | 中文]
Ajustar um modelo de linguagem grande pode ser tão fácil quanto...
Escolha seu caminho:
Colab : https://colab.research.google.com/drive/1eRTPn37ltBbYsISy9Aw2NuI2Aq5CQrD9?usp=sharing
PAI-DSW : Exemplo Llama3 | Exemplo Qwen2-VL
Máquina local : consulte o uso
Documentação (WIP) : https://llamafactory.readthedocs.io/zh-cn/latest/
Atividades recentes:
2024/10/18-2024/11/30 : Construa um bot de guia turístico pessoal usando PAI + LLaMA Factory. [site]
Observação
Exceto os links acima, todos os outros sites são sites de terceiros não autorizados. Por favor, use-os com cuidado.
Características
Referência
Registro de alterações
Modelos Suportados
Abordagens de treinamento apoiadas
Conjuntos de dados fornecidos
Exigência
Começando
Projetos usando LLaMA Factory
Licença
Citação
Reconhecimento
Vários modelos : LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Qwen2-VL, Yi, Gemma, Baichuan, ChatGLM, Phi, etc.
Métodos integrados : pré-treinamento (contínuo), ajuste fino (multimodal) supervisionado, modelagem de recompensa, PPO, DPO, KTO, ORPO, etc.
Recursos escaláveis : ajuste completo de 16 bits, ajuste de congelamento, LoRA e QLoRA de 2/3/4/5/6/8 bits via AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ.
Algoritmos avançados : GaLore, BAdam, Adam-mini, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ, PiSSA e ajuste de agente.
Truques práticos : FlashAttention-2, Unsloth, Liger Kernel, escalamento RoPE, NEFTune e rsLoRA.
Monitores de experimento : LlamaBoard, TensorBoard, Wandb, MLflow, etc.
Inferência mais rápida : API estilo OpenAI, UI Gradio e CLI com trabalhador vLLM.
Comparado ao P-Tuning do ChatGLM, o ajuste LoRA do LLaMA Factory oferece velocidade de treinamento até 3,7 vezes mais rápida com melhor pontuação Rouge na tarefa de geração de texto publicitário. Ao aproveitar a técnica de quantização de 4 bits, o QLoRA da LLaMA Factory melhora ainda mais a eficiência da memória da GPU.
Velocidade de treinamento : o número de amostras de treinamento processadas por segundo durante o treinamento. (bs=4, cutoff_len=1024)
Pontuação Rouge : Pontuação Rouge-2 no conjunto de desenvolvimento da tarefa de geração de texto publicitário. (bs=4, cutoff_len=1024)
Memória GPU : Pico de uso de memória GPU em treinamento quantizado de 4 bits. (bs=1, cutoff_len=1024)
Adotamos pre_seq_len=128
para P-Tuning do ChatGLM e lora_rank=32
para ajuste LoRA do LLaMA Factory.
[24/10/09] Oferecemos suporte para download de modelos e conjuntos de dados pré-treinados do Modelers Hub . Veja este tutorial para uso.
[24/09/19] Apoiamos o ajuste fino dos modelos Qwen2.5 .
[24/08/30] Apoiamos o ajuste fino dos modelos Qwen2-VL . Obrigado ao PR de @simonJJJ.
[24/08/27] Apoiamos o Liger Kernel . Experimente enable_liger_kernel: true
para um treinamento eficiente.
[24/08/09] Oferecemos suporte ao otimizador Adam-mini . Veja exemplos de uso. Agradeça ao PR de @relic-yuexi.
[24/07/04] Apoiamos treinamentos embalados e livres de contaminação. Use neat_packing: true
para ativá-lo. Agradeça ao PR de @chuan298.
[24/06/16] Apoiamos o algoritmo PiSSA . Veja exemplos de uso.
[24/06/07] Apoiamos o ajuste fino dos modelos Qwen2 e GLM-4 .
[24/05/26] Apoiamos o algoritmo SimPO para aprendizagem de preferências. Veja exemplos de uso.
[24/05/20] Apoiamos o ajuste fino dos modelos da série PaliGemma . Observe que os modelos PaliGemma são modelos pré-treinados, você precisa ajustá-los com o modelo paligemma
para conclusão do chat.
[24/05/18] Apoiamos o algoritmo KTO para aprendizagem de preferências. Veja exemplos de uso.
[24/05/14] Apoiamos treinamento e inferência nos dispositivos Ascend NPU. Verifique a seção de instalação para obter detalhes.
[24/04/26] Apoiamos o ajuste fino dos LLMs multimodais LLaVA-1.5 . Veja exemplos de uso.
[24/04/22] Fornecemos um notebook Colab para ajuste fino do modelo Llama-3 em uma GPU T4 gratuita. Dois modelos derivados do Llama-3 ajustados usando o LLaMA Factory estão disponíveis no Hugging Face, verifique Llama3-8B-Chinese-Chat e Llama3-Chinese para obter detalhes.
[24/04/21] Apoiamos Mixture-of-Depths de acordo com a implementação do AstraMindAI. Veja exemplos de uso.
[24/04/16] Oferecemos suporte ao otimizador BAdam . Veja exemplos de uso.
[24/04/16] Apoiamos o treinamento de longa sequência de unsloth (Llama-2-7B-56k dentro de 24 GB). Atinge 117% de velocidade e 50% de memória em comparação com FlashAttention-2. Mais benchmarks podem ser encontrados nesta página.
[24/03/31] Apoiamos o ORPO . Veja exemplos de uso.
[24/03/21] Nosso artigo "LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models" está disponível no arXiv!
[24/03/20] Oferecemos suporte a FSDP+QLoRA que ajusta um modelo 70B em GPUs de 2x24GB. Veja exemplos de uso.
[24/03/13] Apoiamos LoRA+ . Veja exemplos de uso.
[24/03/07] Oferecemos suporte ao otimizador GaLore . Veja exemplos de uso.
[24/03/07] Integramos o vLLM para inferência mais rápida e simultânea. Experimente infer_backend: vllm
para aproveitar a velocidade de inferência de 270% .
[24/02/28] Apoiamos LoRA decomposto por peso ( DoRA ). Tente use_dora: true
para ativar o treinamento DoRA.
[24/02/15] Apoiamos a expansão de blocos proposta pelo LLaMA Pro. Veja exemplos de uso.
[24/02/05] Os modelos da série Qwen1.5 (versão Qwen2 beta) são suportados no LLaMA-Factory. Verifique esta postagem do blog para obter detalhes.
[24/01/18] Apoiamos o ajuste do agente para a maioria dos modelos, equipando o modelo com habilidades de uso de ferramentas por meio do ajuste fino com dataset: glaive_toolcall_en
.
[23/12/23] Apoiamos a implementação do unsloth para impulsionar o ajuste LoRA para os modelos LLaMA, Mistral e Yi. Tente use_unsloth: true
para ativar o patch unsloth. Atinge 170% de velocidade em nosso benchmark, verifique esta página para detalhes.
[23/12/12] Apoiamos o ajuste fino do mais recente modelo MoE Mixtral 8x7B em nossa estrutura. Veja os requisitos de hardware aqui.
[23/12/01] Oferecemos suporte para download de modelos e conjuntos de dados pré-treinados do ModelScope Hub . Veja este tutorial para uso.
[23/10/21] Apoiamos o truque NEFTune para ajuste fino. Tente neftune_noise_alpha: 5
argumentos para ativar o NEFTune.
[23/09/27] Apoiamos shift_attn: true
argumento para ativar a atenção curta.
[23/09/23] Integramos os benchmarks MMLU, C-Eval e CMMLU neste repo. Veja exemplos de uso.
[23/09/10] Apoiamos FlashAttention-2 . Experimente o argumento flash_attn: fa2
para ativar o FlashAttention-2 se você estiver usando GPUs RTX4090, A100 ou H100.
[23/08/12] Apoiamos o escalonamento RoPE para estender o comprimento do contexto dos modelos LLaMA. Tente rope_scaling: linear
no treinamento e rope_scaling: dynamic
na inferência para extrapolar os embeddings de posição.
[23/08/11] Apoiamos o treinamento de DPO para modelos ajustados à instrução. Veja exemplos de uso.
[23/07/31] Oferecemos suporte ao streaming de conjunto de dados . Experimente streaming: true
e max_steps: 10000
argumentos para carregar seu conjunto de dados no modo de streaming.
[23/07/29] Lançamos dois modelos 13B ajustados para instrução no Hugging Face. Veja estes repositórios Hugging Face (LLaMA-2 / Baichuan) para obter detalhes.
[23/07/18] Desenvolvemos uma UI Web completa para treinamento, avaliação e inferência. Experimente train_web.py
para ajustar modelos em seu navegador da Web. Agradeça a @KanadeSiina e @codemayq por seus esforços no desenvolvimento.
[23/07/09] Lançamos o FastEdit ⚡?, um pacote fácil de usar para editar com eficiência o conhecimento factual de grandes modelos de linguagem. Por favor, siga FastEdit se você estiver interessado.
[23/06/29] Fornecemos um exemplo reproduzível de treinamento de um modelo de bate-papo usando conjuntos de dados que seguem instruções, consulte Baichuan-7B-sft para obter detalhes.
[23/06/22] Alinhamos a API de demonstração com o formato OpenAI, onde você pode inserir o modelo ajustado em aplicativos arbitrários baseados em ChatGPT .
[23/06/03] Apoiamos treinamento e inferência quantizada (também conhecido como QLoRA ). Veja exemplos de uso.
Modelo | Tamanho do modelo | Modelo |
---|---|---|
Bai Chuan 2 | 7B/13B | baichuan2 |
FLOR/BLOOMZ | 560M/1.1B/1.7B/3B/7.1B/176B | - |
Bate-papoGLM3 | 6B | chatglm3 |
Comando R | 35B/104B | coerente |
DeepSeek (Código/MoE) | 7B/16B/67B/236B | busca profunda |
Falcão | 7B/11B/40B/180B | falcão |
Gemma/Gemma 2/CodeGemma | 2B/7B/9B/27B | gema |
GLM-4 | 9B | glm4 |
EstagiárioLM2/EstagiárioLM2.5 | 7B/20B | estagiário2 |
Lhama | 7B/13B/33B/65B | - |
Lhama 2 | 7B/13B/70B | lhama2 |
Lhama 3-3.2 | 1B/3B/8B/70B | lhama3 |
LLaVA-1.5 | 7B/13B | lhava |
LLaVA-NeXT | 7B/8B/13B/34B/72B/110B | llava_next |
LLaVA-NeXT-Vídeo | 7B/34B | llava_next_video |
MiniCPM | 1B/2B/4B | cpm/cpm3 |
Mistral/Mixtral | 7B/8x7B/8x22B | mistral |
OLMo | 1B/7B | - |
Pali Gemma | 3B | paligemma |
Phi-1.5/Phi-2 | 1,3B/2,7B | - |
Fi-3 | 4B/7B/14B | phi |
Pixtral | 12B | pixelizado |
Qwen (1-2,5) (Código/Matemática/MoE) | 0,5B/1,5B/3B/7B/14B/32B/72B/110B | qwen |
Qwen2-VL | 2B/7B/72B | qwen2_vl |
Star Coder 2 | 3B/7B/15B | - |
XVERSO | 7B/13B/65B | xverso |
Yi/Yi-1.5 (Código) | 1,5B/6B/9B/34B | sim |
Yi-VL | 6B/34B | yi_vl |
Yuan 2 | 2B/51B/102B | yuan |
Observação
Para os modelos "base", o argumento template
pode ser escolhido entre default
, alpaca
, vicuna
etc. Mas certifique-se de usar o modelo correspondente para os modelos "instruir/chat".
Lembre-se de usar o MESMO modelo no treinamento e na inferência.
Consulte constantes.py para obter uma lista completa dos modelos que oferecemos suporte.
Você também pode adicionar um modelo de bate-papo personalizado a template.py.
Abordagem | Afinação completa | Ajuste de congelamento | LoRA | QLoRA |
---|---|---|---|---|
Pré-treinamento | ✅ | ✅ | ✅ | ✅ |
Ajuste fino supervisionado | ✅ | ✅ | ✅ | ✅ |
Modelagem de recompensa | ✅ | ✅ | ✅ | ✅ |
Treinamento PPO | ✅ | ✅ | ✅ | ✅ |
Treinamento de DPO | ✅ | ✅ | ✅ | ✅ |
Treinamento KTO | ✅ | ✅ | ✅ | ✅ |
Treinamento ORPO | ✅ | ✅ | ✅ | ✅ |
Treinamento SimPO | ✅ | ✅ | ✅ | ✅ |
Dica
Os detalhes de implementação do PPO podem ser encontrados neste blog.
Demonstração Wiki (pt)
RefinedWeb (pt)
RedPijama V2 (pt)
Wikipédia (pt)
Wikipédia (zh)
Pilha (pt)
SkyPile (zh)
FineWeb (pt)
FineWeb-Edu (pt)
A pilha (pt)
StarCoder (pt)
Identidade (pt&zh)
Stanford Alpaca (pt)
Alpaca de Stanford (zh)
Alpaca GPT4 (pt&zh)
Chamada de Função Glaive V2 (pt&zh)
LIMA (pt)
Conjunto de dados Guanaco (multilíngue)
BELA 2M (zh)
BELA 1M (zh)
BELA 0,5M (zh)
Diálogo BELLE 0,4M (zh)
BELLE Escola Matemática 0,25M (zh)
Bate-papo multivoltas BELLE 0,8M (zh)
UltraChat (pt)
OpenPlatypus (pt)
CodeAlpaca 20k (pt)
Alpaca CoT (multilíngue)
OpenOrca (pt)
SlimOrca (pt)
MathInstruct (pt)
Vaga-lume 1,1M (zh)
Controle de qualidade do Wiki (pt)
Controle de qualidade da Web (zh)
WebNovel (zh)
Néctar (pt)
deepctrl (pt&zh)
Geração de publicidade (zh)
ShareGPT hiperfiltrado (pt)
ShareGPT4 (pt&zh)
UltraChat 200k (pt)
AgentInstruct (pt)
LMSYS Chat 1M (pt)
Evol Instruct V2 (pt)
Cosmopédia (pt)
HASTE (zh)
Ruozhiba (zh)
Neo-sft (zh)
WebInstructSub (pt)
Magpie-Pro-300K-Filtrado (pt)
Magpie-ultra-v0.1 (pt)
LLaVA misto (pt&zh)
Pokémon-gpt4o-captions (pt&zh)
Abra o Assistente (de)
Dolly 15k (de)
Alpaca GPT4 (de)
OpenSchnabeltier (de)
Instrução Evol (de)
Golfinho (de)
Booksum (de)
Airoboros (de)
Ultrachat (de)
DPO misto (en&zh)
UltraFeedback (pt)
RLHF-V (pt)
VLFedback (pt)
Pares Orca DPO (pt)
HH-RLHF (pt)
Néctar (pt)
Orca DPO (de)
KTO misto (pt)
Alguns conjuntos de dados exigem confirmação antes de serem usados, por isso recomendamos fazer login com sua conta Hugging Face usando estes comandos.
pip install --upgrade huggingface_hub login huggingface-cli
Obrigatório | Mínimo | Recomendar |
---|---|---|
píton | 3.8 | 3.11 |
tocha | 1.13.1 | 2.4.0 |
transformadores | 4.41.2 | 4.43.4 |
conjuntos de dados | 2.16.0 | 2.20.0 |
acelerar | 0.30.1 | 0,32,0 |
peft | 0.11.1 | 0.12.0 |
trl | 0.8.6 | 0.9.6 |
Opcional | Mínimo | Recomendar |
---|---|---|
CUDA | 11.6 | 12.2 |
velocidade profunda | 0.10.0 | 0.14.0 |
bits e bytes | 0,39,0 | 0.43.1 |
vllm | 0.4.3 | 0.5.0 |
flash-attn | 2.3.0 | 2.6.3 |
* estimado
Método | Pedaços | 7B | 13B | 30B | 70B | 110B | 8x7B | 8x22B |
---|---|---|---|---|---|---|---|---|
Completo | AMP | 120 GB | 240 GB | 600 GB | 1200 GB | 2.000 GB | 900 GB | 2.400 GB |
Completo | 16 | 60 GB | 120 GB | 300 GB | 600 GB | 900 GB | 400 GB | 1200 GB |
Congelar | 16 | 20 GB | 40 GB | 80 GB | 200 GB | 360 GB | 160 GB | 400 GB |
LoRA/GaLore/BAdam | 16 | 16 GB | 32 GB | 64 GB | 160 GB | 240 GB | 120 GB | 320 GB |
QLoRA | 8 | 10 GB | 20 GB | 40 GB | 80 GB | 140 GB | 60 GB | 160 GB |
QLoRA | 4 | 6 GB | 12 GB | 24 GB | 48 GB | 72 GB | 30 GB | 96 GB |
QLoRA | 2 | 4GB | 8GB | 16 GB | 24 GB | 48 GB | 18 GB | 48 GB |
Importante
A instalação é obrigatória.
git clone --profundidade 1 https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factory pip install -e ".[tocha, métricas]"
Dependências extras disponíveis: torch, torch-npu, métricas, deepspeed, liger-kernel, bitsandbytes, hqq, eetq, gptq, awq, aqlm, vllm, abundância, badam, adam-mini, qwen, modelscope, openmind, qualidade
Dica
Use pip install --no-deps -e .
para resolver conflitos de pacotes.
Se você deseja habilitar o LoRA quantizado (QLoRA) na plataforma Windows, você precisa instalar uma versão pré-construída da biblioteca bitsandbytes
, que suporta CUDA 11.1 a 12.2, selecione a versão de lançamento apropriada com base em sua versão CUDA.
instalação do pip https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl
Para habilitar o FlashAttention-2 na plataforma Windows, você precisa instalar a biblioteca flash-attn
pré-compilada, que suporta CUDA 12.1 a 12.2. Baixe a versão correspondente do flash-attention com base em seus requisitos.
Para instalar o LLaMA Factory em dispositivos Ascend NPU, especifique dependências extras: pip install -e ".[torch-npu,metrics]"
. Além disso, você precisa instalar o Ascend CANN Toolkit e Kernels . Siga o tutorial de instalação ou use os seguintes comandos:
# substitua o URL de acordo com sua versão e dispositivos CANN# instale o CANN Toolkitwget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-toolkit_8 .0.RC1.alpha001_linux-"$(uname -i)".executar bash Ascend-cann-toolkit_8.0.RC1.alpha001_linux-"$(uname -i)".run --install# instalar CANN Kernelswget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Milan-ASL/Milan-ASL%20V100R001C17SPC701/Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run bash Ascend-cann-kernels-910b_8.0.RC1.alpha001_linux.run --install# definir variáveis de ambientefonte /usr/local/Ascend/ascend-toolkit/set_env.sh
Exigência | Mínimo | Recomendar |
---|---|---|
PODE | 8.0.RC1 | 8.0.RC1 |
tocha | 2.1.0 | 2.1.0 |
tocha-npu | 2.1.0 | 2.1.0.post3 |
velocidade profunda | 0.13.2 | 0.13.2 |
Lembre-se de usar ASCEND_RT_VISIBLE_DEVICES
em vez de CUDA_VISIBLE_DEVICES
para especificar o dispositivo a ser usado.
Se você não conseguir inferir o modelo em dispositivos NPU, tente definir do_sample: false
nas configurações.
Baixe as imagens Docker pré-construídas: 32 GB | 64 GB
Consulte data/README.md para verificar os detalhes sobre o formato dos arquivos do conjunto de dados. Você pode usar conjuntos de dados no hub HuggingFace/ModelScope/Modelers ou carregar o conjunto de dados no disco local.
Observação
Atualize data/dataset_info.json
para usar seu conjunto de dados personalizado.
Use os 3 comandos a seguir para executar o ajuste fino , inferência e fusão do LoRA do modelo Llama3-8B-Instruct, respectivamente.
exemplos de trem llamafactory-cli/train_lora/llama3_lora_sft.yaml exemplos de bate-papo llamafactory-cli/inferência/llama3_lora_sft.yaml exemplos de exportação llamafactory-cli/merge_lora/llama3_lora_sft.yaml
Veja exemplos/README.md para uso avançado (incluindo treinamento distribuído).
Dica
Use llamafactory-cli help
para mostrar informações de ajuda.
webui llamafactory-cli
Para usuários CUDA:
cd docker/docker-cuda/ docker compor -d docker compose exec llamafactory bash
Para usuários Ascend NPU:
cd docker/docker-npu/ docker compor -d docker compose exec llamafactory bash
Para usuários AMD ROCm:
cd docker/docker-rocm/ docker compor -d docker compose exec llamafactory bash
Para usuários CUDA:
docker build -f ./docker/docker-cuda/Dockerfile --build-arg INSTALL_BNB=falso --build-arg INSTALL_VLLM=falso --build-arg INSTALL_DEEPSPEED=falso --build-arg INSTALL_FLASHATTN=falso --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory: mais recente .docker executado -dit --gpus=all -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./dados:/app/dados -v ./saída:/app/saída -p7860:7860 -p8000:8000 --shm-tamanho 16G --name lhamafactory lhamafactory:mais recente docker exec -it llamafactory bash
Para usuários Ascend NPU:
# Escolha a imagem do docker em seu ambientedocker build -f ./docker/docker-npu/Dockerfile --build-arg INSTALL_DEEPSPEED=falso --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory:latest .# Altere `device` ao executar o resourcesdocker -dit -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./dados:/app/dados -v ./saída:/app/saída -v /usr/local/dcmi:/usr/local/dcmi -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi -v /usr/local/Ascend/driver:/usr/local/Ascend/driver -v /etc/ascend_install.info:/etc/ascend_install.info -p7860:7860 -p8000:8000 --device /dev/davinci0 --device /dev/davinci_manager --device /dev/devmm_svm --device /dev/hisi_hdc --shm-tamanho 16G --name lhamafactory lhamafactory:mais recente docker exec -it llamafactory bash
Para usuários AMD ROCm:
docker build -f ./docker/docker-rocm/Dockerfile --build-arg INSTALL_BNB=falso --build-arg INSTALL_VLLM=falso --build-arg INSTALL_DEEPSPEED=falso --build-arg INSTALL_FLASHATTN=falso --build-arg PIP_INDEX=https://pypi.org/simple -t llamafactory: mais recente .docker executado -dit -v ./hf_cache:/root/.cache/huggingface -v ./ms_cache:/root/.cache/modelscope -v ./om_cache:/root/.cache/openmind -v ./dados:/app/dados -v ./saída:/app/saída -v ./saves:/app/saves -p7860:7860 -p8000:8000 --dispositivo /dev/kfd --device /dev/dri --shm-tamanho 16G --name lhamafactory lhamafactory:mais recente docker exec -it llamafactory bash
hf_cache
: Utilize o cache do Hugging Face na máquina host. Reatribuível se já existir um cache em um diretório diferente.
ms_cache
: semelhante ao cache Hugging Face, mas para usuários do ModelScope.
om_cache
: semelhante ao cache Hugging Face, mas para usuários de Modeladores.
data
: Coloque os conjuntos de dados neste diretório da máquina host para que possam ser selecionados na GUI do LLaMA Board.
output
: defina o diretório de exportação para este local para que o resultado mesclado possa ser acessado diretamente na máquina host.
API_PORT=8000 exemplos de API llamafactory-cli/inference/llama3_vllm.yaml
Dica
Visite esta página para obter o documento da API.
Exemplos: Compreensão de imagens | Chamada de função
Se tiver problemas para baixar modelos e conjuntos de dados do Hugging Face, você pode usar o ModelScope.
exportar USE_MODELSCOPE_HUB=1 # `definir USE_MODELSCOPE_HUB=1` para Windows
Treine o modelo especificando um ID de modelo do ModelScope Hub como model_name_or_path
. Você pode encontrar uma lista completa de IDs de modelo em ModelScope Hub, por exemplo, LLM-Research/Meta-Llama-3-8B-Instruct
.
Você também pode usar o Modelers Hub para baixar modelos e conjuntos de dados.
exportar USE_OPENMIND_HUB=1 # `definir USE_OPENMIND_HUB=1` para Windows
Treine o modelo especificando um ID de modelo do Modelers Hub como model_name_or_path
. Você pode encontrar uma lista completa de IDs de modelos no Modelers Hub, por exemplo, TeleAI/TeleChat-7B-pt
.
Para usar pesos e preconceitos para registrar resultados experimentais, você precisa adicionar os seguintes argumentos aos arquivos yaml.
report_to: wandbrun_name: test_run # opcional
Defina WANDB_API_KEY
como sua chave ao iniciar tarefas de treinamento para fazer login com sua conta W&B.
Caso você tenha um projeto que deva ser incorporado, entre em contato por e-mail ou crie um pull request.
Wang et al. ESRL: Aprendizagem por Reforço Baseada em Amostragem Eficiente para Geração de Sequências. 2023. [arxiv]
Yu et al. Modelos de linguagem aberta, fechada ou pequena para classificação de texto? 2023. [arxiv]
Wang et al. UbiPhysio: Apoie o funcionamento diário, o condicionamento físico e a reabilitação com compreensão de ações e feedback em linguagem natural. 2023. [arxivi]
Luceri et al. Aproveitando grandes modelos de linguagem para detectar campanhas de influência nas mídias sociais. 2023. [arxivi]
Zhang et al. Aliviando alucinações de grandes modelos de linguagem por meio de alucinações induzidas. 2023. [arxiv]
Wang et al. Conheça melhor suas necessidades: rumo à compreensão estruturada das demandas dos profissionais de marketing com LLMs aumentados de raciocínio analógico. KDD 2024. [arxiv]
Wang et al. CANDLE: Conceituação Iterativa e Destilação de Instanciação de Grandes Modelos de Linguagem para Raciocínio de Senso Comum. ACL 2024. [arxiv]
Choi et al. FACT-GPT: Aumento da verificação de fatos por meio de correspondência de reivindicações com LLMs. 2024. [arxiv]
Zhang et al. AutoMathText: Seleção Autônoma de Dados com Modelos de Linguagem para Textos Matemáticos. 2024. [arxiv]
Lyu et al. KnowTuning: ajuste fino com conhecimento de conhecimento para modelos de linguagem grande. 2024. [arxiv]
Yang et al. LaCo: remoção de modelo de linguagem grande por meio de recolhimento de camadas. 2024. [arxiv]
Bhardwaj et al. Os modelos de linguagem são Homer Simpson! Realinhamento de segurança de modelos de linguagem ajustados por meio de aritmética de tarefas. 2024. [arxiv]
Yang et al. Aprimorando a geração de respostas empáticas aumentando LLMs com modelos empáticos em pequena escala. 2024. [arxiv]
Yi et al. A geração encontra a verificação: acelerando a inferência de modelos de linguagem grande com decodificação inteligente de correção automática paralela. Resultados do ACL 2024. [arxiv]
Cao et al. Atenção compartilhável em termos de cabeça para grandes modelos de linguagem. 2024. [arxiv]
Zhang et al. Aprimorando as capacidades multilíngues de grandes modelos de idiomas por meio da autodestilação de idiomas ricos em recursos. 2024. [arxiv]
Kim et al. Expansão de vocabulário eficiente e eficaz em direção a modelos multilíngues de grandes línguas. 2024. [arxiv]
Yu et al. KIEval: Uma estrutura de avaliação interativa baseada no conhecimento para grandes modelos de linguagem. ACL 2024. [arxiv]
Huang et al. Síntese de dados baseada em pontos-chave com seu aprimoramento no raciocínio matemático. 2024. [arxiv]
Duan et al. Negando Negativos: Alinhamento sem Amostras Humanas Positivas via Otimização de Dispreferência Distribucional. 2024. [arxiv]
Xie e Schwertfeger. Capacitando a Robótica com Grandes Modelos de Linguagem: Compreensão de Mapas osmAG com LLMs. 2024. [arxiv]
Wu et al. Grandes modelos de idiomas são alunos multilíngues paralelos. 2024. [arxiv]
Zhang et al. EDT: Melhorando a geração de modelos de linguagem grande por amostragem dinâmica de temperatura baseada em entropia. 2024. [arxiv]
Weller et al. FollowIR: avaliando e ensinando modelos de recuperação de informações para seguir instruções. 2024. [arxiv]
Hongbin Na. CBT-LLM: Um modelo de língua chinesa para resposta a perguntas de saúde mental baseadas em terapia cognitivo-comportamental. COLING 2024. [arxiv]
Zan et al. CodeS: linguagem natural para repositório de código por meio de esboço multicamadas. 2024. [arxiv]
Liu et al. O autocontraste extensivo permite o alinhamento do modelo de linguagem sem feedback. 2024. [arxiv]
Luo et al. BAdam: um método de treinamento de parâmetros completos com eficiência de memória para modelos de linguagem grandes. 2024. [arxiv]
Du et al. Chinese Tiny LLM: Pré-treinamento de um modelo de linguagem grande centrado no chinês. 2024. [arxiv]
Ma et al. Ajuste fino quase ortogonal eficiente de parâmetros por meio da rotação de Givens. ICML 2024. [arxiv]
Liu et al. Geração Dinâmica de Personalidades com Grandes Modelos de Linguagem. 2024. [arxiv]
Shang et al. Até onde avançamos na compreensão do código binário simplificado usando grandes modelos de linguagem. 2024. [arxiv]
Huang et al. LLMTune: Acelere o ajuste de botões de banco de dados com grandes modelos de linguagem. 2024. [arxiv]
Deng et al. Text-Tuple-Table: Rumo à integração de informações na geração de texto para tabela por meio da extração global de tuplas. 2024. [arxiv]
Acikgoz et al. Hipócrates: uma estrutura de código aberto para o avanço de grandes modelos de linguagem na área da saúde. 2024. [arxiv]
Zhang et al. Modelos de linguagem pequena precisam de verificadores fortes para autocorrigir o raciocínio. Resultados do ACL 2024. [arxiv]
Zhou et al. FREB-TQA: uma referência de avaliação de robustez refinada para resposta a perguntas de tabela. NAACL 2024. [arxiv]
Xu et al. Grandes modelos de linguagem para segurança cibernética: uma revisão sistemática da literatura. 2024. [arxiv]
Dammu et al. "Eles são incultos": revelando danos ocultos e ameaças sociais em conversas geradas pelo LLM. 2024. [arxiv]
Yi et al. Uma estrutura de realinhamento de segurança por meio de fusão de modelos orientados ao subespaço para grandes modelos de linguagem. 2024. [arxiv]
Lou et al. SPO: Alinhamento sequencial de preferências multidimensionais com modelagem de recompensa implícita. 2024. [arxiv]
Zhang et al. Obtendo mais com menos: grandes modelos de idiomas são bons alunos multilíngues espontâneos. 2024. [arxiv]
Zhang et al. TS-Align: uma estrutura colaborativa professor-aluno para ajuste fino iterativo escalável de grandes modelos de linguagem. 2024. [arxiv]
Zihong Chen. Segmentação e pontuação de frases com base em XunziALLM. 2024. [artigo]
Gao et al. O melhor de dois mundos: em direção a um modelo de linguagem ampla, honesto e útil. 2024. [arxiv]
Wang e Song. MARS: Comparando as habilidades de raciocínio metafísico de modelos de linguagem com um conjunto de dados de avaliação multitarefa. 2024. [arxiv]
Hu et al. Limites computacionais de adaptação de baixo nível (LoRA) para modelos baseados em transformadores. 2024. [arxiv]
Ge et al. Edição de conhecimento sensível ao tempo por meio de ajuste fino eficiente. ACL 2024. [arxiv]
Tan et al. Revisão por pares como um diálogo multifacetado e de longo contexto com interações baseadas em funções. 2024. [arxiv]
Canção et al. Turbo Sparse: Alcançando desempenho LLM SOTA com parâmetros mínimos ativados. 2024. [arxiv]
Gu et al. RWKV-CLIP: Um aluno robusto de representação de visão e linguagem. 2024. [arxiv]
Chen et al. Avançando em grandes modelos de linguagem aumentados por ferramentas: integrando insights de erros em árvores de inferência. 2024. [arxiv]
Zhu et al. Os grandes modelos de linguagem são bons estatísticos? 2024. [arxiv]
Li et al. Conheça o desconhecido: um método sensível à incerteza para ajuste de instruções LLM. 2024. [arxiv]
Ding et al. IntentionQA: uma referência para avaliar as habilidades de compreensão da intenção de compra de modelos de linguagem no comércio eletrônico. 2024. [arxiv]
Ele e outros. COMMUNITY-CROSS-INSTRUCT: Geração de instrução não supervisionada para alinhar grandes modelos de linguagem a comunidades online. 2024. [arxiv]
Lin et al. FVEL: Ambiente interativo de verificação formal com grandes modelos de linguagem via prova de teoremas. 2024. [arxiv]
Treutlein et al. Conectando os pontos: LLMs podem inferir e verbalizar estrutura latente a partir de dados de treinamento díspares. 2024. [arxiv]
Feng et al. SS-Bench: uma referência para geração e avaliação de histórias sociais. 2024. [arxiv]
Feng et al. Descompilação de contexto autoconstruída com aprimoramento de alinhamento refinado. 2024. [arxiv]
Liu et al. Grandes modelos de linguagem para medição de pressão arterial sem manguito a partir de biossinais vestíveis. 2024. [arxiv]
Iyer et al. Explorando a tradução com recursos muito baixos com LLMs: o envio da Universidade de Edimburgo para a tarefa de tradução AmericasNLP 2024. AmericasNLP 2024. [artigo]
Li et al. Calibrando LLMs com Otimização de Preferência em Árvores de Pensamento para Gerar Justificativa na Pontuação de Perguntas Científicas. 2024. [arxiv]
Yang et al. Modelo de linguagem ampla de conhecimento financeiro. 2024. [arxiv]
Lin et al. DogeRM: equipando modelos de recompensa com conhecimento de domínio por meio da fusão de modelos. 2024. [arxiv]
Bako et al. Avaliando as habilidades de perfil semântico de LLMs para declarações de linguagem natural em visualização de dados. 2024. [arxiv]
Huang et al. RoLoRA: LLMs girados sem outliers de ajuste fino para quantização eficaz de ativação de peso. 2024. [arxiv]
Jiang et al. LLM-Colaboração em Jornalismo Científico Automático para o Público Geral. 2024. [arxiv]
Inouye et al. Autoajuste aplicado em hiperparâmetros LoRA. 2024. [artigo]
Qi et al. Pesquisa sobre o sistema de geração de informações dos Pontos de Vista do Turismo Tibetano baseado em LLM. 2024. [arxiv]
Xu et al. Correção de curso: alinhamento de segurança usando preferências sintéticas. 2024. [arxiv]
Sun et al. LAMBDA: um agente de dados baseado em grande modelo. 2024. [arxiv]
Zhu et al. CollectiveSFT: Escalando grandes modelos de linguagem para referência médica chinesa com instruções coletivas em saúde. 2024. [arxiv]
Yu et al. Correção de preconceito negativo em modelos de linguagem grande por meio do alinhamento de pontuação de atenção negativa. 2024. [arxiv]
Xie et al. O poder dos conjuntos de dados personalizados: avançando na redação de composições chinesas para o ensino fundamental por meio do ajuste fino de modelos direcionados. IALP 2024. [artigo]
Liu et al. Instruct-Code-Llama: Melhorando as capacidades do modelo de linguagem na geração de código em nível de competição por feedback do juiz online. ICIC 2024. [artigo]
Wang et al. Sentinelas cibernéticas: revelando o impacto da seleção de dados de segurança na segurança do modelo no ajuste fino supervisionado. ICIC 2024. [artigo]
Xia et al. Compreendendo o desempenho e estimando o custo do ajuste fino do LLM. 2024. [arxiv]
Zeng et al. Perceba, reflita e planeje: projetando um agente LLM para navegação urbana direcionada por objetivos sem instruções. 2024. [arxiv]
Xia et al. Usando modelo de linguagem pré-treinado para previsão ESG precisa. FinNLP 2024. [artigo]
Liang et al. I-SHEEP: Auto-alinhamento do LLM do zero através de um paradigma iterativo de auto-aprimoramento. 2024. [arxiv]
StarWhisper : Um grande modelo de linguagem para Astronomia, baseado em ChatGLM2-6B e Qwen-14B.
DISC-LawLLM : Um grande modelo de linguagem especializado no domínio jurídico chinês, baseado em Baichuan-13B, é capaz de recuperar e raciocinar sobre o conhecimento jurídico.
Sunsimiao : Um grande modelo de linguagem especializado no domínio médico chinês, baseado em Baichuan-7B e ChatGLM-6B.
CareGPT : Uma série de modelos de linguagem grande para o domínio médico chinês, baseados em LLaMA2-7B e Baichuan-13B.
MachineMindset : Uma série de modelos de linguagem grande MBTI Personality, capazes de fornecer a qualquer LLM 16 tipos de personalidade diferentes com base em diferentes conjuntos de dados e métodos de treinamento.
Luminia-13B-v3 : Um grande modelo de linguagem especializado em gerar metadados para difusão estável. [demonstração]
Chinês-LLaVA-Med : Um modelo multimodal de grande linguagem especializado no domínio médico chinês, baseado em LLaVA-1.5-7B.
AutoRE : Um sistema de extração de relações em nível de documento baseado em grandes modelos de linguagem.
Kit de ferramentas NVIDIA RTX AI : SDKs para ajuste fino de LLMs em PC com Windows para NVIDIA RTX.
LazyLLM : Uma maneira fácil e preguiçosa de construir aplicativos LLMs multiagentes e oferece suporte ao ajuste fino do modelo via LLaMA Factory.
RAG-Retrieval : Um pipeline completo para ajuste fino, inferência e destilação do modelo de recuperação RAG. [blogue]
Este repositório está licenciado sob a licença Apache-2.0.
Siga as licenças de modelo para usar os pesos de modelo correspondentes: Baichuan 2 / BLOOM / ChatGLM3 / Command R / DeepSeek / Falcon / Gemma / GLM-4 / InternLM2 / Llama / Llama 2 (LLaVA-1.5) / Llama 3 / MiniCPM / Mistral /Mixtral/Pixtral / OLMo / Phi-1.5/Phi-2 / Phi-3 / Qwen / StarCoder 2 / XVERSE / Yi / Yi-1.5 / Yuan 2
Se este trabalho for útil, por favor cite como:
@inproceedings{zheng2024llamafactory, title={LlamaFactory: Unified Efficient Fine-Tuning of 100+ Language Models}, autor={Yaowei Zheng e Richong Zhang e Junhao Zhang e Yanhan Ye e Zheyan Luo e Zhangchi Feng e Yongqiang Ma}, booktitle={ Anais da 62ª Reunião Anual da Association for Computational Linguistics (Volume 3: Demonstrações do Sistema)}, endereço={Bangkok, Tailândia}, editora={Association for Computational Linguistics}, ano={2024}, url={http://arxiv.org/abs/2403.13372}}
Este repositório se beneficia de PEFT, TRL, QLoRA e FastChat. Obrigado por seus maravilhosos trabalhos.