開發生成式 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 GardenVertex 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 中的基礎,請參閱「基礎總覽」。如要瞭解如何在 PostgreSQL 適用的 AlloyDB 中設定嵌入工作流程,請參閱嵌入工作流程範例

模型調整

如果需要執行特定工作 (例如訓練語言模型,瞭解特定術語),可能需要比單純設計提示更多的訓練。在這種情況下,您可以調整模型來提升效能,並讓模型遵循特定的輸出要求。

如要調整模型,您必須先建立訓練資料集,然後選取調整方法,例如監督式調整、人類回饋增強學習 (RLHF) 調整或模型蒸餾。資料集大小和微調方法取決於模型和您要最佳化的目標。舉例來說,專門的利基工作只需要較小的資料集,就能大幅提升成效。如要進一步瞭解模型調整作業,請參閱「調整語言基礎模型」。

評估模型

模型評估可協助您評估提示和自訂項目對模型成效的影響。每種評估方法都有優缺點,舉例來說,以指標為準的評估可自動進行,並透過可量化的方式評估成效,快速擴大規模。不過,指標可能會過度簡化結果,並忽略自然語言的脈絡和細微差異。為減少這些缺點,請搭配人工評估使用各種指標。

Vertex AI 生成式 AI 提供自動並排比較評估,可讓您比較兩個模型的輸出內容與基準真相。第三個模型則可協助你選取品質較高的回覆。自動並列評估與人工評估員的評估結果相去不遠,但速度更快,而且可隨時使用。不過,如要進行比較,這個方法需要比評估模型更大的模型,這可能會出現固有的偏誤。因此您仍應進行一些人工評估。

無論採用哪種評估方法,您都需要評估資料集。評估資料集包含您建立的提示和真值 (理想回應) 配對。建立資料集時,請納入與評估工作一致的多元範例,以取得有意義的結果。

部署模型

部署模型時,系統會將端點和實體機器資源與模型建立關聯,以便提供低延遲的線上預測結果。並非所有模型都需要部署。舉例來說,Vertex AI 生成式 AI 提供的 Google 基礎模型已有端點。端點專屬於您的 Google Cloud 專案,可立即使用。不過,如果您調整任何模型,就必須將其部署至端點。

部署模型時,請決定要部署在全代管環境還是自行管理的環境。在全代管環境中,您可以選取所需的實體資源 (例如機器類型和加速器類型),然後 Vertex AI 會為您例項化及管理資源。舉例來說,如要啟用線上預測功能,並讓 Vertex AI 為您管理部署資源,請參閱「將模型部署至端點」。在自行管理的環境中,您可以更精細地控管資源,但必須自行管理。在自行管理的環境中,您可以在 GKE 等平台上提供模型

決定要部署的環境類型後,請考量預期流量、延遲時間需求和預算。您必須根據實體資源,平衡這些因素。舉例來說,如果降低成本是首要目標,您或許可以接受使用成本較低的機器,但延遲時間較長。測試環境就是這類取捨的例子。如要進一步瞭解如何選擇機器類型,請參閱「Determining the ideal machine type to use for Vertex AI endpoints」筆記本。

負責任的 AI 技術

Vertex AI 生成式 AI 的設計以 Google 的 AI 原則為依據。不過,請務必測試模型,確保模型安全且負責任地使用。由於 LLM 的功能多元,令人難以預測會輸出什麼出乎意料或未預期的內容。

為您的用途開發應用程式時,請考量生成式 AI 模型的限制,以便適當減輕潛在的誤用和非預期問題。舉例來說,模型的品質取決於您使用的資料。如果提供給模型的資料不夠理想 (例如不準確或不完整),就無法期待模型發揮最佳效能。確認輸入資料和提示正確無誤。否則模型可能會產生次佳成效或錯誤輸出。如要進一步瞭解生成式 AI 模型的限制,請參閱「負責任的 AI 技術」。

後續步驟