樹莓派上部署RAG!微軟Phi-3技術(shù)報告揭示「小而美」模型如何誕生
這個月的微軟Build大會上,微軟正式官宣了Phi-3家族新成員:Phi-3-vision、Phi-3-small,Phi-3-medium。
此外,還有上個月就發(fā)布技術(shù)報告的Phi-3-mini,剛推出時,就讓許多開發(fā)者印象深刻。
比如,Xenova基于Phi-3-mini開發(fā)了一個完全在本地運行的瀏覽器聊天應(yīng)用WebGPU,demo看起來的效果像是經(jīng)過加速的視頻:
結(jié)果Xenova還要特意出來聲明:視頻沒加速,部署的模型就是這么快,平均每秒生成69.85個token。
在人人追求LLM的大環(huán)境下,微軟卻始終沒有放棄SLM這條路。
從去年6月Phi-1面世,到Phi-1.5、Phi-2,再到如今Phi-3,微軟小模型已經(jīng)完成四次迭代升級。
這次3.8B參數(shù)的Phi-3-mini、7B的small和14B的medium,相比規(guī)模更大的模型,都展現(xiàn)出了更強的能力。
并且作為開源模型,可以在手機上、甚至在樹莓派上部署,微軟簡直太寵愛開發(fā)者了。
昨天,微軟Gen AI Research的副總裁Sebastien Bubeck在推特上宣布更新了Phi-3的技術(shù)報告,添加了small和medium版本的最終得分,以及視覺模型的測評結(jié)果。
在評論區(qū),網(wǎng)友們盡情抒發(fā)對Phi-3這種開源且強大的小模型的喜愛之情。
甚至有人形容,這是「微軟給開源世界的禮物」。
或許,微軟在SLM這條路上真的賭對了?讓有強大能力的模型真正落地、滲透到各種應(yīng)用中,才能帶來真正的變革。
Phi-3結(jié)果提示我們,用如此少的內(nèi)存足跡可以實現(xiàn)多少可能性,現(xiàn)在有真正的機會可以讓模型擴展到各種app上了
那么,Phi-3系列的實力到底如何?我們可以從最新版的技術(shù)報告一探究竟。
Phi-3語言模型:小而美
Phi-3-mini與small都使用了標(biāo)準(zhǔn)的純解碼器Transformer架構(gòu)。
為了最大程度方便開源社區(qū),Phi-3-mini使用了和Llama 2相同的分詞器和類似的塊結(jié)構(gòu),這就意味著所有部署在Llama 2上的軟件包都可以無縫遷移。
small版模型則使用OpenAI的tiktoken分詞器,更適合多語言任務(wù),此外為了實現(xiàn)高效的訓(xùn)推,也在模型架構(gòu)上做了許多改進:
- 用GEGLU激活函數(shù)代替GELU
- 使用最大更新參數(shù)化策略(Maximal Update Parameterization)在代理模型上調(diào)整超參數(shù),保證模型訓(xùn)練時的參數(shù)穩(wěn)定
- 采用分組查詢注意力
- 設(shè)計了塊稀疏注意力模塊(blocksparse attention module),用較少的KV緩存處理更長的上下文
- 為訓(xùn)練和推理分別實現(xiàn)不同的kernel,真正發(fā)揮塊稀疏機制的優(yōu)勢,實現(xiàn)部署后的模型加速
Phi-3-mini部署時可以采用INT4量化,僅需占用1.8GB左右的內(nèi)存。量化后部署在搭載A16芯片的iPhone 14上時,離線運行可以實現(xiàn)12 tokens/s的生成速度。
訓(xùn)練后也使用了多樣化的高質(zhì)量數(shù)據(jù),進行SFT和DPO微調(diào),涵蓋數(shù)學(xué)、編碼、推理、對話、模型身份和安全性等多個領(lǐng)域。此外,也在這個階段將mini版本的上下文長度擴展到了128k。
通過使用少樣本提示,技術(shù)報告將不同參數(shù)量的Phi-3模型和Mistral、Gemma以及Llama 3、Mixtral(8X7B)、GPT-3.5等模型對比,在21個基準(zhǔn)上進行測試。
相比2.7B的Phi-2模型,Phi-3模型的參數(shù)增長了1.1B,但在所有測試中幾乎都實現(xiàn)了10分及以上的性能提升,基本可以和8B的Llama 3打成平手。
總體來看,7B參數(shù)的small版本可以和GPT-3.5對標(biāo),除了在TriviaQA和TrufulQA上有較大差距,其余測試的分?jǐn)?shù)基本持平,甚至在GSM-8K、SociQA、BigBench-Hard、WinoGrande等測試上還有大幅度領(lǐng)先。
而medium模型的表現(xiàn)并不如意,雖然相比small多了7B的參數(shù),但用的是Phi-3-mini同款架構(gòu),在各個測試中都沒有明顯優(yōu)勢,在ANLI和OpenBookQA上還有性能倒退。
Phi-3-Vision:4.2B的強大多模態(tài)
Phi-3-V依舊堅持了語言模型的「小參數(shù)」策略,參數(shù)量僅有4.2B,可以接受圖像或文本提示作為輸入,然后生成文本輸出。
模型架構(gòu)也非常簡潔,包含圖像編碼器CLIP ViT-L以及文本解碼器Phi-3-mini-128K-instruct。
預(yù)訓(xùn)練過程總共涉及0.5T token的數(shù)據(jù),包含純文本、表格、圖表以及圖像和文本相交錯的數(shù)據(jù),預(yù)訓(xùn)練后同樣進行了SFT和DPO微調(diào),也是多模態(tài)任務(wù)和純文本任務(wù)同時進行。
通過完全相同的pipeline生成的結(jié)果,技術(shù)報告將Phi-3-Vision與通義千問、Claude、Gemini 1.0 Pro和GPT-4V Turbo等模型進行了對比。
在總共12個基準(zhǔn)測試中,在ScienceQA、POPE、AI2D、ChartQA和TextVQA這5個任務(wù)上,Phi-3-V都取得了比GPT-4V-Turbo更高的分?jǐn)?shù)。
其中圖表問答任務(wù)ChartQA中,Phi-3相較GPT-4V提升了19分,ScienceQA則領(lǐng)先15分達(dá)到了90.8分。
而在其他任務(wù)上,雖然分?jǐn)?shù)不敵GPT-4V,但也可以高到與Claude 3和Gemini 1.0 Pro對打,甚至超過這些更大的模型。
比如MathVista和Inter-GPS上,都領(lǐng)先Gemini約10分左右。
Phi-3-Vision在圖像理解和推理方面的能力
數(shù)據(jù)換參數(shù)
Phi-3為什么能用較少的參數(shù)得到強大的能力?技術(shù)報告從側(cè)面揭示了答案。
微軟在Phi系列模型的探索中發(fā)現(xiàn)了一種訓(xùn)練數(shù)據(jù)「配方」,可以在小模型中實現(xiàn)更大模型才有的性能。
這種配方就是LLM過濾后的公開網(wǎng)絡(luò)數(shù)據(jù),與LLM合成數(shù)據(jù)相結(jié)合。這可以啟發(fā)我們,數(shù)據(jù)內(nèi)容與質(zhì)量到底能在多大程度上影響模型性能。
這完全是通過更改訓(xùn)練數(shù)據(jù)實現(xiàn)的...開發(fā)出一種更緊湊的語言模型,可以與ChatGPT的能力媲美,同時能在手機上運行,這證明了數(shù)據(jù)啟動的機器學(xué)習(xí)的力量。通過精心策劃并優(yōu)化訓(xùn)練數(shù)據(jù)集,可以在不影響性能的情況下顯著縮小模型規(guī)模。
Phi-1模型就是用「教科書質(zhì)量」的數(shù)據(jù),首次實現(xiàn)了SLM的性能突破。
論文地址:https://arxiv.org/abs/2306.11644
技術(shù)報告將這種數(shù)據(jù)驅(qū)動的方法稱為「數(shù)據(jù)最優(yōu)機制」(Data Optimal Regime)。在給定規(guī)模的情況下,嘗試「校準(zhǔn)」訓(xùn)練數(shù)據(jù),使其更接近SLM的「數(shù)據(jù)最佳」?fàn)顟B(tài)。
這意味著在樣本級別進行數(shù)據(jù)的篩選,不僅要包含正確的「知識」,還要能最大程度提升模型的推理能力。
而Phi-3-medium在提升7B參數(shù)后性能沒有明顯進步,一方面可能由于架構(gòu)與參數(shù)規(guī)模不適配,另一方面也可能緣于「數(shù)據(jù)混合」的工作沒有達(dá)到14B模型的最佳狀態(tài)。
然而,天下沒有免費的午餐,即使有架構(gòu)和訓(xùn)練策略的改進,參數(shù)的縮小也不是沒有代價的。
比如,沒有多余的參數(shù)來隱式存儲太多「事實知識」,這可能導(dǎo)致了Phi-3語言模型在TriviaQA上的低分,視覺模型的推理能力也被局限。
雖然團隊在數(shù)據(jù)、訓(xùn)練和紅隊工作上付出了大量努力,也看到了顯著成效,但模型的幻覺和偏見問題依舊有很大改進空間。
此外,訓(xùn)練和基準(zhǔn)測試主要用英語進行,SLM的多語言能力還有待探索。


2024-08-22 12:49:02




