Amazon MLA-C01: 生成式 AI 與基礎模型 — 學習指南
屬於 AWS Machine Learning Engineer Associate MLA-C01 — 學習指南. 使用經過驗證的解答練習: Amazon 考試中心, 或參加限時模擬考試: ExamRoll.io.
核心概念
基礎模型 (Foundation models) 是大型的預訓練網路——通常基於 transformer 架構——提供通用的語言、視覺或多模態表徵。實際的生產化需要透過三種正交的手段,將這些廣泛的能力轉化為特定應用的行為:在推論時進行提示工程 (prompt engineering)、利用檢索增強生成 (retrieval-augmented generation, RAG) 將輸出建立在最新或特定領域的知識基礎上,以及透過微調 (fine-tuning) 或參數效率技術進行模型客製化。Amazon Bedrock 提供一個託管路徑,可透過統一的 API 呼叫第三方和 Amazon 提供的基礎模型,在抽象化模型選擇的同時,保留對輸入、模型參數 (temperature、top_p、max_output_tokens) 和回應處理的控制。SageMaker JumpStart 則透過打包預訓練的模型成品 (artifacts)、訓練腳本和微調配方 (recipes) 來輔助 Bedrock,這些配方可在 SageMaker Training 或 Hugging Face 容器上運行,從而實現可重現的適應工作流程和模型註冊表整合。
微調有多種類型,它們在運算和資料集需求與適應的擬真度之間進行權衡。完整微調 (Full fine-tuning) 會更新所有模型權重,通常能產生最高的特定任務效能,但需要大型 GPU 叢集和儲存空間來存放檢查點。參數效率微調 (Parameter-efficient fine-tuning, PEFT) 技術,例如 LoRA (low-rank adapters)、轉接器模組 (adapter modules) 或 QLoRA (quantized low-rank adapters),透過注入並訓練少量額外參數,大幅減少 GPU 記憶體和時間;這些技術與使用 Hugging Face 和 bitsandbytes 進行 8 位元/4 位元量化的 SageMaker training 相容。從人類回饋中進行強化學習 (Reinforcement learning from human feedback, RLHF) 是一個更複雜的流程:收集成對的人類偏好標籤,訓練一個獎勵模型 (reward model)(這是一個使用 SageMaker Training 和 ModelPackage 的監督式學習步驟),並使用 on-policy RL (PPO 或類似方法) 來優化策略模型 (policy model),同時將 rollout 和檢查點儲存在 S3 中,並使用 SageMaker Debugger 監控獎勵訊號。
RAG 架構將基礎模型與最新的語料庫連接起來,以減少幻覺 (hallucinations)。典型的 RAG 流程會使用嵌入模型 (embeddings model)(Bedrock Embeddings API 或 SageMaker Hugging Face embedder)來嵌入查詢文本,在索引中執行最近鄰向量搜尋(使用帶有 k-NN 的 Amazon OpenSearch Service、Amazon Kendra 或第三方向量資料庫),檢索前 k 個文件,並透過提示模板和受控的解碼參數,用檢索到的上下文來制約語言模型。管理新鮮度和相關性需要定期重新擷取和重新索引來源,可使用 AWS Glue、用於串流更新的 AWS Lambda 或用於交易來源的 AWS DMS,並將來源元資料 (source_id、document_id、ingestion_time) 與向量一起儲存以供稽核。
主要服務與組態
Amazon Bedrock 公開了 InvokeModel API,其請求中包含模型識別碼和執行時參數:傳入 modelId、contentType 和 accept 標頭、包含提示 (prompts) 或 inputText 的 body,以及模型參數如 temperature、topP 和 maxOutputTokens。使用結構化的系統和使用者訊息來區分基於角色的指令並約束輸出格式;強制執行停止序列 (stop sequences) 和 max_output_tokens 以限制延遲和成本。若要生成嵌入 (embeddings),請使用 Bedrock embeddings 端點或 SageMaker Hugging Face 推論容器,並將向量持久化到 OpenSearch、Kendra 或外部向量資料庫中。
SageMaker JumpStart 提供預先建置的筆記本和微調流程,這些流程會與帶有具體 API 參數的 CreateTrainingJob 連接:TrainingJobName、AlgorithmSpecification (TrainingImage、TrainingInputMode)、RoleArn、InputDataConfig (S3Uri、DataSource)、OutputDataConfig (S3OutputPath)、ResourceConfig (InstanceType、InstanceCount、VolumeSizeInGB) 和 StoppingCondition (MaxRuntimeInSeconds)。對於模型治理,請使用 SageMaker Model Registry 和 CreateModelPackage/CreateModelPackageGroup,並將 ApprovalStatus 設為 “PendingManualApproval”;透過將 ApprovalStatus 屬性與 AWS CodePipeline 或 AWS Step Functions 以及 ManualApproval 動作結合使用,以控制部署,從而將模型晉升整合到 CI/CD 中。為了持續監控和偏差偵測,請透過帶有 MonitoringScheduleConfig 和 BaselineConfig 的 CreateMonitoringSchedule 來部署 SageMaker Model Monitor;透過 ProcessingJob API (ClarifyProcessor.run_pre_training_bias 和 run_post_training_bias) 使用 SageMaker Clarify 來計算資料集偏差指標,並產生儲存在 S3 中的基準線。
對於向量搜尋和 RAG,請根據規模和查詢延遲選擇索引和搜尋技術。Amazon OpenSearch Service 支援 k-NN 插件,並提供 REST API 和精細的存取控制;Amazon Kendra 提供企業級語意搜尋,並附有連接到 S3、SharePoint 和 RDS 的連接器。使用 AWS Glue 爬蟲程式 (crawlers) 來建立一個中央的 Data Catalog,並使用 AWS Lake Formation 來對 S3 訓練資料強制執行精細的存取控制和隔離,確保 IAM、儲存貯體政策和加密 (SSE-S3 或 SSE-KMS) 都已應用。
設計模式與權衡取捨
在客製化基礎模型時,需在離線微調與執行期提示工程之間做出決定。完整微調能為特定任務最大化效能,但會增加維運複雜度:訓練任務需要大型 GPU 叢集、多節點分散式訓練 (使用 SageMaker DistributedDataParallel 或在 Script Mode 中使用 Horovod)、透過 UploadDirectory 將檢查點儲存至 S3,以及後續為了高效率推論而做的量化與轉換。像 LoRA 這類的 PEFT 方法會凍結大部分的模型權重,從而大幅減少訓練時間、讓超參數掃描的成本更低,並且因為基礎模型保持不變,也簡化了還原操作。在推論方面,Bedrock 管理的端點能減輕第三方 FM 的維運負擔,而 SageMaker 即時端點則提供更深度的控制:使用 MultiModelEndpoints 從單一執行個體提供多個模型服務、使用 Serverless Inference 來應對不可預測的流量,或使用具備自動擴展與已佈建並行功能的已佈建端點以減少冷啟動。
RAG 的複雜性在於保持索引的即時性,以及在檢索與幻覺之間取得平衡。一個簡單的模式是混合式檢索:首先進行向量搜尋 (語意),然後再用關鍵字過濾以確保精確度。儲存文件區塊的中繼資料,這樣生成步驟便能引用來源,並有助於 Model Monitor 檢查幻覺發生的頻率。對於延遲敏感的應用程式,應將嵌入運算和索引部署在同一位置 (例如將 SageMaker 推論與 OpenSearch 放在同一個 VPC 中),並使用近似最近鄰 (ANN) 索引,以召回率換取速度。
RLHF 的導入門檻高,但在需要與人類價值觀或安全性對齊時,卻是必要的。其管線需要用於標註的工具、使用 SageMaker Estimator API 進行可重現的獎勵模型訓練,以及穩定的強化學習優化器 (例如 RLlib 或 Stable Baselines 系列中的 PPO 實作)。RLHF 的成本與不穩定性,必須與其糾正那些無法被編碼為靜態損失函數之行為的能力進行權衡。
常見陷阱與決策標準
一個常見的錯誤是,僅依賴提示詞來修復需要模型層級適應的系統性錯誤;提示詞雖有幫助,但無法取代用於領域知識落地的微調或 RAG。另一個陷阱是低估了治理的重要性:將生成式系統投入生產環境需要模型血緣 (SageMaker Model Registry)、自動漂移偵測 (Model Monitor 基準線與 Clarify),以及一個審批工作流程 (ApprovalStatus + CodePipeline 手動審批)。對於嵌入儲存庫,若選擇一個沒有元資料或來源資訊的向量索引,會讓日後的稽核與錯誤分析變得成本高昂。
在決定模型託管方式時,需在控制權與維運開銷之間取得平衡。當您想託管式地存取多樣化、高效能的基礎模型,而不想管理推論叢集時,請使用 Bedrock。當您需要自訂推論堆疊、VPC 隔離,或與 Model Registry 和 Model Monitor 完整整合時,請使用 SageMaker 端點。在微調方法方面,當資料集規模不大且需要快速迭代時,選擇 PEFT;當領域需要深層的表徵變更且您有足夠的 GPU 預算時,則選擇完整微調。
實務問題:使用案例情境
指定公司:AuroraPayments — 挑戰:部署一個低延遲、可稽核的詐欺偵測助理,該助理能綜合交易情境與政策文件來解釋可疑分數,並支援受控的模型更新。
資料彙總與儲存:使用 AWS Glue 爬取 S3 交易日誌,並設定 AWS DMS 將地端的 MySQL 資料表複寫到 Amazon RDS 或 S3。在 AWS Glue Data Catalog 中註冊所有來源,並套用 Lake Formation 政策。理由:Glue 提供無伺服器 ETL 與統一目錄,供下游擷取使用,而 Lake Formation 則強制執行 S3 存取隔離。
特徵工程與異常偵測:將特徵擷取至 SageMaker Feature Store,以確保線下/線上的一致性。使用 Amazon Lookout for Metrics 對交易時間序列執行自動化異常偵測,並在 Amazon QuickSight 中呈現儀表板。理由:Feature Store 保證了用於訓練和服務的可重現特徵;Lookout for Metrics 自動化了異常偵測,而 QuickSight 為業務分析師提供了視覺化工具。
模型訓練與不平衡處理:使用 SageMaker 內建的 XGBoost 搭配超參數來訓練一個 XGBoost 分類器,並將 scale_pos_weight 設定為 (num_negative/num_positive) 來校正類別不平衡。使用 SageMaker Training CreateTrainingJob,其 ResourceConfig 需針對訓練規模進行調整,並啟用 S3 檢查點以實現容錯能力。理由:XGBoost 對於表格式的詐欺偵測任務非常有效;與合成過採樣相比,scale_pos_weight 所需的維運開銷極小。
模型註冊、審批與部署:使用 CreateModelPackage/ModelPackageGroupName 將模型產物註冊到 SageMaker Model Registry,並將 ApprovalStatus 設定為 “PendingManualApproval”。實作一個 CodePipeline,觸發一個審批動作,然後將經核准的版本部署到 SageMaker 即時端點,可使用 MultiModel 端點或位於 Auto Scaling 後方的 Provisioned Instances。理由:Model Registry 維護集中的版本控制與治理;透過 CodePipeline 進行手動審批可強制執行授權的發布。
可解釋性與用於政策基礎落地的 RAG:使用 Bedrock 或 SageMaker Hugging Face 嵌入器為政策文件建立嵌入,並將其連同元資料索引到 Amazon OpenSearch k-NN 中,然後實作一個 RAG 流程,其中可疑交易的提示詞會包含檢索到的 top-k 政策片段,以及一個指示基礎模型引用來源並生成人類可讀解釋的範本。理由:RAG 將解釋建立在權威文件之上,而 OpenSearch 在安全邊界內提供了可擴展的向量搜尋功能。
監控與重新訓練:啟用 SageMaker Model Monitor,並使用來自初始驗證的基準線,同時排程隨選的 Clarify ProcessingJobs 來執行部署後的偏見檢查。如果 Model Monitor 發出漂移信號 (特徵的分佈變化或標籤變更),則觸發一個 SageMaker Pipeline,該 Pipeline 會執行資料擷取、若使用基礎模型編碼器處理文字特徵則以 LoRA 微調進行重新訓練、評估,並將新模型以 PendingManualApproval 狀態放入註冊表。理由:透過自動化管線進行持續監控,可在維持模型效能與合規性的同時,保留對生產環境變更的手動控制權。
← 安全性、治理與合規性 · 所有領域 · ML 工作負載的成本優化 →
練習這些題目 → · 在 ExamRoll.io 上限時練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通過考試 →