精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

從芯片方案到后端算法,高通正在推動完整 AI 生態形成

責任編輯:zsheng

2018-06-22 20:17:15

摘自:DeepTech深科技

高通(Qualcomm) 早在 2016 年的驍龍820 就已經加入了AI 處理能力,使用CPU 計算的方式,在不額外增加成本的前提下,達到與蘋果和華為的NPU 類似的功能特性,也支持主流的神經網絡模型。時間點也早了業界1 年以上。

高通(Qualcomm) 早在 2016 年的驍龍820 就已經加入了AI 處理能力,使用CPU 計算的方式,在不額外增加成本的前提下,達到與蘋果和華為的NPU 類似的功能特性,也支持主流的神經網絡模型。時間點也早了業界1 年以上。

 

 

圖丨高通已經把AI 當作未來移動平臺的重點發展方向。

隨后的驍龍835 則是引入了神經處理 SDK,并與Google 和Facebook 進行了深入合作,針對兩者提供的框架進行了優化,在終端側支持TensorFlow 和Caffe2。它們曾經都是通常在云端運行的框架。一旦網絡受到了訓練,開發者就可以從驍龍移動平臺中選擇合適的內核運行。另外,離線工具可以在目標運行前,對模型進行轉換、優化、量化。

當然,軟件再怎么優化還是不如硬件,835 的AI 整體計算性能僅能達到A11 或者是麒麟970 內建NPU 的幾分之一,且能耗表現明顯較差。

但高通還是往前邁進了一步,那就是NPE 開發環境已經不再封閉,而是提供給廣大的第三方AI 應用開發者,NPE 也理所當然的支持主流深度學習框架,包含TensorFlow、Caffe 等,而最近才發表的TensorFlow Lite 及Facebook 與微軟合作推出的ONNX 也同樣在支持之列。高通也期待借此能在AI 的路上后發先至,甚至憑借更完備的開放式開發環境反超蘋果和華為。

 

 

Hexagon 685 DSP 過去都是針對影像或音頻處理做加速使用的單元,但是到驍龍845,通過額外增加的向量處理單元,配合原本可程序設計的特性,已經可以很好的應對現在AI 計算環境中的各種框架執行需要,當然,DSP 的計算能效雖不如NPU 之類的ASIC 方案,但其可彈性配置的優點,以及高通針對開發環境的優化,仍能達到相當不錯的表現。

不過與華為、蘋果不同,高通認為考慮到手機系統功耗限制,訓練還是在云端為佳,因此整套 NPE 方案還是以推理為主,并且集中在圖像處理以及語音識別等功能上,當然,未來還是有改變的可能。

為擴大高通的AI 生態,就不能只守在高端芯片產品,過去作為中端方案的高通Snapdragon 600 系列在AI 性能方面遠遠落后于高端的800 系列,因此在相關手機方案上幾乎沒有廠商將AI 功能嵌入進去,為此,高通推出的Snapdragon 700 系列算是終于補上了這道缺口,其AI 計算性能要比600 系列高了225% 以上,已經相當接近高端方案的水平,而客戶對此也相當歡迎,畢竟高通還是市場上最主流的中高端方案供應者,若能夠在中端產品增加更多AI 附加功能,那對于產品的銷售還是有相當好的幫助的。

高通確立AI 生態優勢,力抗華為與蘋果

AI 已經成為手機最熱門的話題應用,為了確保高端手機的使用體驗能更貼近用戶,在不論照相功能、語音服務,以及其他智能服務上,具備高性能AI 加速功能已經是基本要求,但是在開發環境上,如果對開發者不夠友善,那么就很難建立生態。

對此,高通提供開發者一套神經處理SDK,它可以支持Android NN 環境。也同時支持了Hexagon NN環境,如果開發者選擇使用Hexagon DSP 來做開發,Hexagon NN 庫就可以專門針對某一內核進行優化。所有這些功能為開發者帶來極大的靈活性,并有助于他們實現性能最大化。這也說明,智能手機AI 體驗不能僅僅依靠一個特定的內核,更重要的是需要多種架構、多種工具。

高通過去手機方案的開發工具包都只針對其客戶發放,并沒有考慮到第三方軟件開發者的需求,雖然高通平臺同樣能支持一般標準開發平臺,比如說Android 開發平臺,但這么一來就無法完全發揮高通平臺在硬件設計上的獨到之處,而 NPE 針對第三方開發者的友善設計算是高通相當明智的策略轉變,NPE 在應用開發上的優勢,以及在高通平臺的基礎滲透率極為龐大的狀況下,未來成為手機AI 的主導平臺也不會令人意外。

 

 

圖丨 NPE 作為高通主推的開發工具包,已經面向第三方開發者發放

推動神經網絡算法的演進,讓人工智能更貼近實用

當然,在硬件開發環境方面的改善,高通做了不少的努力,不過在這些看的見的方案的背后,其實高通花了更多的心力。

 

 

圖|高通技術副總裁韋靈思 (Max Welling)

高通技術副總裁韋靈思(Max Welling) 在接受DT 君的專訪時表示,高通不只在方案上推動AI 功能的演進,同時也積極改善神經網絡算法的效率。由于傳統卷積神經網絡使用了太多的內存、計算能力和能源,怎樣應用到移動終端上,是急需改善的項目之一。

