開發生成式 AI 應用程式
這份文件可協助您瞭解如何解決開發生成式 AI 應用程式各階段的挑戰。說明如何選取模型、依據需求自訂模型輸出內容、評估自訂內容,以及部署模型。本文假設您已考慮到使用情境,且該情境適合採用生成式 AI。如要瞭解如何開發用途,請參閱「評估並定義生成式 AI 業務用途」。
開始開發生成式 AI 應用程式前,請先評估貴機構的技術準備度 (能力和基礎架構)。如要瞭解如何評估 AI 能力,並建立發展藍圖以發揮其潛力,請參閱 AI 就緒研討會。如果您打算開發由生成式 AI 自動化處理的工作流程,請評估在關鍵決策階段中,是否應納入人為迴路。人工審查可協助我們做出決策,例如確保負責任使用、符合特定品質控管要求,或監控生成內容。
生成式 AI 模型
生成式 AI 基礎模型的訓練資料,是文字、圖片、程式碼或其他多媒體的數 TB 資料集。資料和模型架構可讓模型識別複雜模式,並深入瞭解內容脈絡,進而產生文字、圖片、音樂或影片等新內容。
基礎模型是許多生成式 AI 應用程式的核心,模型的功能會轉化為新興能力:只要透過簡單的文字提示指示,生成式 AI 基礎模型就能學習執行各種工作,例如翻譯語言、回答問題、寫詩或編寫程式碼,而不需要針對每項工作進行明確訓練。生成式 AI 基礎模型也可以透過一些提示技巧,調整為執行特定工作,或是以最少的額外訓練資料進行微調。
大型語言模型 (LLM) 是一種基礎模型,通常採用深度學習架構,例如 Google 在 2017 年開發的 Transformer。這類模型會根據文字進行訓練,大型語言模型可根據數十億個文本樣本和其他內容進行訓練,而且可以針對特定領域自訂。
其他多模態模型可擴充生成式 AI 應用程式處理圖片、影片、音訊和文字等多種形式資訊的能力。多模態提示結合多種輸入格式,例如文字、圖片和音訊。舉例來說,您可以輸入圖片,並要求生成式 AI 應用程式列出或描述圖片中的物體。Google 的 Gemini 模型從一開始就以多模態為目標,可針對文字、圖像、影片、音訊和程式碼進行流暢推論。 Google Cloud的 Model Garden 和 Vertex AI 可協助您找到並自訂 Google、開放原始碼和第三方來源的各種基礎模型。
選擇模型
選擇模型時,請考量模型的模式、大小和成本。請選擇最實惠的模型,同時滿足回應品質和延遲時間的要求。
- 模式:如前文所述,模型的模式會對應至模型訓練的層級高階資料類別,例如文字、圖片和影片。一般來說,您的用途和模型的模式密切相關。如果您的用途涉及文字轉圖片功能,就需要找出以文字和圖片資料訓練的模型。如果您需要多種模式的彈性,例如多模態搜尋,則有支援多模態用途的模型,但成本和延遲可能會較高。
- Vertex AI 模型提供大量可用的生成式 AI 模型。
- Model Garden 提供Google Cloud上提供的第一方和開放原始碼機器學習模型清單。
- 大小:模型的大小通常以參數數量來衡量。一般來說,較大的模型可以學習資料中更複雜的模式和關係,進而提供品質更高的回覆。由於同系列中較大的模型可能會導致較高的延遲時間和成本,因此您可能需要進行實驗和評估模型,以決定哪種模型大小最適合您的用途。
成本:模型的成本與其功能有關,而功能通常與模型的參數數量相關。您也可以為不同型號設定不同的計費方式。舉例來說,部分模型的計費方式是根據輸入和輸出權杖數量。其他模型的費用則是根據模型部署期間使用的節點小時數計費。
如要瞭解 Vertex AI 的生成式 AI 模型定價,請參閱「Vertex AI 定價」。
如要瞭解在 Google Kubernetes Engine (GKE) 上部署模型的費用,請參閱 GKE 定價。
功能:並非所有模型都支援調音和萃取等功能。如果這些功能對您來說十分重要,請查看各個型號支援的功能。
設計提示
提示設計是指撰寫提示和回覆配對的程序,以便為語言模型提供額外情境和指示。撰寫提示後,您可以將提示做為提示資料集提供給模型,以便進行預訓練。模型提供預測結果時,會回應內建的指示。
如要取得特定輸出內容,您可以使用提示設計策略,例如指示模型完成部分輸入內容,或提供理想回應的範例。詳情請參閱「提示設計簡介」。
自訂模型
設計提示後,您可能會發現模型的回應運作良好,因此不需要自訂。如果模型效能不佳 (例如產生幻覺),您可以使用其他自訂技巧。以下各節將介紹這類技巧,協助您瞭解這些選項如何影響模型的輸出內容。
函式呼叫和擴充功能
函式呼叫和 Vertex AI 擴充功能可擴充模型功能。請考量應用程式的用途,以及單獨使用模型可能不足的情況。您可以透過新增函式呼叫或擴充功能來協助模型。舉例來說,模型可以從文字中擷取行事曆資訊,然後使用擴充功能尋找並預訂行程。
雖然您可以交替使用函式呼叫和擴充功能,但兩者之間仍有某些重大差異。函式呼叫是異步作業,因此您不需要在程式碼中加入憑證。Vertex AI 擴充功能提供預先建構的選項,可用於複雜工作,因此您不必自行編寫函式。不過,由於 Vertex AI 擴充功能會為您傳回及呼叫函式,因此擴充功能會要求您在程式碼中加入憑證。
連結
建立基準是指將模型回覆錨定於可驗證的資訊來源,以便擴充模型回覆。如要建立模型基準,請將模型連結至資料來源。建立模型基準有助於減少幻覺,進而提高生成內容的可信度。
檢索增強生成 (RAG) 是常用的基準技術。RAG 會使用搜尋功能找出相關資訊,然後將這些資訊加入模型提示。使用 RAG 時,輸出內容會以事實和最新資訊為依據。RAG 搜尋會使用向量嵌入和向量資料庫,以數值形式儲存文字和圖片等非結構化資料。詳情請參閱「什麼是向量資料庫」。
如要瞭解 Vertex AI 中的基準,請參閱「基準總覽」。如要瞭解如何在 AlloyDB for PostgreSQL 中設定嵌入工作流程,請參閱嵌入工作流程範例。
模型調整
專門工作 (例如針對特定術語訓練語言模型) 可能需要更多訓練,而非僅透過提示設計就能完成。在這種情況下,您可以使用模型調整功能來改善效能,並讓模型遵循特定的輸出要求。
如要調整模型,您必須建立訓練資料集,然後選取調整方法,例如監督式調整、人類回饋增強學習 (RLHF) 調整或模型提煉。資料集大小和調整方法取決於模型和您要進行最佳化的項目。舉例來說,專門的特殊任務需要較小的資料集,才能獲得顯著的改善。如要進一步瞭解模型調整作業,請參閱「調整語言基礎模型」。
評估模型
模型評估可協助您評估提示和自訂設定對模型成效的影響。每種評估方法各有優缺點。舉例來說,以指標為依據的評估作業可透過可量化的方式評估成效,進而自動化及快速擴大規模。不過,指標可能會過度簡化結果,並遺漏自然語言的脈絡和細微差異。為彌補這些缺點,請搭配使用多種指標和人工評估。
Vertex AI 的生成式 AI 提供自動並排比較評估功能,可讓您比較兩個模型的輸出內容與基準真相。第三個模型可協助你選取品質較高的回覆。自動並排評估功能的評估結果與人工評估員的評估結果相當,但速度更快,且可隨時使用。不過,為了執行比較,這個方法需要的模型必須比您要評估的模型更大,這可能會產生固有偏差。因此,您仍應進行部分人工評估。
所有評估方法都需要評估資料集。評估資料集包含您建立的提示和真值 (理想回覆) 組合。建立資料集時,請加入與您要評估的任務相符的多種範例,以便取得有意義的結果。
部署模型
部署模型時,系統會將端點和實體機器資源與模型建立關聯,以便提供低延遲的線上預測結果。並非所有模型都需要部署。舉例來說,Vertex AI 生成式 AI 中提供的 Google 基礎模型已具有端點。這些端點專屬於您的 Google Cloud 專案,您可以立即使用。不過,如果您調整任何模型,就必須將模型部署至端點。
部署模型時,請決定您是要在全代管環境中部署模型,還是在自行管理的環境中部署模型。在完全受管理的環境中,您可以選取所需的實體資源 (例如機器類型和加速器類型),然後 Vertex AI 會為您例項化及管理這些資源。舉例來說,如要啟用線上預測功能,讓 Vertex AI 為您管理部署資源,請參閱「將模型部署至端點」一文。在自管環境中,您可以更精細地控管資源,但必須自行管理。透過自管環境,您可以在 GKE 等平台上提供模型。
決定要部署在哪種環境後,請考量預期流量、延遲要求和預算。您必須平衡這些因素與實體資源。舉例來說,如果您優先考量成本,可以使用較低成本的機器,接受較高的延遲時間。測試環境就是這類取捨的最佳例子。如要進一步瞭解如何選擇機器類型,請參閱「決定用於 Vertex AI 端點的最佳機器類型」的 Notebook。
負責任的 AI 技術
Vertex AI 生成式 AI 的設計理念是遵循 Google 的 AI 原則。不過,請務必測試模型,確保模型的使用方式安全且負責任。由於 LLM 的功能多元,因此很難預測出乎意料或未預期的回應。
為用途開發應用程式時,請考量生成式 AI 模型的限制,以便妥善減輕潛在的濫用和非預期問題。模型的限制之一是,模型的品質取決於您使用的資料。如果您提供的資料不夠理想 (例如不準確或不完整的資料),就無法期待模型發揮最佳效能。請確認輸入資料和提示正確無誤。否則,模型可能會出現次佳效能或錯誤的模型輸出結果。如要進一步瞭解生成式 AI 模型的限制,請參閱「負責任的 AI 技術」。