共用方式為


Azure AI Studio 中的模型微調

重要

本文所述的部分功能可能僅適用於預覽版。 此預覽版本沒有服務等級協定,不建議將其用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

微調會使用範例資料重新訓練現有的大型語言模型 (LLM)。 結果會是針對所提供範例最佳化的全新自訂 LLM。

本文可協助您判斷微調是否為您使用案例適用的解決方案。 本文也會說明 Azure AI Studio 如何支援微調需求。

在本文中,微調意味著受監督的微調,而不是持續預先訓練或人類意見反應增強式學習 (RLHF)。 受監督的微調是在特定資料集上重新訓練預先訓練模型的流程。 目的通常是改善特定工作的模型效能,或引入原本訓練基底模型時未充分表示的資訊。

開始使用微調

當您決定微調是否為適合使用案例的解決方案時,熟悉這些重要詞彙會很有幫助:

  • 提示工程是一種涉及為自然語言處理模型設計提示的技術。 此流程可改善回應的正確性和相關性,以最佳化模型的效能。
  • 擷取擴增生成 (RAG) 會藉由從外部來源擷取資料並將其併入提示,以改善 LLM 效能。 RAG 可協助企業達成自訂解決方案,同時維持資料相關性並將成本最佳化。

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

為什麼要微調模型?

如果符合以下條件,您可能已準備好進行微調:

  • 您能夠清楚說明微調的特定使用案例,並識別您想要微調的模型

    微調的適用使用案例包括引導模型以特定和自訂樣式、音調或格式來輸出內容。 其中也包含引導模型所需的資訊太長或太複雜,而無法放入提示視窗的案例。

  • 您可提供清晰的範例,說明如何透過替代方法來處理挑戰,以及您已經測試了哪些可能的解決方案來改善效能。

  • 您已發現使用基底模型的缺點,例如邊緣情況下的效能不一致、無法在內容視窗中容納足夠的範例提示來引導模型、高延遲等。

如果出現以下情況,您可能還沒有準備好進行微調:

  • 來自模型或資料來源的知識不足。
  • 您無法尋找正確的資料來供模型使用。
  • 您沒有明確的微調使用案例,或是除了「我想讓模型變得更好」之外無法表達得更清楚。

如果您將成本視為主要動機,請謹慎行事。 微調可能會縮短提示或讓您使用較小的模型,藉此來降低特定使用案例的成本。 但是訓練的前期成本較高,您必須支付裝載您自訂模型的費用。 如需 Azure OpenAI 服務中微調成本的詳細資訊,請參閱定價頁面

如果您想為模型新增領域外的知識,您應該在資料內嵌上使用 Azure OpenAI 等功能來開始使用 RAG。 根據使用案例和資料,通常以此方式使用 RAG 是一種更便宜、適應性更強且可能更有效率的選擇。

什麼情況不適用於替代方法?

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

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

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

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

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

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

如果符合以下條件,您可能已準備好進行微調:

  • 您可以示範提示工程和 RAG 型方法的證據和知識。
  • 您可以透過您為使用案例嘗試過的微調以外的技術,來分享具體的經驗和挑戰。
  • 您可以盡可能對基準效能進行量化評估。

如果出現以下情況,您可能還沒有準備好進行微調:

  • 您尚未測試任何其他技術。
  • 您對於微調如何特別適用於 LLM 的知識或理解不足。
  • 您沒有基準量值來評估微調。

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

即使有絕佳的使用案例,微調的效果也取決於您能夠提供的資料品質。 您需要願意投入時間和精力來進行微調工作。 不同的模型需要不同的資料量,但您通常需要能夠提供相當大量的高品質精選資料。

另外一個重點是,即使資料品質很高,如果您的資料不是微調所需的格式,您也需要投入工程資源來進行格式設定。 如需如何準備資料以進行微調的詳細資訊,請參閱微調文件

如果符合以下條件,您可能已準備好進行微調:

  • 您已識別要進行微調的資料集。
  • 您的資料集採用適合訓練的格式。
  • 您已採用一定程度的管理以確保資料集品質。

如果出現以下情況,您可能還沒有準備好進行微調:

  • 您尚未確定資料集。
  • 資料集格式不符合您想要微調的模型。

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

這個問題沒有一個正確的答案,但您應該對成功微調有明確的目標。 在理想情況下,這項工作不應該只是定性衡量。 還應該包括成功的量化衡量,例如使用保留的資料集進行驗證,以及使用者驗收測試或針對基底模型對微調模型進行 A/B 測試。

Azure AI Studio 中微調的支援模型

現在您已知道何時針對使用案例進行微調,您可以移至 Azure AI Studio 尋找可用於微調的模型。 下列各節說明可用的模型。

Azure OpenAI 模型

Azure AI Studio 支援下列 Azure OpenAI 模型,以進行微調:

Model ID 微調區域 要求上限 (權杖) 訓練資料 (最多)
babbage-002 美國中北部
瑞典中部
瑞士西部
16,384 2021 年 9 月
davinci-002 美國中北部
瑞典中部
瑞士西部
16,384 2021 年 9 月
gpt-35-turbo (0613) 美國東部 2
美國中北部
瑞典中部
瑞士西部
4,096 2021 年 9 月
gpt-35-turbo (1106) 美國東部 2
美國中北部
瑞典中部
瑞士西部
輸入:16,385
輸出:4,096
2021 年 9 月
gpt-35-turbo (0125) 美國東部 2
美國中北部
瑞典中部
瑞士西部
16,385 2021 年 9 月
gpt-4 (0613) 1 美國中北部
瑞典中部
8192 2021 年 9 月

1 GPT-4 微調目前處於公開預覽狀態。 如需詳細資訊,請參閱GPT-4 微調安全性評估指引

若要微調 Azure OpenAI 模型,您必須將具有支援區域的 Azure OpenAI 資源連線新增至您的專案。

Phi-3 系列模型

Azure AI Studio 可支援微調下列 Phi-3 系列模型:

  • Phi-3-mini-4k-instruct
  • Phi-3-mini-128k-instruct
  • Phi-3-medium-4k-instruct
  • Phi-3-medium-128k-instruct

位於美國東部 2 的專案中目前支援微調 Phi-3 模型。

Meta Llama 2 系列模型

Azure AI Studio 支援下列 Llama 2 系列模型,以進行微調:

  • Meta-Llama-2-70b
  • Meta-Llama-2-7b
  • Meta-Llama-2-13b

位於美國西部 3 的專案中目前支援微調 Llama 2 模型。

Meta Llama 3.1 系列模型

Azure AI Studio 可支援微調下列 Llama 3.1 系列模型:

  • Meta-Llama-3.1-70b-Instruct
  • Meta-Llama-3.1-8b-Instruct

位於美國西部 3 的專案中目前支援微調 Llama 3.1 模型。