文|李然 陳斯達
編輯|蘇建勳
美國當地時間 4 月 24 日,蘋果在 Hugging Face 上放出了自己的開源 " 小模型 " 家族—— 4 個預訓練的大模型 OpenELM。
圖源:X
四款模型體量極小,參數量分别爲 270M、450M、1.1B 和 3B。
圖源:Hugging Face
在 Hugging Face 頁面上蘋果表示,OpenELM(Open-source Efficient Language Models,即 " 開源高效語言模型 ")在諸如電子郵件編寫等文本相關任務上,有較高的執行效率。系列模型已經開源,可供開發人員使用。
4 月 22 日發布的相關論文中,研究人員介紹了 OpenELM 的整個框架,包括數據準備、訓練、微調以及測評結果等。
圖源:論文
論文地址:https://arxiv.org/pdf/2404.14619.pdf
CoreNet 地址:https://github.com/apple/corenet
模型下載地址:https://huggingface.co/apple/OpenELM
模型是真的開源了,但能力也是真的很一般
一向以封閉著稱的蘋果,突然在大模型時代以非常激進的姿态加入開源陣營。
這次的 OpenELM 不但提供模型下載,還開源了和模型相關的非常重要的信息:
模型權重和推理代碼
還包括了在公開數據集上進行模型訓練和評估的完整框架,涵蓋訓練日志、多個保存點和預訓練設置
開源了 CoreNet ——深度神經網絡訓練庫
訓練庫可以使研究人員和工程師能夠開發和訓練各種标準及創新的小型和大型模型,适用于多種任務,如基礎模型(例如,CLIP 和大語言模型(LLM))、物體分類、檢測以及語義分割。
OpenELM 采用按層分配參數的策略,有效提升了 Transformer 模型各層的參數配置效率,顯著提高模型準确率。在大約十億參數的預算下,OpenELM 的準确率較 OLMo 提升了 2.36%,且預訓練所需的 Token 數量減少了一半。
論文透露,模型是在 128 個 A100/H100 GPU 上進行的訓練,最大的模型訓練時長爲 13 天。
模型最體量大僅爲 3B,可以看出,蘋果該系列的模型,隻針對端側和桌面級的本地部署設計。
論文也透露,所有的測試平台都是家用級設備:
Intel i9-13900KF CPU, 64 GB 内存 , 英偉達 RTX 4090 GPU,24G 顯存
Apple MacBook Pro,M2 Max ,64G 内存
性能上,模型似乎隻是研究目的設計,某些常見測試集上取得的成績也不高。與微軟推出的 Phi 系列模型等主流 SLM 相比,差距明顯。
Phi-3 在 5-shot 的 MMLU 上,可達到 70 左右的水平,而 OpenELM 隻有不到 30.
針對這個問題,網友也對原因進行了一些猜測。
用的數據集很小,而且隻用了公開的數據集,個人認爲,他們隻是在對未來訓練更大的模型進行針對性的研究。
開源社區的用戶們,也第一時間對模型進行了些測試,整體反饋是模型似乎過于 " 對齊 ",換句話來說就是——廢話可能有點多。
從目前開源社區的反饋來看,OpenELM 似乎不是一個精心設計和訓練後用來秀肌肉的模型,所以性能和表現離同體量最領先的模型差距不小。
論文中,研究人員也沒有過于強調模型的能力,而是糾結于準确率和推理性能。
去年已有開源動作,技術實力還待 6 月亮劍
放棄造車後的蘋果,在大模型戰争中動作愈發頻繁。(見智能湧現文章 蘋果 300 億參數大模型首亮相,還買了家 AI 公司)
很多時候," 買買買 " 是大家對蘋果 AI 布局的主要印象之一。
3 月 15 日,蘋果收購了加拿大 AI 初創公司 DarwinAI。自身 AI 團隊一下擴充幾十個技術人員。4 月 23 日又曝出,早在去年 12 月已經悄悄收購巴黎 AI 初創公司 Datakalab。這家 2016 年成立的公司,亦專注低功耗、高效率的深度學習算法。
蘋果最近的這兩起收購都圍繞端側大模型展開——比如 DarwinAI 想把 AI 系統打造得 " 小而精 ",Datakalab 專于低功耗、高效率的深度學習算法,無需依賴雲端系統即可運行。
也是在 3 月,蘋果被爆出與谷歌進行談判,希望将 Gemini 集成到新的 iPhone 中。此外,據透露,蘋果還與 OpenAI 進行了讨論,考慮使用其模型。
不隻是 " 招兵買馬 ",在研究端,起步稍晚的蘋果也不忘 " 卷卷卷 "。
2023 年 10 月,蘋果發布名爲 Ferret 的開源 LLM。這一模型結合了計算機視覺和自然語言處理技術,能識别圖像中的對象和區域,将文本轉化爲視覺元素,并進行圖像相關的文本對話。
2024 年 4 月初,基于 Ferret,蘋果發布多模态大模型(MLLM )Ferret-UI,表現出不凡的 UI 屏幕理解能力——不僅優于大多數開源 UI MLLM,而且在所有基本 UI 任務上也超過了 GPT-4V。
此前,蘋果保密原則伴随的封閉生态,一度讓外部開發人員無法介入。一開始,Ferret 研究沒有得到太多關注,其以非商業許可證開源,不能用于商業目的。
但發布兩月後的 12 月底,AI 醫學非營利組織的運營商 Bart De Witte 反應過來——原來蘋果 10 月就加入了開源社區,自己沒注意到這次重要的發布。
也就是在這個時間點上,Ferret 又爲人熱議——這一反蘋果此前的保密立場,表明了自身在 AI 方面的開放态度。
可以說,在今年 2 月财報發布會上庫克公布生成式 AI 計劃之前,蘋果自身的 AI 研究進展就很多了。2023 年 12 月,它推出專門在 Apple 芯片上用于機器學習的開源陣列框架 MLX。2024 年 2 月,又發布圖像編輯模型 MGIE,讓用戶無需通過照片編輯軟件,就能用簡單語言描述他們要在照片中更改的内容。
2024 年 3 月,蘋果在論文中介紹的 "MM1" 多模态大模型,同樣擁有圖像識别和自然語言推理能力。不過和其他大模型比起來,MM1 的效果不算驚豔。蘋果隻是圍繞 MM1 開展實驗發現影響模型效果的關鍵因素。
MM1 的論文指出,無論是開源還是閉源,現在都沒有真正分享達到算法設計經曆的過程。所以蘋果希望借 MM1 的研究打破局面,在論文裏公開模型訓練的種種細節。
同樣,OpenELM 模型的确彰顯了端側模型的進展,但技術貌似并沒有達到外界的預期。
或許,這次蘋果通過發布完整的訓練、評估框架等,以再次表達 "Open" 的決心。論文表示:
此次全面發布,希望在增強和鞏固開放研究社區,爲未來的開放研究工作鋪平道路。
所以,OpenELM 效果一般,網友還是也會爲蘋果的開放感到意外。
蘋果真正的 AI 實力,要等到六月的全球開發者大會(WWDC)才能揭曉。但開源做出的 " 姿态 ",幾個月算是表現到位了。
論文重點
模型構架
蘋果的研究人員采用了僅包含解碼器的 Transformer 架構,但是作出了一些特殊的調整:
在線性層中不設置可學習的偏置參數
采用 RMSNorm 進行預歸一化,并使用旋轉位置嵌入 ( ROPE ) 來編碼位置信息
用分組查詢注意力 ( GQA ) 來替代傳統的多頭注意力 ( MHA )
将傳統的前饋網絡 ( FFN ) 更換爲 SwiGLU FFN
采用閃電注意力機制計算縮放點積注意力
使用與 LLama 相同的 Tokenizer 進行文本處理
OpenELM 與傳統的大語言模型的最大不同在于,通常大模型在每一層 Transformer 中使用相同配置,而 OpenELM 爲每層設置了不同的配置(如頭數和前饋網絡的尺寸),使每層的參數數量各不相同。
這種方法,讓 OpenELM 能更有效地利用參數預算,從而達到更高模型準确率。通過 " 層間縮放 "(也稱爲塊間縮放),實現了這一層間參數的非均勻分配。
預訓練數據和訓練細節
研究人員隻使用了公開的數據集進行預訓練。
具體包括 RefinedWeb、去重後的 PILE、RedPajama 和 Dolma v1.6 的部分數據,總計約 1.8 萬億 Token。
從蘋果提供的公開數據來源來看,數據包括了像 arXiv,維基百科,Reddit,GitHub 等各種主流的網絡社區和百科知識平台。
值得一提的是,蘋果沒有采用預先分詞(pretokenized)的數據,而用了即時過濾和分詞的方式處理文本數據。這種做法,使研究人員能夠輕松地嘗試各種 tokenizer,極大簡化了原型設計和研究過程。實驗中,他們就采用了與 LLama 相同的 tokenizer。
訓練結果
研究人員将 OpenELM 與一些公開的大語言模型進行了對比,包括 PyThia、Cerebras-GPT、TinyLlama、OpenLM、MobiLlama 和 OLMo。
性能與 OpenELM 最接近的,是 MobiLlama 和 OLMo。這兩個模型都是在更大規模的數據集上進行預訓練的。
從上圖中可以看出,OpenELM 的準确度随着訓練叠代次數的增加而提升,在多數任務中都表現出明顯的準确率增長。
此外,通過對最後五個檢查點的平均處理(這些檢查點是每隔 5000 次叠代收集一次),顯示出與 350k 次叠代後獲得的最終檢查點相當或略優的準确率。
上圖實驗結果顯示,OpenELM 在各種評估框架中。都顯示出超越現有方法的有效性。例如,一個擁有 11 億參數的 OpenELM 變體,在與擁有 12 億參數的 OLMo 比較時,在不同的評估中準确率分别提高了 1.28%、2.36% 和 1.72%,而且這是在使用不到一半的預訓練數據的情況下實現的。
指令微調之後,上圖的結果表明,指令微調在不同的評估框架中,一緻地提高了 OpenELM 的平均準确率,提升幅度爲 1-2%。
推理性能表現
研究人員主要測試了模型在兩個文章開頭介紹過的 PC 和 Mac 兩個平台上的推理性能表現。
可以看出,代表着 Mac 主流配置的 M2 Max 平台,在跑 3B 模型時推理性能可以達到每秒 34 token,已基本超過人類的閱讀速度。
在最頂級的 PC 配置下,3B 模型的推理速度達到了 70。
盡管 OpenELM 在相似參數量下具有更高的準确性,但是它的推理速度比 OLMo 慢。
分析顯示,OpenELM 處理時間的一個重要部分,可以歸因于 RMSNorm 的初級實現(下圖所示)。
具體來說,初級 RMSNorm 的實現,導緻許多單獨的内核啓動,每個内核處理少量輸入,而不是像使用 LayerNorm 那樣啓動單個融合内核。
通過将初級 RMSNorm 替換爲 Apex 的 RMSNorm ,OpenELM 的推理速度顯著增加。
然而,與使用優化過的 LayerNorm 的模型相比,仍然存在顯著的性能差距,部分原因是:
OpenELM 有 113 個 RMSNorm 層,而 OLMo 有 33 個 LayerNorm 層
Apex 的 RMSNorm 對小輸入未進行優化
爲了進一步說明由于 RMSNorm 造成的性能下降,研究人員将 OLMo 中的 LayerNorm 替換爲 RMSNorm,觀察到生成吞吐量顯著下降。在未來的工作中,研究人員計劃探索優化策略,以進一步提高 OpenELM 的推理效率。