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 导出量化模型