createTrainer
createTrainer は start / wait / cancel メソッドを持つ Trainer オブジェクトを返します(トレーナー制御 を参照)。この関数は TrainerInput のクライアント側バリデーションを しません: TypeScript が型付きフィールドをコンパイル時にチェックし、それ以外は start() 実行時にクラウド API へ転送されます。不正な値は構築時のクライアント側 throw ではなく、学習中にバックエンドエラーとして現れます。
シグネチャー
TrainerInput の全体は下記のパラメータで説明します。返ってくる Trainer は トレーナー制御 ページにあります。第 2 引数 context は @internal 注釈付きで、テストと高度なオーバーライド用に予約されています。TrainerInternalContext 自体は形状が安定していないため arkor から export されていません。設定可能な既知のフィールド (reconnectDelayMs / maxReconnectDelayMs / maxReconnectAttempts) は トレーナー制御 > 再接続 を参照してください。
必須フィールド
| フィールド | 型 | 補足 |
|---|---|---|
name | string | ジョブ名。Studio とマネージドバックエンドに表示。 |
model | string | ベースモデル ID。今日のキュレートテンプレートは gemma-4-E4B-it を使用。 |
dataset | DatasetSource | HuggingFace データセット名 or blob URL。 |
型付きオプションフィールド
ファーストクラスの TypeScript 型を持ち、安全に使えます:| フィールド | 型 | デフォルト | 効果 |
|---|---|---|---|
lora | LoraConfig | バックエンドのデフォルト | LoRA / QLoRA のノブ(r、alpha、maxLength?、loadIn4bit?)。 |
maxSteps | number | バックエンドのデフォルト | 学習ステップ数の上限。 |
numTrainEpochs | number | バックエンドのデフォルト | データセット周回数(maxSteps の代替)。 |
learningRate | number | バックエンドのデフォルト | オプティマイザのステップサイズ。 |
batchSize | number | バックエンドのデフォルト | デバイスごとの学習バッチサイズ。 |
optim | string | バックエンドのデフォルト | オプティマイザ名。 |
lrSchedulerType | string | バックエンドのデフォルト | 学習率スケジュール(例: linear、cosine)。 |
weightDecay | number | バックエンドのデフォルト | 正則化の重み。 |
dryRun | boolean | false | スモークテスト(下記参照)。 |
callbacks | Partial<TrainerCallbacks> | {} | ライフサイクルコールバック を参照。 |
abortSignal | AbortSignal | なし | ローカルの wait() を停止。バックエンドのジョブはキャンセル しません。トレーナー制御 を参照。 |
LoraConfig
lora を完全に省略するとバックエンドのデフォルトになります。同梱テンプレートが使う出発点は r: 16, alpha: 16 です。
dryRun
dryRun: true はバックエンドにデータセットを切り詰め、ステップ数を制限してパイプラインの全段階(データロード、chat-template のレンダ、学習ループ、チェックポイントアップロード、イベントストリーム)を走らせるよう指示します。それでも GPU 時間は使います、ただしずっと少なく。CI や、初めてコールバックを組んでいるときに便利です。完全に課金回避するための手段ではありません。
上級: 転送フィールド
これらはunknown として型付けされ、クラウド API にそのまま転送されます(packages/arkor/src/core/trainer.ts:100-108)。SDK のファーストクラス型付けが追いつく前にバックエンドが新フィールドを公開できるよう、入力形に予約されています。
| フィールド | 状況 |
|---|---|
warmupSteps、loggingSteps、saveSteps、evalSteps | そのまま転送。バックエンドの想定形を既に知っている場合のみ使用してください。 |
trainOnResponsesOnly | そのまま転送。 |
datasetFormat、datasetSplit | そのまま転送。HuggingFace ソースには専用 dataset フィールドの split を優先してください。 |
ロードマップ
- マルチトレーナープロジェクト。
createArkorは単一のtrainerを受け付けます。配列形はありません。2 つ目のトレーナーを登録するには、エクスポートをランタイムで切り替えるか、API がその形を獲得するのを待つことになります。
関連項目
- トレーナー制御:
Trainerオブジェクトのstart/wait/cancel - ライフサイクルコールバック:
callbacksフィールド DatasetSource:datasetフィールドの形createArkor: トレーナーをプロジェクトマニフェストにラップ