分類体系からデータを生成する Red Hat AI Inference

データ生成とは、QNAファイルに含めた質問と回答に基づいて、合成の質問と回答を自動的に生成するプロセスです。 Red Hat AI Inference がデータを生成する際の手法は、コンテンツの品質と関連性に重点を置いています。

データ生成プロセスに関する詳細は、 Red Hat をご覧ください

Red Hat AI Inference モデルアラインメント、合成データの生成、および分類管理機能は非推奨となっており、2026年9月25日に削除される予定です。 モデルのカスタマイズおよびアライメントのワークフローを継続するには、 OpenShift の「 Red Hat® OpenShift® AI On」へ移行してください。 Red Hat® OpenShift® のAIについて詳しくはこちら

前提条件

  1. ilab CLIプラグインをインストールします
  2. 分類体系を整えておきましょう
  3. 「 tar.gz 」というタクソノミーを、 Object Storage のバケットに追加してください

コンソールを使用してデータを生成する

  1. コンソールで、「 Red Hat AI Inference 」サービス を開きます。

  2. Red Hat AI Inference の「プロジェクト 」>「あなたのプロジェクト」>「 トレーニングデータ 」の順にクリックし、「 生成 」を選択します。

  3. トレーニングデータの英数字による名前を入力し、使用する分類体系を選択してください。

  4. (任意):データ生成プロセスを開始する前に、提示された見積もり費用を確認してください。

  5. **「生成」**をクリックします。 状態は queued であり、次に running となります。

  6. 状態が「 completed 」になるのを待ちます。 データの生成が完了すると、ログファイルが格納された「 synthetic_data 」ディレクトリが、 Object Storage バケット内に作成されます。 トラブルシューティングや確認のために、これらのログを確認することができます。

コンソールでの独自のトレーニングデータのインポート

Red Hat AI Inference でのデータ生成を補完するために、以前に生成した独自のデータをインポートすることができます。 以下のいずれか、または複数の操作を行う必要がある場合は、独自のデータをインポートすることをお勧めします。

  • データを生成する際に、1つまたは複数の知識・スキル文書をインポートします。
  • 複数のトレーニングデータの実行結果を1つに統合する。
  • データを生成し、ダウンロードしてから、そのデータの一部を加工して、再度生成します。
  • 以前に生成したデータと、新しくインポートしたデータを結合してください。
  • データをインポートし、学習データを生成した後、そのデータを別のデータ生成処理の結果と組み合わせます。
  • リプレイバッファと、タクソノミーからインポートしたデータを組み合わせます。 この機能は、API または CLI でのみ利用可能です。
  • データをインポートし、分類体系から学習データを生成します。 この機能は、API または CLI でのみ利用可能です。

独自のデータをインポートするには、過去のデータ生成実行結果を参照するか、 Object Storage バケットからファイルをインポートするか、ローカルマシンからファイルをアップロードすることができます。

独自のトレーニングデータをインポートするには、以下の手順に従ってください。

  1. コンソールで、「 Red Hat AI Inference 」サービス を開きます。

  2. Red Hat AI Inference 」の「プロジェクト 」>「自分のプロジェクト」>「 トレーニングデータ 」>「 インポート 」をクリックします。

  3. データに付ける英数字の名前を入力してください。

  4. 以下のいずれかのオプションを選択します。

    • Object Storage: 「 Object Storage 」バケット内の既存のファイルを選択してください。

      1. 既存のデータが保存されているインスタンスとバケットを選択してください。
      2. 次へ をクリックします。
      3. インポートしたいファイルを選択してください。
    • ファイルのアップロード :ローカルマシンからファイルを選択してください。 ファイルのアップロードには40 Mbの上限があることにご注意ください。

      1. Object Storage のインスタンスとバケットを選択するか、データを保存するための新しいインスタンスとバケットを作成してください。
      2. そのバケットに対して、 Red Hat AI Inference Writer の権限を付与します。
      3. オプション :ストレージ設定。 データの保存方法について、以下の追加情報を指定してください。
        • バケットのファイルパス。
        • バケット内のディレクトリ。
        • Object Storage インスタンス名。
        • リソースグループ。
        • Object Storage バケット名。
        • バケットの耐障害性。
      4. 次へ をクリックします。
      5. ローカルマシンからアップロードしたい知識およびスキルのファイルを選択してください。
  5. インポート をクリックします。

