Google的生成式AI簡介

本文介紹如何使用Gen AI工具來協助我們進行AI開發,還有Gen AI整合到AI解決方案中。我們將介紹:

  1. Gen AI與其作業流程:
    Gen AI有甚麼東西、其功能以及如何在 Google Cloud 上建立 Gen AI 專案。
  2. Gemini multimodal:
    介紹Gemini multimodal(Google 訓練的基礎模型之一),以及如何將其與 Vertex AI Studio一起運用。
  3. Prompt design:
    研究提示設計(prompt design)的藝術和科學
  4. 模型調整(model tuning)
  5. Model Garden:
    使用模型庫 Model Garden 存取不同代 AI 模型
  6. AI解決方案:
    如何將 Gen AI 嵌入到 CCAI、Contact Center AI 等 AI 解決方案中。

Gen AI與其作業流程

哪麼甚麼是Gen AI?

簡單來說就是為我們產生內容的AI。而產生的內容可以是多模式的,包括文字、代碼、圖像、語音、視訊甚至 3D。當給出提示或請求時,Gen AI可以幫助我們完成各種任務,例如啟動行銷活動、生成代碼、建立聊天機器人、提取資訊、總結文件以及提供虛擬性的協助。這些只是一些例子。

那麼,AI如何產生新的內容呢?它從大量現有內容(如文字、圖像和影片)中學習。從現有內容中學習的過程稱為訓練,其結果是建立「基礎模型」。 基礎模型通常是一個大型模型,其參數數量眾多,訓練資料量龐大,對運算能力的要求很高。

Google一開始就是搞大數據、AI的公司。Google從從 2017 年的 Transformer 開始,到 2023 年的 Gemini,它將通用人工智慧 (AGI — artificial general intelligence) 中的「通用」一詞擴展到處理多模態處理的意義。目前Google訓練的主要基礎模型包括:

  • 用於多模態處理(multimodal processing)的Gemini
  • 用於語言生成的輕量級開放模型Gemma
  • 用於代碼生成的Codey
  • 用於影像處理的Imagen

但隨著基礎模型的發展,這些Google開發的模型會發生變化,Gemini也有可能取代其中一些模型,因為它可以處理多種模式的資料。然後可以直接使用基礎模型來產生內容並解決一般問題,例如內容提取和文件摘要。它還可以使用不同產業的新資料集進行進一步訓練,以解決特定問題,例如財務模型生成和AIOp。這會創建一個適合每個組織特定需求的新模型。

這就就會需要

  • 預訓練(pre-trained)
  • 微調( fine-tuned)

這意味著使用大型資料集對通用的基礎模型進行預訓練,然後使用非常小的資料集對其進行微調以實現特定目標。

例如,大型語言模型(LLM)是Gen AI基礎模型的典型類型,它經過通用訓練,可以解決跨產業的文字分類、問答、文件摘要和文字生成等常見語言問題。

然後,可以使用這些領域的相對較小的資料集來客製模型,以解決不同領域的特定問題,例如:零售、金融和娛樂。在大型語言模型 (LLM) 等基礎模型的支援下,Gen AI正在推動提高生產力、節省營運成本和創造新價值的新機會。

如何在 GCP上使用 Gen AI 模型並建立 gen AI 專案?我們需要使用 Vertex AI,它是支援預測 AI 和產生 AI 的端到端 AI 開發平台?除了用於支援預測ML 模型的實驗、訓練和運作的功能之外,Vertex AI 還提供了一系列用於調整新一代AI 模型和開發新一代AI 專案的工具,例如Vertex AI Studio 和Model Garden。

作業流程

GCP上的 Gen AI 作業流程:

  1. 輸入提示:
    透過 Vertex AI Studio UI,輸入提示-對產生 AI 模型的自然語言請求
  2. 負責任的AI和安全措施:
    提示經過負責任的AI和安全檢查,可透過 UI 或程式碼進行設定。
  3. 基礎模型:
    根據選擇,篩選提示將進入基礎模型,例如 Gemini 多模式或其他一代 AI 模型,例如 Imagen 和 Codey。
  4. 模型自訂(可選的):,透過進一步調整來客製化一代 AI 模型,以適合我們的資料和案例。
  5. 結果基礎:
    Gen AI 模型傳回經過基礎(可選的)和引用檢查的結果,以防止幻覺( hallucinations)出現。
  6. 最終回應:
    經過負責任的 AI 和安全措施的最終檢查後,最終回應將顯示在 Vertex AI Studio UI 上。

Gemini multimodal

