米開朗基羅怎么說(shuō)?谷歌DeepMind推出長(zhǎng)上下文評(píng)估新框架
米開朗基羅,文藝復(fù)興時(shí)期著名的雕塑家。
曾有人問(wèn)他是如何創(chuàng)作出如此偉大的作品,他回答說(shuō):
「The sculpture is already complete within the marble block, before I start my work. It is already there, I just have to chisel away the superfluous material.」
「在我開始工作之前,雕塑已經(jīng)在大理石塊中完成了。它已經(jīng)在那里了,我只需要鑿掉多余的材料。」
(小編PS:在我寫稿之前,稿子已經(jīng)在字典里完成了......)
這種寫意的表述可以類比到許多工作,比如大語(yǔ)言模型從上下文中理解信息。
LLM可能面對(duì)著很長(zhǎng)的語(yǔ)境(大理石),需要「鑿掉」其中不相關(guān)的信息,才能理解有效的內(nèi)部結(jié)構(gòu)(雕塑)
所以,對(duì)于LLM來(lái)說(shuō),米開朗基羅的能力就可以是長(zhǎng)上下文的能力。
然而,無(wú)論是用戶還是研究者都不免會(huì)有疑問(wèn):你這瓜保熟嗎?號(hào)稱百萬(wàn)token的長(zhǎng)上下文真的能理解嗎?
近日,來(lái)自谷歌DeepMind的研究人員提出了Michelangelo,「用米開朗基羅的觀點(diǎn)」來(lái)測(cè)量任意上下文長(zhǎng)度的基礎(chǔ)模型性能。

論文地址:https://arxiv.org/abs/2409.12640
作者設(shè)計(jì)了用于長(zhǎng)上下文推理評(píng)估的潛在結(jié)構(gòu)查詢框架LSQ,框架包含了長(zhǎng)上下文評(píng)估的現(xiàn)有工作。
Michelangelo由三個(gè)簡(jiǎn)單的潛在結(jié)構(gòu)查詢實(shí)例組成,每個(gè)實(shí)例負(fù)責(zé)測(cè)量的能力和實(shí)例化的數(shù)據(jù)分布有所不同。

研究人員在目前性能最好的幾個(gè)模型上進(jìn)行了高達(dá)1M上下文的評(píng)估。
實(shí)驗(yàn)證明,GPT和Claude模型在128K的上下文范圍中表現(xiàn)都不錯(cuò),而Gemini也確實(shí)做到了在高達(dá)1M的上下文中具有泛化能力。
然而,如果是比較困難的推理任務(wù),大家就基本全軍覆沒(méi)了。

上圖展示了幾個(gè)前沿模型在框架的其中一項(xiàng)任務(wù)MRCR(Multi-Round Co-reference Resolution)上的性能。
MRCR是一項(xiàng)合成的長(zhǎng)推理任務(wù),使用簡(jiǎn)單的度量進(jìn)行評(píng)估,并在許多模型族中使用固定提示,實(shí)驗(yàn)中所有型號(hào)的LLM在32K之前的區(qū)間中,性能都隨上下文長(zhǎng)度而顯著下降。
這一方面可以看出大家的能力都有點(diǎn)水分,另一方面也表明在比較短的長(zhǎng)度(32K)上就已經(jīng)可以摸清底細(xì)了。

對(duì)比不同模型系類的MRCR實(shí)驗(yàn),可以發(fā)現(xiàn)有趣的聯(lián)系——近似平行的曲線,這可能暗示這些模型在訓(xùn)練過(guò)程中存在獨(dú)特的相似之處(即使性能可能存在絕對(duì)差異)。
米開朗基羅
通過(guò)要求模型從結(jié)構(gòu)中提取信息,而不是從鍵中提取值,我們可以更深入地測(cè)試語(yǔ)言模型上下文理解能力,而不僅僅是檢索。

