0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ChatGPT開源項目匯總表格

深度學(xué)習(xí)自然語言處理 ? 來源:AI算法小喵 ? 2023-03-22 14:11 ? 次閱讀

寫在前面

最近正好在關(guān)注ChatGPT,所以對目前開源的包括ChatGPT全流程訓(xùn)練代碼的項目做了一個整理。文章包括三部分內(nèi)容:

  1. ChatGPT 開源項目匯總表格
  2. 介紹 ChatGPT 訓(xùn)練的思路
  3. 介紹每一個開源的項目的情況

閱讀時間預(yù)估需要10min。

1. ChatGPT 開源項目匯總表格

下面是根據(jù) star 數(shù)量進行排序的 ChatGPT 開源項目匯總,希望詳細了解的開源項目可以通過目錄進行跳轉(zhuǎn)。

手機版目錄在文章開始的地方,電腦版目錄在網(wǎng)頁左邊。

4e0706d0-c862-11ed-bfe3-dac502259ad0.jpg

2. ChatGPT 全訓(xùn)練流程介紹

ChatGPT 完整訓(xùn)練包括三個流程:

  1. Supervised FineTune(SFT):使用人工編寫的期望模型如何輸出的數(shù)據(jù)集,對GPT-3進行微調(diào)
  2. Reward Model(RM):使用人工標注的排序數(shù)據(jù),訓(xùn)練獎勵模型,預(yù)測人類更喜歡哪個輸出
  3. 強化學(xué)習(xí)微調(diào) SFT:使用獎勵模型作為強化學(xué)習(xí)優(yōu)化目標,微調(diào)SFT模型

各個環(huán)節(jié)的一些訓(xùn)練細節(jié):

  • SFT

    • GPT-3 175B 架構(gòu)
    • 訓(xùn)練16epoch
    • 殘差dropout 0.2
    • 1.3B和6B用32的bs+9.65e-6的lr
    • 175B用8bs+5.03e-6lr
  • RM

    • 模型輸入是(prompt,response),輸出是打分
    • GPT-3 6B 架構(gòu)(175B會不穩(wěn)定),最后一層替換成輸出一個標量
    • 損失函數(shù):最大化好回答和壞回答pair的得分差異
  • RL

    • GPT-3的模型結(jié)構(gòu)
    • 訓(xùn)練2個epoch
    • 混合了10%的預(yù)訓(xùn)練數(shù)據(jù)
    • 為了不要學(xué)的太偏:增加模型之間的KL距離作為優(yōu)化目標
    • 為了不降低通用性:增加通用NLP任務(wù)的性能作為優(yōu)化目標

各個環(huán)節(jié)需要的數(shù)據(jù)量:

  1. SFT
  • 訓(xùn)練:標注員 1.1w,用戶 1.4k
  • 驗證:標注員 1.5k,用戶 103
  1. RM
  • 訓(xùn)練:標注員 6.6k,用戶 2.66w
  • 驗證:標注員 3.49k,用戶 1.44w
  1. PPO
  • 訓(xùn)練:用戶 3.1w
  • 驗證:驗證 1.6w

強化學(xué)習(xí)在訓(xùn)練中起到的作用:

  • 人類的反饋是的模型生成的結(jié)果更偏向人類想要知道的結(jié)果,消除一些偏見和負面的信息
  • 強化學(xué)習(xí)只告訴模型結(jié)果好不好,但不限制模型如何去變好,可以增加模型的探索能力

下面整理了包括了全流程訓(xùn)練的開源項目,github 項目整理的 star 信息截止到 2023.2.23,歡迎大家糾正補充

3. TRL - 從頭訓(xùn)練一個 ChatGPT 模型

https://github.com/lvwerra/trl[1]

Star 1.7k, Fork 180,代碼更新 一天前,issue 13open 60 close