在上面的介紹中,我們介紹了Gen AI 作業流程,其中 Vertex AI Studio 在開發人員和基礎模型之間提供了直覺式介面。Vertex AI讓我們在low code甚至no code環境中建立新一代 AI 應用程式,可以快速測試和製作原型模型。使用我們自己的資料調整和客製模型。

利用現實世界的、最新的資訊來強化它們。使用自動產生的代碼在生產環境中有效地部署模型。以下介紹 Gemini 多模式的功能,並深入研究使用 Vertex AI Studio 存取它的實際方法。

那麼,什麼是多模態模型(multimodal model)呢?

它是一個大型基礎模型,能夠處理多種模式的訊息,包括文字、圖像和影片。產生的內容也可以是多種模態的。例如,可以向模型發送一盤蛋糕的照片,並讓它為我們提供這些蛋糕的食譜。 Gemini 就是Google訓練的一個多模態模型。我們可以使用 Vertex AI Studio 存取甚至調整它。Gemini可以在以下幾個範例場景中協助我們:

  • 描述和字幕
    識別物件並描述它們
  • 資訊搜尋
    回答問題或產生問答
  • 資訊擷取
    閱讀文字並從圖像和影片中提取資訊
  • 內容創作
    生成故事或廣告
  • 資訊分析
    根據提示分析影像和影片
  • 資料轉換
    將文字回應轉換為 JSON 等格式

我們可以用以下三種方式來存取Genmini多模態功能:

  1. 使用者介面 (UI)
    使用帶有 GCP 控制台的 UI(no-code),基本上用來探索與測試prompts
  2. SDKs
    在Notebooks(例如 Colab and Workbench,)中使用 SDK(例如 Java、Python、JavaScript)
  3. API
    使用帶有命令列工具的 API,例如Curl

無論透過哪種方法存取 Gemini 多模態,我們都會從提示開始。

Prompts(提示)

甚麼是提示?

在Gen AI的世界中,提示是提交給模型以便收到回應的自然語言請求。我們將所需的輸入文字(如問題和說明)提供給模型。然後,模型將根據我們建立提示的方式提供回應。因此,我們得到的答案取決於我們提出的問題。

以下是提示的結構,它包括以下一個或多個組成部分:input、context和examples。

Input(required)輸入代表您對模型回應的請求。它可以採取多種形式:

  1. 模型可以回答的問題(Questions),即問題輸入
  2. 模型可以執行的作業(Tasks),即任務輸入。
  3. 模型可以操作的實體(Entities),即實體輸入。
  4. 模型可以完成(Completions)或繼續的部分輸入,即完成輸入。

Context(可選的)可以有多種用途:明定指令(Specify instructions)來指導模型的行為。

  1. Instructions
  2. Information

提供模型在產生回應時可使用或參考的資訊。當我們需要提供資訊或限制提示範圍內的回應時,請包含上下文資訊。

Example(可選的)是"輸入和輸出"對,用於展示模型所需的回應格式。在提示中加入範例是自訂回應格式的有效技巧。例如,我們可以建立上下文並承擔 客服IT的角色。

在提示中加入範例是自訂回應格式的有效技巧。例如,我們可以建立上下文並承擔客服 IT的角色。然後,我們提供一些範例。這被稱為“少量提示(Zero-shot )”。

在訓練或調整Gen AI 模型以按照我們的意願運作時,上下文(context)和範例(example)被廣泛使用。找出並設計輸入文字以從模型中獲得所需回應的過程稱為提示設計(Prompt Design),這通常涉及大量實驗。

提示設計(Prompt Design)

一般來說,我們可以使用 3 種方法來以我們想要的方式塑造模型的回應。

  • Zero-shot prompting是一種向模型提供描述任務的提示而無需額外範例(example)的方法。例如我們想讓LLM回答一個問題,我們只要提示“什麼是提示設計?”
  • One-shot prompting是一種為 LLM 提供要求其執行的作業的單一範例。
  • Few-shot prompting是一種向模型提供少量被要求執行的作業的範例的方法。我們可以使用結構化模式來設計小樣本提示,為模型提供上下文和其他範例以供學習。

最佳實踐

  • 簡潔
  • 具體而明確的定義
  • 一次詢問一個任務
  • 包含範例(examples)

但是,目前還沒有一種編寫提示的最佳法則。我們可能需要嘗試不同的結構、格式和範例,以了解哪種最適合我們的案例。Vertex AI Studio 提供了一些模型參數可以讓我們使用:

  • Model type
  • Top K(number)
  • Temperature
  • Top P(probability)

