蘋果為什麼要用「小模型」?


【新智元導讀】WWDC 2024上,蘋果推出了Apple Intelligence,向大家展示了如何開發、訓練出功能強大、快速且節能的模型,如何根據特定使用者需求進行微調,以及如何評估模型的性能。

在WWDC 2024上,蘋果重新定義了AI——Apple Intelligence。

這是一款深度整合到iOS 18、iPadOS 18和macOS Sequoia中的個人智能系統。

與其他科技大廠不同的是,「蘋果牌」AI並沒有奉行「越大越好」的宗旨。



相反,蘋果的態度更加務實,優先考慮使用者體驗,更強調AI模型的定製化。

將生成式AI無縫融入作業系統,——從某種意義上來說,這是一種非常「蘋果」的做法。

Apple Intelligence由多個功能強大的生成模型組成,這些模型專門用於使用者的日常任務,可以即時適應使用者當前的活動。



Apple Intelligence內建的基礎模型針對使用者體驗進行了微調,例如編寫和最佳化文字、摘要、確定通知的優先順序、為對話建立有趣的圖像,以及簡化跨App的互動。

蘋果傾向於利用裝置端的小模型搞定這些事情,當然使用者也可以選擇使用ChatGPT等第三方的服務,但這時資料方面的責任就跟蘋果沒有關係了。

蘋果著重介紹了其中兩個模型:一個約30億參數的裝置端語言模型,以及一個更大的基於伺服器的語言模型(可通過私有雲端運算在蘋果伺服器上運行)。

Keep Small

蘋果基礎模型概覽

預訓練

蘋果的基礎模型是在AXLearn框架上訓練的。


AXLearn是蘋果在2023年發佈的一個開放原始碼專案,它建立在JAX和XLA之上,使蘋果能夠在各種訓練硬體和雲平台上以高效率和可擴展性訓練模型,包括TPU、雲端和本地GPU。

蘋果結合使用資料平行、張量平行、序列平行和完全分片資料平行 (FSDP)來沿資料、模型和序列長度等多個維度擴展訓練。

蘋果使用網路爬蟲AppleBot來收集公開可用的資料,——如果Web發佈者不希望自己的內容被Apple Intelligence用於訓練,蘋果也提供了各種粒度的控制方案。


蘋果表示,在訓練基礎模型時,從不使用使用者的私人個人資料或使用者互動,並且蘋果應用過濾器來刪除網際網路上公開的個人身份資訊(比如社會保險和信用卡號)。

除了過濾之外,蘋果還通過資料提取、重複資料刪除和基於模型的分類器的應用,以識別高品質的文件。

後處理

眾所周知,資料質量對於模型的成功至關重要。

蘋果在訓練管道中使用混合資料策略,結合人工註釋和合成資料,並執行徹底的資料管理和過濾程序。

蘋果在後處理階段開發了兩種新穎的演算法:

1. 拒絕抽樣微調演算法(rejection sampling fine-tuning algorithm);
2. 基於人類反饋的強化學習(RLHF)演算法,採用鏡像下降策略最佳化和留一法優勢估計器(leave-one-out advantage estimator)。



這兩種演算法可以顯著提高模型的指令遵循質量。

最佳化

除了確保生成模型具有強大功能外,蘋果還使用了一系列創新技術在裝置上和私有雲上對其進行最佳化,以提高速度和效率。

裝置端模型和伺服器模型都使用分組查詢注意力(grouped-query-attention),來最佳化其推理性能。



蘋果使用共享的輸入和輸出詞彙表,來降低記憶體需求和推理成本,保證了共享嵌入張量的對應沒有重複。

裝置端模型使用49K的詞彙大小,而伺服器模型使用100K的詞彙大小。

對於裝置端推理,蘋果使用low-bit palletization,來滿足必要的記憶體、功耗和性能要求。



