大预言模型|微调大预言模型初探索(LLaMA-Factory)(1)

前言

  微调模型通常比从零开始训练一个模型的技术要求低。公司不需要拥有大量的深度学习专家,利用现有的开源工具和库(如Hugging Face的Transformers等),中小型公司可以轻松地使用和微调大型模型,从而快速实现AI能力的集成。因此,学会微调大模型就很有必要。

1.微调方法

1.1 全参数微调

全参数微调是指预训练模型的所有参数进行调整和优化,以使模型能够适应特定任务。具体来说,就是通过训练数据对预训练模型的所有参数(包括权重和偏置等)进行微调,使其更好地执行目标任务。

1.2 部分参数微调

1.2.1 低秩适配(Low-Rank Adaptation, LoRA)

  LoRA方法通过引入低秩矩阵来代替全连接层中的权重更新。它通过对模型中的部分权重矩阵进行低秩分解,从而减少需要微调的参数量。

1.2.2 适配器方法(Adapters)

  适配器方法通过在预训练模型中插入小型的适配器模块,保持大部分原始模型的参数不变,只微调适配器模块。这种方法显著减少了需要微调的参数数量,同时保持了迁移能力。

1.2.3 Prompt Tuning(提示微调)

Prompt Tuning是通过优化输入的"提示"或"前缀"来适应新任务,而不是微调模型的所有参数。这种方法特别适用于自然语言处理任务,在不修改模型本身的情况下,通过改变输入格式来提高模型的任务适应性。

具体部分参数微调方法还有很多,感兴趣的可以自己去探索。

2.实践!!

网上得来终觉浅,绝知此事要躬行,光看理论不实践,这不是耍流氓吗??!!

推荐实践项目:LLaMA-Factory

按照官网教程去安装:

2.1 安装环境

官网推荐的环境:

python 复制代码
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
conda create -n llama-lora python=3.10
conda activate llama-lora
pip install -e ".[torch,metrics]"

如果嫌太慢的话,可以换源去安装。

安装完成后,可以去校验校验教程网址

3. 注意事项

3.1.这里我llamafactory-cli train -h校验的时候,报错:

搜索发现是环境优先级问题:

cmd 复制代码
sudo vim  /etc/profile
# 将你的conda环境放到profile里面
export PATH="/home/hxgk/anaconda3/envs/lora-llama/bin:$PATH"
source /etc/profile

3.2 yaml文件配置

1.将LLaMA-Factory/examples/accelerate/fsdp_config.yaml第19行的num_processes设置成你的显卡个数。

2.将LLaMA-Factory/examples/train_lora/llama3_lora_sft.yaml中的eval全部注释掉,如图所示:

两个有一个没设置都有可能出现:

sys.exit(load_entry_point('torch==2.5.1', 'console_scripts', 'torchrun')())

...

torch.distributed.elastic.multiprocessing.errors.ChildFailedError:

这样的报错。

3.2 具体微调模型的显存大小不能全信官网

官网数据:

我刚开始使用Llama3-8B,使用lora方法去微调模型(8张8g显存显卡),理论上只会使用16g-32g显存,我64g显存绰绰有余,结果直接报OOM,结果气的我直接下载了llama-1B才成功微调。

总结

整体来说,LLaMA-Factory这个项目的坑不少,需要仔细一点,我现在也刚刚跑通,后续考虑制作自己的数据集,然后微调一个chatbox试试。

相关推荐
顾城猿5 小时前
联邦学习(Federated Learning, FL)
语言模型
Zzj_tju8 小时前
CLIP 图文对齐:先核对正样本,再相信检索分数
人工智能·深度学习·语言模型·自然语言处理
Zzj_tju10 小时前
VLM 读图评测:先审计评分器,再判断读错还是算错
人工智能·深度学习·机器学习·语言模型
renzao_ai15 小时前
本地 35B 大模型部署实战:Ollama 跑 Ornith-35B 全流程
python·llama·免费ai大模型
Είναι η κοπέλα15 小时前
本地大模型部署完全指南:Ollama / vLLM / llama.cpp / MLX 四大引擎横评与选型实战
macos·llama·vllm
夜瞬17 小时前
Merge、Ensemble 与 Cooperate:一文读懂大语言模型协同
人工智能·深度学习·语言模型
小饕18 小时前
RK3588 NPU 跑大模型实测:rknn-llm 解码 25.9 tok/s,是 llama.cpp 的 4 倍!附三天完整踩坑记录
人工智能·机器人·llama
一航jason1 天前
Android平台推理框架及试用场景模型对比
android·人工智能·ai·架构·ai编程·llama
一航jason1 天前
Android 端侧大模型推理框架对比
android·人工智能·ai·ai编程·llama·ai-native
一技安身1 天前
【大模型】Win11 部署 DeepSeek+ RAGFlow0.27.2 (Ollama方案,断网可用)
docker·ai·语言模型