ChatGPT复现: 三步走+大模型进化图谱

1,437 阅读9分钟

引言  

最近,各类大模型(简称LLM)如雨后春笋,应接不暇,于是“狠心”整理了这些模型的进化关系,以飨读者。

(1) ChatGPT三步走

先回顾下ChatGPT训练方法。

2022年12月5日,OpenAI推出ChatGPT,在强大的GPT-3.5大模型基础上,引入人工数据标注和强化学习(RLHF),不断微调(finetune)训练而来。

其中,GPT-3.5指当时的InstructGPT,仅有一篇论文简单介绍训练流程。而ChatGPT发布时,信息更少,没有论文,只在官网简单贴了个与Instruct GPT高度相似的流程图,区别是:

  • 标注人员、动物换了个logo,如 青蛙→水獭。
  • 增加PPO模型初始化注解
模型训练过程
GPT 3.5 InstructGPT图片
ChatGPT图片

既然如此,老老实实从InstructGPT论文里梳理“三步走”:

  • (1)SFT :监督指令微调,从5.4w人工标注的指令集中抽取1.3w,在GPT-3大模型上微调。
  • (2)RM:基于新模型生成一批数据集<prompt,response>,重组成3.3w排序对形式,人工标注后,用于训练奖励模型。奖励模型结构同基座LLM,论文里全部用6B级别,规模大了反而不好。
  • (3)PPO:RLHF的具体实现,RM奖励模型作为critic(评论家),SFT阶段的大模型作为actor(行动家),二者相互配合,actor学习指令集,critic评估打分,再更新权重,进入下一轮。论文里对比两种损失函数,后采用混合预训练损失PPT_ptx,兼顾预训练的效果。

图片

(2) ChatGPT复现思路

从大模型(1750亿级别)入手,收集领域指令集,fine-tune(精调),植入RLHF、CoT、ICL等技术,试图趋近ChatGPT效果。

这条路因为路线清晰,目标明确,风险较小(只要速度够快),选手众多,如火如荼:

  • GPT-3和InstructGPT(3.5系列)没开源——没关系,找GPT类似结构的大模型作为基座。
  • OpenAI用了海量训练数据——用已有大模型(1750亿级别)冷启动
  • OpenAI用了指令微调、强化学习——改代码,植入进去,已有ChatGPT开源实现(如Colossial AI/DeepSpeed/Openassistant/Trlx等)
  • OpenAI用了大量算力——结合自身业务,做领域微调、裁剪。

更多见文章:漫谈Prompt(提示工程)与CoT(思维链)

总结起来,垂类大模型落地步骤,如图所示

  • ① 选择合适的基座LLM,并根据自身条件选择对应规模
  • ② 准备领域语料集、指令集(如调ChatGPT)
  • ③ 执行第一步SFT,简单微调LLM
  • ④ 评估更新后的LLM效果,可借用业界自动评估工具或人工抽样评估
  • ⑤ 效果还不达标?两条路:扩大基座模型规模、继续走第二三步
  • ⑥ 奖励模型(Reward Model)训练:需要提前人工评估或用自动化方案代替(还是ChatGPT)
  • ⑦ 强化学习训练:PPO、PPO_ptx

图片

图里的信息截止2023年3月,原图见博客

(3)如何选取基座模型

有论文(The Practical Guides for Large Language Models)按照模型结构整理了大模型的进化树

  • Encoder-Only结构:BERT系列
  • Decoder-Only结构:GPT系列,成员最多
  • Encoder-Decoder结构:BART、T5、GLM

图片

其中开源模型尤为“耀眼”,拿来就用。

  • GPT-2:完全开源,适合自己升级架构到GPT-3,并加上RLHF流程,照着OpenAI趟出来的路再走一遍。
  • BLOOM:完全开源,2022年7月,法国BigScience开源的GPT-3级别LLM,176b,覆盖46种语言和13种编程语言,中文语料占比高达16%,仅次于英文的30%
  • OPT:2022年5月,META AI开源,175b。英文为主,中文不佳。只能科研,不能商用。
  • LLaMA:2023年2月25日,META基于OPT微调出一个用于聊天的大模型,7b~65b, 依旧英文为主,非商用,
  • GPT-NeoGPT-JGPT-NeoX:开源,英语为主。源自一个富有极客反叛精神的全球开源组织 EleutherAI,既然OpenAI colsed了,为地主独占,那就揭竿而起,自己做真正的开源。
  • GLM:清华发布,亚洲唯一上榜的175b级别LLM,中文版的ChatGLM商用受限。

LLM看着很多,但完全开源的屈指可数,这让准备商用的研发人员头疼不已。

(4)LLM进化图谱

面对OpenAI的closed趋势及商业巨头的垄断,全球各地都在想办法做真正的开源大模型。

国外有MTEA、HuggingFace、BigSicence、EleutherAI,国内有清华系以及Open开头的组织(如OpenBMB和OpenBuddy),还有个人。

供求严重失衡情况下,只要出现半开源的LLM,大家都会“哄抢”。

2023年3月,META半开源的LLaMA模型被人“泄露”,接着迅速“进化”,每隔几天就会出现一个新“物种”,短短几个月,已经演化成全球最大的开源LLM生态系统。

2023年5月6日,一篇文章广为流传:

  • 谷歌内部文件泄露:我们和OpenAI都没有护城河

