---
# System prepended metadata

title: 【2023 生成式AI】07~08 生成式學習策略和可使用工具的AI
tags: [生成式AI]

---

20251019筆記 內容可能有錯誤，請參考原始影片 


[李宏毅【機器學習 2023】(生成式 AI)](https://www.youtube.com/playlist?list=PLJV_el3uVTsOePyfmkfivYZ7Rqr2nMk3W)

今日影片


[【生成式AI】生成式學習的兩種策略：要各個擊破，還是要一次到位](https://youtu.be/AihBniegMKg?si=sQp7y6PeeqvaUTeD)


[【生成式AI】能夠使用工具的AI：New Bing, WebGPT, Toolformer
](https://youtu.be/ZID220t_MpI?si=ko4PplETyPYrQ_QB)



### 【生成式AI】生成式學習的兩種策略：要各個擊破，還是要一次到位 大綱


**I. 生成式學習的基礎**
A. 目的：生成結構複雜的物件（如文字、影像、語音）。
B. 構成元素：複雜物件由小元素構成（文字的 Token、影像的像素、語音的取樣點）。

**II. 兩種生成策略**
A. 策略一：**各個擊破 (Auto-regressive)**
B. 策略二：**一次到位 (Non-auto-regressive)**。

**III. 策略比較**
A. **速度 (Speed)**：各個擊破較慢，一次到位較快。
B. **品質 (Quality)**：各個擊破通常品質較好，一次到位通常品質較差。
C. **應用選擇**：
    1. 文字生成 (Text Generation)：常用各個擊破（如 GPT）。
    2. 影像生成 (Image Generation)：常用一次到位（因像素太多）。

**IV. 綜合運用**
A. **語音合成 (Speech Synthesis)**：先用各個擊破決定大方向（生成中間產物），再用一次到位生成複雜的最終訊號。
B. **$N$ 次到位 (N-regressive)**：將一次到位改為分次到位，先生成模糊圖片，再逐漸變得清晰（如 Diffusion Model）。

---

### 1. 生成式學習的目標與元素

*   生成式學習目的在生成**結構複雜的物件**，例如文字、影像或語音。
*   這些複雜物件通常由一些**小元素**所構成。
*   構成文字的元素在相關論文中稱為 **Token** (中文裡類似字)。在英文中，Token 是一種介於字母和詞彙之間的單位（例如 "untable" 可能拆成三個 Token）。
*   構成影像的元素是**像素 (Pixel)**。
*   構成語音的元素是一堆**取樣點 (Sample points)**，例如 16K 的音訊訊號，一秒鐘有 16,000 個取樣點。
*   GPT 處理的問題雖然從使用者角度來看是生成式學習，但它實際上是將生成問題拆解成**多個分類問題**，選項是全世界所有的 Token。

### 2. 兩種生成策略詳述

#### 策略一：各個擊破 (Auto-regressive)

*   各個擊破是生成策略的一大類。
*   **做法**：模型每次只生成一個元素。
    *   在文字生成中，就是一個接一個地生成 Token。
    *   在影像生成中，就是一個接一個地生成像素。
*   **模型類型**：採用此策略的模型在專業術語上稱為 **Auto-regressive 模型**。
*   **應用實例**：GPT 採用的就是各個擊破的策略。
*   **生成終止**：在生成文字時，會產生一個代表結束的 Token 符號來停止生成。

#### 策略二：一次到位 (Non-auto-regressive)

*   一次到位是生成策略的另一大類。
*   **做法**：一次性地將所有元素產生出來。
    *   例如，一次將所有的文字產生出來，或一次將所有的像素產生出來。
*   **模型類型**：採用此策略的模型稱為 **Non-auto-regressive (非自迴歸) 模型**。
*   **生成長度**：模型可以透過幾種方式決定輸出的長度：
    1.  永遠輸出固定的長度（例如 512 個 Token），並在回應中輸出結束符號 $N$ 來讓後面的內容被丟棄。
    2.  先輸出一個數字（例如 100），代表接下來要生成多少個字，然後再生成確定的字數。

### 3. 策略差異比較

| 特性 | 策略一：各個擊破 (Auto-regressive) | 策略二：一次到位 (Non-auto-regressive) | 說明與原因 |
| :--- | :--- | :--- | :--- |
| **生成速度** | **慢** | **快** | 各個擊破必須等前一個元素生成完畢，無法平行化，因此花費時間長。一次到位只要有足夠的運算資源就可以同時產生所有元素。 |
| **生成品質** | **通常較好** | **通常較差** | 各個擊破能夠根據已生成的內容調整下一步的機率分佈，避免生成不連貫的答案。一次到位可能在取樣時，將多個正確答案的元素混在一起，導致出現荒謬的結果（例如先取樣到「老」再取樣到「員」，變成「老員」）。 |
| **典型應用** | 文字生成 (GPT) | 影像生成 (Image Generation) | 影像（如 100x100 圖片）像素太多（10,000個元素），若用各個擊破會耗時過久，因此圖像生成常採用一次到位。 |

### 4. 兩種策略的綜合運用

為了結合兩種策略的優點（各個擊破的高品質，一次到位的高速度），有時會將兩種方法綜合起來。

#### 案例一：語音合成 (Speech Synthesis)

*   生成語音訊號非常複雜（一秒鐘有 16,000 個取樣點）。
*   早期的各個擊破方法（如 2016 年的 **WaveNet**）雖然聲音品質很好，但生成一秒鐘的聲音可能需要等數小時，難以使用。
*   **混合策略**：
    1.  **階段一 (各個擊破)**：先用各個擊破的方法生成一個**中間產物**（例如每秒只有 100 個向量，比 16,000 個取樣點簡單許多）。這個階段的目標是**決定大方向**。
    2.  **階段二 (一次到位)**：再用一次到位的方法，根據中間產物生成最終複雜的訊號（16K 的取樣點）。
*   這樣結合了各個擊破在決定大方向上的優勢（避免模型無法決定方向）和一次到位在速度上的優勢。

#### 案例二：$N$ 次到位 (N-regressive)

*   將一次到位改為 $N$ 次到位，本質上也是結合了各個擊破的概念。
*   **做法**：
    1.  先用一次到位的方法，生成**比較模糊的圖片**。
    2.  接著，透過多次（$N$ 次）的一次到位方法，讓圖片**越來越清楚**。
*   由於大方向已經在第一步決定，後續的生成就不會面臨不知道要選擇哪一個答案的困境。
*   **實例**：這就是 **Diffusion Model** 的基本精神，它相較於過去的一次到位方法，能夠產生更高品質的造型。

### 【生成式AI】能夠使用工具的AI：New Bing, WebGPT, Toolformer 大綱

**I. 具備網路搜尋功能模型的介紹**
A. 案例：New Bing。
B. 核心特點：擁有網路搜尋功能，不同於傳統 GPT。
C. 決策機制：模型會自行決定何時需要搜尋網路。
D. 挑戰：即使連網並提供引用，模型仍可能產生錯誤資訊。

**II. 網路搜尋的底層機制：WebGPT**
A. 模型功能：WebGPT是一個會使用搜尋引擎並著名出處的開源模型。
B. 搜尋行為序列：透過特殊的 Token 來控制搜尋、點選、收藏等動作。
C. 訓練方法：透過人類老師的示範學習來訓練模型，使其學會執行這些動作。

**III. 進階應用：使用多種工具 (Formulating)**
A. 擴展功能：Formulating 模型不只搜尋，還會使用其他工具，例如計算機。
B. 自動化訓練：嘗試在沒有人類老師示範的情況下，利用另一個語言模型來生成訓練資料。

**IV. 模型能力與結果**
A. 工具依賴：模型大小會影響其使用工具的能力；模型太小可能學不會用工具。
B. 表現優勢：即使模型參數較小，但有工具輔助，仍有機會勝過沒有輔助的大型模型。

---

### 1. 具備網路搜尋功能的模型 (New Bing)

*   **New Bing的特色：** New Bing 已經上線，用戶在 Bing 首頁點選「聊天」選項即可開啟類似於 ChatGPT 的對話畫面。New Bing 與傳統的 GPT **最不一樣**的地方在於它**有搜尋網路的功能**。
*   **搜尋過程：** 當用戶問 New Bing 問題時，它可能會顯示「正在搜尋」的輸出。它會將提問中的詞彙當作關鍵字去搜尋網頁。
*   **產生答案與引用：** New Bing 會拿搜尋到的資料來產生答案。有趣的是，它還會附上 **網頁引述（references）**，告訴用戶這個知識是從哪一個網頁上看來的。
*   **搜尋決策：** New Bing 會**自行決定**何時要搜網路，有時候會搜，有時候不會搜。例如，當被要求「來玩一個穿越文字冒險遊戲」時，它有時會搜尋相關介紹，有時則直接進入對話模式。
*   **多關鍵字搜尋：** 模型不一定只搜尋一個關鍵字，它可以自己決定同時搜尋多個關鍵字。
*   **模型錯誤的挑戰：** 即使大型語言模型連網，它**仍然會犯錯**。舉例來說，New Bing 錯誤地寫李宏毅曾「在 Google 工作過」，並為此提供了兩個引述網頁（一個是作者的中文百科條目，一個是作者的個人網站），但這些網頁從未提過這件事。這表明連網後模型**答案是自己生出來的**，並非直接引用網頁內容。

### 2. 網路搜尋的底層技術：WebGPT 

*   **模型基礎：** 雖然 New Bing 的確切技術細不清楚，但有一個非常相近的開源論文是 **WebGPT**。WebGPT 在 2021 年底發布，它會使用搜尋引擎，並在答案中著名出處。WebGPT 產生的結果與現在 Bing 產生的結果非常相似。
*   **搜尋機制：** WebGPT 將使用搜尋引擎視為一個「文字接龍」的問題。
    *   **特殊符號：** 語言模型可以決定產生一個**特殊的符號**代表「搜尋」(SEARCH)。
    *   **關鍵字產生：** 「搜尋」符號之後產生的文字會被模型拿去做關鍵字搜尋。
    *   **結果排序：** 搜尋結果會按照搜尋到的順序編號。
    *   **點選 (CLICK)：** 模型可以產生一個「點選」符號，後面接一個數字，代表點選搜尋結果中的第幾篇文章。
    *   **文章內容處理：** 點開的文章內容（或是選擇的段落）會被當作語言模型已經產生出來的內容。
    *   **收藏 (STORE)：** 模型產生「收藏」符號後，剛才展開的內容會被收藏下來。
    *   **多次搜尋：** 語言模型可以自行決定進行**不止一次**的搜尋。
    *   **回答 (ANSWER)：** 當模型認為所需的資料都已集齊後，它會產生一個「回答」符號，此時**沒有被收藏**的內容就會消失。
*   **引用的產生：** 引用標註（如,）的結果**可能是機器自行生成**的，而不是由寫死的規則產生。

### 3. 模型的訓練與進階工具使用

*   **WebGPT 的訓練方式：** WebGPT 是透過**人類老師的示範**來訓練的。
    *   **示範過程：** 人類老師看到一個問題後，在介面中輸入關鍵字搜尋、點選、將文章「收藏」(add info)，然後開始寫答案。
    *   **學習序列：** 這些人類行為的序列會被記錄下來，用來訓練模型進行文字接龍。
    *   **訓練配方：** WebGPT 的配方與 GPT-3 類似，包括先做預訓練（Pre-train），再進行人類老師的示範學習，最後還需要做**強化學習**。

*   **Formulating：使用多種工具**
    *   **功能擴展：** Formulating 是一篇展示模型不只搜尋，還會使用其他工具（如計算機）的論文。
    *   **工具呼叫機制：** 使用工具也都是**文字接龍**的問題。例如，模型可以產生一個特殊符號「啟動計算機」，後面接著要運算的算式。
*   **自動化資料生成（無人類教師）**
    *   由於工具的組合使用過於複雜，難以透過大量人力示範來訓練，Formulating 嘗試在沒有人類老師的情況下產生訓練資料。
    *   **策略：** 利用**另一個語言模型**來產生資料，指示它在文字中插入呼叫 API 的指令（例如用角括號 `<QA> question </QA>` 表示）。
    *   **資料篩選：** 為了確保資料合理，他們會檢查「加上 API 呼喚指令」是否能幫助提高生成**正確答案**的機率。如果呼喚 API 對於文句生成有幫助，則保留該訓練資料。
*   **實驗結果：**
    *   實驗比較顯示，如果模型太小，它**學不會用工具**。
    *   但如果模型夠大，即使是參數比 GPT-3 小的模型（Formulating 最小參數約 6000），若能使用工具（呼喚 API），有機會**打敗**沒有輔助的 GPT-3。

---
其他課程

[【2023 生成式AI】01~03 ChatGPT 原理剖析](https://hackmd.io/@JuitingChen/SyUtDmaalx)
[【2023 生成式AI】04~06 文字冒險和機器學習原理](https://hackmd.io/@JuitingChen/S1wwdXa6ge)
[【2023 生成式AI】07~08 生成式學習策略和可使用工具的AI](https://hackmd.io/@JuitingChen/BJPQtQpagx)
[【2023生成式AI】09~11 Finetuning vs. Prompting](https://hackmd.io/@JuitingChen/H15otQpael)
[【2023生成式AI】12~15 大模型 + 大資料 = 神奇結果？](https://hackmd.io/@JuitingChen/rJ1Gi7a6le)
[【2023生成式AI】16~17 圖像生成模型 和 Stable Diffusion、DALL-E、Imagen 背後共同的套路](https://hackmd.io/@JuitingChen/HJnB2QTagg)
[【2023 生成式AI】19~22 Diffusion Model 原理剖析 ](https://hackmd.io/@JuitingChen/SyBx6mp6xe)
[【2023生成式AI】23~25 低成本復刻ChatGPT、ChatGPT自我反省、AI村莊](https://hackmd.io/@JuitingChen/r10hAsrCxe)
[【2023生成式AI】26~27  用語言模型來解釋語言模型](https://hackmd.io/@JuitingChen/SJ0aYiwAeg)
[【2023生成式AI】28~30 FrugalGPT 用省錢的方式來使用 ChatGPT](https://hackmd.io/@JuitingChen/rypFqnPRll)