Model tuning

我們可以透過不同的選擇來客製化和調整Gen AI 模型,從技術含量較低的模型(如提示設計)到技術含量較高的模型(如精煉distilling)。

我們或許已經理解提示設計,它可以讓我們使用自然語言調整Gen AI 模型,而無需任何 ML 背景。提示是對模型所期望結果的請求。為了增強模型的效能,我們可以提供上下文和範例來指導其回應。

提示設計不會改變預訓練模型的參數。相反,它透過教導模型如何回應來提高模型做出適當回應的能力。提示設計的一個效益是它能夠快速進行實驗和客製化。另一個效益是它不需要專門的ML知識或編碼技能,從而可以讓一般大眾使用它。

然而,產生提示可能會比較麻煩。措詞或詞序的細微變化…可能會以不可完全預測的方式影響模型結果。但其實不可能把那麼多例子都塞進一個提示裡。即使我們確實發現了適合我們案例的良好提示,也可能會注意到模型回應的品質並不完全一致。

解決該問題的一種方法是使用我們自己的資料調整模型。然而,由於所需的運算資源、成本和時間較高,因此對整個模型進行微調可能是不切實際的
正如“大(Large)”這個名稱所暗示的,LLM 具有大量的參數,因此更新每個權重在運算上要求很高。相反,可以採用參數有效的調整。這涉及對模型進行較小的變更,例如訓練參數子集或添加額外的層和嵌入。

這種方式(parameter-efficient tuning)旨在透過僅訓練一部分參數來減少對LLM進行微調的挑戰。例如,可以進行:

  • Adapter tuning,即監督式調整(supervised tuning)。它允許我們使用少至一百個範例來提高模型效能。
  • Reinforcement tuning,即有人類回饋的非監督強化學習(unsupervised reinforcement learning)。
  • Distillation(精煉)是一種更具技術性的調整技術,它能夠用更少的訓練資料訓練較小的特定任務模型,並且比原始模型具有更低的服務成本和延遲。

透過 Vertex AI,我們可以逐步獲得 Google Research 提供的最新技術。該技術將知識從較大的模型轉移到較小的模型,以優化效能、延遲和成本。其原理是使用更大的教師模型來訓練較小的學生模型,以更好地執行特定任務並提高推論能力。訓練和提煉過程使用教師模型產生的標記範例和原理來微調學生模型。

基本原理就像要求模型解釋為什麼範例被這樣標記。與透過理解答案背後的原因來更好地學習的方式類似,這種「教導」使得學生模型更加準確和穩健。

Model Garden

除了 Vertex AI Studio,具有 Vertex AI 的 Model Garden 還可以存取各種各樣的Gen AI 模型,而不僅限於Google開發的。Model Garden 就像一個模型庫,我們可以在其中搜尋、發現並使用與 Google、第三方和開源的Gen AI 模型動。當我們想要在 UI 和編碼支援的綜合環境中建立、訓練和微調Gen AI 模型時,可以使用Vertex AI Studio 。

Model Garden 為每個模型提供一張模型卡,其中包含概述、用例和相關文件等關鍵細節。此外,它與 Vertex AI Studio 無縫整合,讓我們可以透過介面啟動專案開發。此外,它還提供範例代碼的存取權並透過Notebooks促進代碼開發。

我們可以在Vertex AI找到三大類模型:

1. 基礎模型

基礎模型是經過預訓練的多任務大型模型,可以使用 Vertex AI Studio、Vertex AI API 和 SDK 針對特定作業進行調整或客製。其中一些模型包括用於:

  • 多模態處理的 Gemini
  • 用於建立文字和多模態嵌入的 Embeddings
  • 用於圖像的 Imagen
  • 用於語音的 Chirp
  • 用於程式碼生成的 Codey。

2. 特定任務的解決方案

特定任務的解決方案是經過預先訓練的模型,經過最佳化以解決特定問題。例如之前其他文章介紹過的:

  • 實體分析(entity analysis)
  • 情緒分析
  • 語法分析
  • 內容分類
  • 物件偵測
  • 文字翻譯

3. 可微調或開源模型

這些大多是開源模型,可以使用自訂的notebook或流水線進行微調。為了找到最適合我們所需模型,可以在搜尋中使用三個過濾器。它們是:

  • 模態(Modalities):例如語言、視覺和語音。
  • 作業(Tasks) :生成、分類和檢測。
  • 功能(Features) :流水線、notebooks和一鍵部署支援。

作業流程

