樹莓派上部署RAG!微軟Phi-3技術報告揭示「小而美」模型如何誕生
這個月的微軟Build大會上,微軟正式官宣了Phi-3家族新成員:Phi-3-vision、Phi-3-small,Phi-3-medium。
此外,還有上個月就發布技術報告的Phi-3-mini,剛推出時,就讓許多開發者印象深刻。
比如,Xenova基于Phi-3-mini開發了一個完全在本地運行的瀏覽器聊天應用WebGPU,demo看起來的效果像是經過加速的視頻:

結果Xenova還要特意出來聲明:視頻沒加速,部署的模型就是這么快,平均每秒生成69.85個token。

在人人追求LLM的大環境下,微軟卻始終沒有放棄SLM這條路。
從去年6月Phi-1面世,到Phi-1.5、Phi-2,再到如今Phi-3,微軟小模型已經完成四次迭代升級。
這次3.8B參數的Phi-3-mini、7B的small和14B的medium,相比規模更大的模型,都展現出了更強的能力。

并且作為開源模型,可以在手機上、甚至在樹莓派上部署,微軟簡直太寵愛開發者了。

昨天,微軟Gen AI Research的副總裁Sebastien Bubeck在推特上宣布更新了Phi-3的技術報告,添加了small和medium版本的最終得分,以及視覺模型的測評結果。

在評論區,網友們盡情抒發對Phi-3這種開源且強大的小模型的喜愛之情。

甚至有人形容,這是「微軟給開源世界的禮物」。

或許,微軟在SLM這條路上真的賭對了?讓有強大能力的模型真正落地、滲透到各種應用中,才能帶來真正的變革。

Phi-3結果提示我們,用如此少的內存足跡可以實現多少可能性,現在有真正的機會可以讓模型擴展到各種app上了
那么,Phi-3系列的實力到底如何?我們可以從最新版的技術報告一探究竟。
Phi-3語言模型:小而美
Phi-3-mini與small都使用了標準的純解碼器Transformer架構。
為了最大程度方便開源社區,Phi-3-mini使用了和Llama 2相同的分詞器和類似的塊結構,這就意味著所有部署在Llama 2上的軟件包都可以無縫遷移。
small版模型則使用OpenAI的tiktoken分詞器,更適合多語言任務,此外為了實現高效的訓推,也在模型架構上做了許多改進:
- 用GEGLU激活函數代替GELU

- 使用最大更新參數化策略(Maximal Update Parameterization)在代理模型上調整超參數,保證模型訓練時的參數穩定
- 采用分組查詢注意力
- 設計了塊稀疏注意力模塊(blocksparse attention module),用較少的KV緩存處理更長的上下文
- 為訓練和推理分別實現不同的kernel,真正發揮塊稀疏機制的優勢,實現部署后的模型加速

Phi-3-mini部署時可以采用INT4量化,僅需占用1.8GB左右的內存。量化后部署在搭載A16芯片的iPhone 14上時,離線運行可以實現12 tokens/s的生成速度。

訓練后也使用了多樣化的高質量數據,進行SFT和DPO微調,涵蓋數學、編碼、推理、對話、模型身份和安全性等多個領域。此外,也在這個階段將mini版本的上下文長度擴展到了128k。
通過使用少樣本提示,技術報告將不同參數量的Phi-3模型和Mistral、Gemma以及Llama 3、Mixtral(8X7B)、GPT-3.5等模型對比,在21個基準上進行測試。

相比2.7B的Phi-2模型,Phi-3模型的參數增長了1.1B,但在所有測試中幾乎都實現了10分及以上的性能提升,基本可以和8B的Llama 3打成平手。
總體來看,7B參數的small版本可以和GPT-3.5對標,除了在TriviaQA和TrufulQA上有較大差距,其余測試的分數基本持平,甚至在GSM-8K、SociQA、BigBench-Hard、WinoGrande等測試上還有大幅度領先。
而medium模型的表現并不如意,雖然相比small多了7B的參數,但用的是Phi-3-mini同款架構,在各個測試中都沒有明顯優勢,在ANLI和OpenBookQA上還有性能倒退。
Phi-3-Vision:4.2B的強大多模態
Phi-3-V依舊堅持了語言模型的「小參數」策略,參數量僅有4.2B,可以接受圖像或文本提示作為輸入,然后生成文本輸出。
模型架構也非常簡潔,包含圖像編碼器CLIP ViT-L以及文本解碼器Phi-3-mini-128K-instruct。
預訓練過程總共涉及0.5T token的數據,包含純文本、表格、圖表以及圖像和文本相交錯的數據,預訓練后同樣進行了SFT和DPO微調,也是多模態任務和純文本任務同時進行。
通過完全相同的pipeline生成的結果,技術報告將Phi-3-Vision與通義千問、Claude、Gemini 1.0 Pro和GPT-4V Turbo等模型進行了對比。

在總共12個基準測試中,在ScienceQA、POPE、AI2D、ChartQA和TextVQA這5個任務上,Phi-3-V都取得了比GPT-4V-Turbo更高的分數。
其中圖表問答任務ChartQA中,Phi-3相較GPT-4V提升了19分,ScienceQA則領先15分達到了90.8分。
而在其他任務上,雖然分數不敵GPT-4V,但也可以高到與Claude 3和Gemini 1.0 Pro對打,甚至超過這些更大的模型。
比如MathVista和Inter-GPS上,都領先Gemini約10分左右。

Phi-3-Vision在圖像理解和推理方面的能力
數據換參數
Phi-3為什么能用較少的參數得到強大的能力?技術報告從側面揭示了答案。
微軟在Phi系列模型的探索中發現了一種訓練數據「配方」,可以在小模型中實現更大模型才有的性能。
這種配方就是LLM過濾后的公開網絡數據,與LLM合成數據相結合。這可以啟發我們,數據內容與質量到底能在多大程度上影響模型性能。

這完全是通過更改訓練數據實現的...開發出一種更緊湊的語言模型,可以與ChatGPT的能力媲美,同時能在手機上運行,這證明了數據啟動的機器學習的力量。通過精心策劃并優化訓練數據集,可以在不影響性能的情況下顯著縮小模型規模。
Phi-1模型就是用「教科書質量」的數據,首次實現了SLM的性能突破。

論文地址:https://arxiv.org/abs/2306.11644
技術報告將這種數據驅動的方法稱為「數據最優機制」(Data Optimal Regime)。在給定規模的情況下,嘗試「校準」訓練數據,使其更接近SLM的「數據最佳」狀態。
這意味著在樣本級別進行數據的篩選,不僅要包含正確的「知識」,還要能最大程度提升模型的推理能力。
而Phi-3-medium在提升7B參數后性能沒有明顯進步,一方面可能由于架構與參數規模不適配,另一方面也可能緣于「數據混合」的工作沒有達到14B模型的最佳狀態。
然而,天下沒有免費的午餐,即使有架構和訓練策略的改進,參數的縮小也不是沒有代價的。
比如,沒有多余的參數來隱式存儲太多「事實知識」,這可能導致了Phi-3語言模型在TriviaQA上的低分,視覺模型的推理能力也被局限。
雖然團隊在數據、訓練和紅隊工作上付出了大量努力,也看到了顯著成效,但模型的幻覺和偏見問題依舊有很大改進空間。
此外,訓練和基準測試主要用英語進行,SLM的多語言能力還有待探索。






























