自從大型語言模型(LLM)橫空出世以來,我們的開發世界正在經歷一場前所未有的加速?生成式 AI (Generative AI) 指的是 AI 模型的一個子集,它可以從簡單的文字提示建立新的內容和成品,例如影像、影片、文字和音訊。由於單一模型就能執行多個任務,這些模型通常被我們稱為基礎模型 (FMs)。
這些模型已經展現出驚人的多樣性和熟練度,即使是針對尚未明確訓練的任務也能應對自如。然而,當我們將這些強大的「巨獸」應用於企業的自訂文件(例如內部網站、專屬資訊、知識庫等) 以回答問題時,傳統方法(例如從頭訓練或微調)不僅成本高昂,且難以應對知識的即時更新。
這時,兩個關鍵的方法論和技術就成為了我們將生成式 AI 導入生產環境的核心驅動力:
今天,我們就來深入探討這兩大基石,以及如何在 AWS 等雲端環境或自訂架構中實現它們。
我們將以條列方式,解釋生成式 AI 應用實作中的幾個主要概念:LLM、RAG 和 LLMOps。
定義與原理
技術範例
LLM 的選擇很多元,我們可以選擇 IaaS 提供的服務,例如 Amazon Bedrock 上的 Anthropic Claude、Meta Llama 2、Amazon Titan,或是 Google 的 PaLM2、Azure 的 Azure OpenAI Service。
詳細內容可以看前幾篇文章,這邊再簡單複習一下
定義與原理
RAG 運作的四個高階步驟
RAG 程序大致包含四個步驟,其中第一個步驟只完成一次:
定義與原理
LLMOps 關鍵實作流程
LLMOps 實作涉及多個關鍵環節,確保應用程式的性能、安全性和可擴展性:
在為自訂文件建置問答解決方案時,RAG 和微調是兩種主要選擇。微調涉及採用現有模型(如 Amazon Titan 或 Llama 模型),然後根據自訂資料調整模型,使其以更自訂的組織樣式來建立內容。
方法 | 優點 (Advantages) | 缺點 (Disadvantages) |
---|---|---|
微調 (Fine-tuning) | • 能夠建立更符合組織風格的內容(使用非監督式方法)。• 可協助組織遵循內部或產業特定的資料和合規標準。 | • 時效性差: 如果自訂文件經常變更,這不是一個好解決方案(可能需要幾小時到幾天)。• 技術門檻高: 需要了解 LoRA 和 PEFT 等技術,可能需要資料科學家。• 缺乏來源: 微調後的模型不會在其回應中提供來源的參考。• 幻覺風險提高: 使用微調模型回答問題時,幻覺的風險可能會提高。 |
RAG | • 無需微調 即可為自訂文件建置問答系統。• 時效性好: 可以在幾分鐘內納入最新的文件。• 低門檻: AWS 提供全受管 RAG 解決方案,不需要資料科學家或機器學習的專業知識。• 提供來源: 會在其回應中提供資訊來源的參考。• 低幻覺風險: 由於使用向量搜尋的內容作為基礎,幻覺的風險會降低。 | • 摘要能力差: 從整個文件摘要資訊時,RAG 無法正常運作。 |
建議: 如果您需要建置參考自訂文件的問答解決方案,建議從以 RAG 為基礎的方法開始。如果您需要模型執行其他任務,例如摘要,則可以使用微調。在一個模型中結合微調和 RAG 也是一種可行的最佳解決方案。
RAG 方法已被廣泛應用於多個領域,以增強 LLM 的實用性。
AWS 提供了多種全受管服務來簡化 RAG 工作流程,以協助我們管理未區分的繁重工作。
選項 | 描述 | 主要 RAG 元件/功能 |
---|---|---|
Amazon Bedrock 的知識庫 | 全受管服務,提供統一 API 使用來自領導 AI 新創公司和 Amazon 的高效能 FMs。 | 知識庫會管理從擷取到提示擴增的整個 RAG 工作流程。它會在內部擷取文件、區塊化、轉換為內嵌,並存放在您選擇的向量資料庫中 (例如 Amazon OpenSearch Serverless, Amazon Aurora PostgreSQL 等)。 |
Amazon Q Business | 全受管、生成式 AI 輔助,可根據企業資料回答問題、提供摘要、產生內容。 | 提供超過 40 種類型的內建連接器(如 Salesforce, Microsoft SharePoint),並提供內建索引管道、護欄和身分管理功能。允許最終使用者從企業資料來源接收立即的許可感知回應。 |
Amazon SageMaker AI Canvas | 提供無程式碼視覺化界面,透過無程式碼的文件查詢功能提供 RAG,可以將 Amazon Kendra 索引作為基礎企業搜尋來豐富聊天體驗。 | SageMaker AI Canvas 會管理 Amazon Kendra 與所選基礎模型之間的通訊。 |
如果這些全受管服務不符合您的需求(例如需要選擇特定的向量資料庫或 LLM),您可以選擇自訂 RAG 架構,使用 Amazon Kendra、Amazon OpenSearch Service、Amazon Aurora PostgreSQL + pgvector 或 Pinecone/MongoDB Atlas 等第三方服務來自訂擷取器 (Retriever),並使用 Amazon Bedrock 或 SageMaker AI JumpStart 來作為產生器 (Generator)。
將 LLM 投入生產需要考慮到高效能推論、資源管理和安全性。
為了提供極致的性能和高輸送量,我們必須使用專為 LLM 推理設計的優化框架和架構。
nvidia-docker
運行時,以及 NVIDIA Device Plugin 插件來支持 K8S 識別和調度 GPU 資源。隨著 LLM 在企業中的應用,資安風險也隨之而來。OWASP(Open Worldwide Application Security Project)在 2023 年將 LLM 資安風險納入了其 Top 10 關鍵風險列表。
OWASP LLM Top 10 關鍵風險 (部分列舉) | 潛在威脅與影響 |
---|---|
指令注入 (Prompt Injection) | 攻擊者透過精巧的指令操控 LLM 產生非預期的回應或行為,誘使模型洩漏機敏資訊。 |
錯誤資訊 (Misinformation) / AI 幻覺 (Hallucination) | LLM 可能產生看似可信但實際上不正確或具誤導性的資訊。RAG 雖然能降低幻覺,但如果誤解了來源的上下文或混合了新舊資訊,仍可能導致錯誤結論。 |
敏感資訊揭露 (Sensitive Information Disclosure) | LLM 在回應中不慎洩漏機密資料,或使用者在輸入時無意間輸入了機敏資訊。 |
向量與嵌入弱點 (Vector and Embedding Weaknesses) | 針對使用 RAG 的系統,攻擊者可能透過向量與嵌入對模型注入有害內容、操控模型輸出,或存取機敏資訊。 |
過度代理授權 (Excessive Agency) | LLM 被賦予過高的自主權或過多的權限,可能導致機密資訊的存取或洩露。 |
無限資源耗盡 (Unbounded Consumption) | 攻擊者操控 LLM 產生大量輸出或傳送大量耗費資源的請求,導致阻斷服務(DoS)攻擊。 |
企業防護策略
企業應從多方面著手保護 LLM:
從我們深入探討 RAG 的原理,到理解 LLMOps 如何將這些複雜技術產品化,再到面對潛在的資安威脅,我們可以清楚地看到:生成式 AI 的價值,絕對不在於單純調用一個 API,而在於整個維運的「系統工程」。
系統工程的核心目標是設計、開發和管理在其生命週期內的複雜系統。將 LLM 應用落地,我們需要的正是這種跨學科領域的整體觀點,將資料處理、模型選擇、RAG 管道、高性能部署 (如 vLLM + K8S) 和嚴格的資安護欄 (如 AI 防火牆) 整合為一個可靠的整體。
雖然技術充滿挑戰,但這也是我們這代工程師最熱血沸騰的時代!無論你是資料科學家、後端工程師,還是熱衷於全棧開發的夥伴,掌握這些 LLMOps 和 RAG 的實戰技能,都將助你在 AI 時代中保持絕對的競爭力。
生成式AI之路還很長,讓我們一起持續學習、持續實驗,將這些技術從概念變成可靠、具備成本效益的生產級產品吧!
下篇文章見!