安防「缺芯」背後,一款好芯片的「自我修養」
“如果再買不到海思芯片,我們這個月至少虧掉600萬!”
前不久,雷鋒網AI掘金志撰文《海思「缺貨」,安防「缺芯」》提到:在9月15日多家供應商斷供華為之前,安防市場已芯荒意亂。
有人痛罵囤貨漲價無理,也有人感慨後繼無人悽愴。
文章發佈後,不少媒體相繼跟進,大多談到了安防市場缺芯現狀及可能的替代方案。
今天,我們沿着該話題進一步聊聊:
安防為何缺芯?畢竟這並非一個高門檻應用行業,無需苛刻的芯片工藝選擇。
海思缺貨之前,AI安防芯片混戰常被提及,彎道超車之論屢被談起。
如今,身臨海思難產之際,市場緣何又頓入無芯可選之境?制約AI安防芯片規模化應用的核心技術問題究竟是什麼?
造芯,如指尖上造城作為計算機視覺落地較快的領域之一,安防賽道有一個基本封印的現實需要承認:
海思之外,尚無一款足夠優秀且合適的安防前端通用芯片,也尚無一款足夠適用安防後端的AI芯片出現。
那麼,做一款比肩海思產品線的芯片難在哪兒?換句話説,一款「成功」安防芯片的自我修養是什麼?
首先,從應用角度出發看看這個問題。
眼下,不同玩家們大多都會基於自身資源及優勢,選取業務、性能、生態等方向作為突破點。
但,造芯之難,除了考察紙面理論、戰略打法外,還需解決一道又一道的實際挑戰。
一、安防市場極度碎片化,且做到500萬片以上的出貨數量才有成本優勢;
二、前端、存儲、產品開發、組織建設,都需要相應時間做充足積累。
一款好的芯片,一定需在實際場景中打磨迭代而出,缺乏經年累月的正向打磨,很難沉澱AI工程化交付能力。
衡量一款芯片是否達到AI工程化交付能力,考察最明顯的算力之外,還需從端側、雲側分開驗證幾個重要指標。
誠然,算力實為衡量AI芯片指標的重要因素之一。
時間撥回2014年,人工智能落地剛剛興起,端側AI芯片算力僅有0.2Tops,雲側AI芯片算力僅有5Tops;如今端側AI芯片算力已經達到4Tops以上,雲側AI芯片算力也已達到256Tops以上。
但僅看算力指數顯然遠遠不夠。於端側,安防芯片考察本身競爭力、集成方式、開發工具成熟度與易用性、功耗與價格等。
一是安防芯片本身競爭力。
安防端側一直用得是安防專用芯片,並不存在通用芯片。即使AI時代,端側芯片首先需要的是有競爭力的安防芯片,其次才是在這基礎上疊加AI算力。
譬如,OS、安防SDK、ISP、編碼皆重要非常,這對芯片廠商提出的綜合要求明顯提高,需要具備完整能力的芯片。
端側芯片,雖然體積小、價格低,但系統複雜度、技術難度絲毫也不低。
二是AI芯片與安防芯片的集成方式。
前些年,AI落地端側,採用的是在主芯片邊上加一顆AI協處理器,即兩顆芯片的方式。
如今,合二為一的方案已是主流,在系統複雜度、成本、功耗上都更有競爭力,實現過程也更加複雜。
三是開發工具成熟度與易用性。
芯片的軟件開發工具非常重要。譬如,是否支持Caffe、Tensorflow、Pytorch等主流深度學習框架,相關工具是不是易用、穩定,對於AI應用開發者來説都非常重要。
如果開發工具不成熟或不易用,很容易就會被開發者拋棄。
四是功耗與價格。
端側設備,對功耗和價格都非常敏感。
雲側芯片則對解碼能力、大數據併發效率、開發工具成熟度與易用性、功耗以及價格要求較高。
一是解碼能力。
雲側芯片處理的是經過編碼的圖片或視頻,需要持續解碼。
在芯片設計上,需要內嵌專門的硬解碼模塊,不佔用AI算力;另外,解碼能力上必須不能低於AI處理能力,不然解碼就會成為瓶頸。
二是大數據併發效率。
現在雲側芯片的AI處理能力非常強,所以大數據併發交互的效率非常重要,大數據併發效率決定了AI算力實際能發揮多少。
三是功耗與價格。
雲側芯片在這方面雖然沒有端側芯片那麼敏感,但低功耗與低價格永遠都是用户的訴求。
其次,從技術角度看看這個問題。
安防領域存有大量的算法需要前置,而目前的算法訓練基本還是基於後端的深度學習模型。
此外,安防行業還需實時處理大量連續圖像數據流,數據處理在於兩大維度:一、每秒處理幀率要越來越高;二、圖像分辨率要越來越高。
兩大維度之下,安防對於端側芯片提出了一些要求。
針對已經入場的大小玩家,分析他們的產品形態,大致可以分為兩種:一是針對特定應用的SoC;二是通用加速器做獨立芯片。
應用安防市場,SoC面向專用市場,在芯片中深度學習加速計算事實上只是一部分,而其他大部分芯片面積則交給了主控處理器、視頻解碼等模塊。
終端通用深度學習加速器芯片市場的應用則剛起步,大多公司的市場佈局主要在試錯的同時,培養開發者生態。
同時,從業者們也逐漸發現,芯片中最為關鍵的其實並不是單純提升算力,如果不進行存儲優化,那麼芯片實際提供的計算力會大大降低。
若想突破AI芯片的瓶頸,並不能只是簡單的增加計算算力,而是一定要把數據存儲管理做好。對於存儲問題的解決,仍是一個探索中的新方向。
AI芯片對於傳統芯片帶來的挑戰,並不只是計算架構上的,更多是在存儲架構間的。
傳統芯片採用的是馮·諾依曼架構,其核心架構中計算模塊和存儲單元是分離的。CPU和內存條並不集成在一起,只在CPU中設置了容量極小的高速緩存。
也就是説,CPU在執行命令時必須先從存儲單元中讀取數據。每一項任務,如果有十個步驟,那麼CPU會依次進行十次讀取,執行,再讀取,再執行…
這就造成了延時,以及大量功耗花費在數據讀取上,這一問題也被稱為傳統芯片的內存牆問題。
而在AI應用中,馮·諾伊曼瓶頸問題顯得愈發嚴重。
AI依賴的算法是一個龐大和複雜的網絡,包含很多參數需要存儲,也需要完成大量的計算,這些計算中又會產生大量數據。
在完成大量計算的過程中,一般芯片的設計思路是大量增加並行的運算單元,例如上千個卷積單元,需要調用的存儲資源也在增大。
不誇張地説,AI初創芯片公司雖然採用不同的路徑打造芯片,但事實上都在努力對這一問題予以解決。大部分針對 AI,尤其是加速神經網絡處理而提出的硬件架構創新,都是在與這個問題做鬥爭。
如何解決這一問題呢?目前解決方法有以下幾種:
較為常見的方法是加大存儲帶寬,採用高帶寬的外部存儲;二是從算法入手,設計低比特權重的神經網絡。
除此之外,存算一體化也被看做是未來的發展方向,在實現上也分為不同的路徑。
其一是SSD中植入計算芯片或者邏輯計算單元,可以被叫做存內處理或者近數據計算,這其實是深度學習的一種應用場景,並非是AI芯片架構的創新。
另一種就是存儲和計算完全結合在一起,使用存儲的器件單元直接完成計算,比較適合神經網絡推理類應用。
也有人不太認同存算一體的處理方式,探境CEO魯勇認為,這樣做的成本太高,並不符合市場需求。
“存算一體的處理方式,其實違反了芯片中的成本結構。芯片中,之所以設計和區分片上的緩存SRAM,及片外的DRAM,就是因為如果所有存儲都放入芯片內部,成本就大幅上升,會上升幾十倍到上百倍。”
就此,他們提出了SFA(Storage First Architecture,簡稱SFA),即存儲優先架構。
與通常計算的先有計算指令然後提供數據相反,SFA架構考慮數據在搬移過程中做計算,也就是由數據帶動計算而非由算子帶動數據。
這一點與AI大神Lecun所宣稱的所有的神經網絡都是圖計算問題不謀而合。那麼打破傳統馮·諾依曼架構,自研存算一體架構的依據是什麼?
這可以談到人類大腦的存儲和計算方式。從生物角度講,大腦存儲大量的知識,能夠快速提取並訪問,而大腦的內存和計算並不是分開的,更多的是存在一定的相容性。
因此,未來的計算機可能不是基於計算的存儲,而是基於存儲的計算,更多做到融合。不過,因為當前芯片領域對於AI算法的關注還較多,針對AI的結構改進嘗試還偏少。
過去幾年,不少企業針對安防領域紛紛宣佈流片之喜,但似乎還未出現強勢的對傳統芯片的替代或繼任者。
從大環境來看,國內雖有不少公司關注對AI芯片的底層架構的研發,但更多隻追求有、不追求好,用拼湊的方式做芯片。
甚至於,不少玩家為了順應市場形勢,將自己包裝成一個AI芯片公司,給市場徒增泡沫。
同時,國內AI芯片企業,眼下普遍缺乏後端設計人才,後端設計相對於前端邏輯設計,更多涉及到芯片的工藝,也相對更需要豐富的經驗。
由此,很多廠商會通過外包的方式做後端服務,來完成生產。這對芯片廠商來説,其實是一個很大的競爭劣勢。
針對安防缺芯之話題,此前AI掘金志也採訪了多家有着不同創新路徑的芯片企業,他們或從優化芯片的計算、存儲架構入手,或選擇做軟硬一體,或着眼於攝像頭中的ISP、編解碼芯片。
對於AI安防芯片要解決的主要問題和創新路徑,企業家們有着共識,也有各自不同的選擇和看法。
觸景無限副總裁陳勇:做芯,軟硬件耦合是關鍵
做一款AI安防芯片要從全棧解決方案出發,不僅僅只有芯片,還要有比較完善的軟件生態來耦合這個芯片,這樣用户才比較容易、也能動態部署符合他們需求的方案。
另一個點是芯片的算力能效,芯片不能只單單提供算力,還要在滿足應用算力要求的前提下消耗最少能量。
我覺得,這兩個方面對於AI安防芯片來説最重要。
觸景無限做芯片就是為了讓自己的算法和工程經驗找到一個更好耦合的練兵場,達成軟硬件的協同優化,更好地實現前端感知。
以前,我們發現AI加速只是前端落地應用需求的一個點,打磨很長時間的AI加速芯片產品,用在前端的效果還是不夠好。
就像一條公路,AI芯片的集成像是鋪上了柏油,但車輛通行時除了對於路面的高要求,還有對於路牌、路標、服務區的需求,而這些在實際過程中,都沒法得到很好的滿足。
在芯片具體研究中,我認為,對AI 安防芯片來説,由於多層神經網絡的應用,如何做到各種神經層中間的高效數據傳輸是一個難點。
另外,我們認為雖然在攝像頭內,主控芯片很強勢。但AI協處理器有它獨有的靈活性和高效性,並不能簡單地被主控芯片集成。這種通用性和專用性的取捨會一直存在,而這也是AI協處理器存在的機會。
探境科技CEO魯勇:芯片的數據存儲管理要做好
安防領域的數據特點,其實主要在於需要實時的處理大量連續的圖像數據流。
第一是每秒處理幀率要越來越高,第二是圖像分辨率上要高。在這兩個維度上,安防對邊緣芯片提出了要求。
原先很多安防廠商採用Movidius的芯片實現前端智能,但我們認為它並不是非常適用於安防前端。不過Movidius的火爆,恰好説明了市場對邊緣端芯片的強大需求。
我的看法是,要突破AI安防芯片的瓶頸,並不能只是簡單的增加計算算力,而是一定要把數據存儲管理做好。
傳統芯片中,採用的是馮·諾伊曼架構,計算模塊和存儲單元是分開的,“內存牆”問題很嚴重。而AI依賴的算法是一個龐大和複雜的網絡,有很多參數要存儲,也需要完成大量的計算,需要巨大存儲容量,高帶寬、低延時的訪存能力。很多AI初創芯片公司,實際上都在努力解決這個問題。
而我們的思考是,不能採取通常的先有計算指令然後提供數據的方式,應該從存儲子系統的優化入手,讓數據在存儲之間的搬移過程之中完成計算。
這也可以叫做“基於memory的計算”,而不是“基於計算的memory”。
當前芯片領域對於AI算法的關注還較多,針對AI的結構改進嘗試還比較少。之後,memory與computing結合的嘗試,我相信會是一個好的方向。
華夏芯CEO李科奕:提升AI芯片的易用性
現在的安防市場上,已經出現了很多前端的AI加速器,但實際它們在應用上,還存在一些問題。
第一是價格太高。第二是可編程性不足。原先的通用芯片CPU很容易能實現編程,但AI加速模塊中並沒有指令集,無法編程,需要手工去調整。
在安防領域也是一樣,廠商普遍反映的,不是AI芯片的性能,而是無論AI初創企業,還是傳統大廠設計的加速器都很複雜,AI加速器很難被用起來。
一般來説,通用芯片難以負荷對計算的高要求,AI專用芯片則在可編程性、靈活性上有所欠缺。目前應用較多的集成度高的Soc,將不同計算架構芯片集成在一起,需要多套編程程序,運行就容易帶來問題。這也是安防芯片廠商們,尤其是在安防前端應用上面臨的難題。
而業內目前看好的一種方式,就是將不同的芯片架構結合在一起,這就是“異構計算”。
異構計算的長處在於,能實現比較好的適應性和靈活性,在通用性和專用性上達成一個折衷。既能高效的處理數據,又能相對保證算法的及時更新和迭代。這也是我們在探索的一個方向。
現在在安防、自動駕駛等這些邊緣端的市場,對芯片的綜合要求非常高。芯片需要處理的數據量很大,同時對於性能、性價比、性能功耗比要求也很高。
但我們看好這些新興市場,因為邊緣端的需求量很大,而且相對於手機、雲計算、PC端等這些已經很成熟的市場,給了芯片廠商更多創新,和在新市場中佔據位置的機會。
欣博電子CEO梁敏學:很多AI安防芯片是同質化的
對於AI安防芯片來説,我認為“芯片+算法”的整合是最重要的。而對於具體一款芯片,最主要的指標應該是價格和穩定性。
芯片是“硬”的,算法是“軟”的,如何能將兩者更好的結合起來,這就需要加強芯片對底層運算加速算法的適應性。
現有芯片的問題,從技術角度來説,對前端的AI芯片算力的要求,對存儲問題的解決,都很重要,都需要靠算法和芯片架構一起來改善,比如説現在的算法就還比較耗帶寬。
再具體應用上,我認為AI安防芯片在安防攝像頭中作為協處理器,目前已經被主控芯片集成了,所以單純提供AI加速器並不佔優勢。
而我們所做的,是開發編解碼能力、加密及AI能力三合一的芯片,為攝像頭提供安全加密。這也是我們相對於其他芯片廠商不同的一點。
從行業角度來説,現有AI芯片在安防行業應用落地上的主要問題,其實是同質化。
很多AI芯片廠商產出的芯片並沒有太大差別,一方面很多芯片達不到現有安防行業對前端AI芯片的要求,一方面又容易陷入芯片同質化競爭。
現在的安防芯片格局下,其實已經存在壟斷的生態,有大的行業玩家存在,那麼做AI安防芯片如何找到自己的價值點,並做到差異化還是最難的。
人人智能CEO王海增:芯片行業很殘酷,遵循二元法則
AI芯片前兩年很熱,“熱”的同時,也讓市場很浮躁,去年一年,業內就推出了十幾款AI芯片。
但在安防和芯片領域摸爬滾打多年,我們的看法是不去做純碎的單一芯片,而是做融合芯片、算法和系統的FaceOS視覺中間件,用在人證比對等。
在我看來,市場上可能只需要一款主流產品。芯片行業是很殘酷的,有個二元法則,就是老大吃肉,老二喝湯。老三、老四可能找不到名字。
綜合來説,我還是比較看好華為海思。在安防視頻芯片的領域,有華為海思這樣的對手存在,做視覺智能芯片幾乎沒有太多機會,這一事實很難改變。
之前,我們對比過這些芯片,發現芯片從高端到低端系列,海思的芯片佈局很完整,渠道健全,而且功能幾乎比現有的幾個AI芯片廠商都更加領先,優勢很明顯。兩三年前,我們能看到這個市場很大,但不知道誰能跑出來,現在回過頭來再看,我們依然覺得海思跑的更靠前了。
另外,AI芯片領域雖然一直在談創新,但實際上,真正的創新還尚未到來。
算法的底層架構,如TensorFlow、Caffee等方面幾乎都是採用國外的架構。
底層的算法上面,國內幾乎還處於空白。這涉及很多基礎數學的問題。就像谷歌談張量計算芯片,是發覺了卷積使用的張量計算的模型和傳統模型不同,所以需要設計芯片設備,適應它的模型,這是算法型的創新。而且谷歌還發明瞭TensorFlow這樣的主要架構。
這些在國內還都是空白。雷鋒網雷鋒網雷鋒網