透過預訓練資料代碼提升大型語言模型在非編碼任務上的表現

大型語言模型(LLMs)通常在包含文本和代碼的龐大數據集中進行預訓練。雖然代碼對於專注於編程任務的模型至關重要,但在設計為非編碼應用的LLMs中,代碼的包含變得愈加普遍。

在最近的一項研究中,Cohere的研究人員探索了代碼數據在LLM預訓練中對各種非編碼任務整體表現的影響。研究人員指出:“雖然實務工作者普遍認同代碼數據對LLM表現至關重要,但有限的研究對其在非編碼任務上的具體影響進行了分析。”他們的研究證實代碼顯著提升了LLM在多種非編碼任務中的表現,並對現實世界的訓練應用產生重要影響。

調查代碼的影響

研究人員進行了一系列實驗,以評估代碼如何影響LLM的整體性能。關鍵因素包括訓練數據中的代碼量、訓練過程中引入代碼的時機、代碼的質量及模型的大小。通過兩階段的訓練方法,他們對預訓練模型進行了“持續預訓練”,在固定的數據量中融合不同比率的文本和代碼,隨後進入強調高質量數據的“冷卻”階段。

基準模型僅在文本上進行訓練。其他模型則在文本與代碼的平衡數據集上進行預訓練,或在代碼數據上訓練後再轉向文本。他們評估了從4.7億到28億參數的多個模型,在涵蓋世界知識、自然語言推理和代碼性能的多個基準上進行測試。

代碼在非編碼任務中的益處

實驗顯示,代碼顯著提升了LLM在非編碼任務中的表現。在自然語言推理方面,使用代碼訓練的模型始終超越僅使用文本的對應模型。尤其是,專門在代碼上進行預訓練的模型在這些基準中表現最佳。“這表明,從包含代碼的預訓練模型初始化積極影響自然語言推理任務。”研究人員解釋道。

在世界知識任務中,預訓練期間使用平衡的代碼和文本數據集產生了最佳結果。研究人員指出,“世界知識任務的最佳表現取決於初始化時的平衡數據混合,以及在持續預訓練期間更大比例的文本使用。”在生成任務中,無論是僅限於代碼還是平衡的模型都超越了僅限於文本的模型,顯示出納入代碼不僅強化了推理能力,也改善了生成質量。

此外,研究人員注意到,隨著模型大小的增大,添加代碼的好處亦隨之增加,在世界知識和代碼性能方面的提升最為顯著,自然語言推理則有較為適度的改善。“這些結果表明,隨著模型大小的增長,自然語言任務與代碼生成之間的權衡越加明顯。”他們表示。

儘管LLMs在更大規模時往往顯示出突現行為,研究人員因成本限制未能測試非常大型模型。然而,他們對於研究結果能擴展到更大規模充滿信心。“考慮到我們的結果在4.7億到28億參數範圍內成立,我們相信其會適用於更大型號和標記預算。”他們補充道。

該研究還顯示,將高質量合成代碼納入預訓練數據顯著提升了性能,解決了可用人類生成代碼的局限性。“我們的合成代碼是根據問題陳述創建的,生成經過驗證的Python解決方案,”Cohere的首席作者及研究學者Viraat Aryabumi說。“這為未來的潛力打開了大門,因為利用高性能教師模型對於生成有效的合成代碼至關重要。”

此外,他們發現整合代碼相關數據(如GitHub拉取請求和提交)能增強推理能力。在冷卻階段中納入代碼進一步提升了非編碼任務的表現,為尋求調整模型以滿足特定數據的企業提供了寶貴的見解,而不是從頭開始訓練。“冷卻階段與成本、數據品質和資源需求方面密切契合於微調,帶來顯著的增長。我們建議在整個訓練過程中都納入代碼,”Aryabumi強調道。“利用高品質的代碼,例如內部代碼庫和代碼相關數據,可以在冷卻階段提升結果。”

在Cohere專注於為企業應用開發LLMs的過程中,這些發現可能會影響未來模型和產品的部署,並可能提供各種不同文本和代碼混合的預訓練模型,以針對特定任務進行調整。企業隨後可以在專有數據上微調這些模型,以達到最佳性能。“我們的發現對開發者非常相關,並將有可能促進更高效模型的推出,”Aryabumi表示。“令人驚訝的是,代碼如何提升超越編碼相關任務的性能,這也指導了我們開發前沿模型的方向。”

Most people like

Find AI tools in YBX

Related Articles
Refresh Articles