iPhone上也能運行AI模型,瞧瞧別人家的程序員是怎麼用Core ML

選擇西安北郵在線,幫你找份好工作。

iPhone上也能運行AI模型,瞧瞧別人家的程序員是怎麼用Core ML

大數據文摘出品編譯:睡不著的iris、塗世文、雲舟

第一臺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 “看起來更像是個巧合”。

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

iPhone上也能運行AI模型,瞧瞧別人家的程序員是怎麼用Core ML

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

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

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

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

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

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

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

Polarr

iPhone上也能運行AI模型,瞧瞧別人家的程序員是怎麼用Core ML

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)的性能報告。如果蘋果公司不這麼做,我肯定會有一些創業公司來做這樣的事情。”

- END -

北郵在線9月免費訓練營報名中,可免費試聽課程,學不學你說了算!


分享到:


相關文章: