自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用小型自動(dòng)生成的數(shù)據(jù)集訓(xùn)練編碼LLM

譯文
人工智能
本文介紹了WaveCoder模型,該模型可以使用更少示例訓(xùn)練高效的編碼LLM。

譯者 | 李睿

審校 | 重樓

雖然像GPT-4這樣的大型語言模型(LLM)在編寫軟件代碼方面非常精通,但是這些模型的成本和不透明性激發(fā)了人們對(duì)更加經(jīng)濟(jì)、規(guī)模更小的編碼LLM的興趣。

這些替代方案可以針對(duì)特定任務(wù)進(jìn)行微調(diào),并且成本很低。開發(fā)這些LLM的一大挑戰(zhàn)是在訓(xùn)練數(shù)據(jù)集的大小和模型的性能之間找到最佳平衡點(diǎn)。

針對(duì)這一挑戰(zhàn),微軟公司在最近發(fā)表的一篇論文中介紹了一種使用更少示例訓(xùn)練高效編碼語言模型的新技術(shù)。這篇文章介紹了WaveCoder模型,并聲稱優(yōu)于其他在類似數(shù)量的示例上訓(xùn)練的編碼LLM。

作為WaveCoder的補(bǔ)充,微軟公司還開發(fā)了CodeOcean,這是一個(gè)包含2萬個(gè)不同代碼示例的精選數(shù)據(jù)集。該數(shù)據(jù)集可以增強(qiáng)編碼應(yīng)用的基礎(chǔ)模型的微調(diào)。

選擇正確的編碼示例

圖1 CodeOcean管道圖1 CodeOcean管道

雖然WaveCoder是一個(gè)令人印象深刻的LLM模型,但這篇論文中更有趣的部分是CodeOcean,它是一個(gè)附帶的數(shù)據(jù)集。CodeOcean解決了一個(gè)重大挑戰(zhàn):創(chuàng)建一個(gè)平衡成本效益和質(zhì)量的數(shù)據(jù)集。研究人員認(rèn)為一個(gè)具有最大多樣性的數(shù)據(jù)集可以產(chǎn)生令人印象深刻的結(jié)果,即使它包含的示例有限。

該研究團(tuán)隊(duì)從CodeSearchNet開始,這是一個(gè)包含200萬對(duì)注釋和代碼的廣泛編碼數(shù)據(jù)集。他們使用基于BERT的Transformer模型為每個(gè)示例生成嵌入,將復(fù)雜信息轉(zhuǎn)換為數(shù)字列表。

他們對(duì)嵌入應(yīng)用了一種聚類算法,根據(jù)它們的相似性對(duì)示例進(jìn)行排序。這種方法使研究人員能夠從原始數(shù)據(jù)集中提取一個(gè)子集,最大限度地提高多樣性。

添加說明

在建立核心數(shù)據(jù)集之后,研究人員必須創(chuàng)建包含代碼和指令的訓(xùn)練示例。為了實(shí)現(xiàn)這一點(diǎn),他們創(chuàng)建了一個(gè)生成器-鑒別器框架,用于根據(jù)原始代碼示例生成指導(dǎo)性數(shù)據(jù)。最初,他們使用GPT-4在特定的場(chǎng)景中制作任務(wù)定義。這些初始任務(wù)定義與指導(dǎo)提示相結(jié)合,被提供給GPT-3.5,以生成額外示例的相應(yīng)指令。

圖2 CodeOcean的生成器-鑒別器框架圖2 CodeOcean的生成器-鑒別器框架

對(duì)于鑒別器組件,研究人員制定了一個(gè)單獨(dú)的評(píng)估提示。這個(gè)提示以及代碼和指令示例提供給GPT-4進(jìn)行評(píng)估。然后,CodeOcean管道使用良好的示例來生成未來的訓(xùn)練示例。

研究人員通過這個(gè)迭代過程生成了2萬個(gè)高質(zhì)量的教學(xué)樣本。這些示例跨越了四個(gè)不同的編碼任務(wù)類別:代碼生成、代碼摘要、語言翻譯(從一種編程語言到另一種編程語言)和代碼修復(fù)。這四個(gè)類別包含了LLM編碼任務(wù)的很大一部分。

