工程師挑戰機器學習極限,用 CoreML 成功把 AI 塞進一台 iPhone 裡!

【我們為什麼挑選這篇文章】AI 需要大量的運算力支撐。許多公司可以自創 AI 模組並且實際運行,那是因為他們有資本買到足夠運算力的電腦或伺服器。

如果我們把 AI 送到 iPhone 上運作會發生什麼事?你可能猜手機會發燙、電池會急速耗盡、系統運作不來。以上說的都對,不過有工程師找到了法門,結果 iPhone 還真的可以運作 AI。這些工程師是怎麼做到的呢?(責任編輯:陳伯安)

第一台 iPhone 發佈於 2007 年,而機器學習這一概念更是在第一台 iPhone 發佈的十年前就已經出現。但這兩者碰撞出火花,則是在最近幾年才出現的事情。

6 月 4 日,在加州聖荷西舉行的 2018 蘋果開發者大會(WWDC)上,克雷格·費德里吉吉(Craig Federighi)發佈了適用於 iOS 設備的新版機器學習框架 Core ML 2。

2017 年 5 月,除了 iOS 11,蘋果還發佈了專為加速機器學習任務而設計的 Core ML 框架。在去年的 iPhone X 中,這家位於庫帕提諾市的公司推出了首個專為 AI 打造的 A11 Bionic 芯片。在 2018 蘋果 全球開發者大會(WWDC)上,蘋果發佈了新版本的 Core ML 2,對 Core ML 進行了改進,同時,還發佈了支持 GPU 的加速工具 Create ML,用於在 Mac 電腦上進行原生人工智慧模型的訓練。

近一年的進步令人矚目,但智慧手機上部署的人工智慧依舊處於起步階段,還將面臨諸多嚴峻的考驗。為了更好地瞭解這一領域的當前進展,美國科技部落格 VentureBeat 採訪了幾位正在使用 Core ML 做機器翻譯、對象識別和風格遷移的 iOS 開發者。

問題:在 iPhone 上使用風格遷移,手機 RAM 內存無法負荷

Digital Masterpieces 是德國波茨坦哈索・普拉特納研究所(Hasso Plattner Institute)旗下的公司,其部分投資來自德國孵化器 German Deep Tech,該公司起初並未考慮使用 Core ML。首席技術官弗蘭克施·萊格爾(Frank Schlegel)告訴 VentureBeat,使用 Core ML「看起來更像是個巧合」。

他提到:「我們使用的技術源於研究所多年的積累,特別是風格遷移這一將畫作、圖片或者草圖重新組合成其他圖像的技術。現在,我們已經能在個人電腦上應用這類神經網絡和人工智慧技術了,因此,如果能夠將它們移植到 iPhone 上,那實在是太棒了。」

這些想法最終形成了一款叫做 BeCasso 的應用程式,正如施萊格爾所說,這個程序實現了「將圖片轉換為藝術作品。」(它在今年 WWDC 上登台亮相。)

施萊格爾將整個移植過程描述為「狂野的西部。」他說,在 Core ML 推出後的幾個月里,開發者工具還有很多需要完善的地方。「問題是如何在不影響準確性的情況下,實現足夠的計算速度。」

在機器學習中,神經網絡是一種借鑒於人類大腦生理學原理的計算架構,它由包含節點(nodes)的層(layers)組成。節點類似於神經元(neurons)—— 數據與稱為權重(weights)的系數一起輸入網絡,權重通過抑制或放大數據為輸入賦予重要性。深度神經網絡由多個層和多個節點組成,一般來說(但並非總是)這個術語的意味著更高的準確性。

「對於風格遷移任務,模型可以訓練至任意深度,」施萊格爾說,「更深的模型可以執行更多的操作,但需要更強大的計算能力。」

更深的模型還會佔用更多的存儲空間,特別是 RAM(內存)。實際上,風格遷移算法對內存的要求特別高,因為輸入數據——圖像——會被編碼成二級制數據(1 和 0)。

「如果輸入的圖像過大,你的 RAM 很容易就會爆了」,他解釋道。

Digital Masterpieces 的解決方案是發佈同一模型的兩個不同版本 —— 一個用於 RAM 較小、處理器較弱的設備(如 iPhone 6S,7 和 7S),另一個用於較新的設備(如 iPhone 8,8S 和 X)。這一策略確實奏效:在最新的 iPad 上完成一次風格遷移計算現在只需不到一秒鐘時間。

「從各方面看來,我們對結果非常滿意,」施萊格爾說。

問題:AI 判斷精準度越高,模組本身運算需求也會越變越大

Memrise 團隊打造的一款同名的語言學習應用程序,專門提供基於抽認卡的課程計劃,致力於使用人工智慧技術助力語言學習。

「我們的一名 iOS 開發者曾在幾天內創建了一個應用的原型」,Memrise 的技術經理詹姆斯·索爾特說,「我們差不多就是從那時候開始做起的。」

模型的工作原理主要是通過識別對象來告訴用戶如何用他們的語言表述所識別的對象。但這並非是 Memrise 體驗的核心部分,因為它只能識別幾百個小玩意兒(Memrise 的工程師使用來自斯坦福大學的公共圖像數據集 ImageNet 進行模型訓練)。但是,這「引起了蘋果公司的注意」,索爾特說道。