第一步:用 codeparrot 數(shù)據(jù)訓(xùn)練 GPT-2 124.2M 模型

  • 和 chatgpt 的區(qū)別在于,chatgpt 是微調(diào)已經(jīng)預(yù)訓(xùn)練好的,這個是從頭訓(xùn)練
  • 數(shù)據(jù)路徑為https://huggingface.co/codeparrot/codeparrot[2]
  • 數(shù)據(jù)含義:輸入一行代碼,輸出補全的代碼

第二步:用sentiment訓(xùn)練獎勵模型,模型用的是distilbert

  • 數(shù)據(jù)路徑https://ai.stanford.edu/~amaas/data/sentiment/[3]
  • 數(shù)據(jù)含義:輸入影評,輸出得分(積極1,消極0)

第三步:RL訓(xùn)練

整體介紹文章:萬字長文教你如何做出 ChatGPT

4. RLHF - transformers_tasks

https://github.com/HarderThenHarder/transformers_tasks/tree/main/RLHF[4]

Star 274,F(xiàn)ork 51,更新 五天前, Issue 1 open 16 closed

基于上面的TRL做的;

增加了基于人工打分的Reward模型訓(xùn)練,還提供了Reward數(shù)據(jù)的標注平臺;

RM 模型訓(xùn)練:基于 ernie-3.0-base-zh 繼續(xù)訓(xùn)練的;

RL 訓(xùn)練

  • RM:用的一個現(xiàn)成的情感分類模型,roberta-base-fintuned-jd-binary-chinese
  • 生成模型:用的gpt2-chinese-cluecorpussmall

目前 RM 和 RL 兩個是獨立的訓(xùn)練,不支持把訓(xùn)練好的 RM 模型放到 RL 里面去加載

文章介紹:【AI】想訓(xùn)練ChatGPT?得先弄明白Reward Model怎么訓(xùn)(附源碼)

5. OpenAssistant

https://github.com/LAION-AI/Open-Assistant[5]

Star 16.8k,F(xiàn)ork 1.3k,Issue 308open,535closed,代碼更新三天前

文檔:https://projects.laion.ai/Open-Assistant/docs/intro[6]

在huggingface上面的模型:OpenAssistant (OpenAssistant)[7]

數(shù)據(jù)格式介紹:https://github.com/LAION-AI/Open-Assistant/blob/363a3a124471217e723d57b084122ae1ca41ab2a/notebooks/data-augmentation/stackexchange-builder/README.md[8]

是LAION機構(gòu)開源的,全稱為 Large-scale Artificial Intelligence Open Network,是一個非盈利的機器學(xué)習(xí)研究機構(gòu),致力于為公眾提供 AI 模型、數(shù)據(jù)集和開源代碼。

Stable Diffusion用的開放數(shù)據(jù)集,就是LAION-AI組織做的。

RL 訓(xùn)練部分用到了即將要介紹的 trlX庫

網(wǎng)絡(luò)訓(xùn)練絲滑如水,沒有網(wǎng)絡(luò)訓(xùn)練懷疑人生...

文檔里下載 OA 那一段沒有寫太清楚,不知道去哪里下載

整體使用下來,這個庫是目前訓(xùn)練下來最順利的,庫的代碼也看起來最規(guī)范,文檔支持也比較多的。

這里是全流程的訓(xùn)練指南:yuannnn:Open Assistant 全流程訓(xùn)練細節(jié)(GPT3+RL)[9]

文章介紹:https://mp.weixin.qq.com/s/qg5H6hBDMfrAeVF1Ia9CVA

6.trlX - CarperAI

https://github.com/CarperAI/trlx[10]

Star 2k, Fork 183, Issue 59open 95closed, 代碼更新 6小時前

CarperAI 是EleutherAI研究小組的一個新實驗室,其任務(wù)是“通過強化學(xué)習(xí)提高大型語言模型 (LLM) 的性能和安全性?!?CarperAI 開源了 Transformer Reinforcement Learning X (trlX),這是一個使用 RLHF 微調(diào) HuggingFace 語言模型的框架。

