成為AI架構師的三大能力

語言: CN / TW / HK

AI架構師的定義

“AI 架構師”是以深度學習為代表的第三次AI熱潮所催生的新型複合型人才,它的產生最本質的驅動因素是AI產業化落地應用的蓬勃發展對人才的需求,深度學習突出的工程屬性也特別需要複合型人才來駕馭。
從字面來看,AI架構師的“AI”對應演算法技術,而“架構師”則涉及工程架構和業務把握。AI架構師應該具備把AI技術高效落地業務應用的能力,具體而言,對應三個基本能力:

  • 第一,AI架構師要對AI技術和開發應用流程有整體掌握能力
  • 第二,AI架構師要對上層 業務有充分的理解,有很好的技術抽象能力和技術判 斷力
  • 第三,AI架構師要能設計並實現高效合理的AI落地方案

圖片此外,AI架構師還要具備綜合素質,即對技術團隊有很強的AI技術影響力,能整體上構建以AI為核心的技術體系,來充分發揮AI技術對業務的助力作用。圖片

簡言之,AI架構師以工程架構為橋樑實現AI技術和業務應用的對接。整個過程由業務驅動,通過工程架構進行任務分解後由AI演算法落地和實現。這三個方面既是AI架構師的定義,也是AI架構師的要求或特徵。

成為AI架構師的三大核心能力

成為AI架構師的三大核心能力AI架構師不同於傳統的AI演算法科研人員,演算法科研人員針對的任務往往都是抽象後的、環境變數相對固定的問題,基於這些問題做模型演算法層面的研究;AI架構師也不同於一般的架構師,一般的架構人員通常直接按業務需求設計工程實現,沒有AI演算法這一層從而對技術要求和思考角度有較大不同。AI架構師對AI演算法、業務理解和工程實現都有比較高的綜合性要求。

掌握AI技術及相關應用、開發流程

AI架構師要對AI技術以及AI開發應用有遞進式的理解。如果只是看了具體任務的幾篇技術文章、拿來開原始碼然後照示例來執行,好像看起來是很高效的上手了。這樣做小的專案可能沒什麼問題,但對於更復雜的專案或者新的任務場景,很可能還是手足無措。所以,對於AI架構師而言,他必須對AI的基礎技術和開發應用流程有更本質的理解和系統化的掌握,可以遞進式的拆解為如下幾個層面:

  • 首先,要熟悉機器學習的基本原理、特性,包括其侷限性。 例如要知道機器學習整體的工作機制,資料、特徵、模型之間的關係,訓練集、驗證集、測試集的作用,模型訓練的概要原理,效果怎麼評估,擬合、泛化以及正則化等基本概念。
  • 第二,要掌握深度學習技術棧。 由於現在AI實踐多以深度學習為主,AI架構師需要掌握深度學習的基本原理和特性,瞭解諸如神經網路的基本構造、反向傳播和梯度優化等基本訓練方法,還要掌握深度學習相關的開發框架、開源工具的使用。
  • 第三,要了解主流的模型演算法和網路結構。 不要求對每個演算法領域都非常精通,但AI架構師要整體瞭解當前最常用的模型演算法大概有哪些、各自有什麼特點、分別適合解決什麼型別的問題,對主流的模型特色和網路結構有較好的把握,也就是說對常用AI演算法廣度上的要求。
  • 第四,要對AI開發應用部署的流程熟悉。 前面三點主要聚焦在AI知識層面,而部署流程則是實操層面。在機器學習一般任務中,要對資料處理、特徵設計、效果調優、效能優化、部署上線等環節得有比較全面的理解和實操經驗,AI技術並不只是靜態的演算法。
  • 此外,最好還需要對AI軟硬體協同有一定了解。 AI講究的是效率,而計算特性的發揮需要硬體支援。比如什麼任務什麼時候執行在CPU上合適、什麼時候執行在GPU上合適,要不要分散式訓練或推理,分散式時資源怎麼做負載均衡和彈性排程等。

以上是對AI技術本身而言,尚未涉及業務。就像超級英雄電影裡的情節一樣,我們先要擁有某種超能力或者黑科技,這是拯救世界的先決條件。這一層面強調的是目的不是要成為AI技術專家,而是要做到對AI技術有比較巨集觀和本質的理解把握。需要注意的是,這層能力的掌握需要一個漸進的過程,不能期望一蹴而就,或者說設想先學成AI技術專家再去做業務,最好是結合專案實踐不斷迭代深入,先巨集觀再細節,先整體再區域性,先黑盒再白盒。

