大预言模型|微调大预言模型初探索(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试试。

相关推荐
阿杰学AI2 小时前
AI核心知识48——大语言模型之Synthetic Data(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·合成数据·synthetic data·模型崩溃
海边夕阳20065 小时前
【每天一个AI小知识】:什么是大语言模型(LLM)?
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·llm
天才少女爱迪生8 小时前
【算法设计】GLM-4.5V模型架构和算法设计详解
python·算法·语言模型
hans汉斯10 小时前
【计算机科学与应用】预训练语言模型在日文文本难易度自动分类中的应用
人工智能·深度学习·机器学习·语言模型·自然语言处理·机器人·匿名
亚里随笔10 小时前
推理语言模型训练策略的协同作用:预训练、中间训练与强化学习的交互机制
人工智能·语言模型·自然语言处理·llm·rl·agentic
海森大数据10 小时前
超越简单问答:SUPERChem基准揭示大语言模型化学深度推理的机遇与挑战
人工智能·语言模型·自然语言处理
墨染星辰云水间11 小时前
Extracting Latent Steering Vectors from Pretrained Language Models
人工智能·语言模型·自然语言处理
前进的李工11 小时前
AI安全威胁:对抗样本到数据隐私全解析(13种安全威胁及防护)
网络·人工智能·安全·语言模型·网络攻击模型
阿杰学AI11 小时前
AI核心知识47——大语言模型之Data Cleaning(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·数据清洗·模型训练·data cleaning
TracyCoder12312 小时前
语言模型基础技术的开端:N-Gram与Bag-of-words详解
人工智能·语言模型·自然语言处理·n-gram·词嵌入·bag-of-words