# AWS Certified AI Practitioner learning - Day 2 ### Amazon Bedrock 與生成式 AI 概念 --- ### Amazon SageMaker Clarify * Amazon SageMaker Clarify 提供工具來分析模型預測並建立檢測偏見,增強透明度與可解釋性 ``` Amazon Inspector 用於安全合規 Amazon Macie 用於加密與保護訓練數據 Amazon Rekognition 用於圖像辨識與自定義標籤 ``` * Amazon SageMaker Ground Truth Plus 提供「人機協同 (Human-in-the-loop)」的驗證功能,用於創建高品質的訓練數據集,並能最小化錯誤標註的風險,這對於需要高精度的圖像生成任務至關重要。 > 關鍵字:「高精度」和「最小化錯誤標註風險」的驗證需求 * Amazon SageMaker Canvas 是可視化界面,允許用戶無需編寫代碼即可構建機器學習模型。這成為沒有編碼或 ML 算法知識的用戶進行預測分析的理想選擇,並且可以輕鬆導入數據進行分析。 ``` 直接使用 Amazon S3 和 SageMaker 內建算法 或 Amazon SageMaker Data Wrangler,通常需要一些code 或 ML 知識 ``` ### Amazon CloudTrail * AWS CloudTrail 是用於記錄對 AWS 服務(包括 Amazon Bedrock)進行的 API 調用的服務,記錄內容包括 API 調用的詳細信息、執行調用的用戶以及時間戳 適合用於跟踪 API 活動以實現合規性並識別未經授權的access > 關鍵字:最直接或最適合識別未授權 API 訪問的服務 ### Amazon Textract * Amazon Textract 能夠自動從掃描的文檔(包括 PDF)中提取文本、手寫內容和數據的服務。 > 關鍵字: 履歷轉換為純文本的需求,以進行進一步自動化處理 Amazon Personalize 用於個性化推薦 Amazon Lex 用於構建對話式界面 Amazon Transcribe 用於語音轉文本 ### Amazon Bedrock * 將 PDF 文檔上傳到 Amazon Bedrock 知識庫是一種最具成本效益的方式,可以為 LLM 提供上下文資訊,能夠回答限定資料庫的問題。 相較於將所有 PDF 文件作為上下文添加到每次用戶提示中(這會導致高昂的符號消耗和成本),或微調模型(成本更高且耗時),知識庫能更有效地管理和利用大量私人數據。 * Amazon Bedrock 「 On-Demand 」是一種隨用隨付的定價模式,提供靈活性,非常適合預算有限且工作負載不可預測的用戶,因為它不需要長期承諾或預先配置容量。模型定制和預配置吞吐量通常涉及更高的成本或承諾 ``` Spot Instance 則是 Amazon EC2 的一種定價模式,不直接適用於 Bedrock. ``` ### Embeddings * 嵌入 (Embeddings) 是指將真實世界對象和概念(如單詞、子詞或其他語言單位)轉換為 AI 和 NLP 模型用來理解文本訊息的數值表示。 ``` 符號 (Tokens) 是模型操作的基本單位 模型 (Models) 是訓練好的演算法 二進制 (Binaries) 是計算機底層的數據格式 ``` ### 生成對抗網絡 (GAN) * GAN 是專門設計用於生成新數據的模型,這些新數據與現有數據相似,因此適合生成合成數據的需求,例如創建新的圖像、音樂或文本。 ```XGBoost、殘差神經網絡和 WaveNet 則是其他類型的機器學習模型 通常用於分類、回歸或序列生成等不同任務 ``` ### Amazon Q Developer * Amazon Q Developer是由 AI 驅動的coding助手,通過協助coding和查詢來提高開發人員的生產力,功能包括啟用語音命令進行編碼和提供自然語言搜索 --- ### Foundation Models, FMs 基礎模型 (FMs) 是指那些經過大量數據訓練的機器學習模型,它們具備執行多種下游任務的能力,例如文本生成、摘要、問答、圖像生成等,而無需針對每個特定任務進行從頭訓練。 * Amazon Bedrock 提供了對這些預訓練基礎模型的便捷訪問,讓企業能夠利用強大的生成式 AI 能力,而無需管理底層基礎設施或從零開始訓練模型。 * Amazon Titan 是由 Amazon 開發的一系列強大基礎模型,可在 Amazon Bedrock 上使用,它們包括文本和嵌入模型,支持多種應用場景。 * Amazon Bedrock 的主要功能 Amazon Bedrock 透過其核心功能,賦予了構建生成式 AI 應用更大的靈活性、控制力和責任感: * 護欄 (Guardrails): 護欄是 Amazon Bedrock 的一項關鍵功能,專為確保生成式 AI 內容的適當性和安全性而設計。它可以用於內容過濾,防止模型生成不適當、有害或包含敏感資訊(例如患者個人信息)的內容。當發生策略違規時,還可以配置警報來通知用戶,例如透過 Amazon CloudWatch 警報。 在開發面向兒童的互動應用時,護欄功能可以確保生成的故事內容和主題是適合兒童的。 > Guardrails能幫助確保負責任地使用基礎模型,使其符合組織的道德準則和合規性要求 * 代理 (Agents): Amazon Bedrock 的代理功能旨在自動化重複性任務並編排複雜的工作流程。 它們能夠利用大型語言模型 (LLMs) 和知識庫來執行多步驟任務,並根據企業的專有數據提供深入的洞察和響應,例如協助銷售經理回答複雜問題或執行多步驟的數據查詢。 > 使企業能夠更快速、更有效地處理大量的客戶支持查詢或其他複雜的業務流程 * 知識庫 (Knowledge Bases): 知識庫允許您將公司的私人數據源(例如 PDF 手冊、內部文檔等)與基礎模型結合使用,以補充模型的性能並提供更精確、更具上下文的響應。 這是一種成本效益高的方案,可以為 LLM 提供上下文資訊,而無需對模型進行昂貴的微調或將大量文本直接作為提示的一部分傳遞。 > 對於需要從大量研究論文數據庫中回答問題的聊天機器人,知識庫結合領域適應微調 (domain adaptation fine-tuning) 可以顯著改善其處理複雜科學術語的能力 * 提示工程基礎 提示工程是指設計和優化輸入提示的過程,以引導生成式 AI 模型產生所需的高質量輸出。 * 上下文 (Context): 在提示中提供清晰且具體的上下文對於引導模型生成符合公司品牌語調和信息要求的內容至關重要。 理解模型的上下文窗口 (Context window) 是很重要的考慮因素,它決定了單個提示中可以包含多少信息。選擇具有較大上下文窗口的 LLM,對於處理長提示或需要大量上下文的查詢至關重要。 * 少量範例提示 (Few-shot prompting): 提示工程技術,通過在提示中提供少量示例來指導模型,使其無需大量訓練數據即可學習新的任務或提高特定任務的準確性。 例如,在進行情感分析時,可以提供帶有正面或負面標籤的文本示例,然後再包含需要分類的新文本。 在 Amazon Bedrock 上,即使模型表現良好,也可以透過減少提示中的符號數量來有效降低每月成本。 --- ### 定價模式 Amazon Bedrock 提供多種定價模式以適應不同的使用場景和預算限制: * 隨需模式 (On-Demand): 即用即付 (pay-as-you-go) 的定價模式,提供高度靈活性,非常適合預算有限且工作負載不可預測的用戶,因為它不需要長期承諾或預先配置容量。 在按需模式下,用戶通常根據消耗的輸入和輸出符號數量來計費,這使得成本評估與實際使用量直接掛鉤。 * 預配置吞吐量 (Provisioned Throughput): 此模式允許用戶為可預測的工作負載預留專用容量,確保在高峰期也能提供一致的性能。 它通常用於定制模型以進行推理,確保模型在生產環境中獲得穩定且可預測的資源。 核心概念:幻覺、偏見與負責任的 AI --- ### 在生成式 AI 的應用中,理解並應對其內在的挑戰至關重要: * 幻覺 (Hallucination): 指大型語言模型 (LLM) 生成的內容聽起來合理且真實,但實際上是錯誤的、不準確或誤導性的。 這是生成式 AI 模型的一個常見問題,可能導致生成事實不符、不一致或甚至荒謬的響應。 > AI 實務者在使用 LLM 創建內容時必須警惕這種情況。 * 偏見 (Bias): 當 AI 模型在訓練數據中存在不平衡或差異時,可能會導致模型對特定群體或個體產生不公平或歧視性的輸出。 抽樣偏見 (Sampling bias) 是一個例子,發生在訓練數據無法代表所有場景時,例如模型對特定族群的人有較高的標記率,因為訓練數據包含更多來自該族群的批准示例。 解決偏見的方法包括修改訓練數據以減少偏見,或通過對不平衡類別進行數據增強來解決輸入數據中的偏見問題。 * 負責任的 AI (Responsible AI): 在開發和部署 AI 模型時,需要採取一系列措施來確保模型的負責任性並避免潛在危害。這包括: * 檢測數據中的不平衡或差異以識別潛在的偏見問題 * 評估模型的行為,以便向利益相關者提供透明度 * 在模型評估中包含公平指標,以確保模型輸出公平 * 實施內容審查 API,防止聊天機器人返回不適當或不想要的圖片 * 在 Amazon Bedrock 上安全使用 LLM,這需要設計清晰具體的提示,並配置最低權限的 IAM 角色和策略 * 抄襲 (Plagiarism) 也是負責任生成式 AI 的一個挑戰,例如學生複製生成式 AI 的內容來撰寫論文 * 在使用 LLM 進行內容審查時,應使用基準數據集來評估 LLM 輸出是否存在偏見或歧視,以最小化管理工作量 * 根據生成式 AI 安全範疇矩陣,從頭開始使用特定數據訓練和構建生成式 AI 模型的公司將承擔最多的安全責任 --- ### 服務重點:Amazon Bedrock 與相關功能 * Amazon Bedrock 核心功能: Amazon Bedrock 是一個完全託管的服務,提供對領先基礎模型 (FM) 的訪問,包括 Amazon Titan 模型,讓開發人員可以透過 API 輕鬆構建和擴展生成式 AI 應用程式。 應用場景: 它可以應用於多種生成式 AI 任務,例如開發聊天介面、執行情感分析、生成行銷內容等。 靈活性: Amazon Bedrock 支援多種定價模式,其中按需模式非常適合具有有限預算或不可預測工作負載的用戶。 監控與安全: 您可以啟用 Bedrock 的調用日誌功能來監控模型的輸入和輸出數據。為了安全地使用 LLM,建議設計清晰具體的提示,並配置最低權限的 IAM 角色和策略。 客製化: 如果需要使用自定義模型進行推理以提高摘要質量等,通常需要將自定義模型部署到 Amazon SageMaker 端點。 環境影響: 在訓練 LLM 時,選擇 Amazon EC2 Trn 系列的實例類型,對環境的影響最小。 網絡訪問: 如果應用程式託管在不允許訪問互聯網流量的 VPC 中,應使用 AWS PrivateLink 來確保與 Amazon Bedrock 的連接符合法規要求。 * Amazon Bedrock 的護欄功能 (Guardrails for Amazon Bedrock) 目的: 護欄功能是 Amazon Bedrock 的核心組成部分,旨在確保生成式 AI 內容的適當性和安全性。 內容過濾: 它用於過濾內容,防止模型生成不適當或不想要的圖片,或包含敏感的個人資訊,例如患者的個人資訊。 警報機制: 在發生策略違規時,可以設定 Amazon CloudWatch 警報以接收通知。 合規性: 護欄確保基礎模型的負責任使用,使其與組織的道德準則和合規要求保持一致,透過過濾和監控輸出來防止有害、偏見或不適當的內容生成。 * Amazon Bedrock 的代理功能 (Agents for Amazon Bedrock) 功能: Amazon Bedrock 的代理功能主要用於自動化重複性任務並編排複雜的工作流程。 複雜任務處理: 它們能夠利用大型語言模型 (LLMs) 和知識庫,執行多步驟任務並根據企業的數據提供深入的洞察和回應。 提高效率: 對於每天接收數千條客戶支持查詢的大型零售商而言,使用代理功能可以實現查詢的快速處理和回應,大大提高運營效率。 * Amazon SageMaker Ground Truth Plus 目的: Amazon SageMaker Ground Truth Plus 專門用於進行人工審核 (Human-in-the-loop validation),以創建高品質的訓練數據集。 高精度應用: 它在需要高精度且必須最小化錯誤標註風險的場景中尤其有用,例如在圖像生成任務中對圖片進行精確標註。 數據準備: 它是機器學習工作流程中數據準備階段的一個重要工具,確保訓練數據的質量,從而提高模型的性能。 ### Highlights You Did it! Quiz Complete 6/10 | Score | Accuracy | Right | Wrong | | ----- | -------- | ----- | ----- | | 6/10 | 60% | 6 | 4 | > > 生成式 AI 核心概念: 您對生成式 AI 的核心概念掌握得很好,例如「嵌入」的定義及其用途、「幻覺」的現象以及 Amazon Bedrock 中「隨需模式」的計費方式。這顯示您對 AI 模型的基本運作原理和相關術語有扎實的理解。 > 資料偏見與模型安全性: 您正確識別了「抽樣偏見」這種常見的資料偏見類型,並且清楚了解在建構和訓練專有生成式 AI 基礎模型時,安全責任主要歸屬於建構模型的公司。這反映您具備重要的倫理考量和安全意識。 > Amazon SageMaker 資料標註服務: 您正確選擇了 Amazon SageMaker Ground Truth Plus 用於高精度物件偵測和人工審核,這表明您了解 AWS 在資料準備方面的專業服務。 #### Focus areas > AWS AI/ML 服務的精確辨識與區分: 在區分特定 AWS 服務的功能方面,您還有進步空間。例如,您將 Amazon Inspector 誤用於模型偏見檢測(正確應為 Amazon SageMaker Clarify),並將 Amazon Transcribe 誤用於 PDF 文字提取(正確應為 Amazon Textract)。建議加強對不同服務專用功能的理解。 > Amazon Bedrock 功能的應用場景: 在 Amazon Bedrock 的應用上,您將「知識庫」誤用於多步驟任務編排(正確應為「代理」)。了解這些功能在實際工作流程中的精確角色,對於設計複雜的 AI 應用至關重要。 > 少量範例提示 (Few-shot prompting) 的成本優化: 在少量範例提示的成本優化問題中,您選擇了「微調」而不是「減少提示中的符號數量」。雖然微調可以提升模型表現,但在不顯著影響準確性的前提下降低推論成本,直接減少提示中的符號數量是更直接有效的方法。建議區分不同優化策略的主要目的。