Modely a platformy AI
LongWriter: Odemykání 10 000+ slov generace z dlouhých kontextů LLM
Aktuální dlouhé kontextové velké jazykové modely (LLM) mohou zpracovávat vstupy až do 100 000 tokenů, ale mají problémy s generováním výstupů delších než 2 000 slov. Kontrolované experimenty ukazují, že efektivní délka generování modelu je inherentně omezena příklady viděnými během dohledovaného jemného ladění (SFT). Jinými slovy, toto omezení výstupní délky pochází z nedostatku dlouhých výstupních příkladů v existujících sadách SFT.
Recentní pokroky v dlouhých kontextových LLM vedly k vývoji modelů s významně rozšířenými paměťovými kapacitami, schopnými zpracovávat historii delší než 100 000 tokenů. Nicméně, navzdory jejich schopnosti zpracovávat rozsáhlé vstupy, současné dlouhé kontextové LLM mají problémy s generováním stejně dlouhých výstupů.
Prozkoumání tohoto omezení, LongWriter zkoumá maximální délku výstupu stávajících dlouhých kontextových modelů s několika dotazy, které vyžadují odpovědi různé délky, jako je například “Napište 10 000 slov článek o historii Římské říše.” Výsledky ukazují, že všechny modely konzistentně selhávají při generování výstupů delších než 2 000 slov. Mezitím, analýza uživatelských interakčních protokolů ukazuje, že více než 1 % uživatelských dotazů explicitně požaduje výstupy delší než toto omezení, zdůrazňující naléhavou potřebu současné výzkumu překonat toto omezení.
Pro řešení tohoto problému, LongWriter představuje AgentWrite, agentní pipeline, který rozkládá ultra-dlouhé generovací úkoly na podúkoly, umožňující off-the-shelf LLM generovat koherentní výstupy delší než 20 000 slov. Díky AgentWrite, LongWriter konstruuje LongWriter-6k, sadu 6 000 SFT datových vzorků s délkami výstupů od 2 000 do 32 000 slov. Přidáním této sady do tréninku existujících modelů, LongWriter úspěšně rozšiřuje délku výstupu stávajících modelů na více než 10 000 slov, zatímco zachovává kvalitu výstupu.
LongWriter také vyvíjí LongBench-Write, komplexní benchmark pro hodnocení ultra-dlouhých generovacích schopností. 9B parametrový model, dále vylepšený pomocí DPO, dosahuje nejlepších výsledků na tomto benchmarku, překonávající i mnohem větší proprietární modely.
V tomto článku budeme diskutovat o LongWriter frameworku, prozkoumáme jeho architekturu a porovnáme jeho výkon proti stávajícím dlouhým kontextovým velkým jazykovým modelům. Pojďme začít.
LongWriter: 10 000+ slov generace framework
Recentní pokroky v dlouhých kontextových velkých jazykových modelech (LLM) vedly k vývoji modelů s významně rozšířenými paměťovými kapacitami, schopnými zpracovávat historii delší než 100 000 tokenů. Navzdory této schopnosti zpracovávat rozsáhlé vstupy, současné dlouhé kontextové LLM mají problémy s generováním výstupů srovnatelné délky. Prozkoumání tohoto omezení, LongWriter zkoumá maximální délku výstupu stávajících dlouhých kontextových modelů s několika dotazy, které vyžadují odpovědi různé délky, jako je například “Napište 10 000 slov článek o historii Římské říše.” Na základě výsledků, LongWriter pozoruje, že všechny modely konzistentně selhávají při generování výstupů delších než 2 000 slov. Navíc, analýza uživatelských interakčních protokolů ukazuje, že více než 1 % uživatelských dotazů explicitně požaduje výstupy delší než toto omezení, zdůrazňující naléhavou potřebu současné výzkumu překonat toto omezení.

