메인 콘텐츠로 건너뛰기
Avala는 모든 프레임, 라벨, 리뷰 결정, 내보내기 버전을 단일 플랫폼에서 연결합니다. 모델이 에지 케이스에서 실패하면, 예측에 영향을 준 정확한 학습 라벨까지 추적하여 추측 대신 근본 원인을 해결할 수 있습니다.

Avala에서 추적성의 의미

Avala의 모든 어노테이션은 전체 리니지 메타데이터를 포함합니다:
엔티티추적 항목
데이터셋 항목소스 파일 URL, 업로드 타임스탬프, 시퀀스 멤버십, 센서 메타데이터
작업배정된 어노테이터, 생성 시간, 완료 시간, 상태 전환
결과어노테이션 데이터, 사용된 도구, 어노테이터 ID, 제출 타임스탬프
QA 리뷰리뷰어 ID, 리뷰 결정(승인/거부/수정), 리뷰 코멘트
내보내기내보내기 형식, 포함된 데이터셋/프로젝트/슬라이스, 생성 타임스탬프, 버전
이를 통해 내보낸 라벨에서 시작하여 전체 체인을 역추적할 수 있습니다: 어떤 어노테이터가 생성했는지, QA를 통과했는지, 어떤 데이터셋 항목에서 왔는지, 각 단계가 언제 발생했는지.

연습: 모델 실패 디버깅

추적성이 프로덕션 모델 이슈를 디버깅하는 데 어떻게 도움이 되는지 구체적인 예시입니다.

1. 모델이 에지 케이스에서 실패

인지 모델이 LiDAR 스캔에서 부분적으로 가려진 보행자를 잘못 분류합니다. 예측을 식별하고 모델이 왜 이런 행동을 학습했는지 이해하고 싶습니다.

2. 학습 데이터 찾기

SDK를 사용하여 모델의 학습 세트에 기여한 데이터셋 항목을 내보내기에서 검색합니다.
from avala import Client

client = Client()

# 학습에 사용된 내보내기 가져오기
export = client.exports.get("export_abc123")
print(f"Export: {export.name}")
print(f"Format: {export.format}")
print(f"Created: {export.created_at}")

3. 개별 결과 검사

내보내기의 각 결과에는 소스 데이터셋 항목, 어노테이터 정보, QA 상태가 포함됩니다.
# 내보내기에 사용된 프로젝트의 작업 목록
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. 소스까지 역추적

문제가 있는 라벨을 식별한 후, 원본 데이터셋 항목을 조회하여 소스 파일, 센서 메타데이터, 전체 어노테이션 이력을 확인할 수 있습니다.
# 특정 데이터셋 항목 가져오기
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에서 라벨을 수정하고, 새 내보내기를 생성하고, 수정된 데이터로 모델을 재학습합니다.
# 수정된 라벨로 새 내보내기 생성
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를 설치하고 프로그래밍 방식으로 데이터를 쿼리하기 시작하세요.