コンソールでのトレーニングデータの統合

タイムアウトやシステムの制限を回避できるよう、データをより小さく、扱いやすい単位に分けて生成するとよいでしょう。 その後、これらの小さなデータセットを1つのデータセットに統合し、学習に使用することができます。

コンソールでデータをマージするには、以下の手順を実行してください。

  1. コンソールで、「 Red Hat AI Inference 」サービス を開きます。

  2. Red Hat AI Inference Projects 」>「あなたのプロジェクト」>「 トレーニングデータ 」をクリックします。

  3. リストから最大20件のトレーニングデータエントリを選択し、「 マージ 」をクリックしてください。

  4. データに付ける英数字の名前を入力してください。

  5. マージしたデータを保存する Object Storage のインスタンスとバケットを選択してください。

  6. 「作成」 をクリックします。

CLI を使用したデータの生成

  1. タクソノミーを一覧表示し、使用したいタクソノミーをメモしておいてください。

    ibmcloud ilab taxonomy list
    

    出力例。

    id                         name       taxonomy_path
    669a88c9488ee7b95ce8fe05   test-tax   taxonomy.tar.gz
    
  2. タクソノミーからデータを生成します。 次の手順で使用するデータのIDをメモしておいてください。 名前には英数字を使用してください。

    ibmcloud ilab data generate [--name NAME] [--taxonomy-id TAXONOMY-ID]
    

    コマンドの例。

    ibmcloud ilab data generate --name testdata --taxonomy-id 669a88c9488ee7b95ce8fe05
    

    出力例。

    id            66a268c170dcb21150050e8e
    name          test-data
    state         queued
    status
    created_at    2024-07-19T15:40:29.000Z
    taxonomy_id   669a88c9488ee7b95ce8fe05
    
  3. データ生成の詳細を確認してください。 データのIDを含めてください。 状態は queued であり、次に running となります。 状態が「 completed 」になるのを待ちます。 状態が「 completed 」の場合、 Object Storage バケット内に、トラブルシューティング用のログが格納された「 synthetic_data 」ディレクトリ が作成されます。

    ibmcloud ilab data get --id DATA_ID
    

    data get コマンドの例。

    ibmcloud ilab data get --id 66a268c170dcb21150050e8e
    

    出力例。

    id            66a268c170dcb21150050e8e
    name          test-data
    state         running
    status        Generating data for taxonomy path compositional_skills->STEM->math->area: 12% 12/100 (total qna processed 1/147)
    created_at    2024-07-19T15:40:29.000Z
    taxonomy_id   669a88c9488ee7b95ce8fe05
    
  4. オプション:状態が「 completed 」の場合、 推定コストを算出するためのトークン推定値 などのメトリクスを確認できます。

    --output json オプションを指定した data get コマンドの例

    ibmcloud ilab data get --id 66a268c170dcb21150050e8e --output json
    

    JSON出力の例

    {
      "created_at": "2026-08-04T15:40:29.000Z",
      "data_metrics": {
        "samples": {
          "knowledge": 30,
          "skills": 70,
          "total": 100
        },
        "tokens": {
          "data_leaf_nodes": {
            "compositional_<taxonomy_path>": 26196,
            "knowledge_<taxonomy_path>": 1228930,
            },
          "data_tokens_total": 5993486,
          "training_estimated": 411435913,
          "training_phases": {
            "phase_1_knowledge": 1389992,
            "phase_2_skills": 410045921
            }
        }
      },
      "id": "66a268c170dcb21150050e8e",
      "last_signal_at": "2026-08-04T17:20:32.000Z",
      "name": "test-data",
      "state": "completed",
      "status": "completed",
      "taxonomy_id": "669a88c9488ee7b95ce8fe05"
    }
    

CLI を使用して独自のトレーニングデータをインポートする