LongWriterova studie odhaluje klíčový poznatek: omezení délky výstupu je primárně způsobeno charakteristikami sad SFT. Konkrétně, LongWriter zjistí, že maximální délka generování modelu je efektivní omezena horním limitem délek výstupů v jeho sadě SFT, navzdory jeho expozici mnohem delším sekvencím během předtrénování. Tento poznatek vysvětluje všudypřítomné omezení 2 000 slov generování napříč stávajícími modely, protože existující sady SFT zřídka obsahují příklady delší než tato délka. Navíc, protože mnoho sad je destilováno ze stávajících LLM, také dědí omezení délky výstupu ze svých zdrojových modelů.
Pro řešení tohoto omezení, LongWriter představuje AgentWrite, novou agentní pipeline, která rozkládá ultra-dlouhé generovací úkoly na podúkoly, umožňující off-the-shelf LLM generovat prodloužené, koherentní výstupy. AgentWrite funguje ve dvou fázích: První fáze vytváří podrobný plán psaní, který stanoví strukturu a cílovou délku každého odstavce na základě vstupu uživatele. Druhá fáze pak vyvolává model sekvenčně, aby vygeneroval obsah každého odstavce, a LongWriter spojuje výstupy podúkolů, aby získal konečný dlouhý výstup. Takový přístup rozkládání komplexního úkolu na multiple podúkoly pomocí LLM agentů již byl aplikován v různých oblastech, jako je řešení problémů, vývoj software a hodnocení modelů. LongWriterova práce je první, která prozkoumává integraci plánování, aby umožnila modelům dokončit komplexní dlouhé psací úkoly. Každý krok AgentWrite je uveden v detailu níže.

Krok I: Plán
Inspirací pro LongWriterovu práci je myšlenkový proces lidských spisovatelů, kteří obvykle začínají tvorbou celkového plánu pro dlouhé psací úkoly. LongWriter využívá plánovací schopnosti LLM, aby vygeneroval takový psací plán na základě vstupu uživatele. Tento plán zahrnuje hlavní obsah a požadavky na délku každého odstavce. Prompt použitý LongWriterem je následující:
“Potřebuji vaši pomoc, abych rozložil následující dlouhý psací úkol na multiple podúkoly. Každý podúkol bude vést psaní jednoho odstavce v eseji a měl by zahrnovat hlavní body a požadavky na délku pro ten odstavec. Psací úkol je následující: {Vstup uživatele}. Prosím, rozložte ho ve formátu, kde každý podúkol zabírá jeden řádek:
Odstavec 1 – Hlavní bod: [Popište hlavní bod odstavce, podrobně] – Délka: [Požadavek na délku, například 400 slov]
Odstavec 2 – Hlavní bod: [Popište hlavní bod odstavce, podrobně] – Délka: [Požadavek na délku, například 1000 slov].Ujistěte se, že každý podúkol je jasný a specifický, a že všechny podúkoly pokrývají celý obsah psacího úkolu. Nečleňte podúkoly příliš jemně; každý podúkolův odstavec by neměl být kratší než 200 slov a neměl by přesáhnout 1000 slov. Nevygenerujte žádný jiný obsah.”
Krok II: Psaní
Po získání psacího plánu z Krok I, LongWriter sekvenčně vyvolává LLM, aby dokončil každý podúkol, generující psací obsah sekce po sekci. Pro zajištění koherence výstupu, když LongWriter vyvolává model, aby vygeneroval n-tou sekci, předchozí n-1 sekce jsou také vloženy, aby model mohl pokračovat v psaní další sekce na základě existující psací historie. Ačkoli tento sekvenční způsob brání paralelním voláním modelu pro dokončení multiple podúkolů současně, a délka vstupu se stává delší, LongWriter ukazuje ve validaci, že celková koherence a kvalita psaní získaná tímto způsobem jsou mnohem lepší než výstup generovaný paralelně. Prompt použitý LongWriterem je:
“Jste vynikající psací asistent. Budu vám poskytovat původní psací úkol a můj plánovaný psací plán. Budu vám také poskytovat text, který jsem již napsal. Prosím, pomozte mi pokračovat v psaní dalšího odstavce na základě psacího úkolu, psacího plánu a již napsaného textu.
Psací úkol:
{Vstup uživatele}
Psací plán:
{Psací plán vygenerovaný v Krok I}
Už napsaný text:
{Předchozí generované (n-1) odstavce}
Prosím, integrujte původní psací úkol, psací plán a již napsaný text, a nyní pokračujte v psaní {Plán pro n-tý odstavec, tj. n-tý řádek v psacím plánu}.”
Validace
LongWriter testuje délku generování a kvalitu navrhované AgentWrite metody na dvou dlouhých psacích datech. První, LongWrite-Ruler, se používá pro měření délky výstupu, který může metoda poskytnout. Druhý, LongBench-Write, se používá pro hodnocení kvality modelu-generovaného obsahu vzhledem k délce a kvalitě psaní.
LongBench-Write: Pro hodnocení modelu na více různých dlouhých psacích úkolech, LongWriter shromažďuje 120 různých uživatelských psacích promptů, se 60 v čínštině a 60 v angličtině. Pro lepší hodnocení, zda délka výstupu modelu splňuje požadavky uživatele, LongWriter zajišťuje, že všechny tyto úkoly zahrnují explicitní požadavky na délku. Tyto úkoly jsou rozděleny do čtyř podsad podle požadavků na délku: 0-500 slov, 500-2000 slov, 2000-4000 slov a více než 4000 slov. Navíc, úkoly jsou kategorizovány do sedmi typů podle typu výstupu: Literatura a kreativní psaní, Akademické a monografické, Popularizace vědy, Funkční psaní, Zpravodajství, Komunitní fórum a Vzdělávání a školení.
Během hodnocení, LongWriter používá dvě metriky: jednu pro hodnocení délky výstupu a druhou pro hodnocení kvality výstupu. Délka výstupu modelu je hodnocena na základě toho, jak blízko je k požadavkům specifikovaným v úkolech. Pro kvalitu výstupu, LongWriter používá přístup LLM-as-a-judge, vybírající nejlepší model GPT-4o, aby ohodnotil výstup napříč šesti dimenzemi: Relevance, Přesnost, Koherence, Jasnота, Šířka a hloubka a Čtenářská zkušenost. Konečné hodnocení je vypočítáno jako průměr hodnocení délky a kvality.
Validační výsledky: LongWriter prezentuje měření délky výstupu na LongWrite-Ruler a zjistí, že AgentWrite úspěšně prodlužuje délku výstupu GPT-4o z maximální délky 2 000 slov na přibližně 20 000 slov. LongWriter také hodnotí kvalitu výstupu a dodržování požadavků na délku výstupu na LongBench-Write, ukazující, že GPT-4o může úspěšně dokončit úkoly s výstupy kratšími než 2 000 slov v délce.

