蘑菇書EasyRL
李宏毅老師的《深度強化學習》是強化學習領域經典的中文視頻之一。李老師幽默風趣的上課風格讓晦澀難懂的強化學習理論變得輕松易懂,他會通過很多有趣的例子來講解強化學習理論。比如老師經常會用玩 Atari 游戲的例子來講解強化學習算法。此外,為了教程的完整性,我們整理了周博磊老師的《強化學習綱要》、李科澆老師的《世界冠軍帶你從零實踐強化學習》以及多個強化學習的經典資料作為補充。對于想入門強化學習又想看中文講解的人來說絕對是非常推薦的。
本教程也稱為“蘑菇書”,寓意是希望此書能夠為讀者注入活力,讓讀者“吃”下這本蘑菇之后,能夠饒有興致地探索強化學習,像馬里奧那樣愈加強大,繼而在人工智能領域覓得意外的收獲。
使用trl庫做微調時, 對數據集的要求是:
如果是多輪對話場景:
jsonl 文件,且需符合以下要求:
1.每行是一個獨立的 JSON 對象;
2 每個對象須包含一個鍵名為 messages 的數組,數組不能為空;
3.messages 中每個元素必須包含 role 和 content 兩個字段:
4.role 只能是 system,user 或 assisiant;
5.如果有 system 角色消息, 需在數組首位;
6.第一條非 system 消息必須是 user 角色;
7.user 和 assisiant 角色的消息應當交替、成對出現,不少于1對;
如果是指令微調場景:
jsonl 文件,且需符合以下要求:
1.每行是一個獨立的 JSON 對象;
2 每個對象須包含且只能包含一個鍵名為 text 的鍵值對,值不能為空;
大模型開發出來后, 一般要經過以下幾個階段的訓練:
預訓練(Pre-Trained)
單純提供文本: {"text":"..."}
訓練模型由第一個文字開始, 預測后面的文字, 直到結束.
這種模型只會做完成文本的任務
監督微調(Supervised Fine Turning)
為了使模型能完成根據指令完成回答, 而不是隨機生成回答
提供的文本: {"instruction":"...", "output":"..."}
高效參數微調(Parameter Efficient Fine Turning)
只調整部分參數, 具體實現方法有LoRA
參考: