大型語言模型:微調、精煉和提示工程

上一個單元說明過各種一般用途 LLM 稱之為:

  • 基礎 LLM
  • 基礎 LLM
  • 預先訓練的 LLM

基礎 LLM 使用足夠的自然語言訓練出「瞭解」出色的 文法、單字和慣用語。基礎語言模型 根據訓練過的主題生成實用語句 此外,基礎 LLM 可執行傳統的特定工作 「創作」例如寫詩不過,基礎 LLM 的生成文字 輸出內容並非解決其他常見機器學習問題的解決方案,例如 迴歸或分類針對這些用途 視為「平台」,而非解決方案。

將基礎大型語言模型轉換為符合應用程式需求的解決方案 需要稱為「微調」的程序。稱為 distillation 會產生較小 (參數較少) 經過微調的版本 模型

微調

研究顯示,培養基礎的模式辨識能力 語言模型的功能非常強大,因此有時會需要 學習特定任務 額外訓練後,模型就能做出更好的預測 對特定工作執行動作這項額外訓練稱為 微調 就能發揮 LLM 實際行動的效益

微調應用程式特定工作「特定」的範例,進行微調 執行方式工程師有時可以微調基礎 LLM 或幾千個訓練樣本

雖然訓練樣本數量相對較少,但標準微調 往往需要耗費大量運算資源這是因為標準微調作業 更新每個參數的權重和偏誤 反向傳播疊代作業。 幸好,「參數高效」流程更聰明 微調 如要微調大型語言模型,只需分別調整一小部分 反向傳播疊代作業

微調模型的預測結果通常優於基礎 LLM 預測結果不過,經過微調的模型 做為基礎 LLM假設基礎 LLM 有 100 億筆 則經過微調的版本也會包含 100 億個參數 參數。

萃取

大部分經過微調的 LLM 包含大量參數。因此 基礎 LLM 需要大量運算和環境資源 如何產生預測結果請注意,這些參數很大 通常與某個應用程式無關

精煉作業 會建立較小版本的 LLM精煉後的大型大型語言模型生成預測 而且運算和環境資源比 完整的 LLM然而,精煉後模型的預測結果通常不會 和原始 LLM 的預測結果一樣好還記得嗎? 參數產生的預測結果通常比 參數。

提示工程

提示工程 可讓 LLM 的使用者自訂模型輸出內容。 也就是說,使用者應清楚說明 LLM 應如何回應提示。

人類從例子中學習得很好。LLM 也是如此對 LLM 顯示一個範例 稱為 單樣本提示。 舉例來說,假設您希望模型使用以下格式輸出 水果家族:

使用者輸入水果名稱:LLM 的輸出內容類別。

單樣本提示顯示 LLM 是前述格式的單一範例 然後要求 LLM 根據該範例完成查詢例如:

peach: drupe
apple: ______

提供一個例子就夠了,如果答案為肯定,LLM 會輸出 預測結果例如:

apple: pome

在其他情況下,一個範例就不足。也就是說,使用者必須 顯示 LLM 的「多個」範例例如,下列提示包含 兩個範例:

plum: drupe
pear: pome
lemon: ____

所謂的提供多個範例, 少量樣本提示。 您可以將前面兩行提示想成訓練 範例。

LLM 能提供實用預測 (不含樣本) ( 提示)?有時候,不過 比如情境式的大型語言模型如果沒有背景脈絡,則下列零樣本提示可能會 傳回的資訊是科技公司,而不是水果:

apple: _______

離線推論

大型語言模型中的參數數量 大規模線上推論 速度太慢,不適合用於實際工作 例如迴歸或迴歸 例如單一語句分類因此,許多工程團隊 離線推論 (以及 稱為大量推論靜態推論)。 換句話說,我們不會在服務時間內回應查詢 訓練模型會預先進行預測,然後快取這些預測結果。

如果 LLM 花費的時間較長 LLM 每週或每月只執行一次工作

例如 Google 搜尋 使用了 LLM 執行離線推論,以快取超過 800 個同義詞清單 超過 50 種語言的 COVID-19 疫苗於是 Google 搜尋 快取清單,識別即時路況中的疫苗相關查詢。

以負責任的方式使用 LLM

如同任何形式的機器學習,LLM 通常具有以下偏誤:

  • 用來訓練模型的資料。
  • 去蕪存菁的資料。

依據課程中的課程,以公平且負責任的方式使用大型語言模型 本課程稍早介紹的 Google Cloud 產品

練習:隨堂測驗

以下有關 LLM 的敘述何者正確?
經過精煉的 LLM 所含參數少於基礎 擷取出原始的 3D 語言模型
是,精煉作業會減少參數的數量。
經過微調的 LLM 所含參數少於基礎 然後用於訓練模型
經過微調的模型包含與 建構出原始基礎語言模型
當使用者執行更多提示工程時 越來越大
提示工程不會新增 (或移除或修改) LLM 參數。