7.PaLM-rlhf-pytorch - Phil Wang

GitHub - lucidrains/PaLM-rlhf-pytorch: Implementation of RLHF (Reinforcement Learning with Human Feedback) on top of the PaLM architecture. Basically ChatGPT but with PaLM[11]

star 5.4k,F(xiàn)ork 412,Issue 8open 16 close,代碼更新 4小時前

以Imagen和Make-A-Video等深度學(xué)習(xí)研究模型的開源實現(xiàn)而聞名的 AI 開發(fā)人員 Phil Wang分享了他正在為PaLM語言模型(稱為 PaLM + RLHF)實施 RLHF 的工作。

其中,PaLM(Pathways Language Model)是谷歌在今年4月發(fā)布的5400億參數(shù)全能大模型,基于Pathways系統(tǒng)訓(xùn)練,BERT之父Jacob Devlin為主要貢獻者之一。

但是第一步的訓(xùn)練,這個項目中只有PaLM架構(gòu)和代碼,沒有預(yù)先訓(xùn)練好的權(quán)重。所以還得自己重新訓(xùn)練一個。

8. ChatRWKV

https://github.com/BlinkDL/RWKV-LM[12]

Star 1.8k,F(xiàn)ork 182,Issue 7open 16closed,代碼更新 7小時前

用 RWKV 架構(gòu)(不是transformer結(jié)構(gòu))訓(xùn)練的chatgpt

開源了 14B 的模型,可以在 hugging face上面試用:Rwkv 14b - a Hugging Face Space by yahma[13]

支持分布式訓(xùn)練,感謝@PENG Bo[14]糾正

文章介紹:PENG Bo:參與 ChatRWKV 項目,做開源 ChatGPT(可以在每個人電腦和手機直接運行的)[15]

9. RL4LMs

https://github.com/allenai/RL4LMs[16]

Star 971,F(xiàn)ork 87,Issue 20open 7closed,代碼更新一個月之前

這個庫包括了比較多 RL 算法(PPO,NLPO,A2C和TRPO),它論文說在 2000 個實驗里做了 RL 在 LLM 上面的訓(xùn)練。RL4LMs當(dāng)前的計劃包括分布式訓(xùn)練更大的模型和新的RL算法。

包括了多種語義度量(例如:BERTSCORE、BLEURT)

包括了多種任務(wù)特定指標(例如:PARENT、CIDER、SPICE)

包括了多種詞法指標(例如:ROUGE、BLEU、SacreBLEU、METEOR)

包括了6種常見的 LLM 任務(wù)。

論文:https://arxiv.org/abs/2210.01241[17]

10. ColossalAI ChatGPT

https://github.com/hpcaitech/ColossalAI/tree/main/applications/ChatGPT[18]

Star 15.5k, Fork 1.6k,代碼更新 一天前,issue 212open 337close

訓(xùn)練 Reward 模型的 rm-static 數(shù)據(jù)

  • 該數(shù)據(jù)包括同一個 prompt 的不同 response 的選擇和拒絕的標簽
  • https://huggingface.co/datasets/Dahoas/rm-static/tree/main[19]

訓(xùn)練 Prompt 模型的 awesome-chatgpt-prompts 數(shù)據(jù)

  • 該數(shù)據(jù)量比較小,大約 100 個prompt
  • https://huggingface.co/datasets/fka/awesome-chatgpt-prompts/tree/main[20]

README里面介紹的步驟和chatgpt訓(xùn)練步驟的對應(yīng)關(guān)系如下:

  • train with dummy prompt data: 用隨機生成的數(shù)據(jù)訓(xùn)練的第三步驟(RL來fintune sft)
  • train with real prompt data: 用真實數(shù)據(jù)訓(xùn)練的第三步驟(RL來fintune sft)
  • train with reward model:訓(xùn)練第二步的 reward 模型

