すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:Chain-of-Thought 推論蒸留

最終更新日:Sep 29, 2026

Chain-of-Thought (CoT) 推論蒸留テンプレートは、教師モデルから完全な推論トレースを生成し、推論の詳細度と認知的難易度でスコアリングし、難易度を考慮したビンサンプリングによりバランスの取れた SFT データセットを作成します。これにより、生徒モデルのファインチューニングにすぐ利用できます。

概要

CoT 推論蒸留テンプレートは、数学、論理、コード生成など、複数ステップの推論が必要なドメイン向けに設計されています。教師モデルが質問セットに対して完全な推論トレースを生成します。各トレースは、推論の詳細度 (RV) と認知的難易度 (CD) でスコアリングされます。難易度に基づくビンサンプリングにより、難易度分布のバランスが取れたデータセットを生成し、易しい質問への過度な集中を防ぎます。出力は、生徒モデルのファインチューニングに利用できる Chain-of-Thought SFT データセットです。

説明

このテンプレートは、オプションの 2 段階ワークフローをサポートします。ステージ 1 で 蒸留データ を作成し、ステージ 2 で 生徒モデルのトレーニング (オプション) を実行します。ステージ 1 のみを実行することも、両ステージを連続して実行することもできます。

CoT 推論蒸留パイプラインは、次のステップで構成されます:

ステップ

名前

説明

1

Chain-of-Thought の生成

教師モデルを呼び出し、入力された各質問に対して、完全な推論トレースを含む応答を生成します。

2

RV/CD スコアリング

生成された各トレースを、推論の詳細度 (RV)、認知的難易度 (CD)、および論理的な正確性でスコアリングし、後続のフィルタリングを支援します。

3

難易度ビンミキシング

認知的難易度のビンごとにサンプリングし、推論の詳細度を対応させてバランスの取れたデータセットを生成します。これにより、易しい質問への過度な集中を防ぎます。

4

SFT データセットの作成

空のサンプルと長すぎるサンプルを除外し、標準化された SFT 訓練データセットを出力します。

操作手順

  1. PAI コンソールにログインします。左側のナビゲーションペインで、モデルアプリケーション> モデル蒸留 (ModelDistill) を選択します。

  2. タスクの作成 をクリックして 知識蒸留テンプレート タブに移動するか、知識蒸留テンプレート タブに直接移動します。

  3. Chain-of-thought 推論の蒸留を選択し、テンプレートの使用 をクリックして 知識蒸留ジョブの作成 ページに移動します。以下で説明する主要なパラメーターを設定し、その他の設定はデフォルト値のままにします。

  4. 基本設定を構成します:

    • [タスク名]: システムによって自動入力されます。

    • [出力パス]: アクセス権限のある OSS パスを、たとえば oss://mybucket.oss-cn-hangzhou-internal.aliyuncs.com/cot-distill/ のように指定します。

      説明

      ファイルの上書きを防ぐため、蒸留タスクごとに別の出力ディレクトリを作成してください。OSS バケットは PAI サービスと同じリージョンにある必要があります。

  5. 次へ をクリックして、蒸留データ構築 ページに移動します:

    • [教師モデル]:教師モデルのソース には Token Service を選択し、qwen3.8-max のような推論能力の高いモデルを選択します。

    • [データセット]:アクセス権限のある OSS ディレクトリまたはファイルを選択します。サンプルデータセットをダウンロードして使用できます。

    • [知識蒸留の設定]:デフォルト値があらかじめ入力されています。必要に応じて変更してください。

      • dataset.input_path: [データセット] セクションでファイルがすでに選択されている場合、ここで設定したファイル名は有効になりません。

      • CoT 推論蒸留テンプレート固有のパラメータ (RV/CD スコアリング次元やビンミキシング戦略など) については、以下の 設定パラメータ セクションをご参照ください。

    • [計算リソース]: リソースタイプ を 汎用コンピューティングリソース に設定し、リソースのソース を パブリックリソース に設定して、タスクリソース から ecs.c6.large などの適切な リソース仕様 を選択します。

  6. 次のステップ:学生モデルのトレーニング をクリックして設定を続行するか、蒸留データ構築のみ実行 を選択してスキップします。

    • [生徒モデル]: パブリックモデル を選択し、ドロップダウンリストから Qwen3-4B などの小さなモデルを選択します。

    • [トレーニング方法]:LoRA を選択します。

    • [計算リソース]: リソースタイプ を 汎用コンピューティングリソース に設定し、リソースのソース を パブリックリソース に設定し、タスクリソース から適切な リソース仕様 を選択します。

  7. 作成 をクリックし、次に課金確認ダイアログボックスで OK をクリックすると、ページがタスク詳細の基本設定ページにリダイレクトされ、そこでタスクのステータスを追跡できます。

