メインコンテンツへスキップ
学習ガイドの章 すべてのドキュメント

TrainingProject 設定リファレンス

SDK 0.2.0 のプロジェクトにおけるモデル、データ、学習、予算、復旧、評価のフィールド、既定値、検証規則を説明します。

どの言語版でもコマンドとコードは英語のままです。大文字のプレースホルダーは、ご自身のアカウントと有料ジョブの値に置き換えてください。共有ノートブックやログに実際のキーを貼り付けないでください。

設定から再現可能な実行へ

有料処理や重みの更新を始める前に、すべての設定を解決してレビューします。
  1. 定義 モデル、教師モデル、目標
  2. 制約 データ、プライバシー、予算
  3. 検証 アダプターと実行環境の互換性
  4. plan を確定 解決済み設定とフィンガープリント
  5. 実行 レビュー済みのプロジェクトだけ

定義: モデル、教師モデル、目標. 制約: データ、プライバシー、予算. 検証: アダプターと実行環境の互換性. plan を確定: 解決済み設定とフィンガープリント. 実行: レビュー済みのプロジェクトだけ

プロジェクトを定義し、データを保護する

これはスキーマ 1.0 のプロジェクト設定です。自動モードの例を training.json として保存します。相対パスはそのファイルを基準に解決してください。プランに含まれる実際の reference ID を指定し、API key はプロセスの機密情報用環境変数で管理します。この設定では教師モデルと独立して学習可能な生徒モデルを選択します。教師モデルの非公開の重みはダウンロードしません。

  • 未知のキーは拒否されます。すべてのパスはプロジェクトルート内に収めてください。
  • 教師モデルとの共有は承認済みの学習元に限られます。検証データと最終テストデータは教師モデルに送信しません。
  • TrainingClient は既存の有料ジョブのセッションワークフローにも引き続き使えます。
プロジェクト、モデル、教師モデル
フィールドまたはインターフェース型または結果既定値または終了コード動作と検証
schema_version string "1.0" 必ず 1.0 を指定してください。明示的にサポートされるまでは、ほかのスキーマバージョンを拒否します。
mode enum 必須 / 既定値なし 必須:automatic または advanced。自動モードは互換性のある既定値を解決し、詳細設定モードでは設定を明示します。
objective string 必須 / 既定値なし 必須のタスク説明。10~4000 文字で、対象ユーザー、能力、期待する結果を記載します。
model.path string 必須 / 既定値なし 必須。プロジェクトルート内のローカルモデルディレクトリ、または変更されないリビジョンを指定したリポジトリ識別子を指定します。教師モデルの推論エンドポイントは指定できません。
model.adapter string 必須 / 既定値なし 必須の登録済みアダプター ID です。transformers-causal-lm は因果言語モデル用の登録済みアダプターです。
model.revision string | null null ローカルモデルはフィンガープリントを取得します。リポジトリ識別子には、不変の40文字または64文字のリビジョンが必要です。
teacher.provider string 必須 / 既定値なし 現在有効な有料プランに含まれるプロバイダー識別子を指定します。モデルの所有権が移ることはありません。
teacher.reference_model_id integer 必須 / 既定値なし そのプロバイダープランに含まれるモデルの正の整数 ID を指定します。プレースホルダーは実際の値に置き換えてください。
データとプライバシー
フィールドまたはインターフェース型または結果既定値または終了コード動作と検証
data.sources string[] [] text フィールドを含むローカル JSONL 学習ソースのパスです。approved_only 共有では、教師モデルが生成したレッスンを補助データとして追加できます。
data.teacher_sharing enum "approved_only" approved_only はレビュー済みの学習コンテンツを共有できます。none は顧客コンテンツを教師モデルに送ることを禁止します。非公開の評価データは常に除外されます。
data.validation_path string | null null 任意の独立した検証用 JSONL です。指定がない場合、レビュー済みの計画で学習前に決定的な分割を定義します。
data.test_path string 必須 / 既定値なし 必須の独立した最終テストファイルです。教師モデルによる準備や最適化には使用しません。
data.deduplicate boolean true 各分割間の重複や共通する例を除去します。非公開テキストを漏らさずに除外数を報告します。
data.seed integer 42 決定的な分割と再現可能な初期化に使う非負の整数です。バックエンドが対応する範囲で適用されます。
例 · json
{
  "schema_version": "1.0",
  "mode": "automatic",
  "objective": "Classify support messages as billing, account_access or technical_issue.",
  "model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
  "teacher": {"provider": "openai", "reference_model_id": 123},
  "data": {
    "sources": ["./data/train.jsonl"], "teacher_sharing": "none",
    "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl",
    "deduplicate": true, "seed": 42
  },
  "runtime": {"target": "customer_datacenter", "devices": "auto"},
  "training": {"method": "auto"},
  "curriculum": {"topics": ["intent", "ambiguous_requests", "class_balance"], "max_improvement_cycles": 3, "stop_on_regression": true},
  "budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
  "checkpoints": {"keep_last": 3},
  "evaluation": {"rubric": "./rubric.json", "baseline_required": true},
  "output": {"directory": "./runs/german-001", "format": "safetensors"}
}