主要观点:

  • Google 和 OpenAI 都不会获得竞争的胜利,胜利者会是开源 AI;
  • 开源 AI 用极低成本的高速迭代,已经赶上了 ChatGPT 的实力;
  • 数据质量远比数据数量重要;
  • 与开源 AI 竞争的结果,必然是失败;
  • 比起开源社区需要 Google,Google 更需要开源社区。

既然开源才是出路,那么如今的开源格局是什么样?

不识庐山真面目,只缘身在此山中。

我花了不少时间,整理一张图,涵盖各方进展,LLM之间的盘根错节,让大家看到更大的视野。

图分4块:

  • ① 国外基座LLM: 介绍国外可用的开源基座模型
  • ② LLaMA生态系统:各方对LLaMA的魔改
  • ③ 国内开源LLM:清华ChatGLM及其他开源LLM
  • ④ LLM训练框架:训练加速技巧、训练框架

图片

注:以上信息不全,仅供参考,欢迎反馈。

① 国外基座大模型

图片

OpenAI官方模型里,除了GPT-2可用,其它模型(ChatGPT/GPT-4)只能远观,并作为大模型竞赛里的标杆供人膜拜、瞻仰、跟随。

多数人连api调用权限都没有,更不用说理论方法、权重、数据和代码了。

极客组织EleutherAI成立没多久,就先后推出GPT-Neo、GPT-J和GPT-NeoX模型,开源数据集 Pile,并发布OpenChatKit,颇有开源霸主风范。Pythia是耶鲁大学与EleutherAI合作的产物,Dolly(多莉)是DataBrick基于Pythia发布的聊天LLM。

法国科研组织发布的BLOOM很实用: 176b, 多语言,免费商用,属于非英语国家LLM开发者的首选。2023年2月底推出指令微调版本BLLOMZ。

合作推出BLOOM的著名LLM平台HuggingFace也没闲着,推出了自己的聊天LLM:HuggingChat

类似的开源组织,还有Stable AI,推出Stable LM。

阿联酋TII机构发布的Falcon猎鹰)一度霸占了测评榜单,拔得头筹。当然评测存在疑点。国内机构闻风而动,6月9日,OpenBuddy将其汉化,并集成AI画图,6月14日,深圳大学Linly(伶荔)团队扩充中文词表。

② LLaMA生态系统

自从权重泄露以来,不到一个月,一系列改进版“涌现”:指令调整、量化、质量改进、人类评估、多模态和 RLHF 等等变体。每个版本间隔才几天时间,进化速度如此之快。

图片

“羊驼”家族进化详情

  • 3月14日,斯坦福基于self-instruct指令集完成SFT
  • 3月21日,斯坦福借助LoRA技术,进一步降低了训练成本;5月26日,LoRA进化版本QLoRA出现,单机训练继续减量、加速
  • 3月23日,第一个免GPU版本的羊驼诞生,直接CPU单机部署,4月12日,GPT4All可以额在笔记本部署
  • 3月31日,伯克利引入更多数据,开源FastChat,并推出评测榜 LMSYS
  • 4月12日,引入CoT数据,提升推理能力
  • 羊驼汉化上,先后出现骆驼、Linly-ChatFlow、ChatLLaMA和玉兰
  • 5月3日,第一个可商用的LLaMA出现,OpenLLaMA
  • META自己也在研究RLHF的必要性,推出LIMA

③ 国内开源大模型

图片

国内LLM

开源LLM上

  • 坐拥亚洲唯一上榜LLM(GLM)的清华优势很大,先后推出ChatGLM、ChatGLM-6B以及多模态版本Visual-GLM。
  • 然而,这些模型商用受限,于是清华NLP实验室背景的面壁智能推出CPM系列,从ant到bee、Luca,功能覆盖画图、插件、联网、应用市场,颇有OpenAI的影子,重要的是,这些完全开源。
  • 校企合作是个好路子,一个有底子有人,一个有钱有数据。4月13日推出的知乎“知海图”基于CPM,5月23日推出的“360智脑”基于ChatGLM。
  • 另外,也有不少自力更生的。智源社区推出“天鹰”,王小川的百川智能,中科院的“紫东太初”(不开源),纯RNN的ChatRWKV。

④ 训练技巧及框架

训练技巧上,LoRA系列名声最大,其次是量化、蒸馏、联邦学习。

  • LoRA低秩适配,QLoRA将量化引入进来。
  • 目前,LoRA系列已经成为语言、图像等领域的标配
  • 5月15日,康奈尔将量化(GPTQ)引入微调框架
  • 5月31日,港科大发布闭源模型的蒸馏框架(LION, AKD)
  • 6月6日,FATE社区发布联邦学习大模型,解决隐私、数据不足问题

训练框架上

  • Colossal AI起步较早,2月15日就发布三步流程框架(当时没有SFT,后面补齐)
  • 开源框架还有:Open Assistant、Trlx等
  • 微软的DeepSpeed范围最广,4月12日,还推出覆盖三步流程的DeepSpeed Chat
  • 各方还在研究三步走的合理性,有没有更好的方案。如:港科大发布训练框架LLMFlow,北大河狸改进RLHF,使用更好的SafeRLHF。

详情

(5) 后记

开源大模型很多很全,迭代速度太快,只要1天不看资讯,就会漏掉最新进展。

这对大模型从业者来说,挑战极大。

ChatGPT复现专题文章才开始,不确定能否如期写完。

个人能力、精力有限,欢迎大家查缺补漏,