盡管隨著超長(zhǎng)上下文的刷榜,基準(zhǔn)測(cè)試也在不斷跟進(jìn),比如在大海中多撈幾根針,又或者是更現(xiàn)實(shí)的長(zhǎng)語(yǔ)境問(wèn)答評(píng)估。
但歸根結(jié)底,這些都只是不同環(huán)境中的檢索任務(wù),而模型檢索一個(gè)或多個(gè)事實(shí)的能力并不一定意味著模型能夠從完整的上下文中綜合信息。
另外,目前的長(zhǎng)上下文基準(zhǔn)還存在以下一些問(wèn)題:
相對(duì)較小的上下文長(zhǎng)度;
高度人工性,沒(méi)有自然語(yǔ)言或代碼設(shè)置;
需要大量的人力才能延伸到更長(zhǎng)的上下文長(zhǎng)度;
有時(shí),回答問(wèn)題所需的信息可能存在于預(yù)訓(xùn)練數(shù)據(jù)中,或者可以短路上下文長(zhǎng)度并使用更多本地信息回答問(wèn)題。
如何解決?
Michelangelo由三個(gè)直觀且簡(jiǎn)單的長(zhǎng)上下文綜合任務(wù)基元組成,它們要求模型綜合散布在整個(gè)上下文中的多條信息以產(chǎn)生答案,并測(cè)量模型綜合能力的不同方面,以提供對(duì)長(zhǎng)上下文模型行為的更全面理解。
Michelangelo的每項(xiàng)評(píng)估都定位在自然語(yǔ)言或基于代碼的環(huán)境中,與現(xiàn)有基準(zhǔn)相比,合成程度較低。
任務(wù)在上下文長(zhǎng)度上可以任意擴(kuò)展,同時(shí)保持固定的復(fù)雜性,并且不會(huì)導(dǎo)致邏輯矛盾或短路。
另外,實(shí)例的生成基于自然語(yǔ)言的方法,不依賴于現(xiàn)有的評(píng)估集或互聯(lián)網(wǎng)數(shù)據(jù),因此避免了泄露。
評(píng)估任務(wù)
Latent List
考慮一個(gè)簡(jiǎn)短的Python列表,并提出一系列修改該列表的操作,比如append、insert、pop、remove、sort、reverse。
給定操作序列,模型需要輸出結(jié)果潛在列表的視圖:能夠打印列表的完整切片、列表切片的總和、最小值或最大值,列表的長(zhǎng)度(列表長(zhǎng)度不取決于實(shí)例的總上下文長(zhǎng)度,而是取決于相關(guān)操作的數(shù)量)。
為了填充上下文,這里統(tǒng)一采用三種不影響列表潛在狀態(tài)的策略:
1)插入print語(yǔ)句(Do nothing);
2)插入偶數(shù)個(gè)反向操作;
3)插入所有在本地自我抵消的操作塊。

作者考慮了三個(gè)復(fù)雜度級(jí)別,分別包含1個(gè)、5個(gè)和20個(gè)相關(guān)操作。
使用近似度量來(lái)對(duì)Latent List任務(wù)進(jìn)行評(píng)分,以下代碼描述了計(jì)算此分?jǐn)?shù)的確切方法:

MRCR
在MRCR任務(wù)中,模型根據(jù)與用戶之間的長(zhǎng)時(shí)間對(duì)話,來(lái)進(jìn)行不同主題的寫作(例如詩(shī)歌、謎語(yǔ)、論文)。
這里使用PaLM 2模型提供與每個(gè)請(qǐng)求和主題相對(duì)應(yīng)的多個(gè)輸出。
在每個(gè)對(duì)話中,包含不同于其余對(duì)話的主題和寫作格式的用戶請(qǐng)求將隨機(jī)放置在上下文中。

