共用方式為


何時使用 Azure OpenAI 微調

決定微調是否為適合特定使用案例探索的解決方案時,有一些重要詞彙有助於熟悉:

  • 提示工程 是一種技術,涉及設計自然語言處理模型的提示。 此程序可改善回應的正確性和相關性,以及最佳化模型的效能。
  • 擷取擴增世代 (RAG) 藉由從外部來源擷取數據並將其併入提示,以改善大型語言模型 (LLM) 效能。 RAG 可讓企業達成自定義解決方案,同時維持數據相關性並優化成本。
  • 微調會使用範例數據重新定型現有的大型語言模型,進而產生新的「自定義」大型語言模型,該模型已使用所提供的範例進行優化。

什麼是 Azure OpenAI 的微調?

當我們談論微調時,我們確實表示 透過人類意見反應(RLHF)進行監督 微調,而不是連續的預先訓練或增強式學習。 受監督的微調是指在特定數據集上重新定型預先定型模型的程式,通常是為了改善特定工作的模型效能,或介紹原本定型基底模型時未充分表示的資訊。

微調是一種進階技術,需要專業知識才能適當地使用。 下列問題將協助您評估您是否已準備好進行微調,以及您經過此程式思考的方式。 您可以使用這些方法來引導後續步驟,或識別可能更適當的其他方法。

為什麼要微調模型?

  • 您應該能夠清楚表達微調的特定使用案例,並識別您想要微調的 模型
  • 微調的良好使用案例包括引導模型以特定和自定義的樣式、音調或格式輸出內容,或引導模型的資訊太長或複雜而無法放入提示視窗中的案例。

您可能尚未準備好微調的常見徵兆:

  • 沒有明確的微調使用案例,或無法表達比「我想讓模型變得更好」更清楚。
  • 如果您將成本識別為主要動機,請謹慎行事。 微調可能會藉由縮短提示或允許您使用較小的模型來降低特定使用案例的成本,但定型的預付成本較高,因此您必須支付裝載您自己的自定義模型的費用。 如需 Azure OpenAI 微調成本的詳細資訊,請參閱定價頁面
  • 如果您想要將領域知識新增至模型,您應該從擷取增強世代 (RAG) 開始,其中包含 Azure OpenAI 的數據嵌等功能。 通常,根據使用案例和數據,這是更便宜、更適應且可能更有效率的選項。

到目前為止,你嘗試了什麼?

微調是一項進階功能,而不是您產生 AI 旅程的起點。 您應該已經熟悉使用大型語言模型 (LLM) 的基本概念。 您應該從評估基底模型的效能開始,使用提示工程和/或擷取增強式產生 (RAG) 來取得效能的基準。

若沒有微調的效能基準,對於瞭解微調是否已改善模型效能而言,是不可或缺的。 使用不正確的數據微調會使基底模型變得更糟,但如果沒有基準,則很難偵測回歸。

如果您已準備好進行微調,請:

  • 應該能夠示範提示工程和RAG型方法的證據和知識。
  • 能夠與已嘗試用於使用案例的微調技術分享特定體驗和挑戰。
  • 需要盡可能對基準效能進行量化評估。

您可能尚未準備好微調的常見徵兆:

  • 從微調開始,不需要測試任何其他技術。
  • 對於微調如何特別適用於大型語言模型(LLM)的知識或理解不足。
  • 不評估微調的基準檢驗量值。

使用替代方法是什麼?

瞭解提示工程的不足之處,應該提供微調的指引。 基底模型在邊緣案例或例外狀況上是否失敗? 基底模型是否不一致地以正確的格式提供輸出,而且您無法在內容視窗中容納足夠的範例來修正此問題?

基底模型和提示工程失敗的範例可協助您識別需要收集的數據以進行微調,以及如何評估微調模型。

以下是範例:客戶想要使用 GPT-3.5-Turbo 將自然語言問題轉換成特定非標準查詢語言的查詢。 他們在提示中提供了指引(“永遠傳回 GQL”),並使用RAG來擷取資料庫架構。 不過,語法不一定正確,而且在邊緣案例中通常會失敗。 他們收集了數千個自然語言問題和其資料庫的對等查詢範例,包括模型先前失敗的情況,並使用該數據來微調模型。 結合其新的微調模型與其設計提示和擷取,使模型輸出的正確性達到可接受的使用標準。

如果您已準備好進行微調,請:

  • 有清楚的範例說明您在替代方法中如何處理挑戰,以及如何儘可能測試哪些解決方案來改善效能。
  • 您已發現使用基底模型有缺點,例如邊緣案例上的不一致效能、無法容納內容視窗中足夠少的拍攝提示來引導模型、高延遲等。

您可能尚未準備好微調的常見徵兆:

  • 來自模型或數據源的知識不足。
  • 無法尋找正確的數據來提供模型。

您要使用哪些資料來微調?

即使使用絕佳的使用案例,微調也和您能夠提供的數據質量一樣好。 您需要願意投入時間和精力來微調工作。 不同的模型需要不同的數據量,但您通常需要能夠提供相當大量的高品質策劃數據。

另一個重要點,即使您的數據不是微調所需的格式,您也需要認可工程資源,才能正確格式化數據,即使是高質量的數據也一樣。

資料 Babbage-002 和 Davinci-002 GPT-35-Turbo
體積 數千個範例 數千個範例
格式 提示/完成 交談聊天

如果您已準備好進行微調,請:

  • 已識別要微調的數據集。
  • 數據集的格式適合用於定型。
  • 已採用某種程度的策展,以確保數據集品質。

您可能尚未準備好微調的常見徵兆:

  • 尚未識別數據集。
  • 數據集格式不符合您想要微調的模型。

您要如何測量微調模型的品質?

這個問題沒有一個正確的答案,但您應該清楚定義微調成功的目標。 在理想情況下,這不應只是定性,而且應該包含成功的量化量值,例如利用一組數據進行驗證,以及使用者驗收測試或 A/B 針對基底模型測試微調的模型。

下一步