yeti2.0 wordpress主題怎么優(yōu)化自己網(wǎng)站
摘要
現(xiàn)象:當(dāng)前的大預(yù)言模型可以接受超過(guò)100,000個(gè)tokens的輸入,但是卻難以生成超過(guò)2000個(gè)token的輸出。
原因:監(jiān)督微調(diào)過(guò)程(SFT)中看到的樣本沒(méi)有足夠長(zhǎng)的樣本。
解決方法:
- Agent Write,可以將長(zhǎng)任務(wù)分解為子任務(wù),從而實(shí)現(xiàn)可以生成超過(guò)20,000字的輸出,它根據(jù)用戶的輸入編寫了一個(gè)詳細(xì)的寫作計(jì)劃,列出每個(gè)段落的結(jié)構(gòu)和目標(biāo)字?jǐn)?shù),之后以順序的方式生成每個(gè)段落的內(nèi)容。
- 利用管道,在GPT-4o上建立了數(shù)據(jù)集:Long Writer-6k,包含6000個(gè)長(zhǎng)度從2k到32k的數(shù)據(jù)。使得現(xiàn)有模型能夠輸出超過(guò)10,000字。
- Longbench-Write,一個(gè)基準(zhǔn),用于評(píng)估超長(zhǎng)文本的生成能力。包含一組不同的用戶編寫指令,輸出長(zhǎng)度規(guī)格從0-500字,500-2000字,2000-4000字,超過(guò)4000字,
結(jié)果:9B參數(shù)的模型已經(jīng)可以在 benchmark上取得最佳效果,只需要在模型對(duì)齊過(guò)程中具有擴(kuò)展數(shù)據(jù)。
Agent Write
- 計(jì)劃
受人類作家思維過(guò)程的啟發(fā),一個(gè)作家通常會(huì)為了長(zhǎng)時(shí)間的寫作任務(wù)制作一個(gè)總體計(jì)劃,通常包括每個(gè)章節(jié)的寫作計(jì)劃與大綱,我們利用LLM的規(guī)劃能力創(chuàng)作了一個(gè)寫作大綱,給出一個(gè)寫作指令。
- 寫
在生成文本的時(shí)候,我們也會(huì)將前n-1段文本的內(nèi)容輸入進(jìn)去,這種串行輸入的方式生成的內(nèi)容遠(yuǎn)遠(yuǎn)優(yōu)于并行文本的輸出。 - 檢驗(yàn)
檢驗(yàn)分為兩個(gè)方法,分別是LongWrite-Ruler,用于檢測(cè)一個(gè)輸出模型可以輸出的長(zhǎng)度可以為多少;Longbench-Writer,這是我們自己構(gòu)建的benchmark,用于評(píng)估生成內(nèi)容在指令方面以及和用戶指令的一致性程度。
Longbench-Write
為了評(píng)估性能,我們收集了120個(gè)用戶書寫提示,60個(gè)中文,60個(gè)英文,每個(gè)都包含了明確的字?jǐn)?shù)要求,分為4個(gè)子集,分別為0-500個(gè)字,500-2000個(gè)字,2000-4000個(gè)字,超過(guò)4000個(gè)字。此外,我們根據(jù)輸出內(nèi)容,將文本分為7種類型,文學(xué)和創(chuàng)意寫作、學(xué)術(shù)和專著、大眾科學(xué)、功能寫作、新聞報(bào)道、社區(qū)論壇和教育和培訓(xùn)。
Evaluation
在評(píng)估方面,分為兩個(gè)方面,一個(gè)是文章長(zhǎng)度是否達(dá)標(biāo),另一個(gè)是文章的質(zhì)量,文章的長(zhǎng)度決定了分?jǐn)?shù)所在的不同的分段函數(shù)。
在具體評(píng)價(jià)質(zhì)量方面,采用先進(jìn)的GPT-4o模型,分別從相關(guān)性、準(zhǔn)確性、一致性、清晰度、廣度和深度以及閱讀體驗(yàn)幾個(gè)部分對(duì)于文章進(jìn)行打分,最后取平均。
結(jié)果
LongWriter:用于生成超長(zhǎng)輸出的教學(xué)數(shù)據(jù)集及訓(xùn)練
我們已經(jīng)有了Agent Write,可以生成長(zhǎng)文本了,現(xiàn)在我們好奇是否能夠利用它生成數(shù)據(jù)集,從而讓大模型能夠自己生成長(zhǎng)文本。
數(shù)據(jù)集構(gòu)建
我們從GPT-4o的SFT中選取了3000條中文指令,從WildChat-1M中選取了3000條英文指令,我們進(jìn)一步應(yīng)用基于規(guī)則的匹配來(lái)過(guò)濾掉有毒指令和原本打算用于抓取的指令,經(jīng)檢查發(fā)現(xiàn),這6000條有95%以上需要幾千字的響應(yīng)。再過(guò)濾和清除掉無(wú)關(guān)內(nèi)容后,構(gòu)建了數(shù)據(jù)集LongWriter-6k,輸出長(zhǎng)度相對(duì)均勻地分布在2k至10k之間。一般訓(xùn)練的時(shí)候會(huì)將LongWriter-6k和別的數(shù)據(jù)集混合,從而彌補(bǔ)了2k以上的稀缺性。
模型訓(xùn)練
- 監(jiān)督微調(diào)
我們基于兩個(gè)最新的開源模型,GLM-4-9B和 Llama-3.1-8B進(jìn)行微調(diào),得到了LongWriter-8B和LongWriter-9B。 - 對(duì)齊(DPO)
為了進(jìn)一步提高模型質(zhì)量,我們對(duì)LongWrtier-9B進(jìn)行了偏好優(yōu)化。DPO數(shù)據(jù)來(lái)自GLM-4聊天數(shù)據(jù),大約5w個(gè);我們還額外構(gòu)建了四千對(duì)針對(duì)長(zhǎng)篇書寫的數(shù)據(jù)。對(duì)于每個(gè)指令,我們從LongWriter-9B中抽取四個(gè)輸出,從中取得最好的一個(gè)作為正樣本,從其它三個(gè)中隨機(jī)選取一個(gè)作為負(fù)樣本。DPO差不多能給模型提高3%到4%的效果。 - 結(jié)果