為 Gemini 模型準備監督式微調資料

本頁說明如何設定資料集格式,以對 Gemini 模型進行監督式微調。你可以調整文字圖片音訊文件資料類型。

本頁面涵蓋下列主題:

關於監督式微調資料集

監督式微調資料集可讓預先訓練模型適應特定工作或領域。輸入資料應與模型在實際使用時遇到的情況類似,輸出標籤則應代表每個輸入的正確答案。

完整資料集包含訓練資料集。建議您一併加入驗證資料集:

  • 訓練資料集:用於調整模型的資料。為獲得最佳成果,請先從至少 100 個樣本開始,並視需要增加資料集大小。資料品質比資料量更重要。
  • 驗證資料集:用於評估微調作業成效的資料集。建議您提供驗證資料集。

如要瞭解資料集限制 (例如權杖數量上限和檔案大小),請參閱「關於 Gemini 模型監督式微調」。

資料集格式

你可以提供下列格式的微調資料集:

選項 說明 用途
Vertex AI 的多模態資料集 (搶先版) Vertex AI 中的代管資料集,支援各種資料類型,並提供資料管理功能。詳情請參閱「Vertex AI 的多模態資料集」。 建議用於管理 Google Cloud 生態系統中的大型或複雜多模態資料集。
JSON Lines (JSONL) 文字檔,每行都是個別的 JSON 物件,代表單一訓練範例。檔案必須上傳至 Cloud Storage bucket。 簡單且彈性的格式,適用於以文字為基礎或簡單的多模態工作,特別是當資料是在 Google Cloud 外部準備時。

資料集結構和欄位

本節說明 JSONL 資料格式。JSONL 檔案中的每一行都是一個訓練範例,結構如下:

{
  "systemInstruction": {
    "role": string,
    "parts": [
      {
        "text": string
      }
    ]
  },
  "contents": [
    {
      "role": string,
      "parts": [
        {
          // Union field data can be only one of the following:
          "text": string,
          "fileData": {
            "mimeType": string,
            "fileUri": string
          }
        }
      ]
    }
  ]
}

每個 JSON 物件可包含下列欄位:

  • systemInstruction:(選用) 指示模型調整行為,例如「盡可能簡潔地回答」。請參閱「支援的型號」。text 字串會計入權杖限制。系統會忽略 role 欄位。
  • contents:(必要) 與模型的對話。如果是單輪查詢,則為單一物件。如果是多輪查詢,這個重複欄位會包含對話記錄和最新要求。每個 content 物件都包含下列項目:
    • role:(選用) 訊息的作者。支援的值如下:
      • user:訊息來自使用者。
      • model:這是模型傳送的訊息。這項資訊可用於在多輪對話中提供脈絡。
    • parts:(必填) 組成單一訊息的排序部分清單。每個部分可以有不同的 IANA MIME 類型。部分可以是下列其中一種類型:
      • text:文字提示或程式碼片段。
      • fileData:儲存在檔案中的資料,由 mimeType 指定,且 fileUri 指向 Cloud Storage 中的檔案。
      • functionCall:函式呼叫,包含函式名稱和參數。請參閱函式呼叫
      • functionResponsefunctionCall 的結果,用做模型的脈絡。請參閱函式呼叫
  • tools:(選用) 模型可用來與外部系統互動的一組工具。請參閱函式呼叫

如要瞭解輸入內容的限制 (例如詞元或圖片數量上限),請參閱「Google 模型」頁面的模型規格。如要計算要求中的權杖數量,請參閱「取得權杖數量」。

資料集範例

微調資料集中的每個對話範例都包含必要 messages 欄位和選用 context 欄位。

messages 欄位包含角色/內容配對的陣列:

  • role 欄位是指訊息的作者,且設為 systemusermodelsystem 角色為選用,且只能出現在訊息清單的第一個元素。usermodel 角色為必要角色,可以交替重複。
  • content」欄位是訊息內容。

在每個範例中,contextmessages 合計的權杖長度上限為 131,072 個權杖。此外,model 欄位的每個 content 欄位不得超過 8,192 個權杖。

{
  "messages": [
    {
      "role": string,
      "content": string
    }
  ]
}

建立資料的最佳做法

遵循提示設計最佳做法

訓練資料應遵循提示設計最佳做法。每個範例都應詳細說明工作和所需輸出格式。

使用實際工作環境資料維持一致性

資料集中的範例應與預期的實際工作環境流量相符。如果資料集含有特定格式、關鍵字、操作說明或資訊,則實際工作環境資料的格式應相同,並包含相同的操作說明。

舉例來說,如果資料集的範例包含 "question:""context:",則實際工作環境流量的格式也應包含 "question:""context:",且與在資料集範例顯示的順序相同。如果排除內容,模型就無法辨識模式,即便資料集中的範例出現一個確切的問題也是如此。

將資料集上傳至 Cloud Storage

如要執行微調工作,請將一或多個資料集檔案上傳至 Cloud Storage bucket。

如要執行微調工作,請將一或多個資料集上傳至 Cloud Storage bucket。您可以建立新的 Cloud Storage 值區,也可以使用現有值區來儲存資料集檔案。值區的所在區域不重要,但建議使用位於您打算微調模型Google Cloud 專案中的值區。

值區準備就緒後,請將資料集檔案上傳至值區。

後續步驟