自動または詳細設定の学習を選ぶ

自動モードは互換性のある設定を解決して計画に記録します。詳細設定モードでは学習設定を明示できますが、アーキテクチャ、方式、精度、ハードウェアの組み合わせに互換性が必要です。既定値は、すべての環境でのメモリ使用量や性能を保証するものではありません。対応していない組み合わせは重みを更新する前に互換性チェックでエラーになります。

  • 学習方式は SFT、LoRA、QLoRA です。自動モードでは方式の値として auto も解決できます。
  • 分散 DDP では、承認済み launcher がノードの rank と rendezvous 設定を提供します。マルチノード実行には、明示的に信頼された torchrun 環境が必要です。
  • モデルアーキテクチャ、トークナイザー、コンテキスト長の制限は引き続き適用されます。このアダプターはすべてのモデル系列に対応するわけではありません。
実行環境と分散実行
フィールドまたはインターフェース型または結果既定値または終了コード動作と検証
runtime.target enum 必須 / 既定値なし 必須:fusionpointai_hosting、customer_datacenter、colab のいずれかです。既存の実行環境を選ぶもので、ハードウェアは購入されません。
runtime.devices "auto" | integer[] "auto" auto は互換性のある承認済みデバイスを選びます。明示する場合は、重複のない非負の可視 GPU インデックスを指定します。
runtime.distributed.backend enum "none" 単一プロセスでは none を指定します。ddp には、対応アダプターと承認済みのマルチ worker launcher が必要です。
runtime.distributed.nodes integer 1 正の整数です。1 より大きい場合は DDP、合意済みのノードアクセス、rank、安全な rendezvous が必要です。この値を指定しても計算容量は用意されません。
学習設定
フィールドまたはインターフェース型または結果既定値または終了コード動作と検証
training.method enum "auto" auto、SFT、LoRA、QLoRA のいずれかです。自動モードは auto を解決し、詳細設定モードでは対応する方式を明示します。
training.epochs number | "auto" "auto" 有限の正数、または自動モードに限り auto を指定します。有効なステップ数は承認済みの時間とリソースの上限にも従います。
training.learning_rate number | "auto" "auto" 1 未満の有限な正数、または自動モードに限り auto を指定します。アダプターや商用ポリシーにより、さらに厳しい制限が設けられる場合があります。
training.batch_size integer | "auto" "auto" 正のデバイスごとの整数、または自動モードに限り auto を指定します。実行前にメモリへの適合性を確認します。
training.gradient_accumulation_steps integer | "auto" "auto" 正の整数、または自動モードに限り auto を指定します。有効な batch size には worker 数と累積ステップ数も含まれます。
training.max_sequence_length integer | "auto" "auto" トークナイザーとモデルの制限内の正の整数、または自動モードに限り auto を指定します。モデルのコンテキスト長を暗黙に拡張することはありません。
training.precision enum "auto" ハードウェアとバックエンドが対応する auto、fp32、fp16、bf16 のいずれかです。詳細設定モードでは明示が必要です。
training.lora.rank integer 16 正のアダプター rank です。対象モジュールが適格な LoRA/QLoRA の場合にのみ使用します。
training.lora.alpha number 32 有限の正のアダプタースケーリング値です。LoRA/QLoRA の場合にのみ使用します。
training.lora.dropout number 0.05 0 以上 1 未満の有限値です。LoRA/QLoRA の場合にのみ使用します。
training.lora.target_modules "auto" | string[] "auto" auto は対応するモジュール名を計画に反映します。または適格な名前を1つ以上指定します。
カリキュラム制御
フィールドまたはインターフェース型または結果既定値または終了コード動作と検証
curriculum.topics string[] [] 順序付きのトピック名です。空の場合、自動モードは前提知識を提案できます。詳細設定モードでは順序を明示してレビューを受ける必要があります。
curriculum.max_improvement_cycles integer 3 正の整数で、最大 10 です。予算超過、進捗停止、性能低下が生じた場合は、それより前に停止します。
curriculum.stop_on_regression boolean true true の場合、ルーブリックで定義した性能低下が生じた時点で改善を停止します。false の場合でも、性能低下があれば最終受け入れは不合格です。
例 · json
{
  "schema_version": "1.0",
  "mode": "advanced",
  "model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
  "teacher": {"provider": "openai", "reference_model_id": 123},
  "objective": "Classify support messages as billing, account_access or technical_issue.",
  "data": {"sources": ["./data/train.jsonl"], "teacher_sharing": "none", "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl"},
  "runtime": {"target": "customer_datacenter", "devices": [0, 1], "distributed": {"backend": "ddp", "nodes": 1}},
  "training": {
    "method": "LoRA",
    "epochs": 3,
    "learning_rate": 0.0002,
    "batch_size": 1,
    "gradient_accumulation_steps": 16,
    "max_sequence_length": 2048,
    "precision": "bf16",
    "lora": {"rank": 16, "alpha": 32, "dropout": 0.05}
  },
  "curriculum": {
    "topics": ["intent", "ambiguous_requests", "class_balance"],
    "max_improvement_cycles": 3,
    "stop_on_regression": true
  },
  "checkpoints": {"every_steps": 100, "keep_last": 3, "resume_validation": "strict"},
  "budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
  "evaluation": {"rubric": "./rubric.json", "baseline_required": true},
  "output": {"directory": "./runs/german-advanced-001", "format": "safetensors"}
}

