博客專欄

        EEPW首頁 > 博客 > 教科書級數據is all you need:1.3B小模型逆襲大模型的秘密(1)

        教科書級數據is all you need:1.3B小模型逆襲大模型的秘密(1)

        發布人:機器之心 時間:2023-06-23 來源:工程師 發布文章

        吳恩達說的「小數據」有多大威力?這個只有 1.3B 參數量的模型給出了證明。


        人工智能的三個核心要素是算力、算法和數據,這是大多數人在初識人工智能時都會接觸到的一個觀點。不過,在深入闡述該觀點時,很多材料都傾向于解釋數據「大」的一面,畢竟當前的大模型一直在由不斷增加的「大數據」來推動,而且這條路似乎還沒有走到極限。
        不過,隨著數據獲取難度增加以及算力增長出現瓶頸,單純追求「大模型、大數據」的道路變得愈發難以為繼。因此,早在 2022 年,吳恩達就在采訪中呼吁大家關注「小數據」,即數據量較小但質量較高的數據。「在數據行業,我認為重點必須從大數據轉向優質數據。擁有 50 個精心設計的示例就足以向神經網絡解釋用戶希望它學習什么。」吳恩達表示。
        高質量的「小數據」到底有多大威力?最近,來自微軟的一篇題為「Textbooks Are All You Need」的論文給出了一個非常直觀的答案。
        圖片
        論文鏈接:https://arxiv.org/pdf/2306.11644.pdf
        他們用規模僅為 7B token 的「教科書質量」數據訓練了一個 1.3B(13 億參數)的模型 ——phi-1。phi-1 專注于編碼任務,具體來說是編寫 Python 函數和對應的文檔字符串。訓練數據由網上篩選的教科書質量數據(6B token)和 GPT-3.5 生成的教科書及練習數據(1B token)組成。訓練時,模型對 70 億的 token 進行了 8 次遍歷。然后在不到 2 億 token 的數據上進行了微調。整個訓練過程在 8 個 A100 上進行,為期 4 天。
        結果表明,盡管在數據集和模型大小方面比競品模型小幾個數量級,phi-1 依然在 HumanEval 的 pass@1 上達到了 50.6% 的準確率,在 MBPP 上達到了 55.5%,這是僅使用一個 LLM 生成的最佳自我報告數字之一。
        圖片
        論文作者之一 Sebastien Bubeck 表示,任何在 HumanEval 上達到 50% 以上準確率的模型都要比 phi-1 大得多,比如前段時間超越所有開源模型、擊敗 Claude 和 Bard、專門用于編程任務的大模型 WizardCoder 參數量達到了 phi-1 的 10 倍以上,而所用的數據集規模則高達百倍。
        圖片
        此外,研究者還提出了一個更小的模型:參數量為 350M 的 phi-1-small。該模型用與 phi-1 相同的 pipeline 進行訓練,在 HumanEval 上達到了 45% 的準確率。
        從 phi-1 這項研究可以看到,高質量數據的引入改變了模型性能與規模之間的關系,突破了之前的 scaling laws。它表明,高質量數據可以提升大型語言模型(LLM)的 SOTA,同時大大降低數據集的規模和計算量,這對于當前算力緊張的局面來說是個好消息。
        在論文第二部分,作者詳述了他們的訓練過程,并討論了他們的數據選擇過程對于取得這個結果的重要性。此外,盡管 phi-1 的訓練 token 遠少于現有模型,但它仍然顯示出了涌現特性。在第三部分,作者討論了這些涌現特性,通過比較 phi-1 和 phi-1-small 的輸出,確認了參數數量在「涌現」方面起關鍵作用的假設。這一部分用到的方法與 Sparks of AGI 論文的精神相呼應,該論文主張擺脫靜態基準,來測試 LLM 的性能。最后,在第四部分,作者討論了評估模型的替代基準,而在第五部分,他們研究了他們的訓練數據在 HumanEval 方面可能受到的「污染」。
        這篇論文引起了不少研究者的關注,認為它代表了一種研究趨勢。最近回歸 OpenAI 的 Andrej Karpathy 展望說,「我們可能會看到更多創造性的『縮小規模』工作:將數據質量和多樣性置于數量之上,更多的合成數據生成以及小型但功能強大的專家模型將會出現。
        圖片
        愛丁堡大學博士生符堯也給予了該文高度評價,認為其通過將數據工程推向極限,充分利用了基礎模型(不僅僅是 GPT-3.5)的潛力,同時指出該研究可能過于偏向于 HumanEval 風格的測試,因此未來的研究方向可能需要平衡模型的能力。
        圖片
        他的詳細評價如下:

        1、Prompt engineering
        這可能是最重要 / 棘手的部分,因為作者大量使用 promp 來引導 GPT-3.5 生成預訓練的教科書和 SFT 代碼練習。顯然,大部分性能提升來自這個階段。我進一步的假設是:
        如果將這些數據用于繼續訓練 GPT-3.5 本身,即教師模型,它也會有進一步改進的性能,就像之前的 LMSI(Large Language Models Can Self-Improve)論文展示的一樣,因此我傾向于將 Phi-1 論文視為推動 LMSI 方法的一大步。
        將教師模型更改為在足夠多代碼上進行預訓練的任何預訓練模型,也可以獲得類似質量的數據,當然,這需要一個良好的基礎模型。
        綜合上述觀點,基本上對于任何優秀的基礎模型,都可以從基礎模型中通過 prompt 合成教科書數據,然后使用模型生成的數據來改進自身,或者蒸餾為更小的專門化變體。
        2、能力平衡
        從論文的印象來看,我覺得預訓練和 SFT 數據可能與 HumanEval 過于接近(并且作者證明沒有污染)。基本上,作者構建了一個用于 Human Eval 的訓練集。這有多重含義:

        為感興趣的測試問題構建訓練集沒有問題,我猜測大多數部署的模型都這樣做。然而,它降低了在分布內泛化的挑戰程度,盡管對于與推理相關的任務和小型模型來說,這仍然是個挑戰。
        然而,LLM 最重要的能力在于分布外泛化,因為更大的模型會泛化到遠離其訓練 / 微調分布的內容。Phi-1 在小模型的分布內泛化方面做得最好(可能是極限),但在 LLM 時代,我們對分布外、少樣本泛化更感興趣。

        推動分布內泛化的極限,會以顯著降低通用領域能力為代價,如作者所討論的(也可以參見我們以前的工作:https://arxiv.org/abs/2301.12726)。因此,下一步工作可能落腳于如何進行好的數據混合,以保持編碼性能的同時,也能提高通用能力。
        總體而言,這是一項令人印象深刻的工作!我學到了很多!


        以下是論文細節。
        高質量數據來源及其重要性
        phi-1 的訓練依賴于三個主要的數據集:

        • 一個經過篩選的代碼 - 語言數據集,它是 The Stack 和 StackOverflow 的一個子集,通過使用基于語言模型的分類器獲得(包含約 6B token)。
        • 一個合成的教科書數據集,包含不到 1B 個 token 的 GPT-3.5 生成的 Python 教科書。 
        • 一個小型的合成練習數據集,包含大約 180M 個 token 的 Python 習題和答案。


        以上數據組成了總 token 量不到 7B 的訓練數據集。作者將經過篩選的代碼 - 語言數據集和合成的教科書數據集的組合稱為「CodeTextbook」,并在預訓練階段使用它來獲得一個基礎模型 phi-1-base—— 該模型已經在 HumanEval 上達到了 29% 的準確率。然后,他們使用 180M 個 token 的合成練習數據集,稱為「CodeExercises」,對 phi-1-base 模型進行微調,以獲得 phi-1 模型。盡管「CodeExercises」數據集規模較小,但通過這個數據集進行微調不僅在生成簡單的 Python 函數方面帶來了巨大的改進(如圖 2.1 所示),而且更廣泛地解鎖了 phi-1 模型中許多有趣的新能力,這些能力在 phi-1-base 模型中沒有觀察到。
        模型架構細節
        該研究使用僅含****(decoder-only)的 transformer 模型 —— 使用多頭注意力 (MHA) 的 FlashAttention 實現,并參考一些新模型,包括 CodeGen、PaLM 和 GPT-NeoX,在并行配置中使用 MHA 和 MLP 層。
        具體來說,1.3B 參數的 phi-1 模型由 24 層組成,隱藏維度為 2048,MLP 內部維度為 8192,使用 32 個注意力頭,每個注意力頭維度為 64。350M 參數的 phi1-small 模型由 20 層組成,隱藏維度為 1024,MLP 內部維度為 4096,16 個注意力頭,每個維度為 64。
        值得注意的是,該研究沒有使用 Fill-In-the-Middle (FIM)、 Multi-Query-Attention (MQA) 等可以進一步提高模型性能和效率的新方法。


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 西乡县| 百色市| 玉门市| 林口县| 五寨县| 策勒县| 左云县| 临海市| 太白县| 宁津县| 吉木萨尔县| 乐山市| 河北区| 松阳县| 崇仁县| 富宁县| 芦山县| 洛隆县| 白玉县| 广水市| 来宾市| 安岳县| 福鼎市| 章丘市| 鞍山市| 灌云县| 玛多县| 白银市| 九寨沟县| 万宁市| 体育| 马山县| 肃宁县| 萨迦县| 靖安县| 绵竹市| 霸州市| 昆山市| 新乡县| 玉门市| 岐山县|