mcpField
H
hugging-face-trackio

hugging-face-trackio

github.com/huggingfaceデータ・データベース11.2k226 回インストール2 日前に更新
リポジトリ

hugging-face-trackio について

hugging-face-trackioは、Trackioで機械学習の実験を記録・確認するスキルです。指標の記録、診断アラート、ダッシュボード、コマンドラインでの取得を扱い、研究者や実験を反復するエージェント向けです。

主な機能

  1. 01Python APIで訓練指標を記録
  2. 02診断アラートの作成
  3. 03ダッシュボードで指標を表示
  4. 04コマンドラインで指標とアラートを照会
  5. 05自動化向けJSON出力

活用シーン

  1. 01訓練中の損失と精度を監視
  2. 02停止状態やNaN勾配を検出
  3. 03アラートを確認し実行指標を調査
  4. 04実行間でハイパーパラメーターを調整

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huggingface/skills --skill hugging-face-trackio

インストール後、Claude Code で/hugging-face-trackioを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.claude-plugin/
plugin.json
references/
alerts.md
logging_metrics.md
retrieving_metrics.md

詳細

Trackio - ML トレーニング向け実験トラッキング

Trackio は、ML トレーニングのメトリクスを記録・可視化するための実験トラッキングライブラリです。Hugging Face Spaces と同期し、リアルタイムのモニタリングダッシュボードを利用できます。

3 つのインターフェース

タスクインターフェース参照先
トレーニング中のメトリクスの記録Python APIreferences/logging_metrics.md
トレーニングの診断用アラートの発行Python APIreferences/alerts.md
トレーニング後またはトレーニング中のメトリクスとアラートの取得CLIreferences/retrieving_metrics.md

各インターフェースを使う場面

Python API → 記録

トレーニングスクリプトで import trackio を使い、メトリクスを記録します。

  • trackio.init() でトラッキングを初期化します
  • trackio.log() でメトリクスを記録するか、TRL の report_to="trackio" を使用します
  • trackio.finish() で終了します

重要な概念:リモート/クラウドでトレーニングする場合は、space_id を渡してください。メトリクスは Space ダッシュボードに同期されるため、インスタンスの終了後も保持されます。

→ セットアップ、TRL との統合、設定オプションについては、references/logging_metrics.md を参照してください。

Python API → アラート

トレーニングコードに trackio.alert() の呼び出しを挿入して、重要なイベントを通知します。デバッグ用の print 文と似ていますが、構造化されており、クエリで取得できます。

  • trackio.alert(title="...", level=trackio.AlertLevel.WARN) — アラートを発行します
  • 重要度は INFO、WARN、ERROR の 3 段階です
  • アラートはターミナルに出力され、データベースに保存され、ダッシュボードに表示されます。また、オプションで Webhook(Slack/Discord)にも送信できます

LLM エージェントにとって重要な概念:アラートは、自律的な実験の反復における主要な仕組みです。エージェントは、診断条件(損失の急増、NaN の勾配、低い精度、トレーニングの停滞)を検知できるよう、トレーニングコードにアラートを挿入する必要があります。アラートはターミナルに出力されるため、トレーニングスクリプトの出力を監視しているエージェントは自動的に確認できます。バックグラウンド実行やデタッチ実行の場合、エージェントは代わりに CLI 経由でポーリングできます。

→ アラート API の詳細、Webhook のセットアップ、自律型エージェントのワークフローについては、references/alerts.md を参照してください。

CLI → 取得

trackio コマンドを使って、記録済みのメトリクスとアラートをクエリします。

  • trackio list projects/runs/metrics — 利用可能な項目を確認します
  • trackio get project/run/metric — 概要と値を取得します
  • trackio list alerts --project <name> --json — アラートを取得します
  • trackio show — ダッシュボードを起動します
  • trackio sync — HF Space と同期します

重要な概念:自動化や LLM エージェントに適したプログラム処理用の出力を得るには、--json を追加します。

→ すべてのコマンド、ワークフロー、JSON 出力形式については、references/retrieving_metrics.md を参照してください。

最小限の記録設定

import trackio

trackio.init(project="my-project", space_id="username/trackio")
trackio.log({"loss": 0.1, "accuracy": 0.9})
trackio.log({"loss": 0.09, "accuracy": 0.91})
trackio.finish()
最小限の取得設定
trackio list projects --json
trackio get metric --project my-project --run my-run --metric loss --json

自律型 ML 実験のワークフロー

LLM エージェントとして実験を自律的に実行する場合、推奨されるワークフローは次のとおりです。

  1. アラートを設定してトレーニングを準備する — 診断条件に対応する trackio.alert() の呼び出しを挿入します
  2. トレーニングを開始する — スクリプトをバックグラウンドで実行します
  3. アラートをポーリングする — trackio list alerts --project <name> --json --since <timestamp> を使い、新しいアラートがあるか確認します
  4. メトリクスを読み取る — trackio get metric ... を使い、特定の値を調べます
  5. 反復する — アラートとメトリクスに基づいて実行を停止し、ハイパーパラメーターを調整して、新しい実行を開始します
import trackio

trackio.init(project="my-project", config={"lr": 1e-4})

for step in range(num_steps):
    loss = train_step()
    trackio.log({"loss": loss, "step": step})

    if step > 100 and loss > 5.0:
        trackio.alert(
            title="Loss divergence",
            text=f"Loss {loss:.4f} still high after {step} steps",
            level=trackio.AlertLevel.ERROR,
        )
    if step > 0 and abs(loss) < 1e-8:
        trackio.alert(
            title="Vanishing loss",
            text="Loss near zero — possible gradient collapse",
            level=trackio.AlertLevel.WARN,
        )

trackio.finish()

次に、別のターミナルまたはプロセスからポーリングします。

trackio list alerts --project my-project --json --since "2025-01-01T00:00:00"

コメント