成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何獲取高質量數據進行代碼指令調優?

發布于 2024-9-10 11:56
瀏覽
0收藏

之前很多研究都是生成、發現、過濾高質量的通用指令微調數據,而大家對代碼任務的越發關注,如何構建更好的代碼指令調整數據也越發重要。

下面給大家帶來一篇篩選高質量代碼指令微調數據的文章,主要基于指令的復雜性、回復質量和指令的多樣性三個維度來進行樣本的篩選,同時也指出了當前部分代碼指令數據在HumanEval上存在嚴重的數據泄露。

Paper: https://arxiv.org/abs/2409.03810
Github: https://github.com/banksy23/XCoder
Data-HF: https://huggingface.co/datasets/banksy235/XCoder-80K

數據篩選

如何獲取高質量數據進行代碼指令調優?-AI.x社區

數據篩選過程主要從三個維度(指令復雜性、響應質量和指令多樣性)從數據池中選擇樣本。

對于一個數據池 ,首先使用復雜性評分器 和單元測試模型 來計算每個數據的復雜性評分 和質量評分 。然后,對復雜性評分和質量評分進行歸一化得到 和 ,經過線性組合后,得到整體評分 ,最后將數據池 進行排序,并根據多樣性進行迭代采樣,直到篩選數據集 達到預計大小為止,算法流程如下圖所示。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

  • 復雜性評分器:利用self-instruct方法獲取一個小規模的種子數據 ,然后根據WizardCoder方法進行提示詞 次深度進化,產生 輪次數據,將輪次是為復雜性的度量值,訓練復雜性評分器。
  • 單元測試模型:代碼通過測試用例數量可以作為響應質量的度量,利用6k數據訓練LLaMA3-70B-Base模型來作為單元測試模型。在測試過程中,單元測試模型為每個訓練樣本生成12個測試用例,并執行單元測試程序,將通過的測試用例數量作為質量評分。


如何獲取高質量數據進行代碼指令調優?-AI.x社區


  • 多樣性采樣:迭代式從數據池中選擇樣本 ,當該樣本對數據集 多樣性做成貢獻時,填入數據集 。樣本 的多樣性的貢獻采用 表示,當 為真時,值等于1,被填入數據集 。 為樣本 與 中最近樣本之間的嵌入距離,τ

效果分析

為了構建最佳的代碼指令微調數據集,收集了各種可用的開源數據集,共2.5M樣本。優于數據池過大,經過以下步驟過濾、去重,最終獲得336K樣本。

  • 選取學術工作數據集:Magicoder-OSS-Instruct、Magicoder-Evol-Instruct和Code-Feedback
  • 選擇了長度最長的200K個樣本
  • 選擇復雜性評分最高的200K個樣本
  • 去重

如何獲取高質量數據進行代碼指令調優?-AI.x社區

LLaMA3-8B-Base上采用Xcoder數據進行了實驗,如下表所示,在僅使用40K數據在LiveCodeBench和BigCodeBench上就取得了優于基線的性能;增加到80K數據時,指標持續提高。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

基于LLaMA3-70B-Base在Xcoder數據上訓練了XCoder-70B模型,成為效果最佳的開源的代碼大模型。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

HumanEval上不是最優,是因為Magicoder-Evol-Instruct和Codefuse-Evol-Instruct數據在HumanEval存在數據泄露情況。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

并提出了TLI(測試泄露指標)來量化訓練集對測試集泄露數據程度。主要對兩個數據集生成n-gram片段,并測量每個測試樣本的n-gram片段與所有訓練樣本的n-gram片段之間的重疊情況,其中,測試樣本中的公共n-gram片段個數與測試樣本中的總n-gram片段個數的比率作為測試樣本 與訓練樣本 之間的相似度分數。所有測試集中的相似度分數的平均值作為TLI值,其中,TLI值越高,泄露風險越大。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

消融實驗,三個維度的指標對于最終數據的選擇均有益。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

針對復雜性評估,可以發現雜性評分器 > 指令長度 > 困惑度 > 隨機。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

針對單元測試模型,可以發現訓練的Llama3-70模型由于GPT4模型。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

并且Xcoder選擇10K數據的訓練效果,就堪比隨機選擇160K數據效果。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

同時,分析了XCoder的數據組成,重新評估了不同數據源的優勢和劣勢。

如何獲取高質量數據進行代碼指令調優?-AI.x社區

寫在最后

大模型發展到現在,合成數據的重要性不言而喻,但需要我們注意的一點是,如果一味的增加低質量數據或模式固定的單一數據,除了增加模型訓練時間外,毫無用處,甚至會帶來模型過擬合等負面影響。

因此,大模型在微調過程中,無論是通用任務、還是代碼任務,對數據進行多樣性、質量的選擇是有必要的,也許提分就在這毫厘之間。

本文轉載自 ??NLP工作站??,作者: 劉聰NLP

已于2024-9-10 12:02:50修改
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 中文字幕在线免费 | 日韩伦理一区二区 | 国产精品久久久久久久岛一牛影视 | 四虎影院欧美 | 玖玖综合在线 | 99re热精品视频国产免费 | 国产极品91 | 中文字幕在线观看一区 | 亚洲视频免费 | 亚洲精品电影在线观看 | 日本国产精品视频 | 看a级黄色毛片 | 精品欧美一区二区精品久久久 | 久久久久国产成人精品亚洲午夜 | 精品欧美一区二区三区久久久 | 国产精品特级毛片一区二区三区 | 日韩高清在线 | 一区二区精品在线 | 久久久久成人精品亚洲国产 | 国产精品一区二区三区免费观看 | 伦理二区| 久久精品小视频 | 欧美一级欧美三级在线观看 | 久久国产精品久久久久久 | 亚洲男人网| 正在播放国产精品 | av永久免费 | 成人在线观看中文字幕 | 精品免费国产视频 | 黄片毛片免费观看 | 99免费视频 | 亚洲高清在线 | 中文字幕在线一区二区三区 | 亚洲中午字幕 | 亚洲视频网 | 精一区二区 | a级片网站| 一区二区三区久久久 | 99re国产视频 | 亚洲a级| 九九热国产精品视频 |