設定パラメータ

このセクションでは、CoT 推論蒸留テンプレートに固有の主要パラメータについて説明します。基本設定とリソース設定は一般的な蒸留と同じです。ここでは、このテンプレートに固有のパラメータのみを説明します。

基本設定

基本設定には、タスク名と出力パスが含まれます。出力パスは、タスクのすべての出力のルートディレクトリです。蒸留データセットもこのディレクトリに書き込まれるため、データセット用の個別の出力パスを指定する必要はありません。

蒸留データ

教師モデル

CoT 推論蒸留テンプレートでは教師モデルは 1 つのみ必要で、入力された各質問に対して完全な推論トレースを生成します。推論能力の高いモデルを選択してください。教師モデルのソースは PAI トークンサービス のみをサポートします。

データセット

入力ディレクトリまたはファイルを選択します。データ形式の要件は次のとおりです:

  • 形式: JSONL (1 行につき 1 つの質問)。

  • 各エントリに instruction フィールドが含まれている必要があります。

  • 回答の手動アノテーションは不要です。教師モデルが推論トレースと回答の両方を生成します。

サンプルデータ:

{"instruction": "Prove that the square root of 2 is an irrational number."}
{"instruction": "If 4 machines can produce 800 parts in 5 hours, how many parts can 6 machines produce in 8 hours?"}

蒸留設定

蒸留設定は YAML 形式で提供され、アルゴリズムチームが推奨するデフォルト値が設定されています。必要に応じて調整できます。次の表で主要なパラメータを説明します。

設定セクション

説明

dataset

  • output_path (デフォルト: distillation_dataset.json): 蒸留アーティファクトの出力パス。相対パスにある別の .json ファイル、またはサブディレクトリ内のファイル (例: sft_dataset.json または output/sft_dataset.json) に変更できます。

backend

  • timeout (デフォルト: 1200.0): リクエストごとの最大待機時間 (秒)。max_tokens (16384) の上限をすべて使用するレスポンスは、観測スループットが 38~58 トークン/秒の場合、400 秒以上を要します。

generation

  • system_prompt (デフォルト: "You are a helpful assistant. Think step by step and provide clear reasoning."): 教師モデルが推論トレースを生成する際に使用されるシステムプロンプトです。

  • temperature (デフォルト: 0.7): 生成の多様性を制御します。

  • max_tokens (デフォルト: 16384): 1回の生成あたりの最大トークン数。

sft

  • skip_empty (デフォルト: true):空のサンプルをスキップします。

  • min_length (デフォルト: 10): 短すぎるサンプルを除外します。

  • max_length (デフォルト: 131072): 長すぎるサンプルを除外します。

eval

  • スコアリング次元 (metrics): reasoning_verbosity、cognitive_difficulty、logical_correctness。専用の CoT 評価プロンプトファイル (configs/prompts/default_cot_eval_prompts.yaml) を使用します。

pipeline

  • Chain-of-Thought 生成ステージ (cot_distill): CoT 生成プロンプトテンプレートを使用します。

  • RV/CD スコアリングステージ (cot_rvcd_score): max_workers のデフォルトは 4 (同時スコアリングスレッド数) です。

  • 難易度ビンミキシングステージ (cot_mix_by_rv_cd):

    • cd_bins のデフォルトは [0, 3, 6, 10] (認知的難易度のビンの境界値 — 4つの境界値で3つのビンが作成されます) です。

    • rv_target のデフォルトは matched (推論の詳細度を認知難易度に合わせる) です。

    • samples_per_bin のデフォルトは 0 です (難易度ビンあたりの最大サンプル数。0 は制限なしを意味し、デフォルトの出力上限は 300 です)

    • min_correctness のデフォルトは 1 (論理的な正しさの最小しきい値) です