本ドキュメントでは、テキスト生成モデルのファインチューニングデータに関するフォーマット仕様、パッケージング要件、サイズと数量の制限、および API アップロードクォータについて説明します。これにより、ユーザーはトレーニング手法に応じて、コンプライアンスに準拠した SFT/DPO/CPT トレーニングデータを構築し、アップロードすることができます。
概要
本ドキュメントでは、テキスト生成モデルのファインチューニングデータに関するフォーマット仕様、パッケージング要件、サイズと数量の制限、および API アップロードクォータについて説明します。対象範囲は、テキスト生成モデルのファインチューニング (テキスト/画像/動画 → テキスト) であり、プレーンテキストの SFT/DPO/CPT、Qwen VL の画像・動画理解、動画フレーム抽出、関数呼び出し、思考などが含まれます。動画生成モデルのファインチューニング (画像 → 動画) は対象外です。
データセットのタイプ (トレーニングセットまたは評価セット) は、作成後に変更することはできません。各トレーニング手法と要素のサポート状況については、「トレーニング手法と要素のサポートマトリックス」で詳しく説明します。各組み合わせのフォーマット構築ルールについては、以下の対応する章で説明します。
管理操作 (作成パラメーター、バージョン管理、評価セット管理ルール、インポート方法の選択、データクレンジング、セキュリティとコンプライアンス) については、関連ドキュメントで説明しています。詳細については、「トレーニングセットと評価セット」、「モデルファインチューニングの概要」などをご参照ください。インポートの失敗を避けるため、データセット作成ページで対応するシナリオのデータテンプレートをダウンロードし、テンプレートの構造に従ってデータを準備することを推奨します。
データセット構築の推奨事項 (推奨されるデータ規模、多様性とバランス、データ拡張戦略) については、「モデルファインチューニングの概要 - データセット構築のヒント」をご参照ください。
トレーニング手法と要素のサポートマトリックス
トレーニングセットは、SFT、DPO、CPT の 3 つのトレーニング手法をサポートしています。各トレーニング手法と要素のサポート状況を以下のマトリックス表に示します。推奨されるファインチューニングの順序は CPT (任意) → SFT → DPO (任意) です。これら 3 つは段階的な関係にあり、相互排他的ではありません。
リージョン別の可用性:
- SFT、ローカルアップロード、ログリプレイ、API アップロード、およびマルチモーダルデータフォーマットは、すべてのリージョンでサポートされています。
- DPO、CPT、Object Storage Service (OSS) インポート、およびクラウドストレージマウントは、北京リージョンでのみサポートされています。
トレーニング手法 | テキスト生成 | 視覚理解 - 画像入力 | 視覚理解 - 動画入力 (qwen3.5+) | 視覚理解 - ツール呼び出し (qwen3.5+) | ディープシンキング |
|---|---|---|---|---|---|
✓ | ✓ | ✓ | ✓ | ✓ | |
✓ | ✗ | ✗ | ✗ | ✓ | |
✓ | ✗ | ✗ | ✗ | ✗ | |
✓ | ✗ | ✗ | ✗ | ✗ |
テキスト生成 - SFT フォーマット
SFT テキスト生成のトレーニングデータは、ChatML の messages マルチターン構造に基づいた jsonl ファイル形式を使用します。
- system、user、assistant の 3 つのロールをサポートします。content フィールドは文字列です (マルチモーダルシナリオの content 配列構造については、対応するマルチモーダルフォーマットの章をご参照ください)。
- 単一ファイルの最大サイズは 200 MB です。
- 1 つのデータセットには、異なるフォーマットの行を混在させることができます。各レコードは独立してフォーマットを選択でき、単一のフォーマットに統一する必要はありません。
- 利用可能なフォーマット:標準対話、ディープシンキング、関数呼び出し、および関数呼び出しと思考の組み合わせ (以下のサンプルタブをご参照ください)。
- 標準 ChatML
- ディープシンキング (thinking)
- 関数呼び出し
高度な使い方
-
loss_weightパラメーターがサポートされており、値の範囲は(0.0, 1.0]です。値が大きいほど、トレーニング中のこのレコードの重要度が高くなります。Qwen3.5 以降のモデルではデフォルトでサポートされています。Qwen3 および Qwen2.5 シリーズのモデルでサポートを有効にするには、アカウントマネージャーにお問い合わせください。
思考タグのルール
思考コンテンツは <think>\n…\n</think>\n\n タグで囲み、assistant の出力テキスト内に配置します (最終的な返信と同じ最後の assistant の content を共有します)。ルールは以下の通りです:
- 最後の assistant の出力にのみ配置できます。中間の assistant の出力に思考タグを含めてはいけません。
- 思考タグの前後の改行は維持する必要があります。
- トレーニングサンプルでモデルが思考タグを出力しないように設定した場合、トレーニング後にモデルを呼び出す際に思考モードを再度有効にすることは推奨されません。
評価セットのフォーマット
評価セットはテキスト生成シナリオのみに対応し、SFT/DPO/CPT のトレーニング手法とは独立しています。DPO/CPT でトレーニングされたモデルも、評価にはテキスト生成評価セットを使用し、トレーニング手法による区別はありません。
評価セットは 2 つのサンプルフォーマットをサポートしており、データセット作成時のデータフォーマットのトレーニングシナリオで選択します:
- テキスト生成 (prompt&completion):シングルターンフォーマット。各サンプルは Prompt (ユーザーの質問) と Completion (参照回答) で構成されます。ローカルアップロードは xls、xlsx ファイルのみをサポートします (1 ファイルの最大サイズは 20 MB)。列構造はコンソール提供のデータテンプレートで確認できます。
- テキスト生成 (ChatML-messages):マルチターン会話フォーマット。各サンプルは messages 配列で、system、user、assistant ロールのメッセージで構成され、参照回答は messages 内の最後の assistant メッセージです。ローカルアップロードは jsonl、xls、xlsx ファイルをサポートします (1 ファイルの最大サイズは 200 MB)。サンプルファイルはデータセット作成時にダウンロードできます。
- messages:メッセージ配列。system メッセージは任意で最前面に配置され、user と assistant のメッセージは交互に並びます。マルチターン会話では user/assistant のメッセージペアを追加していき、最後の assistant メッセージがそのサンプルの参照回答です。
- assistant メッセージの content にはモデルの思考コンテンツを含めることができます。思考テキストは回答の前に置かれ、
</think>マーカーで区切られます (推論モデルを評価する場合に使用します)。 - extra:任意のカスタム拡張フィールド。オブジェクト、配列、数値などのタイプをサポートし、業務のニーズに応じてサンプルにカスタムデータを追加できます。
- 取り込み方法:ローカルアップロードとログリプレイ。Object Storage Service (OSS) インポートとクラウドストレージマウントはサポートされていません。
- 以前に作成されたドラフトバージョンのみがオンライン編集 (Prompt/Completion) をサポートします。公開されたバージョンは編集できません。
- ChatML フォーマットのデータセットでは、データセット詳細のファイルプレビューで jsonl 形式により 1 件ずつ完全な messages の内容が表示されます。
- サポートされるログの範囲は過去 30 日以内です。
- 1 回のインポートで最大 100,000 レコードです。
- サービスリンクロールを権限付与し、API キーとモデルのフィルター条件を指定する必要があります。
- トレーニングセットは SFT テキスト生成シナリオでのみ利用可能です (テキスト生成評価セットもサポートされています)。
テキスト生成 - DPO フォーマット
DPO テキスト生成のトレーニングデータは jsonl 形式を使用します。ChatML の messages マルチターン構造に基づいており、さらにプリファレンスアライメントトレーニングのために、chosen と rejected という 2 つの対照的な assistant の出力を含みます。messages 内のすべてのコンテンツが入力として使用され、DPO は最後の user 入力に対するモデルの肯定的/否定的なフィードバックをトレーニングするために使用されます。messages マルチターン構造のルールについては、「テキスト生成 - SFT フォーマット」をご参照ください。
ディープシンキングのコンテンツについては、chosen または rejected の assistant 出力を思考タグで囲むことができます。思考タグは最後の assistant の行にのみ配置できます。ルールについては、「テキスト生成 - SFT フォーマット」をご参照ください。
loss_weight パラメーター (招待制) は chosen モジュールをサポートします。値の範囲は 0.0 から 1.0 で、値が大きいほどトレーニングの重要度が高くなります。詳細については、「テキスト生成 - SFT フォーマット」をご参照ください。
DPO トレーニングデータの単一ファイルサイズ制限は 200 MB で、SFT テキスト生成と同じです。DPO の定義については、「モデルファインチューニングの概要」をご参照ください。バージョン管理と公開操作については、「トレーニングセットと評価セット」をご参照ください。
DPO テキスト生成トレーニングデータのサンプルについては、以下のコードブロックをご参照ください:
- 標準 ChatML
- ディープシンキング (thinking)
テキスト生成 - CPT フォーマット
CPT テキスト生成のトレーニングデータは、jsonl プレーンテキスト形式を使用し、1 行に 1 つの jsonl オブジェクトを記述します。構造は {text} で、text フィールドはプレーンテキストのコンテンツです。messages マルチターン構造のルールについては、「テキスト生成 - SFT フォーマット」をご参照ください。
CPT トレーニングデータの制約:
- 最低 5,000 万トークンが推奨され、単一ファイルのサイズ制限は 300 MB です。
視覚理解 - SFT フォーマット
SFT 画像トレーニングデータは、Qwen VL マルチモーダル理解 (コンソール UI オプションは「画像理解」) に使用されます。data.jsonl トレーニングテキストデータファイルと画像ファイルを含む zip パッケージ形式を使用します。data.jsonl はパッケージのルートに配置する必要があります。data.jsonl の各トレーニングレコードの messages は、content 配列構造を採用し、配列アイテムには画像フィールド (image) とテキストフィールド (text) が含まれます。単層のディレクトリ構造を推奨します。パッケージングルールについては、「マルチモーダル zip パッケージのパッケージングルール」をご参照ください。
- 画像入力の制限
- 動画入力の制限
- 単一画像の幅と高さは 1024 px を超えてはなりません。
- 単一画像は 10 MB を超えてはなりません。
- サポートされるフォーマット:bmp、jpeg、jpg、png、tif、tiff、webp。
- 標準 ChatML
- ディープシンキング (thinking)
- 関数呼び出し (function calling)
- 画像入力
- 動画ファイルパスモード
- 画像フレームリストモード
関数呼び出しフォーマットのルール
関数呼び出しモードは、マルチターンメッセージ構造の上に tools 定義と tool_calls/role:tool メカニズムを追加します。フィールドの制約は以下の通りです:
- tools:ツール定義の配列。各アイテムには type:"function" と function{name, description, parameters} が含まれます。parameters は JSON スキーマ (type/properties/required を含む) です。
- messages:マルチターン対話の配列。ロールには user、assistant、tool が含まれます。
- content:マルチモーダルコンテンツの配列。image、text、video などのアイテムを含むことができます (マルチモーダル理解フォーマットと一致)。
- assistant.tool_calls:モデルによって生成されたツール呼び出しの配列。id、type:"function"、function{name, arguments} を含みます。arguments は JSON 文字列です。
- role:"tool":ツールの戻り値。tool_call_id は対応する tool_calls[].id と一対一で対応する必要があります。content にはツールの戻り結果が含まれます。
思考タグのルール
思考コンテンツは <think>\n…\n</think>\n\n タグで囲み、assistant の出力テキスト内に配置します (最終的な返信と同じ最後の assistant の content に属します)。ルールは以下の通りです:
- 最後の assistant の出力にのみ配置する必要があります。中間の assistant の出力に思考タグを追加してはいけません。
- 思考タグの前後の改行は維持する必要があります。
- トレーニングサンプルでモデルが思考タグを出力しないように設定した場合、トレーニング完了後に呼び出しの際に思考モードを有効にすることは推奨されません。
マルチモーダル zip パッケージのパッケージングルール
マルチモーダル理解トレーニングデータは、データセットの追加 ページから zip パッケージとしてアップロードされます。パッケージングは以下の制約を満たす必要があります:
- zip パッケージは最大 2 GB までサポートされます。
- パッケージ内のフォルダ名とファイル名に使用できる文字セットは、ASCII 文字 (a-z, A-Z)、数字 (0-9)、アンダースコア (_)、ハイフン (-) です。
- トレーニングテキストデータファイルは data.jsonl に固定され、zip パッケージのルートディレクトリに配置する必要があります。展開後、zip ファイルを直接開くと data.jsonl が表示されるようにし、余分な外側のフォルダでラップされていないことを確認してください。
ファイルサイズと数量の制限
ローカルアップロードのファイルサイズと数量の上限は、トレーニング手法とシナリオによって設定されており、詳細は以下のシナリオ別テーブルに記載されています。画像の受け入れ制限については、「視覚理解 - SFT フォーマット」をご参照ください。評価セットのフォーマット制限については、「評価セットのフォーマット」をご参照ください。ログリプレイの取り込み制限については、「評価セットのフォーマット」をご参照ください。
max_length は、500 から 131072 の範囲の値を取るトレーニングシーケンス長の構成パラメーターであり、アップロードの受け入れ上限ではありません。単一のトレーニングデータレコードの受け入れサイズの上限は、コンソールページに表示される内容に従います。
ローカルアップロードのファイルサイズと数量の上限は、トレーニング手法とシナリオによって設定されています。推奨データ量は、最小限の推奨値です:
トレーニング手法/シナリオ | 単一ファイルの最大サイズ | 最大ファイル数 (maxCount) | 推奨データ量 |
|---|---|---|---|
テキスト生成 - SFT フォーマット | 200 MB | 10 (デフォルト) | 少なくとも数千サンプル |
テキスト生成 - DPO フォーマット | 200 MB | 10 (デフォルト) | 少なくとも数百サンプル |
テキスト生成 - CPT フォーマット | 300 MB | 1 | 少なくとも 5,000 万トークン |
マルチモーダル (zip) | 2 GB | 1 | 実際のシナリオに基づいて十分なサンプルを準備 |
ファイル名 (拡張子なし) | 120 文字以下かつ一意 | — | — |
拡張子 | データセットの作成 リストに含まれている必要があります | — | — |
API アップロードクォータ
DashScope API を介してファインチューニングファイルをアップロードする (purpose がモデルファインチューニングとしてタグ付けされている) 場合のクォータを以下のクォータ表に示します。コンソールでデータセットを作成する際、ファイル API リストは最大 10 ファイルのマージと登録をサポートします。API を介してアップロードされたファインチューニングファイルは、コンソールのモデルファインチューニングページと API 呼び出しの両方で表示および使用可能です。
クラウドストレージマウントを介してデータセットをロードする際の制約:
- MountStorage の file_path を介して data.jsonl のルートディレクトリマニフェストパスを指定します。zip アーカイブはサポートされていません。
- マウントする前に、Bailian サービスに OSS データへのアクセスを権限付与する必要があります。
- 単一ファイルが 300 MB を超える場合:クラウドストレージマウントまたはマルチモーダル ZIP 2 GB チャンネルを介してアップロードします。
- 合計クォータを超えた場合:履歴ファイルを削除してスペースを解放します。
- インポートされたデータは、自動的に OSS サーバーサイド暗号化 (SSE-OSS, AES256) を有効にします。
クォータ項目 | 制限 | 説明 |
|---|---|---|
単一ファイルサイズ | 最大 300 MB | ファインチューニングファイル (モデルファインチューニング目的) |
有効な合計ファイルスペース | 100 GB | 未削除ファイルの累積 |
有効な合計ファイル数 | 10000 | 未削除ファイルの累積 |
ファイル保存期間 | 時間制限なし | 自動的に有効期限切れにならない |
ファイル API リストの上限 | 10 | コンソールでデータセットを作成する際のマージ登録 |
ディメンション | OSS インポート | クラウドストレージマウント |
|---|---|---|
前提条件 | Bailian データアクセス権限付与タグ | Bailian サービスに OSS データへのアクセスを権限付与 |
データ形式 | 単一またはバッチファイル | 非圧縮のデータセットフォルダ全体 (zip は非サポート) |
エントリ | データ管理 > 新規データセット > OSS インポート | モデルファインチューニング > トレーニングタスクの作成 > データ設定 > データセットのマウント |
評価セット | ✗ | ✗ |
アップロードの検証とよくあるエラー
データセットの追加 ページでファイルをローカルにアップロードする際、フロントエンドの検証は受け入れルールを満たさないファイルを拒否し、プロンプトを表示します。一般的な検証拒否とアップロードエラーのシナリオを以下の折りたたみ項目に示します:
問題: ファイルをアップロードする際、フロントエンドがファイル数が上限を超えていると通知し、ファイルが拒否される。
問題: ファイルをアップロードする際、フロントエンドがファイル数が上限を超えていると通知し、ファイルが拒否される。
- 現在のトレーニング手法に対応する maxCount の上限を確認します。詳細については、「ファイルサイズと数量の制限」をご参照ください。
- ファイル数を上限内に減らします。マルチモーダルデータは単一の zip にマージし、CPT データは単一の jsonl にマージします。
- それでもファイル数が上限を超える場合は、複数のデータセットに分割してバッチでアップロードします。
問題: ファイル名 (拡張子を除く) の長さが 120 文字を超え、フロントエンドがアップロードを拒否する。
問題: ファイル名 (拡張子を除く) の長さが 120 文字を超え、フロントエンドがアップロードを拒否する。
- ファイル名を変更し、拡張子を除くファイル名を 120 文字以内に短縮します。
- a-z/A-Z/0-9/_/- の文字のみを使用し、中国語やその他の非 ASCII 文字を削除します。
- マルチモーダルアーカイブ内のファイル名もグローバルに一意でなければなりません。
問題: ファイル名が重複しており (拡張子を除いて比較)、フロントエンドがアップロードを拒否する。
問題: ファイル名が重複しており (拡張子を除いて比較)、フロントエンドがアップロードを拒否する。
- 重複した名前のファイルを確認し、拡張子を除いた部分が一意になるように名前を変更します。
- 同じ名前で拡張子が異なるファイル (例:image.jpg と image.png) も重複と判断されるため、同時に区別する必要があります。
- マルチモーダル zip 内のファイル名は、異なるフォルダに分散している場合でも、グローバルに一意でなければなりません。
問題: 単一ファイルのサイズが対応するトレーニング手法の上限を超え、フロントエンドがアップロードを拒否する。
問題: 単一ファイルのサイズが対応するトレーニング手法の上限を超え、フロントエンドがアップロードを拒否する。
- ファイルサイズが対応するトレーニング手法の上限を超えていないか確認します。
- jsonl を複数のファイルに分割してバッチでアップロードします (SFT/DPO)。CPT データの分割には、複数の新しいデータセットを作成する必要があります。
- 単一ファイルが 300 MB を超える場合のオーバーフロー処理方法については、「API アップロードクォータ」をご参照ください。
問題: ファイル拡張子が supportedExtension リストに含まれておらず、フロントエンドが警告を表示してアップロードを拒否する。
問題: ファイル拡張子が supportedExtension リストに含まれておらず、フロントエンドが警告を表示してアップロードを拒否する。
- ファイル拡張子が対応するシナリオでサポートされているリスト内にあるか確認します。
- ファイルをサポートされている拡張子に変換し、再パッケージしてアップロードします。
- マルチモーダル zip 内の画像と動画の拡張子はそれぞれ準拠している必要があります。そうでない場合、パッケージ全体のインポートが失敗します。
問題: OSS アップロード中に、ファイルがエラーステータスに設定され、アップロードが完了しない。
問題: OSS アップロード中に、ファイルがエラーステータスに設定され、アップロードが完了しない。
- OSS バケットに Bailian データアクセス権限付与タグが追加されていることを確認します。
- Bailian サービスが OSS データへのアクセスを権限付与されていることを確認します。
- data.jsonl とファイルフォーマットがパッケージングルールに準拠していることを確認し、アップロードを再試行します。詳細については、「マルチモーダル zip パッケージのパッケージングルール」をご参照ください。
- 公開と削除の操作はどちらも元に戻せません。公開されたバージョンは再編集できず、以前に作成されたドラフトバージョンのみが削除またはオンライン編集可能です。
- データセットのタイプ (トレーニングセット/評価セット) は作成後に変更または入れ替えできません。間違って選択した場合は、新しいデータセットを作成し、すべてのデータを再インポートする必要があります。
- データセットのタイプ、トレーニングシナリオ、またはトレーニング手法を切り替えると、アップロードされたファイルがクリアされ、ストレージ場所とインポート方法がリセットされます。