第一臺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開發者。
Digital Masterpieces
Digital Masterpieces是德國波茨坦哈索·普拉特納研究所(Hasso Plattner Institute)旗下的公司,其部分投資來自德國孵化器German Deep Tech,該公司起初並未考慮使用Core ML。技術長弗蘭克施·萊格爾(Frank Schlegel)告訴VentureBeat,使用 Core ML “看起來更像是個巧合”。
Digital Masterpieces
https://www.digitalmasterpieces.com
他提到:“我們使用的技術源於研究所多年的積累,特別是風格遷移這一將畫作、圖片或者草圖重新組合成其他影象的技術。現在,我們已經能在個人電腦上應用這類神經網路和人工智慧技術了,因此,如果能夠將它們移植到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上完成一次風格遷移計算現在只需不到一秒鐘時間。
“從各方面看來,我們對結果非常滿意,”施萊格爾說。
Memrise
Memrise團隊打造的一款同名的語言學習應用程式,專門提供基於抽認卡的課程計劃,致力於使用人工智慧技術助力語言學習。
Memrise
https://www.memrise.com/
“我們的一名iOS開發者曾在幾天內建立了一個應用的原型”,Memrise的技術經理詹姆斯•索爾特說,“我們差不多就是從那時候開始做起的。”
模型的工作原理主要是通過識別物件來告訴使用者如何用他們的語言表述所識別的物件。但這並非是Memrise體驗的核心部分,因為它只能識別幾百個小玩意兒(Memrise的工程師使用來自史丹佛大學的公共影象資料集ImageNet進行模型訓練)。但是,這“引起了蘋果公司的注意”,索爾特說道。
“因此,我們堅持做了下去。”索特爾使用開源的神經網路庫Keras對來自谷歌的數百萬張影象重新訓練。很快模型就識別出了20件新東西,然後是160件新東西。
唯一的問題是,隨著模型準確性的提高,模型也隨之變大。
最終,Memrise團隊在Create ML中找到了一個解決方案,不僅將模型訓練時間從24小時減少至40分鐘,而且模型大小也從90MB減少到3MB。
“這個用例較為簡單,我們能夠得到相對好的結果並不意外”, 索爾特說道。
Polarr
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)的效能報告。如果蘋果公司不這麼做,我肯定會有一些創業公司來做這樣的事情。”