AI 技術堆疊是什麼?
人工智慧技術堆疊是完整的端對端解決方案,由促進開發與部署 AI 應用程式的軟硬體和工具所組成。AI 技術堆疊雖然與打造通用軟體應用程式所使用的技術堆疊類似,卻包含支援 AI 模型建構的專門工具,從而實現機器學習與深度學習。
AI 技術堆疊包含四個關鍵基礎層:應用層、模型層、資料層和基礎架構層。
應用層
AI 技術堆疊的應用層包括任何軟體、使用者介面和無障礙功能,讓使用者能與基礎 AI 模型以及支援 AI 解決方案的資料集互動。例如,瀏覽器型的介面可讓使用者將問題傳送至 ChatGPT 等生成式 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
中央處理器單元(CPU)或處理器執行使電腦運行的邏輯指令。在處理器架構中,單執行緒處理器核心一次可執行單一指令,而多執行緒核心則可同時執行兩項指令。對於 AI 工作負載來說,多執行緒核心提供的效能高於單執行緒,可協助更高效地訓練 AI 模型。
GPU
圖形處理器(GPU)是專為處理圖形工作負載所設計的元件,利用大量執行單元同時運作。圖形與 AI 工作負載仰賴相同類型的操作,因此 GPU 常用於 AI 部署。GPU 可分為獨立 GPU(dGPU)插入卡或內建於 CPU 架構中的整合式 GPU(iGPU)。dGPU 在 AI 伺服器較為常見,而 iGPU 則多見於用戶端電腦或邊緣裝置。
FPGA
現場可程式化閘陣列(FPGA)是用於處理資料的獨立插入卡,可於製造後自訂功能。這項設計賦予 FPGA 高度靈活性,可加速資料移動、加密或處理,適用於 AI 等各類工作負載。
AI 加速器
獨立 AI 加速器是專為處理 AI 工作負載而設計的硬體元件,適用於大規模資料中心的部署。部分獨立 AI 加速器還提供內建網路等功能,協助降低基礎架構成本,同時實現與 GPU 相當的 AI 訓練與推斷效能。
邊緣 AI
邊緣 AI 利用多種前述的 AI 硬體元件,包括 CPU、GPU、FPGA 以及 AI 加速器。主要差異在於系統的部署位置。許多企業將 AI 部署在資料中心,邊緣 AI 即為部署在城市路口、零售商店或工廠等邊緣環境中的 AI 系統。
邊緣 AI 在資料生成的同時進行推論,實現近乎即時的分析與行動。正因如此,比起將資料傳送到雲端進行推論再回傳,邊緣 AI 可能更具有成本效益,所需的網路基礎架構與雲端資源也較少。
AI 伺服器
AI 伺服器是專為 AI 工作負載需求所設計的電腦,能為企業與終端使用者所使用的其他系統提供服務、應用程式和資料。AI 伺服器結合 AI 處理器、加速器和網路硬體,支援資料儲存與準備,以及 AI 模型的訓練與推斷。企業資料中心由多台 AI 伺服器組成,而邊緣 AI 部署則可能需要一台或多台邊緣 AI 伺服器實現功能。
AI 網路
高效能網路是技術基礎架構的關鍵要素,使 AI 應用程式高效又安全地運作。AI 網路必須提供穩定的連線,具備強大、高效、安全和靈活的特性。由於 AI 可在各種環境實施,因此網路解決方案可能包含在 AI 資料中心、用戶端、雲端和邊緣的獨立系統與裝置之間的有線、無線及虛擬化連線。強大的網路安全功能同樣至關重要,用以保護供給機器學習演算法和其他 AI 程式的龐大資料集,包括使用者的個人資訊。
AI 軟體
AI 與其他軟體相同,都是執行在硬體上的程式碼。AI 軟體可使用多種不同的編碼語言,包括 Python、Java 或 C++。開發者利用 AI 架構建構、訓練和部署 AI 模型,而 AI 架構則運用 AI 程式庫和工具套件使開發 AI 更加輕鬆,並提供預先建構的元素與程式碼範例。AI 軟體對 AI 技術堆疊中的模型層和應用層發展貢獻良多。
AI 架構
AI 架構既是平台,也是應用程式。開發者使用 AI 架構來建構、訓練和部署 AI 解決方案。AI 架構整合了多項方法,支援單一或多種編碼語言,並可能提供使瀏覽與編輯程式碼更加輕鬆的介面。AI 架構的例子包含 PyTorch 與 TensorFlow。
AI 程式庫
AI 程式庫是模組化的預先建構 AI 功能和程式碼範例的集合,開發者可以利用這些資源開發自己的 AI 模型,無需從頭開始建立。AI 架構利用 AI 程式庫協助加速 AI 開發過程。AI 程式庫的例子包括 Keras 與 Scikit-learn。