首页>动态>正文
社区供稿 | RLHF 实践中的框架使用与一些坑 (TRL, LMFlow)_世界今日讯
2023-06-16 14:26:03    来源:个人图书馆-520jefferson
1 前言

之前看见文章总结了常见的一些 RLHF 框架的经验, 但是似乎没看见 Hugging Face 自己维护的 TRL 库的相关文章, 正好最近调 TRL 比较多, 就想写一个文章分享一下使用过程中踩到的坑,另外也介绍一下我们的全流程框架 LMFlow 。

LMFlow 框架示意图。

我们主要用一个具体的例子展示如何在两个框架下做RLHF,并且记录下训练过程中我们踩到的主要的坑。这个例子包括完整的SFT,奖励建模和 RLHF, 其中RLHF包括通过 RAFT 算法(Reward rAnked FineTuning)或者TRL-PPO 对齐模型两个部分。为了方便用户,我们已经在 Hugging Face repo 中提供了一个基于 GPT-Neo-2.7B 的奖励模型,因此也可以先跳过奖励建模。

这个例子是基于仅适用于非商业用途的许可的 LLaMA 构建的, 为了使用LLaMA-7B 模型, 大家需要填写前面的 request form。测试的环境是 8 X A100 (40G)。


(资料图)

1.1 环境准备

LMFlow 的安装包中也包含了 TRL, 所以我们只需要按照官方的示例安装 LMFlow 即可。

git clone https://github.com/OptimalScale/LMFlow.gitcd LMFlowconda create -n lmflow python=3.9 -yconda activate lmflowconda install mpi4pypip install -e .

以上安装自动会把依赖的 PyTorch 等包也一起安装, 除此之外, 我们额外手动安装一下 matplotlib 这个包

1.2 数据集描述

我们使用Dahoas/full-hh-rlhf数据集作为例子,其中每个数据集样本包括一个提示和来自助手的两个回应。特别地,标记为 "chosen" 的回应相对于标记为 "rejected" 的回应更被人类所喜欢。数据集包括 112K 个训练样本和 12.5K 个测试样本。以下是数据集的一个示例样本:

" Human: What kind of noises did dinosaurs make? Assistant: Humans and dinosaurs didn’t live at the same time, so it’s really hard to say. The best place to find out what noises dinosaurs made would be Human: yes they did Assistant: to guess, and that would probably require lots of reading and a certain amount of imagination, so we’re not really prepared to do that. Human: you cant read Assistant: Chosen response: "You can read?"Rejected response: "there’s a lot of stuff humans don’t know"

为了便于训练,我们在字符开头添加 ``###"" 来重新构建提示,以便模型知道要回复。新样本的格式将是:

"###Human: What kind of noises did dinosaurs make? ###Assistant: Humans and dinosaurs didn’t live at the same time, so it’s really hard to say. The best place to find out what noises dinosaurs made would be ###Human: yes they did ###Assistant: to guess, and that would probably require lots of reading and a certain amount of imagination, so we’re not really prepared to do that. ###Human: you cant read ###Assistant: Chosen response: "You can read?"Rejected response: "there’s a lot of stuff humans don’t know"

我们在目录 ./data/hh_rlhf 中准备了所有需要使用的所有数据集,需要通过在 LMFlow目录下中运行以下命令获得:

cd data && ./download.sh hh_rlhf && cd -
2 RLHF 之前的准备

在这一节, 我们需要先完成SFT模型以及 reward model 的训练, 这部分我们使用LMFlow 完成。

2.1 SFT

这是数据集/home/usrname/LMFlow/data/hh_rlhf/sft/hh_rlhf_sft.json的一个示例。我们只使用首选回应,因此我们得到 112K 个训练样本。

