mcpField
T
tao-analyze-gaps-vlm-bcq

tao-analyze-gaps-vlm-bcq

github.com/nvidiaデータ・データベース3.8k1.6k 回インストール今日更新
リポジトリ

tao-analyze-gaps-vlm-bcq について

VLMの二値分類予測を正解データと比較し、誤検出と見逃しをまとめるTAOスキルです。後続の根本原因分析や反復作業に使える事例ファイルと集計レポートを作成します。

主な機能

  1. 01予測と正解データの比較
  2. 02誤検出と見逃しの特定
  3. 03JSONL事例ファイルの作成
  4. 04エラー件数レポートの出力

活用シーン

  1. 01VLM二値分類の評価結果確認
  2. 02根本原因分析用の失敗事例整理

インストール

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

$npx skills add https://github.com/nvidia/skills --skill tao-analyze-gaps-vlm-bcq

インストール後、Claude Code で/tao-analyze-gaps-vlm-bcqを入力して読み込まれたか確認します。

同梱ファイル

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

BENCHMARK.md
skill-card.md
skill.oms.sig
assets/
default_vlm_bcq.yaml
config/
skillspector-baseline.yaml
evals/
evals.json
references/
skill_info.yaml
scripts/
prepare_vlm_bcq_spec.py

詳細

VLM 二値分類のギャップ分析

単独でインストールする場合 このセッションが TAO スキルバンクプラグインによって初期化されていない場合は、まず tao-setup スキルを実行してください(ホストの事前チェック、認証情報、スキル間の検出)。

VLM の予測 JSON を読み込み、各モデルの応答を正解データと比較して、FP/FN の失敗ケースを JSONL ファイルに書き込み、概要レポートを作成します。TAO Data Services の spec ファイルを指定して実行してください。data-services のエントリーポイントでは -e <spec> が必須です。

目的

二値の yes/no 評価タスクで VLM を実行した後、失敗ケースを特定するために予測を正解データと比較する必要があります。このスキルは、FP(偽陽性)と FN(偽陰性)のサンプルを構造化されたリストとして出力します。下流の RCCA ステージ(例:cosmos 生成、根本原因分析)は、このリストを使用して DEFT イテレーションを進めます。

使い方

同梱のヘルパーを使って vlm_bcq_spec.yaml を生成します。

python3 skills/data/tao-analyze-gaps-vlm-bcq/scripts/prepare_vlm_bcq_spec.py \
  --predictions-json /path/to/results.json \
  --videos-dir /path/to/videos/root \
  --results-dir /path/to/output/gaps \
  --output-spec /path/to/output/gaps/vlm_bcq_spec.yaml

予測の video_id の値がすでに絶対パスの場合は、--videos-dir を省略してください。生成される spec は次の形式です。

predictions_json: /path/to/results.json
videos_dir: ""
results_dir: /path/to/output/gaps

予測内の video_id の値が相対パスの場合は、videos_dir を設定してください。

predictions_json: /path/to/results.json
videos_dir: /path/to/videos/root
results_dir: /path/to/output/gaps

-e <spec> を指定して、TAO Toolkit data services コンテナー内で vlm_bcq アクションを実行します。

gap_analysis vlm_bcq -e /path/to/vlm_bcq_spec.yaml

選択したプラットフォームから GPU を正確に 1 基リクエストしてください(compute_shape.gpus: 1、 compute_shape.nodes: 1)。VLM BCQ のギャップ分析では GPU 計算を実行しませんが、Data Services イメージは常に nvidia-smi を呼び出すため、GPU が認識されないと失敗します。1 は GPU の台数であり、デバイス ID ではありません。使用するデバイスはプラットフォームが選択します。

実行後、kpi_gaps_report.txt の FP/FN 件数を提示し、下流のステージには kpi_gaps.jsonl を指定してください。

入力

  • config spec:-e で渡す YAML ファイルです。テンプレート:assets/default_vlm_bcq.yaml。
  • predictions_json:予測 JSON ファイルのパスです。各項目に video_id、response、gt フィールドを含む JSON 配列である必要があります。response と gt は単語境界に基づいて解析されます。文字列内のどこかに 'yes' または 'no' があれば認識されます。どちらも含まれるサンプル、またはいずれも含まれないサンプルは警告を出してスキップされます。
  • videos_dir(任意):相対 video_id パスを解決するためのベースディレクトリです。省略した場合、video_id の値は絶対パスとして扱われます。
  • results_dir:ギャップ分析の成果物を出力するディレクトリです。

予測 JSON の形式:

[
  {
    "video_id": "/path/to/video.mp4",
    "response": "Yes, there is a collision.",
    "gt": "B. No",
    "question": "Is there a collision?"
  }
]

出力

  • kpi_gaps.jsonl:FP/FN ケースごとに 1 行の JSON オブジェクトを出力します。フィールド:video_id(絶対パス)、error_type(FP または FN)、question、ground_truth、response。
  • kpi_gaps_report.txt:FP/FN の合計件数を示す、人が読みやすい表です。

ギャップが見つからない場合、ファイルは書き込まれず、メッセージがログに記録されます。

Spec のフィールド

パラメーター必須説明
predictions_jsonはい予測 JSON ファイルのパス
results_dirはい出力ディレクトリ。存在しない場合は作成されます
videos_dirいいえ相対 video_id パスを解決するためのベースディレクトリ

spec ファイルと、それが参照するすべてのパスは、バインドマウントされたワークスペース内に置き、コンテナー内で解決できるようにしてください。Hydra のオーバーライドも追加する場合でも、-e <spec> を指定してください。現在の TAO Data Services エントリーポイントでは、オーバーライドの処理前に experiment spec ファイルが必須です。

エラーパターン

エラー原因対処方法
FileNotFoundErrorpredictions_json が存在しませんパスを確認してください
requires the following argument: -e/--experiment_spec_filespec ファイルを指定せずにコンテナーを起動しましたvlm_bcq_spec.yaml を作成し、gap_analysis vlm_bcq -e <spec> を渡してください
ValueError: must be a JSON array予測ファイルがリストではありません予測を [...] で囲んでください
ValueError: missing 'gt'/'response'/'video_id'予測項目に必須フィールドがありません予測 JSON を確認して修正してください
サンプルが警告なくスキップされるresponse または gt に 'yes'/'no' の両方が含まれるか、どちらも含まれていません警告がないかログを確認し、該当するサンプルを調べてください

コメント