「因此,我們堅持做了下去。」索特爾使用開源的神經網絡庫 Keras 對來自 Google 的數百萬張圖像重新訓練。很快模型就識別出了 20 件新東西,然後是 160 件新東西。

唯一的問題是,隨著模型準確性的提高,模型也隨之變大。

最終,Memrise 團隊在 Create ML 中找到了一個解決方案,不僅將模型訓練時間從 24 小時減少至 40 分鐘,而且模型大小也從 90MB 減少到 3MB。

「這個用例較為簡單,我們能夠得到相對好的結果並不意外」, 索爾特說道。

問題:iOS 系統只能完美運行模組 5 秒,硬體撐不住大量運算

iOS 版 Polarr 應用程序

CEO 王博睿(Borui Wang)提到,相對於潑辣修圖(Polarr)僅僅 20 人的團隊規模來說,Core ML 魅力在於能夠在手機上運行「大而複雜」的算法。

但是一切未必都是美好的。在 iOS 生態系統中工作需要「大量妥協」,王說,主要原因是 iPhone 的 RAM 無法為複雜神經網絡提供太多的空間,例如,iPhone8 的 RAM 僅為 3GB。

這並不代表 Polarr 團隊沒有嘗試過更有野心的計劃,但這些計劃以失敗告終。在實驗室中,模型在運行的前 5 秒內便將處理器和圖形芯片的使用率提升至 100%,這將 iOS 設備的性能推向了極限,整個操作系統隨後開始卡頓,屏幕和後板異常發燙,電池電量也很快耗盡。

「如果你只是想從名片中提取名字,這很容易,但我們希望機器學習對消費者更有實用價值」,他說:「我認為這還有很長的路要走。」

「當然,我們得到的也不都是壞消息」,王說:「我們的團隊使用類似量化的壓縮技術取得了不錯的成果,模型的尺寸縮減了五倍,並能夠以每秒二十幀的速度運行對象識別算法」。

王對未來持樂觀態度。他預計,在未來的一到三年內,手機硬件將得到更進一步的改善,電量將成為智慧手機的硬限制,而非處理器和內存。

「當芯片組變得越來越快時,能耗權衡就將成為可能」,他說:「但現在,我們距離這一技術的應用還有距離」。

市場對 Core ML 抱持樂觀態度,只需要更多訓練模型和基準測試工具

憑心而論,Core ML 2 引入了很多改進。採用批量預測技術,Core ML 2 的速度提高了 30% 它還能支持 16 位浮點和低至 1 比特位的所有量級運算並附帶了一個模型轉換器,能夠與 Facebook 的 Caffe 和 Caffe2、Keras、scikit-learn、XGBoost、LibSVM 和 Google 的 TensorFlow Lite 框架配合使用。

施萊格爾認為這已經足夠了。「到目前為止,當前的框架能完全覆蓋我們的用例」,他說。

對於這一觀點,索爾特表示同意,並且認為 Core ML 有更大的發展空間。

「未來,基於自身龐大的數據,蘋果沒有理由不發佈更多的預訓練模型,」他在一封郵件中提到。「較小規模的開發人員即使具備專業知識,仍然沒有辦法使用大規模數據或者資源來進行長時間的訓練。例如,如果存在一種方法不需要使用自有的數據集便可創建圖像分類器,這一定會受到所有開發者的追捧——理想地說,開發者只需要聲明所需要識別的對象,模型便可通過 Apple 的雲服務自動生成。」

對於王博睿來說,他希望未來版本的 Core ML 可以提供改進的基準測試工具。

「我最關切的是理解 GPU/CPU 和熱節流機制,」他在一封郵件中寫道。「例如,你知道現在的 PC 遊戲會怎樣繪制 FPS(Frames Per Second, 每秒傳輸幀數)以及遊戲性能檢測曲線嗎?作為開發者,如果 Core ML 可以支持這類模型,將會是一個很大的突破。當你加載模型的時候,模型便會告訴你什麼時候 GPU 開始節流,根據此生成一系列各種設備(iPhone 5,6,7,8,X)的性能報告。如果蘋果公司不這麼做,我肯定會有一些創業公司來做這樣的事情。」

相關報道

(本文經合作夥伴 大數據文摘 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈业界 | iPhone 上也能运行 AI 模型,瞧瞧别人家的程序员是怎么用 Core ML 的 〉。)

延伸閱讀

NVIDIA 讓 AI 學會造人!隨便給幾條線,AI 都能製造出擬真度 100% 的假影片
Open AI 用 DOTA2 血洗玩家不是真實力!網民:有種不要讀 API、用人類視覺跟我打
前 Uber 無人車負責人萊萬創辦「AI 教」,想證明人工智慧也有神性


我們正在找夥伴!

2019 年我們的團隊正在大舉擴張,需要你的加入跟我們一起找出台灣創新原動力! 我們正在徵 《採訪社群編輯》、《助理編輯》,詳細職缺與應徵辦法 請點我

點關鍵字看更多相關文章: