雲端運算將徹底改變電子設計

作者 : Sally Ward-Foxton,EE Times歐洲特派記者

由於設計師面臨的越來越多的問題正在雲端中獲得解決,因此在邊緣人工智慧及視覺聯盟(Edge AI and Vision Alliance)創始人Jeff Bier看來,雲端運算將徹底改變電子設計。

由於設計師面臨的越來越多的問題正在雲端中獲得解決,因此在邊緣人工智慧及視覺聯盟(Edge AI and Vision Alliance)創始人Jeff Bier看來,雲端運算將徹底改變電子設計。

在與EDN編輯顧問委員會的定期電話中,我們問Bier當今的電子設計工程師更關注哪些技術趨勢。Bier認為,雲端是推動全球工程部門變革的首要力量,但是,許多人可能並不清楚,雲端運算與電子設計有何關聯。

Bier說:「可以說雲端與電子設計的各方面都密切相關。」他深信,雲端將大大改變工程師的工作方式。

程式碼生成

Bier指出,工程師常用的沙盒(sandbox)MATLAB在十多年前就有一項功能,只需一步即可為嵌入式目標處理器生成程式碼。但該功能有一個潛在的缺點:在選擇一款處理器時,需要考慮MATLAB是否能夠為該處理器生成程式碼。

嵌入式DSP工程師以前是從演算法工程師那裡得到MATLAB程式碼,然後用組合語言(現在可能是C或C++)重新編寫整個程式碼。若使用MATLAB的程式碼生成功能,則可省去這一步驟,節省了時間和金錢,但是只能用MATLAB支援的處理器。

如今,在AI和深度神經網路(DNN)領域,大多數演算法都使用TensorFlow和Pytorch這樣的開放原始碼架構在雲端生成。它們使用各種工具,以多種方式在嵌入式處理器上實現。

「可以預見,未來在選擇處理器時的一個重要考慮因素將是,哪種處理器最容易支援從雲端到嵌入式設備的實現。」Bier說,「誰的雲端具有嵌入式實現按鈕?支援哪些處理器?這樣的雲端將在競爭中勝出,這樣的嵌入式處理器也一樣會贏…如果有用,人們就會這麼做,因為比起自己編寫程式碼,這容易得多,也快得多。」

Bier提到了西雅圖的深度學習公司Xnor,該公司專注於這一流程,現已被蘋果收購。

他說:「他們從蘋果得到了一個好價錢,因為蘋果知道快速上市的價值。」

 

雲端與電子設計幾乎各方面都相關。

 

Bier看到嵌入式軟體正朝著雲端發展,例如,現在已經有許多EDA工具上雲端。「在雲端完成PCB設計的情況也相似。那麼,誰有『明天之前給我製作10個原型』的按鈕?」Bier說。

許多人尚未意識到雲端對於電子設計的重要性,但這一變化來得很快,部分原因在於目前的雲端平台供應商都是大公司。

Bier舉例,FPGA廠商為了使FPGA易於程式設計,曾經做了多次歷史性嘗試,這些難題最終由微軟(Microsoft)和亞馬遜(Amazon)解決了,他們目前可在雲端提供FPGA加速資料平行程式碼的功能。

「你只需提供信用卡號,然後按一下FPGA加速按鈕就可以了。」他說,「微軟和亞馬遜解決了這個難題,因為它們具有相當的規模和同構環境,伺服器完全一樣,而不是有很多嵌入式系統,每一個卻各不相同。他們解決了FPGA廠商無法解決的難題,這是為什麼雲端成為設計和開發的重心的一個原因。」

那麼,晶片製造商要怎麼做,才能使雲端平台供應商願意為他們的處理器開發程式碼生成功能?

「亞馬遜、Google和微軟並不在乎客戶使用誰的晶片,只要使用自己的雲端就行。晶片製造商是唯一希望自己的晶片最容易實現目標的業者。」Bier說,「所以我認為晶片製造商一方面需要與大型雲端服務供應商合作,另一方面也必須做好自己的事。」

Bier指出,英特爾提供的DevCloud是一種基於雲端的環境,開發人員可在其上建構和最佳化程式碼。

「下一步是將所有工具和開發板連接到英特爾伺服器,」Bier說,「無需等待安裝任何設備或收到任何盒子。」

邊緣vs.雲端

Bier說,邊緣運算(指在雲端外的網路邊緣執行的任何運算)是今天的嵌入式開發人員應熟知的另一個概念。隨著越來越多的嵌入式設備接入到物聯網(IoT),什麼運算應該在雲端完成,什麼運算應該在邊緣完成,每個系統都必須從成本、速度、隱私等各個方面綜合考慮。

「如果我是一名嵌入式系統設計員,為什麼要關心這些?好吧,這很重要。」Bier說,「假如有兩種嵌入式設備,一種複雜而智慧,運作AI演算法並將結果(而非原始資料)發送至雲端,另一種只是作為一個簡單的資料收集器,用來將資料流程上傳到雲端,後者顯然無趣得多、價值也低得多。」

Bier舉例,一家嬰兒監視器公司開發了一款智慧攝影機,用於監視嬰兒的行動、呼吸和心律。那麼,應該將智慧置於嵌入式設備中,還是放在雲端?

Bier說:「如果將智慧置於雲端,當家裡的網路連接中斷時,嬰兒監視器將無法正常工作。但是,將智慧放在雲端可以使該產品提前一年上市,因為它當時只是一款傻傻的Wi-Fi相機…這樣的話就無需專門建構一個嵌入式系統了。」

將智慧置於雲端,嬰兒監視器公司還能快速、輕鬆地反覆運算其演算法。一旦達到適當的部署水準,便可快速完成A/B測試:為一半客戶部署新演算法,看哪種演算法效果更好,然後再部署到每一個客戶,且部署新演算法只需按幾下鍵即可。

「問題的關鍵是,終端設備及一些中間節點(如連接到路由器的設備,或者街上營運商的電桿或資料中心裡面的設備)有什麼樣的智慧,」Bier說,「但是,目前大多數嵌入式系統人員並沒有考慮這個。」

這家嬰兒監視器公司成功發佈了其基於雲端的監視器,目前已批量出貨。Bier指出,該公司對成本更加敏感,也不需要過多地反覆運算演算法,目前正在研發第二代產品,主要使用邊緣處理。

需要DNN嗎?

另一個改變嵌入式系統工作方式的領域是AI,其發展迅速。

邊緣AI及視覺聯盟進行的調查顯示,作為AI的基礎,DNN過去5年中在嵌入式電腦視覺系統中的使用率已從大約20%上升到了大約80%。

「有兩件事讓人們發愁。」Bier說,「一件是,在他們的應用中使用DNN非常困難;另一件是弄清楚他們究竟應該在哪裡使用DNN。」

Bier指出,DNN已成為一種時尚,每個人都想使用它們,但它們並不一定是解決許多問題的最佳方案。對許多人而言,傳統技術仍然是更好的選擇。

「如何判斷一個問題適合用DNN還是其他傳統技術來解決?」Bier說,「嵌入式系統設計人員、硬體和軟體設計人員確實需要更好地瞭解這一點,因為執行DNN將對硬體產生很大影響—與傳統的手工設計演算法相比,DNN對性能和記憶體的要求要高得多。」

(參考原文:Cloud Computing Is Changing Everything About Electronic Design,by Sally Ward-Foxton)

 

發表評論