上限のある予算と測定可能な受け入れ基準を設定する

各プロジェクトには、時間、教師モデルへのリクエスト数、ストレージの予算を明示します。いずれかの予算を使い切ったとき、整合性チェックに失敗したとき、性能低下または進捗停止が発生したときは、その時点で停止します。有効な復旧状態を保存し、未達の基準を説明してください。ルーブリックは独立した受け入れタスクを定めるもので、例のスコアを達成済みの結果に変えるものではありません。

  • ルーブリックの例では 0~1 に正規化した尺度を使い、必須基準を個別に定めています。必須基準はすべて合格する必要があります。
  • データ、モデル、評価、トポロジー、予算を変更する場合は、不整合な状態を無理に再開せず、新しい計画を作成してレビューを受けてください。
  • エクスポートには検証済みのモデルまたはアダプターファイル、トークナイザー、マニフェストを含めます。認証情報、無関係なキャッシュデータ、未レビューのモデルコードは含めません。
予算、復旧、出力
フィールドまたはインターフェース型または結果既定値または終了コード動作と検証
budgets.max_training_minutes number 必須 / 既定値なし 必須の有限な正の実行時間予算を分単位で指定します。実行開始後の準備と評価にかかる実時間も含まれます。
budgets.max_teacher_requests integer 必須 / 既定値なし 必須の正の整数です。準備、レビュー、再試行を数えます。上限を超える前に必ず安全に停止します。
budgets.max_storage_gib number 必須 / 既定値なし 必須の有限な正のストレージ上限を GiB 単位で指定します。データ、チェックポイント、成果物が対象です。無関係なファイルは削除しません。
checkpoints.every_steps integer 100 正の整数で示すチェックポイント間隔です。安全に一時停止できた場合も、有効なアトミックチェックポイントを保存します。
checkpoints.keep_last integer 3 1~5 の整数です。新しいチェックポイントの検証後に、古いもののうち実行が所有するファイルだけを削除します。
checkpoints.resume_validation enum "strict" strict のみ指定できます。モデル、データ、設定、評価器、分散トポロジーのフィンガープリントに変更があれば再開を拒否します。
evaluation.rubric string 必須 / 既定値なし 有効なルーブリックへの必須パスです。評価器のバージョンを固定し、測定可能な必須基準を定義します。
evaluation.baseline_required boolean true この仕様では true が必須です。重みを更新する前に、変更していないベースラインを評価します。
output.directory string 必須 / 既定値なし 必須の新しい出力ディレクトリです。実行が所有します。既存の実行は確認または再開できますが、run で上書きすることはありません。
output.format enum "safetensors" 対応している場合に限り safetensors または adapters を指定します。アダプターのエクスポートには固定済みのベースモデルとトークナイザーが必要です。
評価基準のフィールド
フィールドまたはインターフェース型または結果既定値または終了コード動作と検証
schema_version string "1.0" ルーブリックのスキーマ 1.0 です。パッケージのリリースバージョンとは異なります。
name string 必須 / 既定値なし レポートに使う必須の空でないルーブリック名です。
scale.minimum number 0 正規化スコアの下限です。このスキーマでは 0 です。
scale.maximum number 1 正規化スコアの上限です。このスキーマでは 1 です。
criteria object[] 必須 / 既定値なし 空でないリストです。必須基準はすべて合格する必要があり、ID は一意でなければなりません。
criteria[].id string 必須 / 既定値なし レポートに保持される、必須かつ安定した基準識別子です。
criteria[].description string | null null 任意の補足説明です。説明文そのものが意味を判定する評価器になるわけではありません。
criteria[].metric string 必須 / 既定値なし 登録済み metric が必須です。exact_match、macro_f1、text_similarity、chrf、または登録済みのカスタム評価器を指定します。
criteria[].minimum_score number 必須 / 既定値なし 0~1 の範囲の有限な必須しきい値です。例示された値は達成を保証するものではありません。
regression.maximum_score_drop number 0.02 変更前のベースラインと比較した正規化スコアの許容絶対低下幅です。0~1 の範囲で、維持対象の基準ごとに評価します。
final_test.path string 必須 / 既定値なし 必須です。data.test_path と同じ独立したファイルを指定してください。
final_test.allow_training_use boolean false false のみ指定できます。ホールドアウトテストの回答が学習または教師モデルへの入力に使われる設定は拒否します。
例 · text
SDK 0.2.0 CONFIGURATION RULES
Unknown fields, duplicate IDs, nonfinite numbers and unsafe paths are rejected.
All model, data, rubric and output paths must resolve inside the project root.
Automatic mode resolves "auto" once; save all resolved values in the plan manifest.
Advanced mode requires explicit method, epochs, learning_rate, batch_size,
gradient_accumulation_steps, max_sequence_length and precision.
SFT does not consume LoRA options. LoRA/QLoRA require a compatible adapter.
Model files and pinned revisions are verified within the project root.
Use the CLI for explicit GPU indexes; Python callers can set CUDA_VISIBLE_DEVICES
before starting Python and keep runtime.devices set to auto.
No automatic execution of untrusted model code, shell commands or plugins.
All three budgets must be finite, positive and explicitly supplied.
Storage includes owned checkpoints, datasets and artifacts, not unrelated files.
Held-out test data must not be sent to the teacher or used for weight updates.
CLI overrides are limited to the documented flags; never silently override a plan.
RUBRIC RULES
Every criterion requires a registered metric and minimum_score; descriptions are not semantic evaluators.
Built-in metrics: exact_match, macro_f1, text_similarity and chrf.
Custom deterministic scorers use register_evaluator(name, scorer, version="...").
Evaluator versions and scoring configuration are pinned in the plan.
0 <= minimum_score <= 1 for the example's normalized scale.
All required criteria must pass; do not average away a failed criterion.
The final_test.path must match data.test_path; allow_training_use must be false.
Scores and budgets in examples are requested settings, not measured results.