다양성 정렬
임베딩 기반 다양성 점수를 사용해 Potato의 어노테이션 인스턴스를 재정렬하여 데이터셋 커버리지를 극대화하고 대규모 비라벨링 코퍼스의 중복을 줄입니다.
다양성 정렬은 sentence-transformer 임베딩을 사용해 유사한 항목을 함께 클러스터링한 다음, 서로 다른 클러스터에서 라운드 로빈 방식으로 항목을 샘플링합니다. 이렇게 하면 어노테이터가 비슷한 항목을 연달아 보는 대신 다양한 콘텐츠를 보게 됩니다.
이점
- 반복적인 콘텐츠로 인한 어노테이터 피로 감소
- 다양한 컨텍스트를 통한 어노테이션 품질 향상
- 전체 주제 공간의 더 빠른 커버리지
빠른 시작
yaml
assignment_strategy: diversity_clustering
diversity_ordering:
enabled: true
prefill_count: 100작동 방식
- 시작 시점: 처음 N개 항목이 sentence-transformers로 임베딩되어 k-means로 클러스터링됩니다
- 할당: 항목이 클러스터에서 라운드 로빈 방식으로 샘플링되어 다양성이 보장됩니다
- 어노테이션: 새 항목은 어노테이션될 때 비동기적으로 임베딩됩니다
- 재클러스터링: 사용자가 모든 클러스터에서 샘플링하면 시스템이 다시 클러스터링합니다
구성
yaml
diversity_ordering:
enabled: true
# Sentence-transformer model
model_name: "all-MiniLM-L6-v2"
# Clustering parameters
num_clusters: 10
items_per_cluster: 20
auto_clusters: true # Auto-calculate based on data size
# Prefill on startup
prefill_count: 100
batch_size: 32
# Re-clustering behavior
recluster_threshold: 1.0 # Recluster when all clusters sampled
# Order preservation
preserve_visited: true
# AI integration
trigger_ai_prefetch: true구성 레퍼런스
| 옵션 | 유형 | 기본값 | 설명 |
|---|---|---|---|
enabled | boolean | false | 다양성 정렬 활성화 |
model_name | string | "all-MiniLM-L6-v2" | Sentence-transformers 모델 |
num_clusters | integer | 10 | 클러스터 수(auto_clusters=false일 때) |
items_per_cluster | integer | 20 | 목표 클러스터 크기(auto_clusters=true일 때) |
auto_clusters | boolean | true | 클러스터 수 자동 계산 |
prefill_count | integer | 100 | 시작 시 임베딩할 항목 수 |
batch_size | integer | 32 | 임베딩 계산을 위한 배치 크기 |
recluster_threshold | float | 1.0 | 재클러스터링 전에 샘플링할 클러스터 비율 |
preserve_visited | boolean | true | 방문한/건너뛴 항목을 제자리에 유지 |
trigger_ai_prefetch | boolean | true | 재정렬 후 AI 캐시 트리거 |
요구 사항
bash
pip install sentence-transformers scikit-learn이들은 선택적 종속성입니다. 이들이 없으면 기능이 경고와 함께 비활성화됩니다.
성능
- 시작 시점: 100개 항목에 약 10초, 500개 항목에 약 30초(첫 실행 이후 캐시됨)
- 메모리: 항목당 약 1.5KB(all-MiniLM-L6-v2), 10,000개 항목에 약 15MB
- 캐시: 임베딩이
.diversity_cache/에 디스크로 영속화됨
다른 기능과의 상호작용
- AI 지원:
trigger_ai_prefetch: true일 때, 재정렬된 항목에 대해 AI 힌트가 자동으로 사전 패치됩니다 - 능동 학습: 초기 커버리지를 위해 다양성 클러스터링으로 시작한 다음 능동 학습으로 전환하여 결합할 수 있습니다
- 순서 보존:
preserve_visited: true일 때, 이전에 본 항목은 위치를 유지합니다
전체 예제
yaml
annotation_task_name: "Diversity Ordering Test"
assignment_strategy: diversity_clustering
diversity_ordering:
enabled: true
model_name: "all-MiniLM-L6-v2"
num_clusters: 5
auto_clusters: false
prefill_count: 100
batch_size: 16
recluster_threshold: 1.0
preserve_visited: true
annotation_schemes:
- annotation_type: radio
name: topic
description: "What is the main topic of this text?"
labels:
- name: Sports
- name: Technology
- name: Food
- name: Travel
- name: Health추가 자료
구현 세부 정보는 원본 문서를 참조하세요.