此外,神經網絡不具備旋轉不變性。我們都知道把狗上下顛倒過來,人類依然還能辨認是狗,但神經網絡是不知道的,它需要從很多人工疊加的數據中學習才能識別。高通最近發表的一篇論文獲得了ICLR 2018 年度最佳論文獎,其中就談到了如何在卷積神經網絡上構建旋轉不變性。

另一個神經網絡需要提高的方面是,它不能對“不確定性”這一特征進行量化,韋靈思認為這點非常重要。如果使用者駕駛一輛自動駕駛汽車來到一個新的城市,而這臺汽車沒有接受過與新城市相關的訓練。在這種情況下,自動駕駛汽車需要意識到它對于新城市的疑惑和不知所措,然后自動停下來或把駕駛權交還給用戶,而不是很有信心地繼續向前。

簡單地說,人工智能需要知道自己的局限在哪里,而目前神經網絡在這一點上還不夠完善。

神經網絡還有一個缺點,那就是它很容易被輸入側輕微的改變所欺騙,如對抗樣本(Adversarial Examples),其識別物體不具備人類大腦的魯棒性(Robustness)。例如,我們通過改變圖片中的幾個像素就能讓算法完全改變其對目標的分類,將狗識別成企鵝,而人類并不會被這些輕微的改變所欺騙。這也是我們需要解決的問題之一。

韋靈思表示,為應對這些挑戰,高通開展了大量的工作,當然,如果以高通移動方案的AI 功能來看,最重要的還是在能耗表現方面。受人類大腦的啟發,高通早在超過十年前就已經開始了脈沖神經網絡的研究,這也是實現低功耗計算的一種方法。

回到今天,同樣受人腦的啟發,高通正考慮利用噪聲來實現深度學習方面的低功耗計算。韋靈思提到,人腦其實是一個充滿噪聲的系統,它知道如何處理噪聲。若能妥善利用噪聲,將可為神經網絡帶來益處。

在專業領域,這種方法稱為貝葉斯深度學習,這也是實現低功耗深度學習的重要基礎性框架。通過貝葉斯深度學習,我們能把神經網絡壓縮得更小,使其可以更高效地運行在驍龍平臺上。我們還可以通過使用這一框架,量化我們需要進行的計算處理的比特位。

當然,DT 君也提出關于目前也有不少針對深度學習以及神經網絡模型的壓縮技術推出,這與高通目前走的貝葉斯深度學習壓縮方法有何差別的問題。

韋靈思表示,針對神經網絡的壓縮方式有不同的技術類型可以選擇,比如說剪枝法,或者是高通選擇的貝葉斯算法,不同的方案可以很好的處理不同的應用場景,但是在移動領域中,高通的作法還是能夠得到更好的結果。

韋靈思進一步解釋,使用貝葉斯框架進行壓縮與量化還可以解決許多其他問題。比如說,若神經網絡只進行過面向某一場景的訓練,例如一輛自動駕駛汽車只接受過某一城市的相關訓練,現在這臺汽車來到另一個新的城市,你可以使用貝葉斯深度學習進行泛化。

 

 

就開發思路而言,能夠對數據做出解釋的最小、最簡單的模型即為最適合的模型,這就是奧卡姆剃刀。當我們對一個模型進行裁剪,這對這個模型是件好事。

另外,貝葉斯學習還可以幫助我們產生置信估計,即量化神經網絡的不確定性。當我們加入噪聲,傳播至預測模型上,從而產生預測的分布區間,由此完成對預測置信度的量化。

最后,貝葉斯學習可以更好的幫助AI 計算環境不輕易遭受對抗攻擊,即通過輸入側的輕微改變來得到不同的預測結果。它也有助于保護用戶的個人隱私,因為數據信息可以轉換為模型參數甚至可以進行重構,使得數據具有隱私敏感度。所以說通過加入噪聲,可以很好地幫助我們保護隱私。

總體而言,貝葉斯深度學習可以很好地解決深度神經網絡所面臨的諸多挑戰。

韋靈思最后也提到,由硬件、軟件和算法構成的生態系統對我們來說至關重要。高效的硬件將不斷演進,以適應在人工智能領域出現的全新算法。如何在硬件上更高效地運行卷積神經網絡,以及為高效運行神經網絡而開發更高效的新硬件是不變的趨勢。在算法方面,確保算法在驍龍平臺上的高效運行需要通過軟件工具來實現,也就是驍龍神經處理SDK。大家可以將軟件看成是連接硬件和算法之間的橋梁。

比如說開發者在驍龍平臺上構建你最喜歡的模型,或進行你最喜歡的人工智能測試,當你將模型放到神經處理SDK 中,這些可用的軟件工具將幫助開發者進行壓縮和量化,從而確保開發者的模型或測試能在驍龍平臺上高效運行。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 沁阳市| 双峰县| 资中县| 许昌县| 靖远县| 府谷县| 大城县| 宿州市| 巴林右旗| 阿克陶县| 富锦市| 航空| 临桂县| 嘉善县| 镇康县| 枞阳县| 平利县| 喀喇沁旗| 静乐县| 望城县| 瓮安县| 余姚市| 隆回县| 钦州市| 名山县| 加查县| 治多县| 罗源县| 沁水县| 乐东| 越西县| 广河县| 汤阴县| 乌兰浩特市| 上高县| 义乌市| 蒙阴县| 洛南县| 福海县| 基隆市| 平安县|