Supervised Fine-Tuning
LongWriter provádí trénink na základě dvou nejnovějších open-source modelů, jmenovitě GLM-4-9B a Llama-3.1-8B. Obě tyto modely jsou základní modely a podporují kontextové okno až do 128 000 tokenů, což je přirozeně vhodné pro trénink na dlouhých výstupech. Pro zvýšení efektivity tréninku, LongWriter采用uje packování tréninku s váženým ztrátovým funkcí. Trénink na těchto modelech vede k dvěma modelům: LongWriter-9B (zkráceně pro GLM-4-9B-LongWriter) a LongWriter-8B (zkráceně pro Llama-3.1-8B-LongWriter).
V stejné době, LongWriter si uvědomuje, že pokud je ztráta průměrována podle sekvence, tj. průměrem každé sekvence průměrné ztráty v dávce, příspěvek každého cílového tokenu k ztrátě v dlouhých výstupních datech by byl výrazně nižší než u kratších výstupů. V LongWriterových experimentech je také zjištěno, že to vede k suboptimálnímu výkonu modelu na úkolech s dlouhými výstupy. Proto LongWriter volí strategii vážení ztráty, která průměruje ztrátu podle tokenu, kde je ztráta vypočítána jako průměr ztrát napříč všemi cílovými tokeny v dávce.
Všechny modely jsou trénovány pomocí uzlu s 8xH800 80G GPU a DeepSpeed+ZeRO3+CPU offloading. LongWriter používá dávkovou velikost 8, learning rate 1e-5 a packovací délku 32 000. Modely jsou trénovány po dobu 4 epoch, což trvá přibližně 2 500-3 000 kroků.
Alignace (DPO)
Pro další zlepšení kvality výstupu modelu a jeho schopnosti dodržovat požadavky na délku v úkolech, LongWriter provádí přímou preferenční optimalizaci (DPO) na supervizovaném jemně laděném modelu LongWriter-9B. Data DPO pocházejí z chat DPO dat GLM-4 (přibližně 50 000 záznamů). Navíc, LongWriter konstruuje 4 000 párů dat specificky zaměřených na dlouhá psací úkoly. Pro každý psací úkol, LongWriter vzorkuje 4 výstupy z LongWriter-9B a ohodnotí tyto výstupy podle specifické metody. Skóre dodržování délky je také kombinováno. Nejvyšší skóre je pak vybráno jako pozitivní vzorek a jeden z zbývajících tří výstupů je náhodně vybrán jako negativní vzorek.
Vzniklý model, LongWriter-9B-DPO, je trénován po dobu 250 kroků na výše uvedené datové směsi. LongWriter následuje specifický recept pro trénink DPO.
LongWriter: Experimenty a výsledky
LongWriter hodnotí 4 proprietární modely a 5 open-source modelů na LongBench-Write, spolu s trénovanými LongWriter modely. Podle LongWriterova nejlepšího vědomí, Suri-IORPO je jediný předchozí model, který je také alignován pro generování dlouhých textů. Je trénován na základě Mistral-7B-Instruct-v0.2 pomocí LoRA. Konsistentně s hodnocením nastavením na LongWrite-Ruler, LongWriter nastavuje teplotu výstupu na 0,5 a konfiguruje parametr generování maximálního počtu tokenů modelu na maximum povolené jeho API voláním. Pro open-source modely je nastaven na 32 768.