{"type": "text_only", "instances": [{"text": "###Human: Should you buy a case to protect your cell phone?###Assistant: It depends on your circumstances.  If you carry your phone in a pocket or a purse then you probably want a case.  But if you only need a phone for quick interactions, a case may actually cause more harm than good.  What do you need the phone for?  Are you a parent, or do you work from home?###Human: What harm could it do?###Assistant: A phone case can damage the screen, for one thing.  It can also get you in trouble if you have your phone turned off for some reason.  Then you will turn it back on and it won’t do anything.  If you can afford to replace it, then you need a case to protect it.  The problem is that most people aren’t able to afford to replace their phones all the time.###Human: Thanks for letting me know.###Assistant: You’re welcome."}, {"text": "###Human: I"m trying to learn about the salam witch trials###Assistant: If you’re looking for books about witchcraft trials, I can recommend some books for you. But you probably mean you’re looking for more historical information about the Salem witch trials in 1692, and specifically about the salam witch trials in 1692?###Human: What are some good books to learn about the salam witch trials###Assistant: What would you like to learn?  If you’re interested in history, one of the best books is The Witch Persecutions in Colonial America: A History.  If you’re interested in witchcraft as a cultural phenomenon, you might enjoy two excellent books: Religion and the Decline of Magic: Studies in Popular Beliefs in Sixteenth- and Seventeenth-Century England by Keith Thomas and Magic, Witchcraft, and the Otherworld: An Anthropology of Superstition by Jack Goody.  If you’re interested in history specifically as it relates to religion, you might enjoy The Popish Plot, or Prelates" Plot: A History of the Popish Plot in England, by K. J. Everett."}]}

你可以编辑/scripts/run_finetune.sh并修改参数。我们在这里用 GPT-Neo-2.7B 作为一个例子, 你应当把它换成你获得的 llama-7b 模型的地址。

--model_name_or_path: EleutherAI/gpt-neo-2.7B

--dataset_path: ${project_dir}/data/hh_rlhf/sft

--output_dir: the path you want to store the sft model

--num_train_epochs: 1

--learning_rate: 2e-5

--per_device_train_batch_size: 根据你的GPU资源调整。

exp_id: hh_rlhf_llama_sft

你可以编辑/scripts/run_finetune.sh并修改参数。我们在这里用 GPT-Neo-2.7B 作为一个例子。

然后,我们可以运行以下命令来执行 SFT。

./scripts/run_finetune.sh

你还可以通过以下命令使用 lora 训练,但还需要通过编辑run_finetune_with_lora.sh设置 model_name_or_path 和 dataset。

./scripts/run_finetune_with_lora.sh

下面这个损失图像示例中我们设了 epoch 为4, 但是提前停止并使用一个epoch结束的模型作为SFT模型, 此外我们的logging step 设置为了20, 所以整体看起来会比较平滑

SFT 模型训练曲线, 这个例子截取了1.6个epoch 的训练曲线。

在我的例子中, 得到的SFT模型存储在/home/usrname/LMFlow/output_models/hh_rlhf_llama_sft/checkpoint-1271

2.2 Reward Modeling

我们首先按照 InstructGPT 论文的过程:https://zhuanlan.zhihu.com/p/629920420)。同时,请查看我们的 LMFlow 框架,以获取更多 LLMs 的乐趣:

OptimalScale/LMFlow: An Extensible Toolkit for Finetuning and Inference of Large Foundation Models. Large Model for All. (github.com)

关键词:

社区供稿 | RLHF 实践中的框架使用与一些坑 (TRL, LMFlow)_世界今日讯

1 前言之前看见文章总结了常见的一些 RLHF 框架的经验, 但是似2023-06-16

端午节吃粽子,牢记“3不吃,3不宜”,多听劝,身体健康是第一位 全球短讯

有一首流传于民间的民谣《端午节》这样唱道:“粽子香,香厨房,艾叶香2023-06-16

天天要闻:【活动访谈】发力数字基座 推动物联创新——航天科技控股集团AIRIOT4.0平台发布会活动专访

近日,由航天科技控股集团股份有限公司主办的“数字基座智慧物联—AIRI2023-06-16

广州市旅游商务职业学校老师_广州市旅游商务职业学校

1、广州市旅游商务职业学校是广州市教育局直属财政核拨单位,全国首批2023-06-16

“可视化法律服务”开通 律师一对一提供视频服务 焦点要闻

新民晚报讯(记者王军通讯员陈菲茜)昨天,“可视化律师服务”在“随申2023-06-16

网购久拖不发货?法官来支招!

“618”年中大促要来了新一轮“剁手”大赛马上开始有多少小伙伴们已经g2023-06-16

路桥横街镇618美食文旅消费券节有哪些活动?_世界快消息

路桥横街镇618美食文旅消费券节活动内容活动包含文化艺术演出、国风走2023-06-16

全球头条:磐镭618 抖音直播抽显卡

所谓早买早享受,晚买享折扣,不买那就送。618大促正在火热进行中,今2023-06-16

32个城市成立联盟服务数字经济|环球热点评

扬州网讯(通讯员陈宇记者张孔生)15日上午,在扬州召开的全国新时代城2023-06-16

抢抓机遇 引导优质要素聚集 推动高质量发展

——访泉州南翼国家高新区建设指挥部晋江市分指挥部副指挥长、英林镇党2023-06-16

早稻进入抽穗扬花期 科学田管助力丰产丰收-快资讯

央视网消息:当前,江西省南昌市种植的早稻进入了抽穗扬花期,这也是产2023-06-16

贵州车牌归属地识别(贵e车牌是贵州哪个城市?)

贵e车牌是贵州黔西南布依族苗族自治州,其首府驻兴义市,是贵州的9个地2023-06-16

多方回应劳斯莱斯被吊上44楼:举办地44楼是样板间 安全性没有问题

近日,福建厦门。视频中这辆劳斯莱斯被放置在一个特质铁笼之中,由三根2023-06-16

3d的pdf图纸用什么软件打开(3d pdf用什么软件打开)

1、用AdobeAcrobat3D就可以了!。本文就为大家分享到这里,希望小伙伴2023-06-16

AI带来的技术革命,让影视业面临新的考验_环球最资讯

在上影集团近日主办的SHO未来·海上论坛上,上影集团党委书记、董事长2023-06-16

天天观天下!月贝佳(对于月贝佳简单介绍)

聊聊一篇贝佳,对于月贝佳简单介绍的文章,网友们对这件事情都比较关注2023-06-16

安的秘密

1、《安的秘密》,于2015年8月19日在北京西区剧场首演。同年,9月1日至2023-06-16

主力成本线指标源码_怎么看主力成本和主力的筹码集中度

1、主力成本和筹码集中要看以下几个方面:如果一只股票有主力要做,那2023-06-16

劳模工匠进校园分享奋斗故事-全球观天下

日前,闽清县职业中专学校举行了一场特殊的宣讲,站在讲台上的不是老师2023-06-16

四川阴雨继续!注意防范山洪泥石流等次生灾害-热点评

6月15日,据四川气象台消息,昨天08时到今天08时,盆地阴天有阵雨,南2023-06-15

春雪食品: 春雪食品集团股份有限公司2022年年度权益分派实施公告

春雪食品:春雪食品集团股份有限公司2022年年度权益分派实施公告2023-06-15

全球最新:合锻智能股东中信投资控股已累计减持公司股份1%

2023年6月15日,合锻智能(603011 SH)公告,公司于2023年4月25日披露了2023-06-15

世界快报:河南沁阳:师生感受农耕气息 一场“田埂上的演唱会”

6月9日,在河南沁阳市崇义镇张留村的“农耕文化节”现场,沁阳市博苑学2023-06-15

环球视点!思辨和历史神学

1、近代基督教神学思潮。2、起源于黑格尔的唯心主义哲学。本文到此分享2023-06-15