目前應(yīng)該還沒有包括 SFT 的訓(xùn)練部分。

另外訓(xùn)練好的 Reward 模型暫時還不支持放到 RL 里面去用,目前作者們正在解決。

感謝作者@BlueRum[21]熱心幫我解決之前遇到的問題,后面更新了以后我會再嘗試一下使用的。

11. Nebullvm

github:https://github.com/nebuly-ai/nebullvm[22]

Star 5.7k, 更新 一天前,Issue 33open,68close

Meta 最近發(fā)布了 LLaMA,這是一組包含 7 到 650 億個參數(shù)的基礎(chǔ)大型語言模型。LLaMA 正在引起很多興奮,因為它比 GPT-3 更小,但性能更好。

ChatLLaMA可以做到:

  • 一個完整的開源實現(xiàn),使您能夠基于預(yù)訓(xùn)練的 LLaMA 模型構(gòu)建 ChatGPT 樣式的服務(wù)。
  • 與原始的 ChatGPT 相比,利用 LLaMA 架構(gòu)的較小尺寸,訓(xùn)練過程和單 GPU 推理更快、成本更低。
  • ChatLLaMA 內(nèi)置了對 DeepSpeed ZERO 的支持,以加速微調(diào)過程。
  • 該庫還支持所有 LLaMA 模型架構(gòu)(7B、13B、33B、65B),因此您可以根據(jù)自己對訓(xùn)練時間和推理性能的偏好對模型進行微調(diào)。


審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3379

    瀏覽量

    42600
  • 語言模型
    +關(guān)注

    關(guān)注

    0

    文章

    532

    瀏覽量

    10300
  • ChatGPT
    +關(guān)注

    關(guān)注

    29

    文章

    1564

    瀏覽量

    7859

原文標題:寫在前面

