當前位置:
首頁 > 科技 > 我們真的還需要更多的AI晶元嗎?

我們真的還需要更多的AI晶元嗎?

來源:內容來自「知乎」,作者:Max Lv,謝謝。

任何事物一旦進入泡沫期,就不免讓人擔心什麼時候會崩盤,而當下的 AI 晶元已經進入公認的泡沫期。

從 ASPLOS"14 上寒武紀的 DianNao,到當下 Google 的 TPUv3,AI 晶元只花了五年時間就取得了巨大的成功。搭上 AI 算力爆發的快車道,叫嚷著摩爾定律終結,Domain Specific Architecture(領域定製架構) 似乎成了唯一的出路。

可是當無數的巨頭和初創公司設計出一塊又一塊大同小異的 AI 晶元,我們需要回答這樣一個問題:真的需要這麼多 AI 晶元嗎?

軟體複雜度

AI 晶元的快速發展,其中一個迴避不了的問題就是軟體複雜度的指數級提升。很多公司花了兩年甚至更短的時間做出一款晶元,卻發現需要更長的時間支持繁多的框架、緊跟演算法的進步,適配從手機到數據中心的各類平台。當錯過了部署和量產的窗口期,即便做出了晶元也會很快落伍。

與設計通用架構不同,設計 AI 晶元這樣的專用架構需要同時考慮到軟體的設計和優化。晶元公司往往樂觀估計了軟體適配和優化的成本,指望通過中間件和編譯器來解決所有問題。事實上,從 Intel 到 Google 再到 Nvidia,大量的軟體工程師正被投入到適配各種平台,手動優化網路性能當中。而對於初創公司,晶元早已 tapeout 卻一再延期交付的問題比比皆是。

從本質來看,當我們開始不斷挖掘晶元架構的潛力時,軟體層的抽象也會變的越來越困難,因為其不得不在上層抽象中引入底層的架構的模型或參數。現在的通常做法是做底層晶元架構與上層軟體之間的中間件,然而開發這些中間件的代價也往往被低估。前段時間某晶元初創公司的同學諮詢我,開發一套類似 TensorRT 這樣的 Inference 中間件需要多少人力和多長時間?這並不是一個容易回答的問題,於是我反問他們有多少資源可以做這個項目。

令人意外的是,他的老闆只給了三四個人頭,因為他們假設自己已經有了一套底層的編譯器和一套上層的模型轉換工具,於是這樣一個用於架構抽象的中間件並不需要太大力氣。我猜這樣的投入應該可以做出一個功能完好的產品,但我不相信最終的產品在實際應用中可以達到理想的性能指標,畢竟做晶元並不只是用來跑 ResNet-50 這樣的 Benchmark。

碎片化

只需要編寫一套代碼即可運行在不同平台,是軟體工程師們的長久訴求。不同架構的 AI 晶元帶來的碎片化會極大的打擊他們在實際軟體產品中應用 AI 的積極性。與以往的經驗不同,深度學習糟糕的解釋性會帶來許多意想不到的缺陷。比如這樣一個常見的困擾,一個私有的模型可以在本地 CPU 上得到滿意的結果,然而卻在部署到某款設備後性能大幅下降。如何調試這些問題,誰來負責調試,通過怎樣的工具來調試,甚至調試的工程師能否拿到私有的模型?這些問題都難以回答。

碎片化還表現在,專有架構為了挖掘絕對性能往往會放棄向前兼容性。如上文提到的中間件,它的一端是碎片化的 AI 軟體框架,另一端則是一代又一代的晶元架構。如何同時維護多個部分不兼容的指令集架構,並保證每一次軟體更新都能完整的覆蓋所有的設備?除了投入更多的人力,別無他法。一個常見的論調是像當下的消費級晶元一樣只保持一個短期的(2-3年的)軟體支持,然而當下 AI 晶元的常見應用領域,如智能攝像頭、工業智能、以及自動駕駛,一款晶元的生命周期可能長達十年。很難想像一家公司需要多大的量級才能提供持久的技術支持,如果預估一家初創公司活不過兩三年,如何才能放心的部署其產品到一款面向消費者的量產車上?

AI 晶元只是過渡期產物

從一個軟體工程師的角度,我個人堅信定製化的 AI 處理器只會是一個過渡期產物。一個統一的、可編程的、高並發的架構才應該是我們追求的方向。回想過去的二十年,我們見證了專用架構的小型機市場的萎縮,圖形處理器到通用向量處理器的發展,甚至連我們的手機和電腦的平台都將趨於統一。有理由相信,現在再把資源投入到定製化的 AI 晶元絕不是一個好的投資。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 半導體行業觀察 的精彩文章:

美國半導體實力究竟如何?Fact book 2019全面披露

TAG:半導體行業觀察 |