メインコンテンツへスキップ
Arkor を使うと、TypeScript / Node 開発者がプロダクトの他の部分と同じ流儀でオープンウェイト LLM をファインチューニングできます。型安全な設定、自分のコード内で動くライフサイクルコールバック、そしてローカル Studio による開発ループ。すべて普段のワークフローのままです。

Arkor が想定しているユーザー

あなたは TypeScript / Node 製のアプリを開発しているプロダクトエンジニア(あるいは少人数のチーム)です。自分の機能の裏側にカスタムのオープンウェイトモデルを置きたい。けれど専任の ML チームはおらず、そのために別の Python コードベースを抱え込みたくはない。 Arkor はまさにこのワークフローのためのものです。

Python ML エコシステムとの関係

カスタムのオープンウェイトモデルが現実的な選択肢になっているのは、Python ML エコシステムを支えてきた人々と企業による長年の積み重ねがあるからです。Arkor はその基盤の上に立っており、学習自体は他のみんなが使っているのと同じスタックで動きます。 Arkor が加えるのはその上に乗る TypeScript の表面です。今はファインチューニングをカバーしており、評価とサービングがその次です。狙いは、モデルのワークフローが、あなたが出荷しているプロダクトと同じコードベース・同じエディタ・同じ型・同じレビュー手順の中で生きることです。

「プロダクトと同じ流儀でモデルを出荷する」とは

具体的には:
  • 型安全な設定。 createTrainer({ model, dataset, lora, ... }) はコンパイル時にチェックされます。YAML のドリフトも、別言語の設定もありません。
  • 学習コードの素早い反復。 トレーナーを編集してリビルドすれば、次の実行で最新コードが動きます。ノートブックの再起動は不要です。
  • 自分のコード内でのコールバック。 onLogonCheckpointonCompletedonFailed が完全に型付けされた状態で、あなたの TypeScript 関数として発火します。onCheckpoint の中から infer({ messages }) を呼んで、学習完了前に部分学習済みモデルを動作確認できます。
  • ローカル Studio。 arkor dev を実行すると Web UI が立ち上がり、ジョブのステータス、ライブの Loss チャート、ログのテール、ファインチューンしたモデルとチャットするための Playground が見られます。外部ダッシュボードもサインアップも不要です。

現時点で動くもの

Arkor はアルファ版です。設計が固まるまで API は予告なく変わります。最新版は npm に公開されています。 今できること:
  • 1 ファイルからオープンウェイト LLM(現状は Gemma ベース)をファインチューニング。
  • 数分で完了するエンドツーエンドのテンプレートを 3 種から選択。triage(サポートの分類)、translate(9 言語)、redaction(個人情報のマスク)。
  • ダッシュボードではなく、ライフサイクルコールバックでコードから学習に反応する。
  • インフラの追加セットアップなしで、Arkor のマネージド GPU 上で学習を実行。アカウントなしで試せます。学習をアカウントに紐づけたい場合は、学習を始める前に arkor login --oauth を実行してください。匿名で先に始めた作業をあとからアカウントへ統合する機能は将来的にサポート予定です。
  • ローカル Studio で学習をライブ確認。完了後は Playground で学習済みモデルとチャット。
まだ入っていないもの:
  • ローカル GPU での学習。今日のところすべての学習はマネージド GPU で実行されます。
  • 用意されたデモ以外の独自データセットの持ち込み。
  • Gemma 以外のベースモデル。
  • 学習バックエンドのセルフホスト。
「動くもの/これから」の全体像は ロードマップ にあります。

試してみる

pnpm create arkor my-arkor-app
cd my-arkor-app
pnpm dev
学習本体はテンプレートにもよりますが約 7〜12 分です。Arkor は推論 (Inference) と学習 (Training) で別の GPU プールを使い分けており、推論側は常に warm な active worker 上で動くので Playground は即応します。一方の学習側はコストを安定させるため warm 維持しません。学習ジョブを開始すると、Arkor はそのときに学習用 GPU を確保しに行きます。直前のジョブで使われた直後など GPU がまだ warm な状態であれば確保は数秒で終わりますが、warm な GPU がなければ cold な状態から (プロビジョニング・コンテナイメージ取得・ベースモデルのロード) 立ち上げる必要があり、これに数分かかります。Studio 上で何が見えるかは Quickstart で確認できます。 ステップごとの手順は Quickstart に続きます。