手機(jī)可跑,3.8B參數(shù)量超越GPT-3.5!微軟發(fā)布Phi-3技術(shù)報(bào)告:秘密武器是洗干凈數(shù)據(jù)
過去幾年,借助Scaling Laws的魔力,預(yù)訓(xùn)練的數(shù)據(jù)集不斷增大,使得大模型的參數(shù)量也可以越做越大,從五年前的數(shù)十億參數(shù)已經(jīng)成長到今天的萬億級,在各個(gè)自然語言處理任務(wù)上的性能也越來越好。
但Scaling Laws的魔法只能施加在「固定」的數(shù)據(jù)源上,即模型如果能夠以一種新的方式與數(shù)據(jù)進(jìn)行交互的話,就能實(shí)現(xiàn)「小模型戰(zhàn)勝大模型」的效果。
微軟此前關(guān)于Phi系列模型的研究工作,已經(jīng)證實(shí)了「基于LLM的web數(shù)據(jù)過濾」和「LLM合成數(shù)據(jù)」的結(jié)合,使得2.7B參數(shù)量的Phi-2可以匹敵25倍參數(shù)量大模型的性能。
最近,微軟再次升級了Phi-3系列模型,最小尺寸的phi-3-mini(3.8B參數(shù)量)在更大、更干凈的數(shù)據(jù)集(包含3.3T個(gè)tokens)上進(jìn)行訓(xùn)練,在各大公開的學(xué)術(shù)基準(zhǔn)和內(nèi)部測試中,實(shí)現(xiàn)了與Mixtral 8x7B和GPT-3.5等大尺寸模型的性能。
論文鏈接:https://arxiv.org/pdf/2404.14219.pdf
相比上一代模型,phi-3還進(jìn)一步調(diào)整了其穩(wěn)健性、安全性和聊天格式,并且還提供了一些針對4.8T個(gè)tokens訓(xùn)練的7B(phi-3-small)和14B模型(phi-3-medium)的初步參數(shù)縮放結(jié)果,兩者的能力都明顯高于phi-3-mini
phi-3-mini的尺寸也足夠小,可以部署在手機(jī)上離線使用。
小模型也有大實(shí)力
phi-3-mini的基礎(chǔ)模型的參數(shù)量為3.8B,采用Transformer解碼器架構(gòu),默認(rèn)上下文長度為4K,加長版(phi-3-mini-128K)通過LongRope技術(shù)將上下文擴(kuò)展至128K
為了更好地服務(wù)于開源社區(qū),phi-3-mini在構(gòu)建時(shí)借鑒了Llama-2模型的塊結(jié)構(gòu),并使用了相同分詞器,詞表大小為32064,也就意味著「Llama-2系列模型相關(guān)的包」可以直接適配到phi-3-mini上。
模型參數(shù)設(shè)置上,隱藏層維度為3072、具有32個(gè)頭、總共32層,使用bfloat16訓(xùn)練了3.3T個(gè)tokens
phi-3-mini還針對聊天進(jìn)行了微調(diào),使用的模板為:
此外,研究人員還推出了phi-3-small模型,參數(shù)量為7B,利用tiktoken分詞器以實(shí)現(xiàn)更佳的多語言分詞性能,詞匯量為100352,默認(rèn)上下文長度為8K;該模型遵循7B模型類別的標(biāo)準(zhǔn)解碼器架構(gòu),總共有32個(gè)層和4096個(gè)隱藏層維度,為了最小化KV緩存占用,模型還采用了分組查詢注意力機(jī)制,每4個(gè)query共享1個(gè)key
此外,phi-3-small交替使用稠密注意力和塊稀疏注意力層,以進(jìn)一步減少KV緩存占用量,同時(shí)保持長上下文的檢索性能;該模型還額外使用了10%的多語言數(shù)據(jù)。
手機(jī)端的強(qiáng)大語言模型
得益于phi-3-mini小巧的體積,在量化到4bit的情況下,僅占用大約1.8GB的內(nèi)存。
研究人員在iPhone 14(搭載A16 Bionic芯片)上部署了量化后的phi-3-mini模型,在完全離線運(yùn)行的狀態(tài)下,實(shí)現(xiàn)了每秒12個(gè)tokens的超高性能。
訓(xùn)練方法
模型的訓(xùn)練遵循「Textbooks Are All You Need」的工作序列,利用高質(zhì)量的訓(xùn)練數(shù)據(jù)來提升小型語言模型的性能,同時(shí)突破了標(biāo)準(zhǔn)的規(guī)模法則(scaling-laws):phi-3-mini僅用3.8B的總參數(shù)量,就能達(dá)到GPT-3.5或Mixtral等高性能模型的水平(Mixtral的總參數(shù)量為45B)。
模型的訓(xùn)練數(shù)據(jù)包括來自各種開放互聯(lián)網(wǎng)源的經(jīng)過嚴(yán)格篩選的網(wǎng)絡(luò)數(shù)據(jù),以及合成的LLM生成數(shù)據(jù)。
預(yù)訓(xùn)練分為兩個(gè)不相交且連續(xù)的階段:
第一階段主要使用網(wǎng)絡(luò)資源,主要目的是教導(dǎo)模型通用知識和語言理解的能力;
第二階段結(jié)合了經(jīng)過更嚴(yán)格篩選的網(wǎng)絡(luò)數(shù)據(jù)(第一階段使用的子集)和一些合成數(shù)據(jù),教授模型邏輯推理和各種專業(yè)技能。
數(shù)據(jù)最優(yōu)范圍(Data Optimal Regime)
與以往在「計(jì)算最優(yōu)范圍」或「過度訓(xùn)練范圍」訓(xùn)練語言模型的工作不同,研究人員主要關(guān)注在「特定規(guī)模下」的數(shù)據(jù)質(zhì)量:通過校準(zhǔn)訓(xùn)練數(shù)據(jù),使其更接近小型模型的數(shù)據(jù)最優(yōu)范圍。
主要篩選網(wǎng)絡(luò)數(shù)據(jù)以包含正確水平的「知識」能力,并保留更多可能提高模型「推理能力」的網(wǎng)頁,例如英超聯(lián)賽某一天的比賽結(jié)果可能對大模型來說算比較好的訓(xùn)練數(shù)據(jù),但對phi-3-mini來說,則需要去除這類信息,以便為迷你尺寸模型的「推理」留出更多模型容量。
為了在更大尺寸的模型上驗(yàn)證數(shù)據(jù)質(zhì)量,研究人員訓(xùn)練了一個(gè)14B尺寸的phi-3-medium模型,總共處理了4.8T個(gè)tokens(與phi-3-small相當(dāng)),結(jié)果發(fā)現(xiàn),某些性能指標(biāo)從7B參數(shù)提升到14B參數(shù)時(shí)的改善,并沒有從3.8B參數(shù)提升到7B參數(shù)時(shí)那么明顯,可能意味著數(shù)據(jù)組合需要進(jìn)一步優(yōu)化,以便更好地適應(yīng)14B參數(shù)模型的「數(shù)據(jù)最優(yōu)狀態(tài)」。
后處理
在phi-3-mini的訓(xùn)練后處理中,主要包括兩個(gè)階段:
1. 有監(jiān)督微調(diào)(SFT)
SFT使用了經(jīng)過精心策劃的、跨多個(gè)不同領(lǐng)域的高質(zhì)量數(shù)據(jù),包括數(shù)學(xué)、編程、邏輯推理、對話、模型特性和安全性等,在訓(xùn)練初期只使用英語的樣本。
2. 直接偏好優(yōu)化(DPO)
DPO的數(shù)據(jù)則包括了聊天格式的數(shù)據(jù)、邏輯推理任務(wù),以及負(fù)責(zé)任的人工智能(RAI)相關(guān)的工作。
研究人員利用DPO引導(dǎo)模型避免不良行為,主要方法是將這些不希望出現(xiàn)的結(jié)果標(biāo)記為「拒絕」。
除了在數(shù)學(xué)、編程、邏輯推理、魯棒性和安全性方面的提升外,訓(xùn)練后處理還使得語言模型轉(zhuǎn)變成了一個(gè)用戶可以高效且安全地進(jìn)行交互的AI助手。
在長上下文版本phi-3-mini-128K中,首先是在模型訓(xùn)練的中期引入長上下文,然后在訓(xùn)練后處理階段,同時(shí)使用SFT和DPO,進(jìn)行長-短上下文混合的訓(xùn)練。
學(xué)術(shù)基準(zhǔn)性能
研究人員在一系列公開基準(zhǔn)測試中,對比了phi-2、Mistral-7b-v0.1、Mixtral-8x7b、Gemma 7B、Llama-3-instruct8b和GPT-3.5模型的常識推理、邏輯推理能力。
從結(jié)果來看,phi-3-mini模型以3.8b的體量超越了一眾7B, 8B模型,甚至Mixtral(8*7b)都敗下陣來,和GPT-3.5各有勝負(fù),算是打了個(gè)平手。
同尺寸下,7b尺寸的Phi-3-small性能提升相當(dāng)明顯。
目前,評估語言模型的標(biāo)準(zhǔn)方法是使用少量樣本提示(few-shot prompts),模型都是在溫度設(shè)置為0的情況下進(jìn)行評估。
安全性
Phi-3-mini的構(gòu)建嚴(yán)格遵守了微軟的負(fù)責(zé)任人工智能(AI)準(zhǔn)則,整個(gè)開發(fā)過程囊括了在模型訓(xùn)練后進(jìn)行安全對齊、通過紅隊(duì)策略進(jìn)行測試、以及自動化的評估,覆蓋了眾多與負(fù)責(zé)任AI相關(guān)的潛在風(fēng)險(xiǎn)類別。
模型的訓(xùn)練過程中用到了一些提升模型有用性和無害性的數(shù)據(jù)集,其中部分基于先前研究的啟發(fā)進(jìn)行了調(diào)整,并結(jié)合了多個(gè)由微軟內(nèi)部生成的數(shù)據(jù)集,以針對訓(xùn)練后的安全處理中的負(fù)責(zé)任AI風(fēng)險(xiǎn)類別進(jìn)行優(yōu)化。
微軟內(nèi)部的獨(dú)立紅隊(duì)對phi-3-mini進(jìn)行了細(xì)致的審查,旨在訓(xùn)練后的階段識別出進(jìn)一步改進(jìn)的空間;研究團(tuán)隊(duì)根據(jù)紅隊(duì)的反饋,精心挑選并創(chuàng)建了額外的數(shù)據(jù)集以解決問題,顯著降低了模型生成有害回復(fù)的頻率。
在內(nèi)部進(jìn)行的負(fù)責(zé)任AI基準(zhǔn)測試中,與phi-2、Mistral-7b-v0.1、Gemma 7b和Llama-3-instruct-8b等模型相比,phi-3-mini-4k和phi-3-mini-128k展現(xiàn)出了更好的性能。
測試過程中,使用GPT-4來模擬五種不同類別的多輪對話,并以此來評估模型的回復(fù)。
測試中的「無根據(jù)性」(ungroundedness)評分從0(fully grounded)到4(not grounded),用來衡量模型回應(yīng)的信息是否與給定的提示相關(guān)。
在其他風(fēng)險(xiǎn)類別中,模型的回應(yīng)根據(jù)其有害性的嚴(yán)重程度被評分,范圍從0(無傷害)到7(極度傷害);缺陷率(DR-x)通過計(jì)算得分等于或超過x嚴(yán)重度的樣本比例來得出。
Phi-3-mini的缺陷
在大型語言模型的能力方面,phi-3-mini雖然在語言理解力和推理能力上與更大型的模型旗鼓相當(dāng),但由于其規(guī)模的限制,在處理某些特定任務(wù)時(shí)仍然存在一些固有的局限性。
簡單來說,這個(gè)模型并沒有足夠的內(nèi)存空間去存儲海量的事實(shí)性知識,在一些需要大量背景知識的任務(wù)上表現(xiàn)得尤為明顯,比如在TriviaQA問答任務(wù)中的表現(xiàn)就不夠好,但這個(gè)問題可以通過與搜索引擎的結(jié)合使用來解決。
左:無搜索;右:有搜索
模型的容量限制還體現(xiàn)在將語言限制為英語,對于小型語言模型來說,探索其多語言能力是未來一個(gè)重要的發(fā)展方向,通過增加多語言數(shù)據(jù),目前已經(jīng)取得了一些初步的積極結(jié)果。
此外,研究人員表示,雖然花了很大的努力讓模型遵循負(fù)責(zé)任人工智能(RAI)的原則,但和其他大多數(shù)大型語言模型一樣,phi-3-mini在處理事實(shí)性錯(cuò)誤(幻覺)、偏見的再現(xiàn)或放大、不當(dāng)內(nèi)容生成以及安全問題等方面仍然存在挑戰(zhàn)。
通過使用精心策劃的訓(xùn)練數(shù)據(jù)、針對性的后期訓(xùn)練調(diào)整,以及吸納紅隊(duì)測試的反饋,已經(jīng)在很大程度上緩解了這些問題,但要完全克服這些難題,仍然有很長的路要走,需要進(jìn)行更多的研究和改進(jìn)。