揭秘iPhone裡的Transformer:基於GPT-2架構 | MIT校友出品

蘋果Transformer的“秘密”,讓發燒友給扒出來了。

大模型浪潮下,即使保守如蘋果,也每逢發佈會必提“Transformer”。

比如,在今年的WWDC上,蘋果就已宣佈,船新版本的iOS和macOS將內置Transformer語言模型,以提供帶文本預測功能的輸入法。

蘋果官方沒有透露更多信息,但技術愛好者們可坐不住了。

一位名叫Jack Cook的小哥,就把macOS Sonoma beta翻了個底朝天,結果,還真挖出不少新鮮信息:

更多細節,一起來看。

基於GPT-2架構

先來回顧一下蘋果基於Transformer的語言模型能在iPhone、MacBook等設備上實現怎樣的功能。

主要體現在輸入法方面。語言模型加持下的蘋果自帶輸入法,可以實現單詞預測和糾錯的功能。

Jack Cook小哥具體測試了一下,發現這個功能主要實現的是針對單個單詞的預測。

△圖源:Jack Cook博客文章

模型有時也會預測即將出現的多個單詞,但這僅限於句子語義十分明顯的情況,比較類似於Gmail裡的自動完成功能。

△圖源:Jack Cook博客文章

那麼這個模型具體被裝在了哪裡?一通深入挖掘之後,Cook小哥確定:

原因是:

進而,小哥根據unilm_joint_cpu中描述的網絡結構,推測蘋果模型是基於GPT-2架構打造的:

主要包含token embeddings、位置編碼、解碼器塊和輸出層,每個解碼器塊中都有類似gpt2_transformer_layer_3d這樣的字眼。

△圖源:Jack Cook博客文章

根據每層大小,小哥還推測,蘋果模型約有3400萬參數,隱藏層大小是512。也就是說,它比GPT-2最小的版本還要小。

小哥認爲,這主要是因爲蘋果想要一種不太耗電,但同時能夠快速、頻繁運行的模型。

而蘋果官方在WWDC上的說法是,“每點擊一個鍵,iPhone就會運行模型一次”。

不過,這也就意味着,這個文本預測模型並不能很好地完整續寫句子或段落。

△圖源:Jack Cook博客文章

模型架構之外,Cook小哥還挖出了分詞器(tokenizer)的相關信息。

他在unilm.bundle/sp.dat裡發現了一組數量爲15000的token,值得關注的是,其中包含100個emoji。

Cook揭秘庫克

儘管此Cook非彼庫克,小哥的博客文章一發出,還是吸引了不少關注。

基於他的發現,網友們熱烈地討論起蘋果在用戶體驗和前沿技術應用之間的平衡大法。

回到Jack Cook本人,他本科和碩士畢業於MIT的計算機專業,目前還在攻讀牛津大學的互聯網社會科學碩士學位。

此前,他曾在英偉達實習,專注於BERT等語言模型的研究。他還是《紐約時報》的自然語言處理高級研發工程師。

那麼,他的這一番揭秘是否也引發了你的一些思考?歡迎在評論區分享觀點~

原文鏈接:https://jackcook.com/2023/09/08/predictive-text.html

— 完 —