將對(duì)話作為上下文,要求模型重現(xiàn)其中一個(gè)請(qǐng)求產(chǎn)生的對(duì)話的輸出。
MRCR任務(wù)還通過(guò)格式和主題重疊,來(lái)創(chuàng)建與查詢相似的對(duì)抗性樣本。
比如,請(qǐng)求「Reproduce the poem about penguins.」要求模型區(qū)分關(guān)于企鵝的詩(shī)和關(guān)于火烈鳥的詩(shī),而「Reproduce the first poem about penguins.」要求模型對(duì)順序進(jìn)行推理。
作者通過(guò)模型輸出和正確響應(yīng)之間的字符串相似性對(duì)MRCR進(jìn)行評(píng)分。
IDK
IDK任務(wù)向模型展示大量文本并提出一個(gè)問(wèn)題,鑒于預(yù)訓(xùn)練語(yǔ)料庫(kù)龐大,該問(wèn)題沒(méi)有客觀答案。
例如,可能有一個(gè)關(guān)于一個(gè)女人和她的狗的虛構(gòu)故事,其中詳細(xì)說(shuō)明了狗的名字和年齡,但沒(méi)有詳細(xì)說(shuō)明它的顏色。然后向模型提問(wèn):女人的狗是什么顏色的?
此任務(wù)的每個(gè)實(shí)例,都會(huì)提供四個(gè)選項(xiàng)作為答案,其中一個(gè)始終是「I don't know」,而其他選項(xiàng)都是相對(duì)合理的回答。

評(píng)估中設(shè)置70%的任務(wù)實(shí)例對(duì)應(yīng)于真實(shí)答案是「I don't know」,30%的實(shí)例對(duì)應(yīng)于在上下文中可找到答案(即簡(jiǎn)單檢索任務(wù)),最后根據(jù)模型輸出是否具有正確答案進(jìn)行評(píng)分。
全新評(píng)估框架
長(zhǎng)上下文評(píng)估通常應(yīng)遵循以下原則:
通常可擴(kuò)展至任意上下文長(zhǎng)度;
由相關(guān)信息的數(shù)量編制索引的復(fù)雜度;
上下文長(zhǎng)度難度應(yīng)與任務(wù)對(duì)應(yīng)的復(fù)雜度解耦,沒(méi)有不相關(guān)的信息;
覆蓋自然語(yǔ)言文本和代碼(兩個(gè)基本領(lǐng)域);
避免數(shù)據(jù)泄露;
測(cè)試模型對(duì)上下文中傳達(dá)的隱含信息的理解;
用盡可能少的評(píng)估次數(shù),測(cè)試長(zhǎng)上下文綜合能力的正交維度。
本文的評(píng)估框架將呈現(xiàn)給模型的上下文視為一個(gè)信息流,它構(gòu)成了對(duì)潛在結(jié)構(gòu)的更新:完整的上下文長(zhǎng)度就像一塊大理石,里面有許多不相關(guān)的信息,LLM需要鑿掉不相關(guān)的信息,才會(huì)露出里面的雕像(潛在結(jié)構(gòu))。
舉個(gè)例子,你可以想象讀一本描寫家庭的書——父母可能會(huì)離婚,孩子長(zhǎng)大后會(huì)結(jié)婚,長(zhǎng)輩會(huì)去世。在這個(gè)過(guò)程中,與家譜對(duì)應(yīng)的潛在結(jié)構(gòu)發(fā)生了變化和更新(書中的大部分信息則根本不影響家譜)。
實(shí)驗(yàn)結(jié)果
考慮每個(gè)評(píng)估中的128K上下文:

如圖所示,在短上下文中,這些模型的性能最初會(huì)出現(xiàn)一次急劇的超線性下降。

請(qǐng)注意,任務(wù)復(fù)雜度在整個(gè)上下文中保持固定,因此這種下降完全是由于模型的長(zhǎng)上下文處理能力。

之后,性能通常會(huì)趨于平緩或繼續(xù)以大致線性的速度下降,并通常會(huì)持續(xù)到非常大的上下文長(zhǎng)度。
我們可以將這種行為解釋為模型具有足夠好的子功能,足以在給定任務(wù)上實(shí)現(xiàn)一定水平的性能,并且這些子功能的長(zhǎng)度泛化到了非常大的上下文長(zhǎng)度。




