為了保持模型質量,蘋果開發了一個使用LoRA介面卡的新框架,混合使用2位元和4位元的組態策略(平均每個權重3.5位元),以實現與未壓縮模型相同的精度。

此外,蘋果還使用互動式模型延遲和功耗分析工具Talaria來更好地指導每個操作的位元率選擇。



利用啟動量化和嵌入量化,可以在蘋果的神經引擎上實現高效的鍵值快取(KV cache)更新。

通過上面的這些最佳化,iPhone 15 Pro能夠達到約0.6毫秒的延遲,以及每秒30個token的生成速率。

介面卡

蘋果的基礎模型針對使用者的日常活動進行了微調,可以動態地專注於手頭的任務。

做法是將小型神經網路作為模組(介面卡,adapter),插入到預訓練模型的各個層中,以實現針對特定任務的微調。


此外,蘋果調整了注意力矩陣、注意力投影矩陣和前饋網路中的全連接層,以適應Transformer架構的的解碼層。

通過僅微調介面卡層,基本預訓練模型的原始參數保持不變,從而保留模型的一般知識,同時又能支援特定任務。

Apple Intelligence包含一組廣泛的介面卡,這是擴展基礎模型功能的有效方法。



蘋果使用16位表示介面卡參數的值,對於30億個參數的裝置模型,16級介面卡的參數通常需要10兆字節。

介面卡模型可以動態載入、臨時快取在記憶體中並進行交換,保證了作業系統的響應能力。

性能評估


因為使用者體驗是最高優先順序,所以在對模型進行基準測試時,蘋果專注於人工評估。

摘要

蘋果的訓練資料基於從更大的伺服器模型生成的合成摘要,並通過拒絕抽樣策略進行過濾,僅保留高品質的摘要。

為了評估特定於產品的摘要,這裡使用一組750個響應,針對每個用例進行了仔細抽樣。

評估資料集涵蓋了蘋果的產品功能在生產中可能面臨的各種輸入,包括不同內容類型和長度的單個文件和堆疊文件的分層組合。

另外,評估摘要功能也要考慮到一些固有風險,比如,模型偶爾會忽略掉一些重要的細節。


根據評分者在五個維度上的打分,摘要被分類為好、中、差。

實驗結果表明,與同類模型相比,帶有介面卡的模型可以生成更好的摘要。

並且在超過99%的針對性對抗性示例中,摘要介面卡並沒有放大敏感內容。

基礎功能

對於裝置端和伺服器模型的一般功能,蘋果利用一套全面的真實世界提示來評估通用模型的功能。

這些提示在不同的難度等級上各不相同,涵蓋頭腦風暴、分類、封閉式問答、編碼、提取、數學推理、開放式問答、重寫、安全、總結和寫作等主要類別。

將蘋果的模型與開源模型(Phi-3、Gemma、Mistral、DBRX)和類似規模的商業模型(GPT-3.5-Turbo、GPT-4-Turbo)進行比較。



實驗表明,與大多數競品相比,蘋果的模型更受人工評分師的青睞。

蘋果的3B裝置端模型性能優於Phi-3-mini、Mistral-7B和Gemma-7B等大型模型;而蘋果的伺服器模型也要優於DBRX-Instruct、Mixtral-8x22B和GPT-3.5-Turbo,同時效率更高。

安全性

蘋果使用一組不同的對抗性提示來測試模型在有害內容、敏感主題和事實性方面的表現。

測量每個模型的違規率,同樣採用人工評估:



上圖顯示了在安全提示方面與競品的PK。人工評分員發現蘋果的回答更安全、更有幫助。

指令遵循

為了進一步評估模型,蘋果還使用指令跟蹤評估(IFEval)基準測試來比較同類模型的能力。



結果表明,蘋果的裝置端和伺服器模型都比同等規模的開源和商業模型更好地遵循詳細說明。

最後是根據內部總結和作文基準評估模型的寫作能力,包括各種寫作說明,這些結果不涉及用於特定功能的介面卡。


(新智元)