文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請教PROTEL99生成匯總表

    我的工程里有幾塊電路板,想生產(chǎn)元器件的匯總表,就是比如電容104在這幾塊板子里一共有多少個,該怎么操作?。恐x謝!
    發(fā)表于 08-14 11:11

    值得收藏的電子技術(shù)網(wǎng)站最新匯總表!

    值得收藏的電子技術(shù)網(wǎng)站最新匯總表:;
    發(fā)表于 11-20 20:18

    開源匯總】精選開源硬件項目匯總

    本帖為開源硬件項目分享匯總帖,各位小伙伴可以在帖子下方分享自己的開源項目經(jīng)歷哦~PS.本帖會持續(xù)更新,歡迎大家分享各自的經(jīng)驗
    發(fā)表于 04-29 18:45

    CoreLink? SSE-100子系統(tǒng)軟件開發(fā)人員勘誤表

    如果勘誤表對文檔來說是新的,則在本節(jié)中列出勘誤表,如果勘誤表文本有任何更改,則將勘誤表標記為“已更新”。 已修復(fù)的勘誤表不會顯示為已更新,除非勘誤表文本已更改。 第7頁上的勘誤表匯總表標識了每個產(chǎn)品版本中已修復(fù)的勘誤表。
    發(fā)表于 08-30 07:17

    加班總匯表

    加班匯總表 部門:        姓名:       員工證號:           月份:日期 類別 起 訖   工作內(nèi)容 累計時數(shù) 主管
    發(fā)表于 03-01 15:11 ?13次下載

    加班匯總表

    加班匯總表 部門:        姓名:       員工證號:           月份:日期 類別 起 訖   工作內(nèi)容 累計時數(shù) 主管
    發(fā)表于 03-01 15:19 ?25次下載

    2006年照明電器產(chǎn)品認證技術(shù)協(xié)調(diào)會問題匯總表

    2006年照明電器產(chǎn)品認證技術(shù)協(xié)調(diào)會問題匯總表
    發(fā)表于 06-01 09:34 ?12次下載

    2009鋰電池質(zhì)量監(jiān)測不合格商品匯總表

    2009鋰電池質(zhì)量監(jiān)測不合格商品匯總表 深圳市市場監(jiān)督管理局2009年3季度流通領(lǐng)域鋰電池質(zhì)量監(jiān)測不合格商品匯總表
    發(fā)表于 11-07 17:12 ?760次閱讀

    無人駕駛航空匯總表顯示:有5759家無人機企業(yè)獲取經(jīng)營許可證

    近日,民航局通航管理系統(tǒng)公布3個通航行政許可匯總表:通用航空經(jīng)營許可匯總表、非經(jīng)營性通用航空登記匯總表、民用無人駕駛航空器經(jīng)營許可匯總表。根據(jù)民用無人駕駛航空器經(jīng)營許可
    的頭像 發(fā)表于 07-24 15:24 ?4838次閱讀
    無人駕駛航空<b class='flag-5'>匯總表</b>顯示:有5759家無人機企業(yè)獲取經(jīng)營許可證

    STM32全系列調(diào)試接口匯總

    有時會有人問起STM32所支持的調(diào)試接口有哪些,本文做了一個匯總表。該表按照內(nèi)核所屬對各STM32系列分別做了介紹,里面還包括了各系列芯片所支持的硬件斷點數(shù)、MCO輸出腳【時鐘輸出腳個數(shù)】等
    發(fā)表于 02-08 15:37 ?3次下載
    STM32全系列調(diào)試接口<b class='flag-5'>匯總</b>

    ChatGPT的使用方式匯總

    匯總了國內(nèi)能使用ChatGPT的方法。   1.注冊ChatGPT賬號   保姆級教程:[奶奶看了都會]ChatGPT保姆級注冊教程   缺點:需要梯子,且香港的梯子
    發(fā)表于 02-10 11:54 ?6次下載
    <b class='flag-5'>ChatGPT</b>的使用方式<b class='flag-5'>匯總</b>

    ChatGPT以及相關(guān)開源項目體驗

      本月初,ChatGPT以驚人的速度問世,在技術(shù)圈中引起了廣泛討論。在 GitHub 上近期還誕生了多個 ChatGPT相關(guān)的開源項目,數(shù)量之多令人瞠目結(jié)舌,甚至
    發(fā)表于 02-15 09:24 ?0次下載
    <b class='flag-5'>ChatGPT</b>以及相關(guān)<b class='flag-5'>開源</b><b class='flag-5'>項目</b>體驗

    ChatGPT了的七個開源項目

      在看到網(wǎng)上給出的一系列chatGPT回答問題的例子和自己親自體驗之后,的確發(fā)現(xiàn)它效果非常令人驚艷。 chatGPT的火熱程度在開源社區(qū)也有很明顯的體現(xiàn),剛推出不久,圍繞chatGPT
    發(fā)表于 02-15 09:26 ?3次下載
    <b class='flag-5'>ChatGPT</b>了的七個<b class='flag-5'>開源</b><b class='flag-5'>項目</b>

    一個令人驚艷的ChatGPT項目開源了!

    而Visual ChatGPT這個項目則可以把ChatGPT和一系列視覺基礎(chǔ)模型(VFM,Visual Foundation Model)給聯(lián)系起來,以便實現(xiàn)在ChatGPT聊天的過程
    的頭像 發(fā)表于 03-31 11:00 ?2280次閱讀

    開源匯總】精選開源硬件設(shè)計項目匯總

    本文章為開源硬件項目分享匯總,各位小伙伴聯(lián)系社區(qū)助理,提供相關(guān)電子設(shè)計作品,積極分享自己的開源項目經(jīng)歷哦~
    的頭像 發(fā)表于 05-24 09:30 ?4788次閱讀
    【<b class='flag-5'>開源</b><b class='flag-5'>匯總</b>】精選<b class='flag-5'>開源</b>硬件設(shè)計<b class='flag-5'>項目</b><b class='flag-5'>匯總</b>