訓(xùn)練WaveCoder

圖3 WaveCoder優(yōu)于其他在類似數(shù)量的示例上訓(xùn)練的編碼LLM圖3 WaveCoder優(yōu)于其他在類似數(shù)量的示例上訓(xùn)練的編碼LLM

生成用于編碼LLM訓(xùn)練示例有很多方法。但微軟的CodeOcean以強(qiáng)調(diào)泛化和示例效率而與眾不同。與依賴大量數(shù)據(jù)的研究不同,CodeOcean可以使用較小的數(shù)據(jù)集實(shí)現(xiàn)高性能。

為了證明CodeOcean的有效性,研究人員對(duì)三種編碼語言模型進(jìn)行了微調(diào):StarCoder-15B、CodeLLaMA(7B和13B)和DeepseekCoder-6.7B。考慮到數(shù)據(jù)集的大小,其微調(diào)既快速又經(jīng)濟(jì)高效。研究人員根據(jù)HumanEval、MBPP和HumanEvalPack這三個(gè)關(guān)鍵的編碼基準(zhǔn)對(duì)微調(diào)后的模型進(jìn)行了評(píng)估。

通過在CodeOcean上進(jìn)行多次訓(xùn)練,所有模型在這些基準(zhǔn)測(cè)試上都有了顯著的改進(jìn)。在代碼生成方面,研究人員描述了WaveCoder的影響和局限性:“在微調(diào)過程之后,與基礎(chǔ)模型和一些開源模型相比,WaveCoder模型的性能有了顯著的提高,但它仍然落后于專有模型(例如GPT-4和Gemini),以及使用7萬多個(gè)訓(xùn)練數(shù)據(jù)訓(xùn)練的指示模型。”

WaveCoder和WizardCoder之間的性能差異很小,有78000個(gè)訓(xùn)練示例。這表明“精細(xì)化和多樣化的指令數(shù)據(jù)可以顯著提高指令調(diào)優(yōu)的效率。”

WaveCoder在代碼摘要和修復(fù)任務(wù)方面尤為出色。它在幾乎所有編程語言上的表現(xiàn)都優(yōu)于其他開源模型。這一成功強(qiáng)調(diào)了“定義和分類代碼相關(guān)任務(wù)對(duì)增強(qiáng)代碼LLM泛化能力的有效性”。

雖然微軟公司尚未發(fā)布WaveCoder和CodeOcean的模型、代碼和數(shù)據(jù),但有關(guān)Hugging Face的討論表明,該公司正在審查是否將它們對(duì)外發(fā)布。展望未來,研究人員的目標(biāo)是探索更大數(shù)據(jù)集的效果,以及將CodeOcean與其他編碼數(shù)據(jù)集相結(jié)合的潛在好處。

原文標(biāo)題:How to train coding LLMs with small auto-generated datasets,作者:Ben Dickson

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2024-05-23 12:57:59

2024-06-19 08:14:51

大型語言模型LLMRAG

2025-01-08 15:15:16

2024-07-03 09:38:35

LLM人工智能

2025-04-11 02:00:00

模態(tài)編碼器ALIGN視覺語言模型

2024-01-24 13:37:36

大型語言模型人工智能

2021-09-08 07:44:26

人工智能keras神經(jīng)網(wǎng)絡(luò)

2023-11-27 09:00:00

GPTQ大型語言模型

2023-09-27 08:18:03

2025-02-14 08:18:33

2024-01-25 09:00:00

DevOps人工智能

2024-04-11 08:53:57

大型語言模型BERT人工智能

2024-12-30 10:35:00

訓(xùn)練數(shù)據(jù)模型

2024-04-18 08:38:15

LLM數(shù)據(jù)訓(xùn)練模型

2023-12-18 15:54:42

AI 模型

2024-09-14 13:50:00

AI訓(xùn)練

2017-11-10 12:45:16

TensorFlowPython神經(jīng)網(wǎng)絡(luò)

2023-08-25 17:10:14

LLM人工智能

2009-06-11 09:39:33

netbeans 生成Webservice

2019-08-08 14:55:19

電子郵件微軟信頭
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)