llama-factory简介

llamafactory是什么,能干什么

LLaMA-Factory 是一个易于使用的大规模语言模型(Large Language Model, LLM)微调框架,它支持多种模型,包括 LLaMA、BLOOM、Mistral、Baichuan、Qwen 和 ChatGLM 等。该框架旨在简化大型语言模型的微调过程,提供了一套完整的工具和接口,使得用户能够轻松地对预训练的模型进行定制化的训练和调整,以适应特定的应用场景。

llamafactory支持哪些模型,支持哪些微调技术

  • 多种模型:LLaMA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。

  • 集成方法:(增量)预训练、指令监督微调、奖励模型训练、PPO 训练、DPO 训练和 ORPO 训练。

  • 多种精度:32 比特全参数微调、16 比特冻结微调、16 比特 LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8 的 2/4/8 比特 QLoRA 微调。

  • 先进算法:GaLore、DoRA、LongLoRA、LLaMA Pro、LoRA+、LoftQ 和 Agent 微调。

  • 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。

  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。

  • 极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口

部分支持的模型:

|-----------------------------------------------------------------------|-----------------------------|-----------------|-----------|
| 模型名 | 模型大小 | 默认模块 | Template |
| Baichuan2 | 7B/13B | W_pack | baichuan2 |
| BLOOM | 560M/1.1B/1.7B/3B/7.1B/176B | query_key_value | - |
| BLOOMZ | 560M/1.1B/1.7B/3B/7.1B/176B | query_key_value | - |
| ChatGLM3 | 6B | query_key_value | chatglm3 |
| DeepSeek (MoE) | 7B/16B/67B | q_proj,v_proj | deepseek |
| Falcon | 7B/40B/180B | query_key_value | falcon |
| Gemma | 2B/7B | q_proj,v_proj | gemma |
| InternLM2 | 7B/20B | wqkv | intern2 |
| LLaMA | 7B/13B/33B/65B | q_proj,v_proj | - |
| LLaMA-2 | 7B/13B/70B | q_proj,v_proj | llama2 |
| Mistral | 7B | q_proj,v_proj | mistral |
| Mixtral | 8x7B | q_proj,v_proj | mistral |
| OLMo | 1B/7B | att_proj | olmo |
| Phi-1.5/2 | 1.3B/2.7B | q_proj,v_proj | - |
| Qwen | 1.8B/7B/14B/72B | c_attn | qwen |
| Qwen1.5 | 0.5B/1.8B/4B/7B/14B/72B | q_proj,v_proj | qwen |
| StarCoder2 | 3B/7B/15B | q_proj,v_proj | - |
| XVERSE | 7B/13B/65B | q_proj,v_proj | xverse |
| Yi | 6B/9B/34B | q_proj,v_proj | yi |
| Yuan | 2B/51B/102B | q_proj,v_proj | yuan |

训练方法

|---------|-------|--------|------|-------|
| 方法 | 全参数训练 | 部分参数训练 | LoRA | QLoRA |
| 预训练 | ✅ | ✅ | ✅ | ✅ |
| 指令监督微调 | ✅ | ✅ | ✅ | ✅ |
| 奖励模型训练 | ✅ | ✅ | ✅ | ✅ |
| PPO 训练 | ✅ | ✅ | ✅ | ✅ |
| DPO 训练 | ✅ | ✅ | ✅ | ✅ |
| ORPO 训练 | ✅ | ✅ | ✅ | ✅ |

数据集请参考:

LLaMA-Factory/README_zh.md at main · hiyouga/LLaMA-Factory · GitHub

参考:LLaMA-Factory/README_zh.md at main · hiyouga/LLaMA-Factory · GitHub

llamafactory如何加载训练数据,对模型存储有哪些约束

模型加载都是通过命令行指定的

model_name_or_path: Path to the model weight or identifier from huggingface.co/models or modelscope.cn/models.

训练数据 是指定名称,位置放在项目的data目录下

dataset--the name of provided dataset(s) to use. Use commas to separate multiple datasets.

dataset_dir--Path to the folder containing the datasets.

llamafactory的模型评估具备哪些能力

有专门的一个评估类Evaluator,可以通过脚本运行评估

CUDA_VISIBLE_DEVICES=0 python src/evaluate.py \ --model_name_or_path path_to_llama_model \ --adapter_name_or_path path_to_checkpoint \ --template vanilla \ --finetuning_type lora \ --task mmlu \ --split test \ --lang en \ --n_shot 5 \ --batch_size 4

每次微调有记录吗

没有记录,都是调用的命令行

可以定时训练吗

没有定时训练能力

是否有量化能力

有的,CUDA_VISIBLE_DEVICES=0, --export_quantization_bit 4 导出量化模型

相关推荐
【赫兹威客】浩哥2 天前
【赫兹威客】Ollama安装教程
llama
xfddlm4 天前
再探模型训练,使用LLaMA-Factory实现LLM微调
人工智能·llama
蓝精灵没长耳朵5 天前
llama.cpp
llama
沛沛老爹6 天前
从Web到AI:Agent Skills CI/CD流水线集成实战指南
java·前端·人工智能·ci/cd·架构·llama·rag
Lkygo6 天前
LlamaIndex使用指南
linux·开发语言·python·llama
学Linux的语莫7 天前
基于ollama、llamafile部署的大模型使用
linux·服务器·python·langchain·llama
斯外戈的小白7 天前
【LLM】完整LLaMA架构的搭建
架构·llama
沛沛老爹7 天前
Web开发者进阶AI架构:Agent Skills与MCP的企业级架构权衡实战
java·人工智能·架构·llm·llama·rag
斯外戈的小白7 天前
【LLM】LLaMA架构(RMSNorm+ KV cache+Rotary Positional Encodings+门控FFN+MoE)
人工智能·架构·llama
Aaron_9458 天前
LLaMA Factory:一站式大语言模型高效微调框架解析
人工智能·语言模型·llama