初学者笔记本电脑玩转大模型系列五:ORPO+QLora优化谷歌Gemma-7B模型...
发布网友
发布时间:2024-08-18 14:11
我来回答
共1个回答
热心网友
时间:2024-08-29 08:58
之前分享了三篇《初学者笔记本电脑玩转大模型系列》,感兴趣可以访问如下文章:
求索:初学者笔记本电脑玩转大模型系列一:利用ollama跑大模型
求索:初学者笔记本电脑玩转大模型系列二:微调谷歌Gemma模型
求索:初学者笔记本电脑玩转大模型系列三:基于Huggingface微调谷歌Gemma模型
求索:初学者笔记本电脑玩转大模型系列四:ORPO优化谷歌Gemma模型
论文《ORPO: Monolithic Preference Optimization without Reference Model》提出了一种名为ORPO的方法,通过将SFT和对齐结合到一个新的目标(损失函数)中来训练基础大语言模型,从而免去了耗时耗力的SFT阶段。
如果对论文详细内容感兴趣,可以访问如下文章:
求索:ORPO:大模型无需微调,直接偏好优化,性能也杠杠的!
结合QLora、Flash Attention 2以及adamw_bnb_8bit的优化方法,成功完成了Gemma-7B的优化。接下来,我们将利用这篇论文的ORPO方法优化Gemma-7B,增强中文对话能力。
如果想直接阅读代码,请访问Github库:
keyonzeng/llm_tuning: large language model tuning examples (github.com)
笔记本电脑配置及环境
笔记本电脑配置:i9-13900HX/32GB,GPU 4090/16GB
主要使用的编程环境:Microsoft PyCharm/VSCode、Jupyter Notebook
操作系统:Windows 11
优化总体思路
针对Gemma-7B模型进行ORPO+QLora+Flash Attention 2优化,利用Huggingface的Transformers、Transformer Reinforcement Learning(TRL)、Parameter-Efficient Fine-Tuning框架、QLora以及TRL的ORPOTrainer对模型进行优化,性能指标监控使用wandb。使用的数据集是wenbopan/Chinese-dpo-pairs。
优化具体思路
下载文件列表如下:
运行了4个多小时,结果如下:
TrainOutput(global_step=670, training_loss=2.0626583168755714, metrics={'train_runtime': 15616.5652, 'train_samples_per_second': 0.687, 'train_steps_per_second': 0.043, 'total_flos': 0.0, 'train_loss': 2.0626583168755714, 'epoch': 1.0})
wandb性能监控如下:
是否效果有优化呢?你看着办哦!
本次利用ORPO来优化Gemma 7B增强中文能力大功告成,你也可以在自己的笔记本电脑或者个人电脑上实施。
代码: keyonzeng/llm_tuning: large language model tuning examples (github.com)
初学者笔记本电脑玩转大模型系列五:ORPO+QLora优化谷歌Gemma-7B模型...
令人惊讶的是,尽管Gemma-7B模型原本在笔记本上运行可能颇具挑战,但在QLora、Flash Attention 2和adamw_bnb_8bit优化策略的助力下,我们成功优化了模型。接下来,我们将在i9-13900HX/32GB的处理器和4090/16GB显卡的笔记本电脑上,配合Microsoft PyCharm/VSCode和Windows 11操作系统,使用Huggingface Transforme...
初学者笔记本电脑玩转大模型系列五:ORPO+QLora优化谷歌Gemma-7B模型...
针对Gemma-7B模型进行ORPO+QLora+Flash Attention 2优化,利用Huggingface的Transformers、Transformer Reinforcement Learning(TRL)、Parameter-Efficient Fine-Tuning框架、QLora以及TRL的ORPOTrainer对模型进行优化,性能指标监控使用wandb。使用的数据集是wenbopan/Chinese-dpo-pairs。优化具体思路 下载文件列表如...