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