

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 生成式 AI 中的資料生命週期
<a name="lifecycle"></a>

在企業中實作生成式 AI 涉及平行於傳統 AI/ML 生命週期的資料生命週期。不過，每個階段都有獨特的考量。關鍵階段包括資料準備、模型工作流程的整合 （例如擷取或微調）、意見回饋收集和持續更新。本節會探索這些互連的資料生命週期階段，並詳細說明組織在開發和部署生成式 AI 解決方案時必須考量的基本程序、挑戰和最佳實務。

**Topics**
+ [預先訓練的資料準備和清理](#lifecycle-preparation)
+ [檢索增強生成](#lifecycle-rag)
+ [微調和專業訓練](#lifecycle-fine-tuning)
+ [評估資料集](#lifecycle-evaluation)
+ [使用者產生的資料和回饋迴圈](#lifecycle-feedback-loops)

## 預先訓練的資料準備和清理
<a name="lifecycle-preparation"></a>

*廢棄、廢棄*是不良品質輸入導致類似低品質輸出的概念。如同任何 AI 專案一樣，資料品質是make-or-break的因素。生成式 AI 通常從大量資料集開始，但只有磁碟區是不夠的。仔細的清理、篩選和預先處理至關重要。

在此階段，資料團隊會彙總原始資料，例如大型文字或影像收集主體。然後，它們會移除雜訊、錯誤和偏差。例如，為 LLM 準備文字可能涉及消除重複項目、清除敏感的個人資訊，以及篩選有毒或不相關的內容。目標是建立高品質資料集，真正代表模型應擷取的知識或風格。資料也可能標準化或格式化為適合模型擷取的結構。例如，您可以字符化文字、移除 HTML 標籤或標準化影像解析度。

在生成式 AI 中，由於擴展，此準備可能特別密集。Anthropic Claude 等模型是以數十億個字符 （維基百科） 進行訓練，這些[字符](https://en.wikipedia.org/wiki/Lexical_analysis#Token)來自廣泛的公開可用和授權資料來源。即使是少量的不良資料，也可能對輸出造成過大的影響，包括令人反感的內容或事實錯誤。例如，各種 LLM 供應商報告從訓練資料集排除 Reddit 社群的內容，因為文章主要由字母 *M* 的長序列組成，以模擬微波的雜訊。這些文章中斷了模型訓練和效能。

在這個階段，有些企業採用資料增強來提升特定案例的涵蓋範圍。*資料增強*是合成其他訓練資料的程序。如需詳細資訊，請參閱本指南中的[資料合成](differences.md#differences-synthesizing)。

在針對預備和預先處理的資料訓練模型時，您可以使用緩解技術來顯著解決偏差。技術包括在模型的架構中嵌入道德原則，稱為*構形 AI*。另一種技術是*對手的偏差*，在訓練期間挑戰模型，以在不同的群組之間強制執行更公平的結果。最後，訓練後，您可以進行*後製調整*，透過微調來精簡模型。這有助於修正任何剩餘的偏差，並改善整體公平性。

## 檢索增強生成
<a name="lifecycle-rag"></a>

靜態 ML 模型只會從固定的訓練集進行預測。不過，許多企業生成式 AI 解決方案使用擷取增強生成 (RAG) 來保持模型的知識為最新且相關。RAG 涉及將 LLM 連接到可能包含企業文件、資料庫或其他資料來源的外部知識儲存庫。

實際上，RAG 需要實作額外的資料管道。這引入了一定程度的複雜性，並涉及下列循序步驟：

1. **擷取和篩選** – 從各種來源收集高品質且相關的資料。實作篩選機制以排除多餘或不相關的資訊，並確保資料集與應用程式的網域相關。請注意，定期更新和維護資料儲存庫對於保持資訊的準確性和相關性至關重要。

1. **剖析和擷取** – 擷取資料後，應剖析資料以擷取有意義的內容。使用可處理各種資料格式的剖析器，例如 HTML、JSON 或純文字。剖析器會將原始資料轉換為結構化形式。此程序可簡化後續階段的資料處理和分析。

1. **區塊策略** – 將資料分割成可管理的部分或*區塊*。此步驟對於高效擷取和處理至關重要。區塊策略包括但不限於下列項目：
   + **標準字符型區塊 –** 根據特定數量的字符，將文字分割為固定大小的區段。這是最基本的區塊策略，但有助於維持統一的區塊長度。
   + **階層式區塊 – **將內容組織成階層 （例如章節、區段或段落），以保留內容關係。此策略可增強模型對資料結構的理解。
   + **語意區塊 –** 根據語意一致性分割文字。請確定每個區塊都代表完整的想法或主題。此策略可以改善擷取資訊的相關性。

1. **內嵌模型選擇** – 向量資料庫存放*區內嵌*，這是保留其意義和內容的文字區塊的數值表示法。內嵌是 ML 模型可以理解和比較的格式，以執行語意搜尋。選擇適當的內嵌模型對於擷取資料區塊的語意本質至關重要。選取符合您網域特定需求的模型，並且可以產生可準確反映內容意義的內嵌。為您的使用案例選擇最佳的內嵌模型可以提高相關性和內容準確性。

1. **索引和搜尋演算法** – 為針對相似性搜尋最佳化的向量資料庫中的內嵌編製索引。採用可有效處理高維度資料並支援快速擷取相關資訊的搜尋演算法。近似近鄰 (ANN) 搜尋等技術可以大幅提高擷取速度，而不會犧牲準確性。

RAG 管道本質上很複雜。它們需要多個階段、不同層級的整合，以及高度的專業知識才能有效設計。正確實作時，可以大幅提升生成式 AI 解決方案的效能和準確性。不過，維護這些系統需要大量資源，而且需要持續監控、最佳化和擴展。這種複雜性導致了 *RAGOps* 的出現，這是一種專用方法來有效操作和管理 RAG 管道，以提高長期可靠性和有效性。

如需 RAG on 的詳細資訊 AWS，請參閱下列資源：
+ [在 上擷取增強生成選項和架構 AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/retrieval-augmented-generation-options/introduction.html) (AWS 方案指引）
+ [選擇 RAG 使用案例的 AWS 向量資料庫](https://docs.aws.amazon.com/prescriptive-guidance/latest/choosing-an-aws-vector-database-for-rag-use-cases/introduction.html) (AWS 規範性指導）
+ [AWS 使用 Terraform 和 Amazon Bedrock 在 上部署 RAG 使用案例](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/deploy-rag-use-case-on-aws.html) (AWS 方案指引）

## 微調和專業訓練
<a name="lifecycle-fine-tuning"></a>

微調有兩種不同的形式：*網域微調*和*任務微調*。每個 都有不同的用途來調整預先訓練的模型。非監督式網域微調涉及在特定網域的文字內文上進一步訓練模型，以協助更好地了解特定欄位或產業特有的語言、術語和內容。例如，您可以在一系列的內部文章和術語上微調媒體特定的 LLM，以反映公司的語氣和專業詞彙。

相反地，受監督的任務微調著重於教導模型執行特定的函數或輸出格式。例如，您可以教導它回答客戶查詢、摘要法律文件或擷取結構化資料。這通常需要準備已標記的資料集，其中包含目標任務的輸入和所需輸出範例。

這兩種方法都需要仔細收集和策劃微調資料。對於任務微調，會明確標記資料集。對於網域微調，您可以使用未標記的文字來改善相關內容中的一般語言理解。無論方法為何，資料品質都至關重要。乾淨、具代表性且大小適當的資料集對於維護和增強模型的效能至關重要。一般而言，微調資料集遠小於用於初始預先訓練的資料集，但必須仔細選擇以確保有效的模型調整。

微調的替代方案是*模型分割*，這項技術涉及訓練更小的專用模型，以複寫更大、更一般模型的效能。模型分割不是微調現有的 LLM，而是在原始、更複雜的模型 (*老師*) 產生的輸出上訓練輕量型模型 (*學生*)，以傳輸知識。當運算效率是優先順序時，這種方法特別有用，因為分割模型需要的資源較少，同時保留任務特定的效能。

模型分割依賴於合成或教師產生的資料集，而不是需要廣泛的領域特定訓練資料。複雜模型會為輕量型模型產生高品質的範例以供學習。這可減輕整理專屬資料的負擔，但仍需要謹慎選擇多樣化和無偏差的訓練範例，以維持一般化功能。此外，抽樣有助於降低與資料隱私權相關的風險，因為您可以在受保護的資料上訓練輕量型模型，而不會直接暴露敏感記錄。

也就是說，大多數組織不太可能進行微調或分割，因為其使用案例通常不需要它，並帶來另一層操作和技術複雜性。您可以使用預先訓練的基礎模型有效地滿足許多業務需求，有時透過提示工程或 RAG 等工具進行輕度自訂。微調需要在技術能力、資料策劃和模型控管方面進行大量投資。這使得它更適合高度專業化或大規模的企業應用程式，因為這些應用程式是合理的。

## 評估資料集
<a name="lifecycle-evaluation"></a>

在建構生成式 AI 解決方案*的評估資料集*時，制定強大的資料策略至關重要。這些評估資料集可做為評估模型效能的基準。它們應該錨定在可靠的*地面真實資料*中，這是已知準確、經過驗證並代表真實世界結果的資料。例如， Ground Truth 資料可能是您從訓練或微調資料集中保留的真實資料。Ground Truth 資料可以來自多個來源，每個來源都有自己的挑戰。

合成資料產生提供可擴展的方式來建立受控資料集，以測試特定模型功能，而不會暴露敏感資訊。不過，其有效性取決於其複寫真實 Ground Truth 分佈的緊密程度。

或者，手動策劃的資料集，通常稱為*黃金資料集*，包含嚴格驗證的問題回答對或標籤範例。此資料集可作為高品質基本事實資料，以進行強大的模型評估。不過，這些資料集耗時且需要大量資源來編譯。將實際的客戶互動整合為評估資料，可以進一步增強基本事實資料的相關性和涵蓋範圍，但這需要嚴格的隱私權保護和法規合規 （例如使用 GDPR 和 CCPA)。

全面的資料策略應該平衡這些方法。若要有效評估生成式 AI 模型，請考慮資料品質、代表性、道德考量以及符合業務目標等因素。如需詳細資訊，請參閱 [Amazon Bedrock 評估](https://aws.amazon.com/bedrock/evaluations/)。

## 使用者產生的資料和回饋迴圈
<a name="lifecycle-feedback-loops"></a>

部署生成式 AI 系統後，它會開始產生輸出並與使用者互動。這些互動本身會成為寶貴的資料來源。使用者產生的資料包括使用者問題和提示、模型的回應，以及使用者提供的任何明確意見回饋 （例如評分）。企業應該將此視為生成式 AI 資料生命週期的一部分，並將其回饋至監控和改進程序。重要的是，使用者產生的資料可以併入您的 Ground Truth 資料集。這有助於進一步最佳化提示，並隨著時間提升應用程式的整體效能。另一個重要原因是管理一段時間內的模型偏離和效能。在實際使用之後，模型可能會開始與其訓練網域分離。例如，在詢問訓練資料中不存在的新興主題相關問題的查詢或使用者中出現的新俚語。監控此即時資料可能會顯示*資料偏離*，而輸入分佈會在其中轉移，這可能會降低模型準確度。

為了解決這個問題，組織透過擷取使用者互動並定期重新訓練或微調最近範例的模型來建立意見回饋迴圈。有時候，您可以直接使用意見回饋來調整提示和擷取資料。例如，如果內部聊天機器人助理持續幻覺新發佈產品的答案，團隊可能會收集這些失敗的問答對，並包含正確的資訊作為額外的訓練或擷取資料。

在某些情況下，*人類意見回饋的強化學習 (RLHF)* 用於在訓練後或微調階段進一步調整 LLM。它有助於模型產生回應，以更好地反映人工偏好和值。強化學習 (RL) 技術會訓練軟體，以做出可最大化獎勵的決策，使其結果更準確。RLHF 將人類意見回饋納入獎勵函數中，因此 ML 模型可以執行更符合人類目標、希望和需求的任務。如需在 Amazon SageMaker AI 中使用 RLHF 的詳細資訊，請參閱 AWS AI 部落格上的[在 Amazon SageMaker 上使用 RLHF 改善 LLMs](https://aws.amazon.com/blogs/machine-learning/improving-your-llms-with-rlhf-on-amazon-sagemaker/)。

即使沒有正式的 RLHF，更簡單的方法是持續手動檢閱一小部分模型輸出，類似於品質保證。關鍵在於持續監控、可觀測性和學習已內建在程序中。如需如何從生成式 AI 應用程式收集和儲存人工意見回饋的詳細資訊 AWS，請參閱 AWS 解決方案程式庫中的 [Chatbot 使用者意見回饋和分析指南 AWS](https://aws.amazon.com/solutions/guidance/chatbot-user-feedback-and-analytics-on-aws/)。

若要先佔或解決偏離，企業需要規劃持續的模型更新，這可能有多種形式。其中一種方法是排定定期微調或持續預先訓練。例如，您可以每月使用最新的內部資料、支援案例或新聞文章來更新模型。在持續的預先訓練期間，預先訓練的語言模型會進一步訓練其他資料，以增強其效能，特別是在特定網域或任務中。此程序涉及將模型公開至新的未標記文字資料，使其能夠更精確地理解並適應新資訊，而不會從頭開始。為了協助處理可能複雜的程序，Amazon Bedrock 可讓您在完全安全且受管的環境中進行微調和持續的預先訓練。如需詳細資訊，請參閱 AWS 新聞部落格上的[使用微調和持續的預先訓練，使用您自己的資料在 Amazon Bedrock 中自訂模型](https://aws.amazon.com/blogs/aws/customize-models-in-amazon-bedrock-with-your-own-data-using-fine-tuning-and-continued-pre-training/)。

在搭配 RAG 使用off-the-shelf模型的情況下，您可以依賴雲端 AI 服務，例如 Amazon Bedrock。這些服務會在發佈時提供定期模型升級，並將其新增至可用的目錄。這可協助您更新您的解決方案，以使用這些基礎模型的最新版本。