大模型指令調(diào)優(yōu)數(shù)據(jù)集萬字評測!騰訊上交大聯(lián)合出品
一口氣生成2萬字,大模型輸出也卷起來了!
清華&智譜AI最新研究,成功讓GLM-4、Llama-3.1輸出長度都暴增。
相同問題下,輸出結(jié)果直接從1800字增加到7800字,翻4倍。
要知道,目前大模型的生成長度普遍在2k以下。這對于內(nèi)容創(chuàng)作、問題回答等都存在影響,可能導(dǎo)致模型回答問題不全面、創(chuàng)造性降低等。
該研究由智譜AI創(chuàng)始人、清華大學(xué)教授李涓子和唐杰共同領(lǐng)銜。
論文及代碼都已放在GitHub上開源。
有網(wǎng)友已經(jīng)搶先體驗。LongWriter-llama3.1-8b可生成萬字長文《羅馬帝國衰落史》,在MacBook Pro 2018(32GB)上就能運行。
輸出內(nèi)容很準(zhǔn)確,可以得A++。
9B模型搞定萬字輸出
本項研究主要包括3方面工作。
- 分析文本生成長度限制因素
- 提出AgentWrite
- 擴展LLM輸出窗口大小
首先,研究人員構(gòu)建了一個測試工具LongWrite-Ruler。通過測試多個大模型,他們發(fā)現(xiàn)所有模型在生成超過2000字的文本時都遇到了困難。
進一步分析用戶和大模型的交互日志,研究人員發(fā)現(xiàn)只有超過1%的用戶請求明確提到要生成超過2000字的文本。
為此,他們改變了模型在監(jiān)督式微調(diào)(SFT)階段使用的數(shù)據(jù)集的最大輸出長度。
結(jié)果發(fā)現(xiàn),模型的最大輸出長度與SFT數(shù)據(jù)集中的最大輸出長度呈顯著正相關(guān)。
所以得出結(jié)論,現(xiàn)有模型在輸出長度上受限主要是因為SFT數(shù)據(jù)集中缺少長輸出樣本。
即使模型在預(yù)訓(xùn)練階段見過更長的序列,但是SFT階段缺乏長文本樣本,還是會影響輸出長度。
為了克服這個限制,研究人員提出了AgentWrite。
這是一個基于Agent的pipline。
它允許將超長文本生成任務(wù)分解為多個子任務(wù),每個子任務(wù)處理其中的一段。
具體流程是AgentWrite先根據(jù)用戶指令制定出一個詳細(xì)的寫作計劃,計劃包括每個段落的主要內(nèi)容點和目標(biāo)詞數(shù)。根據(jù)計劃,AgentWrite依次提示模型生成每個段落的內(nèi)容。
在AgentWrite基礎(chǔ)上,團隊利用GPT-4o生成了6000個長輸出SFT數(shù)據(jù),輸出長度在2k到32k詞之間,構(gòu)成了數(shù)據(jù)集LongWriter-6k。并將這些數(shù)據(jù)添加到訓(xùn)練過程中。
為了驗證方法的有效性,團隊還提出了一個LongBench-Write。其中包含了多樣化的用戶寫作指令,輸出長度規(guī)格分別為0-500詞、500-2000詞、2000-4000詞以及4000詞以上。
評估結(jié)果顯示,使用AgentWrite后模型輸出長度明顯增加。
通過直接偏好優(yōu)化(DPO),GLM-4-9B在一眾模型中實現(xiàn)了最佳性能。
手速快的網(wǎng)友已經(jīng)搶先實測。
Reddit上一位網(wǎng)友讓LongWriter-llama3.1-8b生成羅馬帝國衰敗史,整體需要22分鐘(與硬件有關(guān)),平均每秒生成3.34個token。
生成內(nèi)容比較公式化,回答不同問題的結(jié)構(gòu)、節(jié)奏相似。
無論如何這是個好的開始,帶來的提升很明顯。
研究團隊也表示未來將進一步擴展模型的輸出長度和輸出質(zhì)量,同時也會開始研究如何在不犧牲生成質(zhì)量的情況下提高效率。