第一臺(tái)iPhone發(fā)布于2007年,而機(jī)器學(xué)習(xí)這一概念更是在第一臺(tái)iPhone發(fā)布的十年前就已經(jīng)出現(xiàn)。但這兩者碰撞出火花,則是在最近幾年才出現(xiàn)的事情。
6月4日,在加州圣何塞舉行的2018蘋果開(kāi)發(fā)者大會(huì)(WWDC)上,克雷格·費(fèi)得里吉(Craig Federighi)發(fā)布了適用于 iOS 設(shè)備的新版機(jī)器學(xué)習(xí)框架 Core ML 2。
2017年5月,除了iOS 11,蘋果還發(fā)布了專為加速機(jī)器學(xué)習(xí)任務(wù)而設(shè)計(jì)的Core ML框架。在去年的iPhone X中,這家位于庫(kù)比提諾市的公司推出了首個(gè)專為AI打造的A11 Bionic芯片。在2018蘋果全球開(kāi)發(fā)者大會(huì)(WWDC)上,蘋果發(fā)布了新版本的Core ML 2,對(duì)Core ML進(jìn)行了改進(jìn),同時(shí),還發(fā)布了支持GPU的加速工具Create ML,用于在Mac電腦上進(jìn)行原生人工智能模型的訓(xùn)練。
近一年的進(jìn)步令人矚目,但智能手機(jī)上部署的人工智能依舊處于起步階段,還將面臨諸多嚴(yán)峻的考驗(yàn)。為了更好地了解這一領(lǐng)域的當(dāng)前進(jìn)展,美國(guó)科技博客VentureBeat采訪了幾位正在使用Core ML做機(jī)器翻譯、對(duì)象識(shí)別和風(fēng)格遷移的iOS開(kāi)發(fā)者。
Digital Masterpieces
Digital Masterpieces是德國(guó)波茨坦哈索·普拉特納研究所(Hasso Plattner Institute)旗下的公司,其部分投資來(lái)自德國(guó)孵化器German Deep Tech,該公司起初并未考慮使用Core ML。首席技術(shù)官弗蘭克施·萊格爾(Frank Schlegel)告訴VentureBeat,使用 Core ML “看起來(lái)更像是個(gè)巧合”。
他提到:“我們使用的技術(shù)源于研究所多年的積累,特別是風(fēng)格遷移這一將畫作、圖片或者草圖重新組合成其他圖像的技術(shù)?,F(xiàn)在,我們已經(jīng)能在個(gè)人電腦上應(yīng)用這類神經(jīng)網(wǎng)絡(luò)和人工智能技術(shù)了,因此,如果能夠?qū)⑺鼈円浦驳絠Phone上,那實(shí)在是太棒了?!?/p>
這些想法最終形成了一款叫做BeCasso的應(yīng)用程序,正如施萊格爾所說(shuō),這個(gè)程序?qū)崿F(xiàn)了“將圖片轉(zhuǎn)換為藝術(shù)作品?!保ㄋ诮衲闣WDC上登臺(tái)亮相。)
施萊格爾將整個(gè)移植過(guò)程描述為“狂野的西部?!彼f(shuō),在Core ML推出后的幾個(gè)月里,開(kāi)發(fā)者工具還有很多需要完善的地方?!皢?wèn)題是如何在不影響準(zhǔn)確性的情況下,實(shí)現(xiàn)足夠的計(jì)算速度?!?/p>
在機(jī)器學(xué)習(xí)中,神經(jīng)網(wǎng)絡(luò)是一種借鑒于人類大腦生理學(xué)原理的計(jì)算架構(gòu),它由包含節(jié)點(diǎn)(nodes)的層(layers)組成。節(jié)點(diǎn)類似于神經(jīng)元(neurons)——數(shù)據(jù)與稱為權(quán)重(weights)的系數(shù)一起輸入網(wǎng)絡(luò),權(quán)重通過(guò)抑制或放大數(shù)據(jù)為輸入賦予重要性。深度神經(jīng)網(wǎng)絡(luò)由多個(gè)層和多個(gè)節(jié)點(diǎn)組成,一般來(lái)說(shuō)(但并非總是)這個(gè)術(shù)語(yǔ)的意味著更高的準(zhǔn)確性。
“對(duì)于風(fēng)格遷移任務(wù),模型可以訓(xùn)練至任意深度,” 施萊格爾說(shuō),“更深的模型可以執(zhí)行更多的操作,但需要更強(qiáng)大的計(jì)算能力。”
更深的模型還會(huì)占用更多的存儲(chǔ)空間,特別是RAM(內(nèi)存)。實(shí)際上,風(fēng)格遷移算法對(duì)內(nèi)存的要求特別高,因?yàn)檩斎霐?shù)據(jù)——圖像——會(huì)被編碼成二級(jí)制數(shù)據(jù)(1和0)。
“如果輸入的圖像過(guò)大,你的RAM很容易就會(huì)爆了”,他解釋道。
Digital Masterpieces的解決方案是發(fā)布同一模型的兩個(gè)不同版本——一個(gè)用于RAM較小、處理器較弱的設(shè)備(如iPhone 6S,7和7S),另一個(gè)用于較新的設(shè)備(如iPhone 8,8S和X)。這一策略確實(shí)奏效:在最新的iPad上完成一次風(fēng)格遷移計(jì)算現(xiàn)在只需不到一秒鐘時(shí)間。
“從各方面看來(lái),我們對(duì)結(jié)果非常滿意,”施萊格爾說(shuō)。
Memrise
Memrise團(tuán)隊(duì)打造的一款同名的語(yǔ)言學(xué)習(xí)應(yīng)用程序,專門提供基于抽認(rèn)卡的課程計(jì)劃,致力于使用人工智能技術(shù)助力語(yǔ)言學(xué)習(xí)。
“我們的一名iOS開(kāi)發(fā)者曾在幾天內(nèi)創(chuàng)建了一個(gè)應(yīng)用的原型”,Memrise的技術(shù)經(jīng)理詹姆斯?索爾特說(shuō),“我們差不多就是從那時(shí)候開(kāi)始做起的?!?/p>
模型的工作原理主要是通過(guò)識(shí)別對(duì)象來(lái)告訴用戶如何用他們的語(yǔ)言表述所識(shí)別的對(duì)象。但這并非是Memrise體驗(yàn)的核心部分,因?yàn)樗荒茏R(shí)別幾百個(gè)小玩意兒(Memrise的工程師使用來(lái)自斯坦福大學(xué)的公共圖像數(shù)據(jù)集ImageNet進(jìn)行模型訓(xùn)練)。但是,這“引起了蘋果公司的注意”,索爾特說(shuō)道。
“因此,我們堅(jiān)持做了下去?!彼魈貭柺褂瞄_(kāi)源的神經(jīng)網(wǎng)絡(luò)庫(kù)Keras對(duì)來(lái)自谷歌的數(shù)百萬(wàn)張圖像重新訓(xùn)練。很快模型就識(shí)別出了20件新東西,然后是160件新東西。
唯一的問(wèn)題是,隨著模型準(zhǔn)確性的提高,模型也隨之變大。
最終,Memrise團(tuán)隊(duì)在Create ML中找到了一個(gè)解決方案,不僅將模型訓(xùn)練時(shí)間從24小時(shí)減少至40分鐘,而且模型大小也從90MB減少到3MB。
“這個(gè)用例較為簡(jiǎn)單,我們能夠得到相對(duì)好的結(jié)果并不意外”, 索爾特說(shuō)道。
Polarr
iOS版Polarr應(yīng)用程序CEO王博睿(Borui Wang)提到,相對(duì)于潑辣修圖(Polarr)僅僅20人的團(tuán)隊(duì)規(guī)模來(lái)說(shuō),Core ML魅力在于能夠在手機(jī)上運(yùn)行“大而復(fù)雜”的算法。
但是一切未必都是美好的。在iOS生態(tài)系統(tǒng)中工作需要“大量妥協(xié)”,王說(shuō),主要原因是iPhone的RAM無(wú)法為復(fù)雜神經(jīng)網(wǎng)絡(luò)提供太多的空間,例如,iPhone8的RAM僅為3GB。
這并不代表Polarr團(tuán)隊(duì)沒(méi)有嘗試過(guò)更有野心的計(jì)劃,但這些計(jì)劃以失敗告終。在實(shí)驗(yàn)室中,模型在運(yùn)行的前5秒內(nèi)便將處理器和圖形芯片的使用率提升至100%,這將iOS設(shè)備的性能推向了極限,整個(gè)操作系統(tǒng)隨后開(kāi)始卡頓,屏幕和后板異常發(fā)燙,電池電量也很快耗盡。
“如果你只是想從名片中提取名字,這很容易,但我們希望機(jī)器學(xué)習(xí)對(duì)消費(fèi)者更有實(shí)用價(jià)值”,他說(shuō):“我認(rèn)為這還有很長(zhǎng)的路要走。”
“當(dāng)然,我們得到的也不都是壞消息”,王說(shuō):“我們的團(tuán)隊(duì)使用類似量化的壓縮技術(shù)取得了不錯(cuò)的成果,模型的尺寸縮減了五倍,并能夠以每秒二十幀的速度運(yùn)行對(duì)象識(shí)別算法”。
王對(duì)未來(lái)持樂(lè)觀態(tài)度。他預(yù)計(jì),在未來(lái)的一到三年內(nèi),手機(jī)硬件將得到更進(jìn)一步的改善,電量將成為智能手機(jī)的硬限制,而非處理器和內(nèi)存。
“當(dāng)芯片組變得越來(lái)越快時(shí),能耗權(quán)衡就將成為可能”,他說(shuō):“但現(xiàn)在,我們距離這一技術(shù)的應(yīng)用還有距離”。
Core ML需要什么:更多的預(yù)訓(xùn)練模型和基準(zhǔn)測(cè)試工具
憑心而論,Core ML 2引入了很多改進(jìn)。采用批量預(yù)測(cè)技術(shù),Core ML 2的速度提高了30%.它還能支持16位浮點(diǎn)和低至1比特位的所有量級(jí)運(yùn)算并附帶了一個(gè)模型轉(zhuǎn)換器,能夠與Facebook的Caffe和Caffe2、Keras、scikit-learn、XGBoost、LibSVM和Google的TensorFlow Lite框架配合使用。
施萊格爾認(rèn)為這已經(jīng)足夠了?!暗侥壳盀橹?,當(dāng)前的框架能完全覆蓋我們的用例”,他說(shuō)。
對(duì)于這一觀點(diǎn),索爾特表示同意,并且認(rèn)為Core ML有更大的發(fā)展空間。
“未來(lái),基于自身龐大的數(shù)據(jù),蘋果沒(méi)有理由不發(fā)布更多的預(yù)訓(xùn)練模型,”他在一封郵件中提到。“較小規(guī)模的開(kāi)發(fā)人員即使具備專業(yè)知識(shí),仍然沒(méi)有辦法使用大規(guī)模數(shù)據(jù)或者資源來(lái)進(jìn)行長(zhǎng)時(shí)間的訓(xùn)練。例如,如果存在一種方法不需要使用自有的數(shù)據(jù)集便可創(chuàng)建圖像分類器,這一定會(huì)受到所有開(kāi)發(fā)者的追捧——理想地說(shuō),開(kāi)發(fā)者只需要聲明所需要識(shí)別的對(duì)象,模型便可通過(guò)Apple的云服務(wù)自動(dòng)生成?!?/p>
對(duì)于王博睿來(lái)說(shuō),他希望未來(lái)版本的Core ML可以提供改進(jìn)的基準(zhǔn)測(cè)試工具。
“我最關(guān)切的是理解GPU/CPU和熱節(jié)流機(jī)制,”他在一封郵件中寫道。“例如,你知道現(xiàn)在的PC游戲會(huì)怎樣繪制FPS(Frames Per Second, 每秒傳輸幀數(shù))以及游戲性能檢測(cè)曲線嗎?作為開(kāi)發(fā)者,如果Core ML可以支持這類模型,將會(huì)是一個(gè)很大的突破。當(dāng)你加載模型的時(shí)候,模型便會(huì)告訴你什么時(shí)候GPU開(kāi)始節(jié)流,根據(jù)此生成一系列各種設(shè)備(iPhone 5,6,7,8,X)的性能報(bào)告。如果蘋果公司不這么做,我肯定會(huì)有一些創(chuàng)業(yè)公司來(lái)做這樣的事情。”
-
iPhone
+關(guān)注
關(guān)注
28文章
13500瀏覽量
206130 -
人工智能
+關(guān)注
關(guān)注
1806文章
49011瀏覽量
249376 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8502瀏覽量
134593
原文標(biāo)題:iPhone上也能運(yùn)行AI模型,瞧瞧別人家的程序員是怎么用Core ML
文章出處:【微信號(hào):worldofai,微信公眾號(hào):worldofai】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論