为了解决复现RLHF技术和基于RLHF技术的大预言模型的不安全问题,北京大学团队开源了名为PKU-Beaver(海狸)开源项目。
第25期料见闭门分享会,我“门”非常开心邀请到PKU-Beaver开源项目团队成员——北京大学人工智能研究院助理教授 杨耀东 老师、北京大学在读博士生 吉嘉铭,来与大家分享项目介绍、近期情况,并与线上同学进行QA交流互动。
本次开源SafeRLHF第一轮的20k数据集,如需使用完整数据集,欢迎扫描下方二维码填写申请表。
在活动的开麦大讨论环节,大家针对RLHF的问题接连不断,我“门”也紧锣密鼓记录下来自PKU-Beaver团队干货满满的问答文字版,稍加编辑整理,呈现给大家~如果希望进一步了解PKU-Beaver团队工作,也欢迎关注项目主页:https://github.com/PKU-Alignment/safe-rlhf
或是添加将门小将(thexiaojiang)微信,加入RLHF交流社群,与更多相关领域小伙伴交流互动!
1. RLHF在数据上需要达到多少的量级,才能对齐人类偏好?
杨耀东(北京大学人工智能研究院助理教授):这个目前没有一个固定的说法。目前根据paper里的一些观点是,它可以使用远小于预训练阶段的数据量。目前预训练的数据量大概都是几百billion的token,无论是我们自己的发现还是做垂直大模型的厂商,我们了解到,对于特定领域,不需要那么大的数据量。
目前大多数人使用RLHF还是希望聚焦在我能否把这个模型变成专业的大模型,也就是想要达到H(Helpful),那几百个billion的token就足够了。对应起来,大概是几百本书的体量规模,就可以达到。但如果想要另两个H(Harmless和Honest),根据我们目前的测试,Harmless至少需要几十万量级的token对应的preference data。
2. RLHF的数据选取有没有什么特殊的地方?是否需要直接采样真实的在线语音助手和用户的对话数据?
杨耀东:RLHF里有三步,第一步是SFT,第二步是reward function learning,第三步是PPO。在数据采集时候收集的prompt还是非常重要的,Facebook的LLaMa大模型发现,如果是非常高质量的prompt,仅用1000条就可以代替RLHF后面两步达到的效果。Prompt非常重要,甚至需要人类标注员的高质量的标注。我们跟产业界的同仁们聊的时候发现,收集真实的在线语音助手和用户对话数据是非常重要的,这也是大家急切开源自己的大模型产品的原因之一。通过收集人类真实数据,然后进行高质量标注,进一步进行RLHF。
3. 人并不需要读取数以亿万计的token就能达到现在的认知水平,那么如何降低大模型成本?包括计算和数据资源?
杨耀东:这个问题非常好,但是没有考虑到的地方是,人本身进化了很久,有很多传承下来的知识,有很多history domain的积累。而大模型是一个人类全新的探索,无法和人脑进行对比。我记忆中人一辈子能看的token数是一个billion,远小于现在大语言模型需要的数据集的数量级水平。
但是大语言模型和人脑认知的关系还没有被研究的那么清晰,我认为也没有必要把大语言模型做成跟人脑一样,以非常低的成本(30、40瓦的水平)来做出非常智能的行为,这个在短期内也并不一定会被实现。但是如何降低大模型成本确实是一个值得思考的问题,类似权重量化等技术,可以帮助你在部署端或微调端以更小的代价,达到更精细的方向上对齐的水平。
4. 如何把除了排序本身以外的排序原因也作为重要反馈信号,反馈回模型进行针对性微调?
杨耀东:这也是个非常好的问题。作为一种高效的对齐模型的算法来说,它本身还是比较粗糙的,并且是比较暴力的——收集人类反馈进行硬对齐。这个技术本身在未来几年内我认为会得到翻天覆地的革新,搜集今年NerulIPS里的文章,大概有700-1000篇文章在做RLHF这件事,这个技术本身会进一步进行提升。新的技术的出现都是在增加、利用intrinsic reward、extrinsic reward,或者是unsupervized behavior learning的方法,来提升preference学习的效率。之前提到的三条技术路线:一条是学policy,一条是学preference function,还有一条是学reward function。如果你有办法去复刻出preference背后的reward的话,我认为reward也能给你更多的信息,至于现在为什么要用preference的原因,是因为从GPT3.5到Chat这一步,主要想要达到类人回答的水平,类人这个事情可能很难以一个具体的公式进行描述,所以会使用preference。但我是相信回来会有更多的反馈信号的,包括内在奖励、外在奖励等等对模型进行微调,甚至还有一些工作是不进行RL,直接拿反馈信号拿来tuning,这些工作都是非常有意义的尝试。
5. 之前,模型参数到一定数量的时候才会出现涌现能力,但是反过来说,我们把一个大模型压缩成为一个小模型之后,涌现能力会不会丢失掉?大模型的小型化或者端侧化的相关方向,有没有未来发展的趋势?
杨耀东:这个我们组没有做,但我纯分享一些个人观点。我认为这个事情是可行的,比方说前些年的“假彩票学说”,就很像是您说的这个观点,用很大的形式训练出模型之后,不代表最有效的表征就是这么大。可以进行量化的方法,最终得到和大模型的效果差不多的小模型。由大到小是可以保持模型的性能的,但是上来直接训练小模型是不可行的。这个和涌现的观点是不相违背的,在技术上是一件非常值得尝试的事情。
6. 随着新技术出现、训练参数的增加,模型能力的上限在哪里?是否会出现超人类的情况出现?
杨耀东:虽然大家都在说大模型,但我个人的观点是:现在的模型还不够大。一,人是有100个trillion的链接,比现在的模型还要大1000倍,这个模型大小的问题,在未来还会有很大发展空间。二,相比于大型科学工程来讲,人类在训练大模型上花的钱还是比较便宜的(相对来看)。所以在把模型变大这个课题上,未来还会出现很多工作,直到我们把世界上所有可以用的数据练完,或者把所有可以调用的算力用完。Anthropic的CEO也曾分享说,未来五到十年,我们会在大模型上看到1000倍的提升。但是能否突破人类的智能,个人看法还是不太可能。因为有一个事情目前还不是很明确,就是大模型目前是怎么做推理的,目前还不具备完整的concept learning的能力。如果这个能力没有的话,离我们真正的人类只能还是会差很多。但在可预期的未来,随着scaling law的发展,还是可以看到可期的增幅空间。
7. 后续会考虑开源中文的数据集吗?
杨耀东:我们目前只是学校的团队,在资金上还不具备开源中文数据集的可能。我们现在做成的事情是把这个背后的pipeline打通了,包括数据的核验,代码的复现等等,我们整个团队不到10人,目前阶段我们对标斯坦福大学Alpaca。中文数据集确实是我们想做的,但中文需要更多的算力、数据标注等等,如果其他公司、机构想做开源的话,我们团队非常乐意把BEAVER项目的这一套经验进行分享,为整个开源社区带来自己的力量。
8. 目前是只在安全上数据上进行训练吗?如果这样的话会不会伤害通用任务的一个性能?
杨耀东:这个问题很重要,如何不去伤害helpful。我们目前是有一些PTX loss这样的机制,就是防止它不要把helpful的能力降低。就这一块的话,HH本质上是互冲的。包括Anthropic他们做的研究显示,helpful和harmless有时候就是会相互影响的。这就是为什么我认为这个trade off能用safeRL能解决好的原因,因为这个算法背后就是一些自适应的调整。但我们肯定也是做了一些quantitive的结果,包括跑了一个big bench等等,这些结果都会release。
9. 您觉得整个中文的评测集,怎么去构建比较好?对大模型整个能力进行评估的时候,有什么用的考虑?
杨耀东:你可以去把我们包括一些其他组织做的这些prompt的数据拿去,进行自我筛查,至少在我们能想到的这些维度上,这些模型的表现大概是怎么样的。然后你可以用GPT4(或者其他大模型)做一个打分,你就大概能感知到目前这个模型的水平大概是什么样的。但我们主要做的是英文的,中文的测评集有清华大学的黄名烈老师的一些工作,你可以关注一下他发布的安全评测的prompt,你可以用起来。
关于moderation API,我们会在6月份把标注的所有的安全数据全部拿来,训练一个moderation的tool出来给大家。
10. 怎么评估数据的多样性和质量?
杨耀东:这个问题非常重要。甚至不在RLHF阶段,就在SFT这个阶段,能构造更高质量的数据确实很重要。我认识到像是MOSS他们在数据多样性上做了非常多的工作。在强化学习领域,尤其是多智能体的强化学习,我们非常关注策略的多样性。比方说你在求解零和博弈的时候,如果策略不多样的话,就很容易被别人打败。多样性的这个维度,包括更科学的多样性的这个评估,我觉得未来会有非常多的研究,慢慢从这个策略多样性到数据端的多样性,或者我直接去衡量这个模型在回答上的这个多样性等等问题。当下很多还是靠工程上的方法进行规避。
11. 无害性数据集的构建,有没有更多经验分享?
杨耀东:一般如果去做Safe的话,一般会想要去做有害数据,因为有害数据会产生cost,或者产生非常低的preference,这样你其实能规避无害变为有害,所以很多时候问题是,反而如何诱导它说出有害的回答,因为现在的模型已经比较安全了,很多问题压根不回答,就过滤掉了,所以你需要做的反而是诱导出有害的问题。这个就需要很多高质量的prompt,能够诱导出它说不好的话的prompt,以及人类的这个标注。也就是你可能对话了两三轮以后,终于经过人类的诱导说出一段不安全的话,你对这个话,可能要进行一个打分。这个反而是一个努力去构建的数据集。大部分你现在标注的这个数据,包括你用人类回答的这个instruction,或者是你用GPT标出来的数据,本身就是高度无害的。因为像是Cloud、GPT,对于安全那一层做的还是蛮严格的,甚至会有些保守。
12. 针对moderation,现在它的建模是类似于OpenAI一样做了一个有监督的多标签分类吗?是在10万数据上建模成一个多标签分类吗?还是有更有效的建模方法?
吉嘉铭(北京大学在读博士生):我们现在标数据是这样的,我们构建了比较多的prompt,后期我们在第一批release的时候,会release2万个会诱导产生一些危害回答的prompt,比如说一些种族歧视、性别歧视、色情内容的言论。我们在做数据标注过程中,对这种prompt进行了多标签分类,这个本身就是一个简单的文本分类任务。我们想测试模型的毒性的话,其实和模型本身吐出的回答有关。我们是针对QA对进行分类的,根据QA对进行moderation。这里的Q是我们构造的Q,A是模型吐出的A。那有的模型,针对当前的问题,可能是安全的回答,也可能是不安全的回答。然后我们把QA对结合起来,看是否是安全的。我们目前只做了一轮的,多轮对话的情况下它可能不是在前面的第一轮、第二轮产生了这种偏见的回答,可能在后面的若干轮产生偏见的回答。这样的话,我们moderation出来之后,比如说我们有13个类,12个类别,每个类别我们塞200个prompt,我们让Alpaca产生对应的回答,通过在特定细粒度下进行约束(色情、歧视、偏见等),看一下他们的QA结合的带有约束的性质,通过这样的方式我们对每个模型的读性进行分析,大概是这样的逻辑。模型大小的话,本身在进行QA分类的话,是需要模型有一些reasoning能力的,我们目前做的是125M和7billion。
大概6月份左右,我们会release文章。
13. 目前的类别可以覆盖到instruct攻击的目标截词吗?
吉嘉铭:GPT,里面第一个机制,通过关键词过滤,比如说你现在在ChatGPT上问一些涉及到黑人歧视的关键词的时候,它是不会给你回答的。第二,以复旦的MOSS举例,本身训练语料,是加入了一个safe的数据集,我问它一个危险性的问题,它也会拒绝回答。有一些网站会公开那些攻击成功的prompt。但是通过上下文来躲避攻击的话,是很难做到的。
如果没有经过RLHF数据集加持的模型,吐出来的可能会有比较危险的言论,这个也是我们做这个初衷。
14. RLHF需要人类标注,对于小公司成本很高,是否有更好泛化能力的工作来做RL的工作?比方说RLAIF等。
杨耀东:这个是可以的。现在有很多self align的工作,大家可以关注一下。尤其是在safe这个问题上,人一定不可能是完全不受控制的。只是用AI去标注的话,很多问题是可以逃逸的。但是AI对于大部分问题我相信已经能符合人类的价值观了,尤其是哪些非常明显的错误。但是用的时候需要小心,一是要注意逃逸问题,二是问题如果太敏感可能会被封号。
15. 介绍一下数据标注的方法论?
杨耀东:数据标注很痛苦。很多炼丹的公司自己就会养数据标注员,不一定会把这项工作外包出去的。我们学校里不一定有能力养这样的团队,所以更多的方法是跟数据标注公司进行合作。那么这个数据标注就要涉及到标注公司的打分系统、打分卡、评判指标,以及验收指标等。这个里面有非常多细节。
16. 如果精调阶段使用大量的安全数据,那么RLHF的收益还有多少?
杨耀东:这是个好问题。如果你精调阶段的数据非常多,你要考虑用SFT是否足够?这个问题非常值得探索。现在有一些非常新的工作是说,如果你大语言模型如果是学了一个非常通用的知识以后,那你其实用一点点SFT数据就能把它调整过来,不一定要对齐,LLaMa就是这么一个例子。但是SFT并不能完全解决3H的问题,毕竟除了我们说的helpless以外,还有幻觉的问题。这个问题来看,目前国内复现RLHF并不是很成功,但是从一些公开的报道和paper里面可以看到,这个方法对于防止幻觉出现还是非常重要的。当然,如果你有高质量的安全数据的话,我相信是可以让你的模型变得非常安全的。
17. RLHF或sate-RLHF可以只通过高效参数微调(如LoRA)实现对齐解决安全问题?还是全量fineture模型参数会更好?
杨耀东:我们团队认为,LoRA技术更适用于类似stable diffusion的东西,对于产品级的可聊天可对话的安全机器人,这个方法可能还是有一些欠缺,因为它毕竟是一个从资源受限角度上考虑出来的一个方法。对于你这个模型的性能方面,我觉得LoRA可能并不是一个非常好的工具。虽然开源的框架里这个有一些不错的效果,但是safe问题上我觉得还是比较困难。
18. 是否有一些理论结果,可以帮助safe-RL训练LLM可以对外推?
杨耀东:首先,我们主页上挂的案例都是可以对外推的,都不是我们traning dataset里面的。第二,theoretical claim 这个东西涉及到了一个机器学习的核心问题,就是你到底能不能做泛化?因为你像我们用的方法论,包括ppo拉格朗日,或者cpo这些方法,还是属于机器学习的方法,拥有泛化性。但是严格来说,未来任何安全问题它都能避免,这个也不一定。但至少在机器人领域,是具有一定的泛化能力的,包括不同的场景、不同环境里的随机因素,这些都能泛化。
-The End-