「模仿學(xué)習(xí)」只會(huì)套話?解釋微調(diào)+130億參數(shù)Orca:推理能力打平ChatGPT
自ChatGPT API開(kāi)放后,大量的研究都選擇利用ChatGPT和GPT-4等大型基礎(chǔ)模型(LFM)的輸出作為訓(xùn)練數(shù)據(jù),然后通過(guò)模仿學(xué)習(xí)來(lái)提升小模型的能力。
但由于模仿信號(hào)流于表面、訓(xùn)練數(shù)據(jù)量不夠大、缺乏嚴(yán)格的評(píng)估標(biāo)準(zhǔn)等問(wèn)題,小模型的實(shí)際性能被高估了。
從效果上來(lái)看,小模型更傾向于模仿LFM的輸出風(fēng)格,而非推理過(guò)程。
論文鏈接:https://arxiv.org/pdf/2306.02707.pdf
為了應(yīng)對(duì)這些挑戰(zhàn),微軟最近發(fā)布了一篇長(zhǎng)達(dá)51頁(yè)論文,提出了一個(gè)130億參數(shù)的Orca模型,可以學(xué)習(xí)模仿LFMs的推理過(guò)程。
研究人員為大模型設(shè)計(jì)了豐富的訓(xùn)練信號(hào),使得Orca可以從GPT-4中學(xué)習(xí)到解釋痕跡、逐步的思維過(guò)程、復(fù)雜的指令等,并由ChatGPT的教師協(xié)助指導(dǎo);并通過(guò)采樣和選擇來(lái)挖掘大規(guī)模且多樣化的模仿數(shù)據(jù),可以進(jìn)一步提升漸進(jìn)式學(xué)習(xí)效果。
在實(shí)驗(yàn)評(píng)估中,Orca超過(guò)了其他SOTA指令微調(diào)模型,在BigBench Hard(BBH)等復(fù)雜的零樣本推理基準(zhǔn)中實(shí)現(xiàn)了比Vicuna-13B翻倍的性能表現(xiàn),在AGIEval上也實(shí)現(xiàn)了42%的性能提升。
此外,Orca在BBH基準(zhǔn)上還實(shí)現(xiàn)了與ChatGPT持平的性能,在SAT、LSAT、GRE和GMAT等專業(yè)和學(xué)術(shù)考試中只有4%的性能差距,并且都是在沒(méi)有思維鏈的零樣本設(shè)置下測(cè)量的。
研究結(jié)果表明,讓模型從分步解釋中學(xué)習(xí),無(wú)論這些解釋是由人類還是更高級(jí)的人工智能模型產(chǎn)生的,都是提高模型能力和技能的一個(gè)有前景的研究方向。
解釋微調(diào)(Explanation Tuning)
數(shù)據(jù)集構(gòu)造
在訓(xùn)練數(shù)據(jù)中,每個(gè)實(shí)例都包括三部分,即系統(tǒng)消息、用戶查詢和LFM回復(fù)。
系統(tǒng)消息(system message)放置在提示中開(kāi)頭的部分,提供給LFM基本的上下文、引導(dǎo)以及其他相關(guān)的細(xì)節(jié)。
系統(tǒng)消息可以用來(lái)改變回復(fù)的長(zhǎng)度、描述AI助手的性格、建立可接受和不可接受的LFM行為,并確定AI模型的回復(fù)結(jié)構(gòu)。
研究人員手工制作了16條系統(tǒng)信息來(lái)設(shè)計(jì)LFM不同類型的回復(fù),可以生成創(chuàng)造性的內(nèi)容以及解決信息查詢問(wèn)題,最重要的是能夠根據(jù)提示生成解釋和逐步推理的答案。
用戶查詢(user query)定義了希望LFM執(zhí)行的實(shí)際任務(wù)。
為了獲得大量的、多樣化的用戶查詢,研究人員利用FLAN-v2集合,從中抽取500萬(wàn)個(gè)用戶查詢(FLAN-5M),并收集ChatGPT的回復(fù);然后進(jìn)一步從500萬(wàn)條指令中抽出100萬(wàn)條指令(FLAN-1M),收集GPT-4的回復(fù)。
FLAN-v2集合由五個(gè)子集合組成,即CoT、NiV2、T0、Flan 2021和Dialogue,其中每個(gè)子集包含多個(gè)任務(wù),每個(gè)任務(wù)都是一個(gè)查詢的集合。
每個(gè)子集合都與多個(gè)學(xué)術(shù)數(shù)據(jù)集相關(guān),并且每個(gè)數(shù)據(jù)集都有一個(gè)或多個(gè)任務(wù),主要關(guān)注零樣本和少樣本的查詢。
在這項(xiàng)工作中,研究人員只取樣訓(xùn)練Orca的零樣本查詢,并且沒(méi)有從Dialogue子集中取樣,因?yàn)檫@些查詢往往缺乏背景,無(wú)法從ChatGPT中獲得有用的回復(fù)。
讓ChatGPT扮演Teaching Assistant
首先在FLAN-5M數(shù)據(jù)上訓(xùn)練Orca(ChatGPT增強(qiáng)),隨后在FLAN-1M上進(jìn)行第二階段的訓(xùn)練(GPT-4增強(qiáng))。
將ChatGPT作為中間的教師助手主要有兩個(gè)原因:
1. 能力差距
雖然GPT-4的參數(shù)量沒(méi)有公開(kāi),但130億參數(shù)的Orca肯定比GPT-4要小很多倍,而ChatGPT和Orca之間的能力差距更小,更適合作為中間教師,并且這種方式已經(jīng)被證明可以提高更小的學(xué)生模型在知識(shí)蒸餾中的模仿學(xué)習(xí)性能。
這種方式也可以看作是一種漸進(jìn)式學(xué)習(xí)或課程學(xué)習(xí),學(xué)生首先從較容易的例子中學(xué)習(xí),然后再學(xué)習(xí)較難的例子,假定了較長(zhǎng)的回復(fù)會(huì)比較短的回復(fù)更難模仿,可以從更大規(guī)模的教師模型中改進(jìn)推理和逐步解釋能力。
2. 成本和時(shí)間
從Azure OpenAI API進(jìn)行大規(guī)模數(shù)據(jù)收集時(shí)會(huì)受到一些限制,包括每分鐘請(qǐng)求的速率限制,防止流量過(guò)大;由于服務(wù)延遲問(wèn)題,每分鐘可用的token數(shù)量有限;提示長(zhǎng)度和token補(bǔ)全的金錢(qián)成本。
相比之下,ChatGPT API比GPT-4終端更快、更便宜,所以從ChatGPT上收集了比GPT-4多5倍的數(shù)據(jù)。
從ChatGPT和GPT-4對(duì)應(yīng)于不同系統(tǒng)消息的回復(fù)長(zhǎng)度分布中可以觀察到,GPT-4的回復(fù)平均比ChatGPT長(zhǎng)1.5倍,使得Orca能夠逐步從教師解釋的復(fù)雜性中學(xué)習(xí),并通過(guò)消融實(shí)驗(yàn)證明了教師幫助的影響。
訓(xùn)練
在分詞階段,研究人員利用LLaMA的字節(jié)對(duì)編碼(BPE)分詞器來(lái)處理輸入的樣本,其中多位數(shù)字會(huì)被分割成多個(gè)單數(shù)字,并回落到字節(jié)來(lái)分解未知的UTF-8字符。
為了處理可變長(zhǎng)度的序列,在LLaMA分詞器的詞匯表中引入了一個(gè)填充詞[[PAD]],最終的詞匯表包含32001個(gè)token
為了優(yōu)化訓(xùn)練過(guò)程并有效利用可用的計(jì)算資源,研究人員利用了packing技術(shù),將多個(gè)輸入實(shí)例串聯(lián)成一個(gè)序列后再訓(xùn)練模型。
在packing的過(guò)程中,串聯(lián)序列的總長(zhǎng)度不超過(guò)max_len=2048 tokens,對(duì)輸入的樣本進(jìn)行隨機(jī)打亂后將分成幾組,每組串聯(lián)序列的長(zhǎng)度最多為max_len
考慮到訓(xùn)練數(shù)據(jù)中增強(qiáng)指令的長(zhǎng)度分布,每個(gè)序列的打包系數(shù)為2.7
為了訓(xùn)練Orca,研究人員選擇只計(jì)算教師模型生成token的損失,也就是說(shuō)學(xué)習(xí)生成以系統(tǒng)信息和任務(wù)指令為條件的回復(fù),可以確保模型專注于從最相關(guān)和最有信息的token中學(xué)習(xí),提高了訓(xùn)練過(guò)程的整體效率和效果。
最后在20個(gè)裝有80GB內(nèi)存的NVIDIA A100 GPU上訓(xùn)練Orca,先在FLAN-5M(ChatGPT增強(qiáng))上訓(xùn)練4個(gè)epoch,花了160個(gè)小時(shí);然后在FLAN-1M(GPT-4增強(qiáng))上繼續(xù)訓(xùn)練4個(gè)epoch
由于流量限制、終端負(fù)載以及回復(fù)的長(zhǎng)度問(wèn)題,從GPT-3.5-turbo(ChatGPT)和GPT-4的多個(gè)終端收集數(shù)據(jù)分別用了2周和3周的時(shí)間。
實(shí)驗(yàn)部分
研究人員主要驗(yàn)證了Orca在推理上的能力。
在AGIEval的實(shí)驗(yàn)中可以看到,Orca的表現(xiàn)與Text-da-Vinci-003相當(dāng),并實(shí)現(xiàn)了ChatGPT 88%的性能表現(xiàn),不過(guò)明顯落后于GPT-4
對(duì)于分析和推理任務(wù),Vicuna的表現(xiàn)明顯更差,只保留了62%的ChatGPT質(zhì)量,表明這種開(kāi)源語(yǔ)言模型的推理能力很差。
雖然Orca與Text-da-Vinci-003的表現(xiàn)相當(dāng),但仍然比ChatGPT低5分,Orca在與數(shù)學(xué)有關(guān)的任務(wù)(在SAT、GRE、GMAT中)上與ChatGPT表現(xiàn)出較大的差距。
與Vicuna相比,Orca顯示出更強(qiáng)的性能,在每個(gè)類別上都超過(guò)了Vicuna,平均有42%的相對(duì)提高。
GPT-4的性能遠(yuǎn)遠(yuǎn)超過(guò)了所有其他模型,但在這個(gè)基準(zhǔn)中仍有很大的提升空間,目前所有模型的性能都明顯低于人類的得分。
Orca的性能根據(jù)系統(tǒng)信息的類型有很大的不同,對(duì)于訓(xùn)練的模型來(lái)說(shuō),空的系統(tǒng)消息往往效果很好。
Orca在不同任務(wù)的325個(gè)樣本中超越了ChatGPT(Orca-beats-ChatGPT例子),其中大部分來(lái)自LogiQA(29%),而其他LSAT任務(wù)和SAT-英語(yǔ)任務(wù)各占不到10%
在Big-Bench Hard Results數(shù)據(jù)集上的推理評(píng)估結(jié)果顯示,Orca在所有任務(wù)中的綜合表現(xiàn)上略好于ChatGPT,但明顯落后于GPT-4;比Vicuna性能高出113%