對業務的理解和抽象能力

這裡的關鍵點是要“理解”業務。作為AI架構師,尤其需要重視理解業務的訴求和邏輯,只有抓住業務問題的關鍵點,才能夠做出正確的抽象設計和技術選型,切忌不要只從AI技術出發只是想當然。

  • 首先,要把握業務的關鍵問題和核心邏輯

比如說要做推薦或者是資訊流的產品,核心邏輯是推薦符合使用者興趣的內容,怎麼匹配使用者的興趣是解決這個問題的關鍵;做搜尋產品的核心邏輯肯定是排序,排序的關鍵是語義匹配。這個過程可以稱之為橫面的抽象⸺首先就抓住了業務的重點、痛點。通常橫面抽象可以用傳統的方法來解決,但如果開局這一步沒有做好,就相當於一個問題要解決的方向不準,後面無論採取什麼AI策略都難以發揮效果,對產品或業務而言就成了緣木求魚。

  • 第二,機器學習技術層面的抽象以及對應的技術匹配

機器學習的基本任務型別包括分類、迴歸和排序等,我們要看業務關鍵問題可以抽象為一個什麼機器學習問題。有些任務場景雖然複雜但已經有了現成的答案,比如語音識別、人臉識別的問題,可以套用成熟的方案。當然這些方案當初也都經歷了對應的機器學習技術抽象的過程。現在看來非常簡單的中文分詞問題,也是因為首先把它變成一個分類問題後才在機器學習技術下取得了突破。

但一些新場景的問題就需要AI架構師去做這一層的抽象,比如前面提到的使用者興趣匹配和語義匹配問題,需要我們進一步的技術抽象,對映成對應的機器學習技術問題。

  • 第三,做完技術匹配再往下要做具體的模型選型

同樣是分類的問題這個場景適合選擇什麼模型或者網路結構?是直接套用某個成熟模型,還是要針對任務特點組裝一個新模型?基礎網路結構是選擇MLP、CNN、LSTM還是選transformer?我們要根據實際任務特性構建模型的結構,比如輸入是離散高階特徵還是原始訊號特徵,是序列還是非序列等等,以及應用場景對計算代價的要求等因素也需要考慮。再往後就涉及模型的具體細節、訓練的策略、引數的設定等層面了。

以上環節裡,需要指出的是,對解決問題效果的影響,越往前面(對業務的理解)越重要,越往後(技術實現方式)影響力越小。如果業務關鍵問題的把握和大的技術選型不對,具體模型演算法的調優只能事倍功半。

同時需要注意到,業務的理解和抽象的一個重點是創造性。對AI的業務落地來說,很多情況下不是說需求已經很明確、直接按照需求做軟體就可以了;而是需要根據業務場景構造對AI技術的需求,然後再對映到架構上去⸺創新才是AI能發揮最大效力的關鍵。另外,有些複雜的問題可能不是一個AI技術能解決的,需要多個AI技術模組協同或者與一些非AI的技術協作才能完成。這時需要我們具備整體的架構能力,而不是簡單的生搬硬套。至此,我們確定了要解決的具體問題是什麼,基本上做到了兵法裡的“知己(AI技術)知彼(業務痛點)”,接下來該如何擺兵佈陣了。
圖片

高效可落地的工程能力

在工程實踐過程中的著眼點要求不但可落地,還要高效。如前所述,解決一個複雜業務問題可能需要不止一個AI技術,我們需要根據業務的實際場景合理選擇工具和資源,去進行組合、組裝、串聯以達到工程實踐的要求。此外,由於業務時間要求、成本限制、質量要求等等,我們不可能在最理想態下、不計成本地解決問題。這時我們就要做折中的選擇,並儘可能提高技術方案的可擴充套件性,使之能隨著業務的變化而不斷演進。對於真正的AI產業應用,這一環節尤為重要。而深度學習對應的“大模型、大資料、大算力”的要求,對工程落地提出了更多的挑戰。近年來不止產業界,學術界也開始更多關注AI系統構建的相關技術設計和工程實現問題。

在方案落地的時候,一定會較多地涉及系統構建和部署的問題,AI架構師要對系統的整體設計、部署和硬體環境相關的問題進行深思熟慮,到底硬體資源該怎麼選、部署怎麼實現、系統怎麼執行,等等。最後,要有迭代的意識。常有人用“開著高速換輪胎”來形容快速迭代,一個系統在上線過程中肯定會遇到各種意想不到的問題,例如實際效果低於預期、執行效率不高等等,這時如果沒有快速迭代能力,專案便很難繼續推進下去。