隨著人工智慧技術的快速發展,系統架構設計在構建高效可靠的 AI 系統中扮演著至關重要的角色。一個良好的架構設計需要考慮系統的各個導向,包括 AI 模型的選擇、資料的處理、資源的組態以及模型的佈署和維護。本文將深入探討 AI 系統架構設計的關鍵導向,涵蓋從傳統的符號 AI 到現代的機器學習和基礎模型等不同模型型別,並闡述模型開發生命週期,為構建高效可靠的 AI 系統提供實用。對於資料處理,資料清理和特徵工程是確保模型品質的關鍵步驟,需要處理缺失值、異常值等資料問題,並進行特徵編碼和縮放等操作。在資源組態方面,需要根據所使用的 AI 技術選擇合適的資源,例如本地資源、邊緣資源或雲端資源。MLOps 的概念也至關重要,它涵蓋了管理和佈署 AI 和機器學習模型的過程和工具,以及資料的清理、組織和高效處理。
人工智慧系統架構設計
人工智慧(AI)系統的架構設計是指根據系統的功能和品質目標,設計出一個藍圖,以便於系統的建設和實作。這個藍圖需要考慮到系統的各個部分之間的關係,包括 AI 模型、資料、資源等。
架構設計的角色
架構設計在系統建設中扮演著重要的角色。它需要:
- 將系統分解為多個部分,例如元件或 AI 模型,並定義其之間的關係。
- 指定系統各個部分的資源分配。
- 允許在執行期間進行監控和警示生成。
- 支援更新佈署策略。
品質實作
架構設計將決定系統中不依賴 AI 模型的品質屬性目標的實作。每個品質屬性都有一些特定的架構技術(稱為架構戰術)來支援其實作。這些技術包括冗餘、快取、支援使用者主動等。
資源
系統將執行在一組資源上,包括佈署的 AI 部分。AI 模型也需要在佈署之前進行開發和訓練,這也需要資源。資源類別包括:
- 本地:筆記型電腦或桌面電腦。
- 邊緣:智慧手機或物聯網裝置。
- 雲端:公有或私有雲中的資源。
AI 模型品質
AI 模型的品質主要取決於兩個因素:用於推理的資料和 AI 模型型別。資料可能來自各種源頭,包括資料函式庫、企業系統、網頁抓取、社交媒體、公共資料集和感應器資料。無論資料來源如何,資料問題都是常見的,例如缺失值、異常值、不一致的資料格式、重複資料、資料品質問題和非結構化資料。
資料清理和特徵工程
資料清理和特徵工程是 AI 系統中非常重要的步驟。資料清理涉及處理資料問題,例如缺失值和異常值。特徵工程則涉及改進資料特徵,例如編碼類別特徵為數值和縮放特徵以避免某些特徵主導模型建立過程。
MLOps 定義
MLOps 是一個類別似於 DevOps 的概念,涵蓋了管理和佈署 AI 和機器學習模型的過程和工具,以及清理、組織和高效處理資料的過程。
AI 模型型別
AI 模型有多種型別,每種型別都有其優缺點和適用場景。在選擇 AI 模型時,需要考慮到系統的功能和品質目標,以及資料的特徵和品質。
內容解密:
上述內容介紹了 AI 系統架構設計的重要性,包括架構設計的角色、品質實作、資源、AI 模型品質、資料清理和特徵工程、MLOps 定義以及 AI 模型型別。這些概念是 AI 系統建設中非常重要的基礎知識。
圖表翻譯:
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333
title 圖表翻譯:
rectangle "需要" as node1
rectangle "包含" as node2
rectangle "與" as node3
rectangle "相關" as node4
rectangle "來自" as node5
rectangle "可能有" as node6
rectangle "和" as node7
rectangle "以" as node8
node1 --> node2
node2 --> node3
node3 --> node4
node4 --> node5
node5 --> node6
node6 --> node7
node7 --> node8
@enduml上述 Plantuml 圖表展示了 AI 系統、架構設計、元件、AI 模型、資料、資料來源頭、資料問題、資料清理、特徵工程以及提高模型品質之間的關係。
人工智慧模型型別
在沒有明確的演算法解決方案時,設計師會選擇使用人工智慧(AI)模型。AI 模型的功能依賴於兩個關鍵元件:知識函式庫的開發和計算引擎的運作。計算引擎,也就是推理引擎或佈署模型,負責根據知識函式庫處理輸入並生成輸出。
知識函式庫是由資料轉換成結構化形式而形成的。這種結構化形式可以是一個機器學習模型、規則集或專家知識函式庫。當知識函式庫建立並結構化後,推理引擎利用它來進行預測、生成內容或實作其他型別的結果。AI 系統的一部分是推理引擎與知識函式庫的某種表示形式的封裝。這個定義的重要點是,AI 部分是可執行的,可以在執行時作為函式或服務被呼叫。
AI 模型根據兩種 AI 技術類別之一:符號或非符號。符號 AI 根據符號,如邏輯陳述式或帶有變數的規則,而非符號或亞符號 AI 根據機器學習。機器學習根據系統的一個子類別是由玄貓(FMs)形成的。這些類別在知識函式庫中如何編碼知識以及推理引擎如何運作方面有所不同。
符號 AI
符號系統,也稱為舊式人工智慧(GOFAI)、符號 AI 或專家系統,是一組用於產生回應值或內部變數值的規則集。假設您想建立一個 AI 模型來預測在任何特定情境下您會選擇哪部電影。在符號 AI 模型中,開發人員可能會編碼規則,如“如果使用者在過去一週內觀看了兩部以上的動作電影,則推薦另一部動作電影”或“如果是晴天的星期六下午,則建議一部溫馨的家庭電影”。只要有足夠的規則,符號 AI 模型就可以根據知識函式庫進行推理以提出電影建議。
規則是一個如果-則陳述式。如果指定條件為真,則執行某項活動。一組此類別規則提供了一個篩選器,用於生成結果。常見示例包括:
- 診斷:可以是醫學、學生行為或幫助桌面相關的,例如,如果使用者具有應用程式的版本 X,則某些功能將不可用。
- 實時過程控制:例如,如果預計在 10 分鐘內開始暴風雨,則關閉建築物外部百葉窗。
- 風險評估:例如,如果年度收入少於年度按揭付款的三倍,則不授予房屋貸款。
- 執行業務規則:例如,如果保險索賠超過 2000 美元,則執行額外的手動檢查。
規則集構成了符號系統的知識函式庫。規則由玄貓(規則引擎)預處理,以加快符號系統的推理部分。規則引擎對預處理輸入進行排序,以找到與規則的“如果”部分匹配的內容。
現代系統可以執行比簡單過濾更復雜的處理。匹配集構成了可能回應的列表。如果匹配列表有多個專案,則需要額外輸入來確定系統回應。這些輸入可以來自人類或一組衝突解決規則。大型規則函式庫可能包含相互矛盾的資訊,規則引擎將找出衝突以便進一步分析。根據規則的系統由玄貓進行自定義。
其他型別的符號 AI 模型包括規劃和本體推理:
- 規劃:動作以先決條件和效果描述。例如,考慮一個雲控制 API,其中一個動作是啟動虛擬機器。先決條件是啟動組態(從哪個映像啟動 VM 等)和防火牆設定已定義;效果是啟動具有指定防火牆設定和從相應啟動組態的新 VM。AI 規劃以此類別動作描述為輸入,以及初始狀態和所需目標狀態。然後演算法建立一個從初始狀態到目標狀態的動作計劃。
- 本體推理:概念(例如藥物、頭痛藥、蔬菜、蘋果、工具、螺絲刀)、其關係和規則(每種食物和每種藥物都有一個過期日期)被定義。在此基礎上,可以進行邏輯推理,例如推斷頭痛藥有一個過期日期。
機器學習
機器學習(ML)使用統計技術生成結果。ML 訓練集是輸入到訓練中,這反過來生成知識函式庫。訓練集中的一個資料值由玄貓標記。模型由玄貓訓練,連同相關的機器學習和統計技術,以確定模型引數。機器學習的一個子類別,被稱為深度學習,自動確定這些功能。‘狹窄’ML 模型指的是為特定集合目標和能力而訓練的模型,這與更通用的基礎模型有所區別。一些主要型別的 ML 模型包括:
- 分類別:將類別分配給輸入,例如,這張圖片包含一隻狗。
- 迴歸:推斷連續值而不是離散類別,例如,預測特定的保險索賠流程將需要 3 天才能完成。
- 叢集:將相似的資料點分組在一起,而無需事先知道群組,例如,這組客戶的行為似乎相似。
ML 模型可以進一步由玄貓自定義(例如,我們正在尋找多少個叢集?),並重新生成知識函式庫。
基礎模型的概念與應用
基礎模型(Foundation Model,FM)是一種利用神經網路作為核心架構的機器學習模型。它與傳統的機器學習模型在兩個關鍵方面有所不同:首先,基礎模型是在一個龐大且多樣化的資料集上進行訓練,通常包含數十億甚至數萬億的資料點;其次,訓練資料大多數是未標記的,與傳統機器學習中通常使用的結構化、標記過且往往是數值或類別的資料不同。
「基礎」的名稱反映了這種模型的通用性質,因為它不是為了特定的任務而設計,而是一個可以被改造以適應各種專門應用的基礎模型。這種定製允許模型在各自的應用領域中表現出色。
大語言模型(Large Language Models,LLMs)是一種基礎模型的例子。它們是在大量文字資料上進行訓練,並且通常具有生成文字序列的能力。變換器架構是用於構建 LLMs 最常用的機器學習模型架構。OpenAI 的 GPT-3 和 GPT-4 模型是 LLMs 中最著名的例子,但還有許多開源替代方案可供選擇,包括 Mistral 和 Llama。對於各種開源 LLMs 和其他預先訓練的 AI 模型,您可以存取 Hugging Face 的模型中心。
基礎模型可以透過微調(fine-tuning)、提示(prompting)、增強生成(retrieval-augmented generation)等方法進行定製或補充。還有一種稱為「防護欄」(guardrails)的機制,可以作為保障,確保 AI 技術的安全和負責任使用,並防止某些攻擊。防護欄可以包括策略、機制和政策,以防止濫用、保護使用者隱私並促進透明度和公平性。
模型開發生命週期
一旦模型被開發,下一步就是構建模型,即建立一個包含模型或存取模型的可執行檔案。如果模型被包含在內,這涉及將模型轉換為可在系統中執行的可佈署格式。模型構建階段確保 AI 模型已經準備好進行整合。
在模型構建完成後,需要對其進行徹底測試,以評估其準確性並找出任何潛在風險或偏差。模型測試階段涉及根據預先定義的指標和標準評估模型的效能。確保模型可靠執行並產生準確結果至關重要。
一旦模型透過測試並獲得批准,它就可以釋放以便整合到系統中。模型釋放階段涉及最終定製模型以便佈署,並批准其與系統的其他元件進行整合。
AI 元件的資源組態
如前所述,在討論資源時,AI 系統中 AI 元件的資源組態取決於所使用的 AI 技術。不同技術的資源需求取決於所選擇的技術。
機器學習(ML):ML 模型的訓練階段可以在本地或雲端資源上進行,或者在特殊情況下使用邊緣/裝置學習。生成的可執行檔案可以分配給邊緣資源,如果檔案夠小;否則,它可以分配給本地或遠端資源。
基礎模型(FM):基礎模型通常託管在雲端資源上,可以透過 API 呼叫或服務訊息呼叫存取。一些基礎模型是為特定領域進行訓練,如果夠小,可以直接在邊緣裝置(如手機或智慧揚聲器)上執行,以便進行實時應用。基礎模型壓縮或蒸餾以及減少其資源需求的技術是正在進行的研究課題,並將隨著時間推移而演變。我們將在第 4 章討論這些技術。
內容解密:基礎模型與其應用
基礎模型作為一種機器學習模型,其特點在於使用神經網路作為核心架構,並在龐大且多樣化的資料集上進行訓練。這使得基礎模型能夠學習到豐富的知識和模式,並能夠應用於各種不同的任務中。
大語言模型是基礎模型的一種特殊形式,它們是在大量文字資料上進行訓練,並具有生成文字序列的能力。變換器架構是構建大語言模型最常用的機器學習模型架構。
基礎模型可以透過微調、提示、增強生成等方法進行定製或補充,以適應不同的應用需求。同時,還有一種稱為「防護欄」的機制,可以作為保障,確保 AI 技術的安全和負責任使用,並防止某些攻擊。
圖表翻譯:基礎模型架構
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333
title 圖表翻譯:基礎模型架構
rectangle "訓練" as node1
rectangle "生成" as node2
rectangle "應用" as node3
rectangle "實作" as node4
rectangle "最佳化" as node5
node1 --> node2
node2 --> node3
node3 --> node4
node4 --> node5
@enduml圖表翻譯:基礎模型與大語言模型關係
@startuml
skinparam backgroundColor #FEFEFE
skinparam defaultTextAlignment center
skinparam rectangleBackgroundColor #F5F5F5
skinparam rectangleBorderColor #333333
skinparam arrowColor #333333
title 圖表翻譯:基礎模型與大語言模型關係
rectangle "包含" as node1
rectangle "繼承" as node2
rectangle "實作" as node3
rectangle "應用" as node4
rectangle "最佳化" as node5
node1 --> node2
node2 --> node3
node3 --> node4
node4 --> node5
@enduml人工智慧(AI)系統架構設計正經歷從傳統機器學習模型到基礎模型的典範轉移。深入剖析這兩種技術的核心差異,可以發現,基礎模型利用龐大的未標記資料集和神經網路架構,展現出更強的泛化能力和遷移學習潛力,為 AI 應用帶來更廣闊的可能性。然而,基礎模型的訓練和佈署需要巨大的計算資源,也存在模型可解釋性、偏差和安全等挑戰。
相較之下,傳統機器學習模型更易於理解和控制,在特定任務上能達到高精確度,且對資源的需求相對較低。但在面對複雜多變的真實世界場景時,其泛化能力和適應性則顯不足。權衡兩種技術的優劣,企業需要根據自身業務需求、資源狀況和技術成熟度,選擇合適的 AI 技術路線。對於資源有限的中小型企業,從傳統機器學習模型入手,逐步探索基礎模型的應用或許是更務實的策略。大型企業則可以投入更多資源,積極佈局基礎模型的研發和應用,搶佔技術制高點。
隨著模型壓縮、蒸餾等技術的發展,基礎模型的佈署成本將逐步降低,其應用場景也將更加多元化。同時,可解釋性 AI、聯邦學習等技術的進步,將有助於提升基礎模型的透明度和安全性。玄貓認為,未來幾年,基礎模型和傳統機器學習模型將呈現互補共存的態勢,共同推動 AI 技術的快速發展和產業落地。對於技術團隊而言,掌握這兩種技術的核心原理和應用方法,將是未來保持競爭力的關鍵。