Většina předchozích modelů není schopna splnit požadavek délky nad 2 000 slov, zatímco modely LongWriter poskytují konzistentně delší a bohatší odpovědi na takové dotazy.
Při pozorování skóre délky výstupu SlS_lSl pro dotazy v každém požadovaném rozsahu délky, LongWriter zjistí, že předchozí modely obecně vykazují špatné výsledky (skóre pod 70) pro dotazy v rozsahu [2 000, 4 000) slov, s výjimkou Claude 3.5 Sonnet, který dosahuje přijatelného skóre. Pro dotazy v rozsahu [4 000, 20 000) slov, téměř všechny předchozí modely nejsou schopny dosáhnout požadované délky výstupu, dokonce ani skóre 0 (což znamená, že všechny délky výstupu jsou kratší než jedna třetina požadované délky). Přidáním tréninkových dat z LongWriter-6k, LongWriterův trénovaný model může efektivní dosáhnout požadované délky výstupu, zatímco zachovává dobrou kvalitu, jak je naznačeno skóre v rozsahu [2 000, 20 000) slov a rozptylové grafy.

DPO účinně zlepšuje kvalitu výstupu modelu a jeho schopnost dodržovat požadavky na délku v dlouhém generování.
Při srovnání skóre LongWriter-9B a LongWriter-9B-DPO, zjistíme, že DPO významně zlepšuje obě skóre Sl (+4 %) a Sq (+3 %), a zlepšení je konzistentní napříč všemi rozsahy. To ukazuje, že v dlouhém generování, DPO stále pomáhá zlepšit kvalitu výstupu modelu a může lépe sladit délku výstupu modelu s požadovanou délkou. Tento závěr byl také nedávno pozorován v Yuan et al. (2024) v kratších generacích. Rovněž ručně anotujeme párové vítězství a prohry pro GPT-4o a tři LongWriter modely na jejich výstupech v LongBench-Write a vizualizujeme výsledky ve Figure 9. Můžeme vidět, že lidé preferují DPO-trénovaný model nad LongWriter-9B ve 58 % případů. Navíc, navzdory menšímu počtu parametrů, LongWriter-9B-DPO dosahuje remízy s GPT-4o.

Délka výstupu modelů LongWriter je prodloužena na rozsah mezi 10 000 a 20 000 slov, zatímco je vyžadována více dat s dlouhými výstupy pro podporu ještě delších výstupů.
Následující test LongWrite-Ruler, LongWriter také prezentuje výsledky testu LongWrite-Ruler pro modely LongWriter. Výsledky naznačují, že jejich maximální délka generování je mezi 10 000 a 20 000 slov. Nedostatek SFT dat s delšími výstupy je pravděpodobně primární důvod, proč model nemůže dosáhnout ještě delších délek výstupu.
Závěrečné myšlenky
V této práci jsme diskutovali o LongWriter, agentní pipeline, která rozkládá ultra-dlouhé generovací úkoly na podúkoly, identifikuje 2 000 slov limit generování pro současné LLM a navrhuje zvýšení jejich délky výstupu přidáním dlouhých výstupních dat během alignace. Pro automatické konstrukci dlouhých výstupních dat, LongWriter vyvíjí AgentWrite, agentní pipeline, která používá off-the-shelf LLM pro tvorbu prodloužených, koherentních výstupů. LongWriter úspěšně rozšiřuje délku výstupu stávajících LLM na více než 10 000 slov s konstruovanými LongWriter-6k. Extensive ablation studie na tréninkových datech demonstrují účinnost tohoto přístupu. Pro budoucí práci, LongWriter navrhuje následující tři směry: 1. Rozšířit framework AgentWrite pro konstrukci dat s delšími výstupy, aby se dále prodloužila délka výstupu LLM. 2. Vylepšit framework AgentWrite pro dosažení vyšší kvality dlouhých výstupů. 3. Delší výstupy modelů přinášejí výzvy pro efektivní inferenci. Bylo navrženo několik metod pro zlepšení efektivity inferenze. Je třeba prozkoumat, jak tyto metody mohou zajistit zlepšení efektivity modelu bez kompromisů kvality generování.












