メインコンテンツへスキップ
Avala は、すべてのフレーム、ラベル、レビュー判定、エクスポートバージョンを単一のプラットフォームで紐付けます。モデルがエッジケースで失敗した場合、予測からそれに影響を与えた正確なトレーニングラベルまで遡ることができ、推測の代わりに根本原因を修正できます。

Avala におけるトレーサビリティの意味

Avala のすべてのアノテーションは完全なリネージメタデータを持っています:
エンティティ追跡される内容
データセットアイテムソースファイル URL、アップロードタイムスタンプ、シーケンスメンバーシップ、センサーメタデータ
タスク割り当てられたアノテーター、作成時間、完了時間、状態遷移
結果アノテーションデータ、使用ツール、アノテーター ID、提出タイムスタンプ
QA レビューレビュアー ID、レビュー判定(承認/却下/修正)、レビューコメント
エクスポートエクスポートフォーマット、含まれるデータセット/プロジェクト/スライス、作成タイムスタンプ、バージョン
これにより、エクスポートされた任意のラベルから完全なチェーンを遡ることができます:どのアノテーターが作成したか、QA を通過したか、どのデータセットアイテムから来たか、各ステップがいつ行われたか。

ウォークスルー:モデル障害のデバッグ

トレーサビリティが本番モデルの問題をデバッグするのにどのように役立つかの具体例を示します。

1. モデルがエッジケースで失敗

知覚モデルが LiDAR スキャン内の部分的にオクルージョンされた歩行者を誤分類します。予測を特定し、モデルがなぜこの動作を学習したかを理解したいとします。

2. トレーニングデータを見つける

SDK を使用して、モデルのトレーニングセットに寄与したデータセットアイテムのエクスポートを検索します。
from avala import Client

client = Client()

# Get the export used for training
export = client.exports.get("export_abc123")
print(f"Export: {export.name}")
print(f"Format: {export.format}")
print(f"Created: {export.created_at}")

3. 個々の結果を検査

エクスポート内の各結果には、ソースデータセットアイテム、アノテーター情報、QA ステータスが含まれます。
# List tasks from the project used in the export
tasks = client.tasks.list(project="project_uid")

for task in tasks:
    print(f"Task {task.uid}")
    print(f"  Status: {task.status}")
    print(f"  Dataset: {task.dataset_name}")
    print(f"  Item: {task.dataset_item_name}")

4. ソースまで遡る

問題のあるラベルを特定したら、元のデータセットアイテムを検索してソースファイル、センサーメタデータ、完全なアノテーション履歴を確認できます。
# Get the specific dataset item
item = client.datasets.get_item(
    dataset="dataset_uid",
    item="item_uid"
)

print(f"Source: {item.source_url}")
print(f"Uploaded: {item.created_at}")
print(f"Sequence: {item.sequence_name}")

5. 修正して再トレーニング

根本原因が特定されたら — 例えば、オクルージョンされた歩行者のアノテーションエラー — Avala でラベルを修正し、新しいエクスポートを作成し、修正されたデータでモデルを再トレーニングします。
# Create a new export with the corrected labels
new_export = client.exports.create(
    name="Training v2 - fixed occlusion labels",
    format="avala-json-external",
    projects=["project_uid"]
)

print(f"New export: {new_export.uid}")

メリット

再現性

すべてのエクスポートはバージョン管理されています。エクスポート UID を参照することで、任意のモデルバージョンに使用された正確なトレーニングセットを再作成できます。どのラベルが含まれたか除外されたかの推測は不要です。

迅速なデバッグ

数千のアノテーションを手動で検索してエラーを見つける代わりに、モデルの障害から原因となった特定のラベルまで直接遡れます。数日かかっていた作業が数分で完了します。

コンプライアンスと監査証跡

規制産業(自動車、医療、防衛)では、トレーサビリティが監査人が必要とするドキュメントの証跡を提供します。すべてのアノテーション判定は帰属、タイムスタンプ付きで、QA レビューと紐付けられています。

継続的改善

モデルのパフォーマンスと特定のアノテーター、レビューステージ、データセットバージョンを関連付けることで、時間の経過に伴うアノテーション品質を追跡できます。体系的なラベリング問題がトレーニングパイプラインに伝播する前に特定できます。

API によるトレーサビリティ

すべてのトレーサビリティデータは REST API と SDK を通じて利用可能です。主要なエンドポイント:
エンドポイント返される内容
GET /api/v1/exports/{uid}/データセット、プロジェクト、作成タイムスタンプを含むエクスポートメタデータ
GET /api/v1/tasks/ステータス、アノテーター、データセットアイテム参照を含むタスクリスト
GET /api/v1/datasets/{uid}/items/ソース URL とシーケンスメンバーシップを含むデータセットアイテム
GET /api/v1/datasets/{uid}/sequences/フレーム数とアイテム参照を含むシーケンス
完全なエンドポイントドキュメントは API リファレンスを、型付きアクセスには Python SDKTypeScript SDK をご覧ください。

次のステップ

品質管理

Avala のマルチステージ QA ワークフローがモデルに届く前にアノテーションエラーをキャッチする方法を学べます。

エクスポート

完全なリネージメタデータ付きのアノテーション済みデータのバージョン管理されたエクスポートを作成できます。

品質 SLA

Avala の品質保証、精度目標、ターンアラウンドタイムを理解できます。

Python SDK

SDK をインストールしてプログラムでデータの照会を始められます。