次のような理由のいずれか、あるいは複数により、独自のデータをインポートしたい場合があるかもしれません。

  • データを生成する際に、1つまたは複数の知識・スキル文書をインポートします。
  • 複数のトレーニングデータの実行結果を1つに統合する。
  • データを生成し、ダウンロードしてから、そのデータの一部を加工して、再度生成します。
  • 以前に生成したデータと、新しくインポートしたデータを結合してください。
  • データをインポートし、学習データを生成した後、そのデータを別のデータ生成処理の結果と組み合わせます。
  • リプレイバッファと、タクソノミーからインポートしたデータを組み合わせます。 この機能は、API または CLI でのみ利用可能です。
  • データをインポートし、分類体系から学習データを生成します。 この機能は、API または CLI でのみ利用可能です。

Red Hat AI Inference では、データ生成を補完するために、独自のトレーニングデータをインポートすることができます。 以前に生成した独自のデータをインポートするには、以下のいずれか1つ以上を指定してください:

  • 以前の実行におけるデータ生成ID。
  • .jsonl のナレッジおよびスキルファイルが含まれる Object Storage のバケット。

データをインポートするには、以下の手順に従ってください。

  1. タクソノミーを一覧表示し、使用したいタクソノミーをメモしておいてください。
    ibmcloud ilab taxonomy list
    
    出力例。
    id                         name       taxonomy_path
    669a88c9488ee7b95ce8fe05   test-tax   taxonomy.tar.gz
    
  2. 以前に生成したデータを使用したい場合は、そのデータの一覧を作成し、使用したいUUIDをメモしておいてください。 最大20個のデータソースを追加できます。
    ibmcloud ilab data list
    
  3. タクソノミーからデータを生成します。 次の手順で使用するデータのIDをメモしておいてください。 名前には英数字を使用してください。
    ibmcloud ilab data generate [--name NAME] [--taxonomy-id TAXONOMY-ID] [--internal-ids INTERNAL-IDs]
    
    データ生成のために複数の内部ID(データソース)を含めるコマンドの例。
    ibmcloud ilab data generate --name testdata --taxonomy-id 65005b67-7de4-4216-b23c-ed4342f99c88 --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40
    

その他の例については、次のセクション「 独自のトレーニングデータをインポートするためのコマンド例 」を参照してください。

独自のトレーニングデータをインポートするためのコマンド例

独自のトレーニングデータをインポートしたり、データ生成ジョブに知識・スキルファイルを追加したりするための、以下のコマンド例を確認してください。

複数の内部IDを含めるコマンドの例。

ibmcloud ilab data generate --name testdata --taxonomy-id 65005b67-7de4-4216-b23c-ed4342f99c88 --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40

Object Storage バケット内の、以前に生成された複数のデータソース(内部ID)および .jsonl ファイルを結合するためのコマンド例。

ibmcloud ilab data generate \
  --name testdata \
  --taxonomy-id 669a88c9488ee7b95ce8fe05 \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40 \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT

以前に生成されたデータと、 Object Storage のバケットに保存されている .jsonl のナレッジおよびスキルファイルを組み合わせるためのコマンド例。 また、生成されたデータ(SDG)の出力を保存するための出力用 Object Storage バケットを、必要に応じて指定することもできます。

ibmcloud ilab data generate \
  --name testdata \
  --taxonomy-id 669a88c9488ee7b95ce8fe05 \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59 \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

内部IDを指定してデータを結合するコマンド例。

ibmcloud ilab data generate \
  --name testdata \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59,299ee20c-0b04-4d8e-ad12-a3d98feece40 \
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

以前に生成されたデータを内部IDを指定してマージし、 Object Storage バケットのスキルや知識を含めるためのコマンド例。

ibmcloud ilab data generate \
  --name testdata \
  --internal-ids 8c6b9224-a4f1-4649-907c-0f11d14cfc59 \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

Object Storage バケットからスキルとナレッジをマージするためのコマンド例。

ibmcloud ilab data generate \
  --name testdata \
  --knowledge-paths PATH \
  --skills-paths PATH \
  --skills-knowledge-cos-bucket STRING \
  --skills-knowledge-cos-bucket-endpoint ENDPOINT
  --output-cos-bucket-string STRING \
  --output-cos-bucket-endpoint ENDPOINT

