前言
緣起:為什麼要寫這本書
OpenAI 的ChatGPT 自推出以來,迅速成為人工智慧領域的焦點。ChatGPT在語言理解、生成、規劃及記憶等多個維度展示了強大的能力。這不僅表現在對特定任務的高效處理上,更重要的是,它在處理多樣化任務和複雜場景中的靈活性顯著,甚至能在一定程度上模擬人類的思考方式。這種能力的展現,標誌著人工智慧從專注於單一任務的傳統模型向通用人工智慧轉變,其強大的能力將對千行百業產生深遠影響,尤其在最佳化業務流程和重塑組織結構方面。
然而,在研究和實作過程中,我們遇到了一個主要挑戰:市場上缺乏大型語言模型在實際應用方面的資料。現有的資料多聚焦於理論研究,而具體的實作方法多被保密,難以獲得實際操作的指導。為了填補這一空白,我們歷經一年的實作和探索,決定分享我們的經驗和成果,旨在為大型語言模型的初學者和實作者提供快速入門和應用的途徑。
為應對技術的快速演進和資訊的日新月異,我們建立了一個GitHub 社區(github.com/Duxiaoman-DI/XuanYuan),用於持續更新我們的技術成果和見解。我們期望透過這種方式,促進讀者對大型語言模型的深入理解和廣泛應用,推動整個領域的持續發展和創新。
本書特色
本書旨在揭開大型語言模型的神秘面紗,透徹地解讀其內在機制和應用實作。書中不僅介紹理論知識,更介紹了深入這一技術領域的具體訓練過程,目的是為讀者提供一個全面、深入且系統化的角度,以揭示大型語言模型的精妙之處。
本書的一大特色表現在其知識系統的系統性。我們從資料處理的基礎工作(如資料清洗與去重)講起,逐步深入,探討預訓練、微調技術和強化對齊技術等核心技術環節。同時,書中對大型語言模型評估策略及其應用技術架構,包括推理引導技術和動態互動技術,進行了全面且深入的探討,確保讀者能夠從理論和技術角度全面理解大型語言模型。
本書的另一大特色是對實作性的重視。我們精心設計了從零開始的教學章節,提供大型語言模型微調的詳細指導,逐步引領讀者掌握關鍵技能。這不僅有助初學者迅速上手,也為有經驗的開發者提供了深入學習的機會。
作為真正的大型語言模型實作者,我們擁有十億、百億、千億等不同參數規模大型語言模型的訓練經驗。在本書中,這些經驗都被毫無保留地融入其中,確保本書內容的實用性和深度。本書是理論與實作經驗的精華,好料滿滿,絕不是空談。
本書結構
本書共10 章,下面是各章的主要內容概述。
第1 章:解鎖大型語言模型
本章勾勒大型語言模型的全貌,並介紹大型語言模型的基礎概念。
第2 章:大型語言模型基礎技術
本章旨在深度解析組成大型語言模型的基礎知識和核心技術。先回顧自然語言的基礎資料表示方法,為理解複雜模型奠定基礎;再詳盡地探討自然語言處理中的預訓練架構——Transformer,以揭示其內在工作機制;接著介紹如BERT和GPT 這樣的標桿性預訓練模型;最後以InstructGPT 和LLaMA 系列為例,為讀者呈現大型語言模型的初步實用成果。
第3 章:預訓練資料建構
本章將深入探討預訓練資料的常見類別、來源和前置處理方式,以及建構訓練資料的重點和困難。
第4 章:大型語言模型預訓練
本章將深入探討大型語言模型預訓練的各個方面。首先解析不同的大型語言模型架構和不同模組的選擇;同時對大型語言模型的訓練過程介紹,包括資料選擇和配比策略、模型訓練等。
第5 章:挖掘大型語言模型潛能:有監督微調
本章將從定義、用途和應用場景3 個方面解釋有監督微調;同時講解如何建構有針對性的微調資料,以及大型語言模型微調的各種技巧。
第6 章:大型語言模型強化對齊
本章先介紹強化學習的基礎知識、兩類主流深度強化學習演算法,重點介紹大型語言模型中基於人類回饋的強化學習(Reinforcement Learning from Human Feedback,RLHF)技術,然後介紹強化學習常用的訓練框架和平臺,以及RLHF 實作過程中的常見問題;最後介紹RLHF 中的困難及目前存在的問題,對RLHF 將來可能的技術發展做進一步展望。
第7 章:大型語言模型的評測
本章首先介紹大型語言模型的評測,如基座模型的評測方式等。然後重點講解微調之後具有對話能力的模型的評測方式,包括SFT 階段全維度的對話能力評測和RLHF 階段模型以安全性為主的能力評測。最後探討如何評價一個通用人工智慧(Artificial General Intelligence,AGI)。
第8 章:大型語言模型的應用
本章將展示提示詞技術對大型語言模型的引導能力。首先從最簡單的零樣本提示開始介紹,這些技術使大型語言模型擁有逐步推理的能力。然後介紹搜索增強生成技術、推理和行動協作技術,利用這兩個技術,大型語言模型可以獲得在與環境的互動中逐步分解並解決問題的能力。
第9 章:專案實作
本章將深入探討大型語言模型從訓練到完成任務的各個環節所涉及的專案最佳化技術和相關實作案例。這些技術和實作旨在提高模型的效率、性能和可擴充性,從而滿足實際應用中的需求。
第10 章:一步步教你訓練7B 大型語言模型
本章將介紹微調大型語言模型的關鍵步驟和程式範例,以便更直接地應用這些技術。
透過閱讀本書,讀者可以獲得全面且深入的大型語言模型的知識框架。無論您是研究人員、工程師,還是產品經理,都能從中獲得有價值的知識。大型語言模型已經在各個領域展現出了巨大的潛力,本書將幫您更進一步地掌握和應用這一技術。
說明
本書包含與大型語言模型的對話範例。為了真實地展示大型語言模型的對話能力,對話內容中難免會出現用詞不規範、敘述不通順甚至錯誤的情況。在此,懇請各位讀者包涵。
致謝
在本書的創作旅程中,感激所有給予我們支持的人。感謝我的團隊成員,他們對技術的信仰和對卓越的追求為本書注入了靈魂;感謝行業內的所有貢獻者,他們的研究和實作成果為我們提供了寶貴的參考和靈感;感謝電子工業出版社鄭柳潔編輯和整個出版團隊,他們的專業技能和對細節的關注,確保了這本書能夠完美地呈現給讀者們。感謝所有直接或間接參與本書創作的人,是你們讓這一切成為可能。
楊青