tao-analyze-gaps-vlm-bcq について
VLMの二値分類予測を正解データと比較し、誤検出と見逃しをまとめるTAOスキルです。後続の根本原因分析や反復作業に使える事例ファイルと集計レポートを作成します。
主な機能
- 01予測と正解データの比較
- 02誤検出と見逃しの特定
- 03JSONL事例ファイルの作成
- 04エラー件数レポートの出力
活用シーン
- 01VLM二値分類の評価結果確認
- 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.mdskill-card.mdskill.oms.sigassets/default_vlm_bcq.yamlconfig/skillspector-baseline.yamlevals/evals.jsonreferences/skill_info.yamlscripts/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 ファイルが必須です。
エラーパターン
| エラー | 原因 | 対処方法 |
|---|---|---|
FileNotFoundError | predictions_json が存在しません | パスを確認してください |
requires the following argument: -e/--experiment_spec_file | spec ファイルを指定せずにコンテナーを起動しました | 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' の両方が含まれるか、どちらも含まれていません | 警告がないかログを確認し、該当するサンプルを調べてください |