API を使用してデータを生成する

  1. タクソノミーを一覧表示し、使用したいタクソノミーをメモしておいてください。

    コマンドの例。

    curl -X 'GET' \
    'https://us-east.instructlab.ibm.com/v1/taxonomies' \
    -H 'accept: application/json`
    

    出力例。

    {
      "taxonomies": [
        {
          "id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
          "name": "example-taxonomy-name-1",
          "taxonomy_path_cos": "taxonomies/taxonomy.tar.gz",
          "created_at": "2024-10-23T02:58:50.000Z"
        }
      ]
    }
    
  2. タクソノミーからデータを生成します。 次の手順で使用するデータのIDをメモしておいてください。 名前には英数字を使用してください。

    コマンドの例。

    curl -X 'POST' \
      'https://us-east.instructlab.ibm.com/v1/data' \
      -H 'accept: application/json' \
      -H 'Content-Type: application/json' \
      -d '{
      "name": "example-data-1",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7"
    }'
    

    出力例。

    {
      "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da",
      "name": "example-data-1",
      "state": "",
      "status": "queued",
      "created_at": "2024-10-23T02:58:50.000Z",
      "last_signal_at": "2026-08-04T17:20:32.000Z",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
      "data_metrics": {
        "samples": {
          "additionalProp1": 1,
          "additionalProp2": 2,
          "additionalProp3": 3
        }
      }
    }
    
  3. データ生成の詳細を確認してください。 データのIDを含めてください。 状態は queued であり、次に running となります。 状態が「 completed 」になるのを待ちます。

    コマンドの例。

    curl -X 'GET' \
      'https://us-east.instructlab.ibm.com/v1/data/add785e6-a8c3-4f5f-ab89-c506a3f115da' \
      -H 'accept: application/json'
    

    出力例。

    {
      "id": "add785e6-a8c3-4f5f-ab89-c506a3f115da",
      "name": "example-data-1",
      "state": "",
      "status": "queued",
      "created_at": "2024-10-23T02:58:50.000Z",
      "last_signal_at": "2026-08-04T17:20:32.000Z",
      "taxonomy_id": "202a03c4-dcf1-432a-82b7-abecb2e019f7",
      "data_metrics": {
        "samples": {
          "additionalProp1": 1,
          "additionalProp2": 2,
          "additionalProp3": 3
        }
      }
    }
    

状態が「 completed 」の場合、 Object Storage バケット内に、トラブルシューティング用のログが格納された「 synthetic_data 」ディレクトリ が作成されます。

データを生成した後、 Object Storage のバケットには何が格納されますか?

データを生成すると、 Object Storage バケット内に synthetic_data ディレクトリが作成され、その中に以下のファイルが含まれます。

Artifacts
これらのファイルには、各リーフノードのサンプルが含まれています。 これらはモデルの学習には使用されませんが、可読性を高めるために提供されており、QNAが期待通りのサンプル数を生成しているかどうかを確認するために使用できます。
Logs
これらのファイルには、 Red Hat AI Inference の実行ログおよびシステムの詳細情報が含まれています。
knowledge_train_msgs.jsonl および skills_train_msgs.jsonl
これらはフェーズ1およびフェーズ2のトレーニングファイルであり、モデルのトレーニングに使用されたサンプルが含まれています。

データがなぜ、どのように生成されるのかを理解するには、 SDG FAQのコミュニティドキュメントをご覧ください。

.jsonl 形式の例

スキルと知識に関する以下の「 .jsonl 」構造の例を確認してください。

{
  "messages": [
    {
      "content": "string",   // The text of the message
      "role": "string"       // The role of the sender (e.g., "system", "user", "assistant")
    }
  ],
  "metadata": "string",      // A JSON-encoded string containing additional info (e.g., num_turns, group, dataset)
  "id": "string"             // A unique identifier for the conversation
}

次のステップ

タクソノミーからデータを生成したら、 モデルの学習 を開始できます。