Model Garden 讓我們可以透過具有 Vertex AI Studio 的 GCP 控制台 或透過具有預先建置 API 的代碼使用Google 的基礎模型在 Vertex AI Studio 中調整、佈署、客製模型與使用開源模型。

以下是一個使用Model Garden的電腦視覺範例說明:

從Model Garden頁面(如上圖),我們可以篩選與視覺相關的模型。接下來,在「任務」部分,選擇「檢測」。 搜尋結果顯示有一個Owl-Vision Transformer模型,這是一個開源模型。這是一個零樣本、文字條件式的物件偵測模型,可以使用一個或多個文字查詢來查詢影像。

在這裡,您可以看到模型卡(如上圖),在這裡可以看到更多細節。作為資料科學家,我們可能想嘗試使用此模型,因此請按一下「open notebook」。這將開啟 Owl-ViT 模型的 Colab notebook。

這個notebook(如下圖)特別展示如何將模型部署到 Vertex AI 上的端點,然後將圖像發送到端點以獲取預測,即描述圖像內容的文字標題。正如該範例所示,使用 Model Garden,從查找模型到部署和使用模型的流程變得非常簡單。

AI解決方案

上面已經說明了 Vertex AI Studio 和 Model Garden,這是 Vertex AI 提供的用於存取Gen AI模型和開發Gen AI 專案的工具。Gen AI如何嵌入AI解決方案呢?

AI解決方案包括垂直解決方案和水平解決方案。垂直解決方案是指解決特定產業內特定問題的解決方案。例如:

  • 醫療數據引擎(Healthcare Data Engine),它產生醫療見解並為患者、醫生和醫院提供服務。
  • Vertex AI Search for Retail 讓零售商能夠在自己的數位資產上提供 Google 品質的搜尋和推薦,有助於提高轉換率並減少搜尋放棄。

相較之下,水平解決方案通常指解決跨產業的類似問題的解決方案。例如:

  • 客服中心人工智慧 (CCAI — Contact Center AI) 旨在透過使用AI來改善客服中心的客戶服務。它可以幫助自動化簡單的交互,協助客服人員並解鎖呼叫者洞察力。
  • Document AI 使用電腦視覺、光學字元辨識(OCR)和自然語言處理來建立可以從文件中提取資訊的預訓練模型。這提高了文件處理的速度和準確性,可以幫助組織更快地做出更好的決策並降低成本。

讓我們以 CCAI 為例,探索它的主要功能並了解 gen AI 如何強化這些功能。CCAI是Google在客服AI的解決方案。目標是利用AI來提高客戶滿意度和營運效率,同時需要最低限度的AI專業知識。

CCAI 的核心是對談(如上圖),它支援三個主要元件:

  1. Virtual agent
  2. Agent Assist
  3. Insights

CCAI的作業原理

當客戶聯繫 CCAI 時,系統會自動確定請求是常規請求還是複雜請求

  • 常規請求 →Virtual Agent,這是一個由LLM驅動的機器人,可以與客戶自然交談。然後Virtual Agent可以處理該請求並將其傳遞給後端履行。
  • 複雜的請求 → Agent Assist,這是一個AI助手,可以幫助客服人員總結問題、收集資訊、提供解決方案並產生見解。

在整個過程中,相關資訊和見解也可以保存到知識庫中。

現在我們來看看如何利用Gen AI來改造CCAI平台。現今,CCAI 平台是一個端到端、AI 優先的呼叫中心即服務 (CCaaS — call center as a service) 解決方案,它整合了一組預先建置的工具和功能,包括Virtual Agent、Agent Assist和 Insights。該平台具有自然語言理解通話和聊天功能以及 ML 驅動的路由。這意味著該平台將能夠理解客戶的留言並將他們引導至合適的人員或部門。它還能夠從互動中學習並隨著時間的推移改進其路線。

CCAI insights 目前使用自然語言處理來分析對話,例如情緒分析、實體識別和主題檢測。這些見解可用於提高電腦與人類的效能。它們還可用於為客服人員建立訓練材料並確定可以改進客戶服務的領域。很快,Insights 將自動產生常見問題解答,以利用生成式 AI 功能改善客戶體驗。

--

--

運用"雲端服務"加速企業的數位轉型願景
運用"雲端服務"加速企業的數位轉型願景

Written by 運用"雲端服務"加速企業的數位轉型願景

我們協助您駕馭名為"雲端運算"的怪獸,馴服它為您所用。諮詢請來信jason.kao@suros.com.tw. https://facebook.com/jason.kao.for.cloud

No responses yet