label-training-data
정보
이 스킬은 지도 학습 ML 프로젝트를 위해 Label Studio와 같은 도구를 사용해 체계적인 데이터 라벨링 워크플로우를 구축합니다. 품질 관리, 어노테이터 간 일치도 측정, 라벨링 팀 관리, 그리고 라벨링된 데이터를 학습 파이프라인에 통합하는 기능을 구현합니다. 라벨링된 학습 데이터가 필요한 프로젝트를 시작할 때, 레이블된 예시 데이터 부족으로 모델 성능이 제한될 때, 또는 텍스트, 이미지, 오디오, 비디오 데이터에 대한 능동 학습을 도입할 때 사용하세요.
빠른 설치
Claude Code
추천npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/label-training-dataClaude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요
문서
訓練データのラベリング
完全な設定ファイルとテンプレートについては拡張例を参照。
品質管理と効率的なワークフローで教師ありMLのためにデータを体系的にラベリングする。
使用タイミング
- ラベル付き訓練データを必要とする教師ありMLプロジェクトを開始する時
- 現在のモデル性能がラベル付き例の不足により制限されている時
- テキスト、画像、音声、動画データのラベリングが必要な時
- アノテーション品質を測定・改善したい時
- 異なる専門レベルのアノテーターチームを管理する時
- 能動学習を実装して価値の高い例を優先したい時
- ラベリングの進捗とコストを追跡する必要がある時
- 複数のアノテーター間でラベルの一貫性を確保する時
入力
- 必須: ラベルなしデータセット(画像、テキスト、音声、動画)
- 必須: ラベルスキーマ(クラス、属性、またはアノテーションタイプ)
- 必須: ラベリングガイドライン文書
- 任意: 既存のラベル(品質比較用)
- 任意: 事前アノテーション用のモデル予測
- 任意: 予算とタイムラインの制約
- 任意: 困難な例に対するドメイン専門家の利用可能性
手順
ステップ1: Label Studioのインストールと設定
Label Studioをラベリングプラットフォームとして設定する。
# Install Label Studio
pip install label-studio
# Or use Docker for production
docker pull heartexlabs/label-studio:latest
# Create project directory
mkdir -p labeling-project/{data,exports,config}
cd labeling-project
# Initialize Label Studio
label-studio init my_project
# Start Label Studio server
label-studio start my_project --port 8080
http://localhost:8080でアクセス(デフォルト認証情報: 初回アクセス時に作成)。
プロダクションデプロイメントにはDockerを使用:
# docker-compose.yml
version: '3.8'
services:
label-studio:
image: heartexlabs/label-studio:latest
ports:
- "8080:8080"
# ... (see EXAMPLES.md for complete implementation)
docker-compose up -d
期待結果: Label Studioが起動しアクセス可能であること。PostgreSQLデータベースがプロダクション使用のために初期化されていること。
失敗時: ポート8080が既に使用中の場合、設定でポートを変更する。Dockerが失敗する場合、Dockerデーモンが起動しているか確認する。データボリュームに十分なディスク容量があることを確認する。ファイアウォールがポート8080を許可していることを確認する。
ステップ2: ラベリングインターフェースとスキーマの設計
タスクタイプに応じたラベリング設定を作成する。
# labeling-project/config/labeling_config.py
"""
Label Studio configuration templates for common tasks.
"""
# Text Classification (single label)
TEXT_CLASSIFICATION = """
<View>
# ... (see EXAMPLES.md for complete implementation)
期待結果: タスクタイプに適切なコントロールでラベリングインターフェースが設定され、データが正常にインポートされ、アノテーターがインターフェースにアクセスできること。
失敗時: Label Studioの設定バリデーターでXML設定を検証する。データファイル形式(JSONまたはCSV)を確認する。外部ストレージを使用している場合、画像/音声URLがアクセス可能であることを確認する。APIキーが正しい権限を持っていることを検証する。
ステップ3: データの準備とサンプリング戦略の実装
インポート用にデータをフォーマットし、ラベリングの例に優先順位を付ける。
# labeling-project/prepare_data.py
import pandas as pd
import json
import random
from typing import List, Dict
from sklearn.cluster import KMeans
import numpy as np
# ... (see EXAMPLES.md for complete implementation)
期待結果: Label Studioインポート用にデータが正しくフォーマットされ、サンプリング戦略が情報量の多い例を優先し、タスクに追跡用のメタデータが含まれること。
失敗時: jqまたはPythonのjson.load()でJSON形式を検証する。リモート画像を使用している場合、URLがアクセス可能であることを確認する。特殊文字がJSONエンコーディングを壊していないことを確認する。カラム名が設定と一致していることを検証する。
ステップ4: 品質管理とIAA測定の実装
アノテーション品質を測定・改善するプロセスを設定する。
# labeling-project/quality_control.py
import pandas as pd
import numpy as np
from sklearn.metrics import cohen_kappa_score, confusion_matrix
from typing import Dict, List, Tuple
import logging
logging.basicConfig(level=logging.INFO)
# ... (see EXAMPLES.md for complete implementation)
期待結果: アノテーター間一致度が測定されること(Cohenのκ > 0.6は中程度、> 0.8は良好)。困難なタスクがレビュー用に特定されること。アノテーターのパフォーマンスが追跡されること。
失敗時: κが非常に低い場合(< 0.4)、ラベリングガイドラインの明確さを見直す。アノテーターを再訓練する。ラベルスキーマを簡素化する。曖昧な例を確認する。ゴールドスタンダードに専門家アノテーターの使用を検討する。
ステップ5: ラベル付きデータのエクスポートと統合
ラベルをエクスポートしML訓練用に準備する。
# labeling-project/export_labels.py
import requests
import pandas as pd
import json
from typing import List, Dict
import logging
logger = logging.getLogger(__name__)
# ... (see EXAMPLES.md for complete implementation)
期待結果: アノテーションが訓練可能な形式でエクスポートされること。ラベル分布がバランスしているか文書化されていること。訓練前にデータ品質が検証されること。
失敗時: APIキーの権限を検証する。エクスポート形式のMLフレームワークとの互換性を確認する。欠落したアノテーションを適切に処理する。JSON構造が期待される形式と一致していることを検証する。
ステップ6: 継続的ラベリングパイプラインの設定
能動学習統合を含むラベリングワークフローを自動化する。
# labeling-project/active_learning_pipeline.py
import schedule
import time
import logging
from datetime import datetime
from prepare_data import DataSampler, prepare_label_studio_format
from export_labels import LabelStudioExporter, convert_to_training_format
import pandas as pd
# ... (see EXAMPLES.md for complete implementation)
期待結果: 能動学習が情報量の多い例を自動的に選択すること。ラベリングバッチが毎週準備されること。十分な新しいラベルが利用可能になった時にモデルが再訓練されること。
失敗時: 不確実性サンプリングがモデルを改善しない場合、多様性サンプリングを試す。アノテーターが追いつけない場合、バッチサイズを減らす。ラベリングキューの長さを監視する。キューが大きくなりすぎた場合、バックプレッシャーを実装する。
バリデーション
- Label Studioがアクセス可能で応答性がある
- ラベリングインターフェースが直感的である(サンプルアノテーターでテスト)
- データインポートが正しい形式で成功した
- アノテーター間一致度(Cohenのκ)> 0.6
- 品質管理が問題のあるタスクを特定する
- ラベルが訓練可能な形式でエクスポートされる
- ラベル分布が期待通り(または意図的に不均衡)
- 能動学習パイプラインが手動介入なしで実行される
- アノテーションのスループットがプロジェクトタイムラインを満たす
よくある落とし穴
- 不明確なガイドライン: 曖昧な指示は一貫性のないラベルを引き起こす; 例を含む詳細なガイドラインに投資する
- 不十分なオーバーラップ: タスクごとに複数のアノテーターがいなければIAAを測定できない; 10-20%のオーバーラップを使用する
- 困難なケースの無視: エッジケースはスキップされがちだがモデルの堅牢性に重要; 専門家レビュー用にフラグを立てる
- バッチ効果: アノテーターの疲労や学習が時間的な不整合を引き起こす; タスク順序をランダム化する
- 品質フィードバックの欠如: フィードバックなしではアノテーターは改善しない; 定期的な精度レポートを提供する
- 誤ったサンプリング戦略: ランダムサンプリングは簡単な例に予算を浪費する; 不確実性または多様性サンプリングを使用する
- 孤立したラベリング: 複雑なタスクにはドメイン専門家が必要; 最初は初心者と専門家をペアにする
- コスト追跡の欠如: ラベリングは高価; タスクあたりの時間と総予算消費を監視する
関連スキル
version-ml-data- ラベル付きデータセットのバージョン管理track-ml-experiments- ラベル追加に伴うモデル性能の追跡
GitHub 저장소
연관 스킬
llamaguard
기타LlamaGuard는 폭력 및 혐오 발언 등 6가지 안전 범주에서 LLM 입력과 출력을 조정하기 위한 Meta의 70-80억 파라미터 모델입니다. 94-95% 정확도를 제공하며 vLLM, Hugging Face 또는 Amazon SageMaker를 사용해 배포할 수 있습니다. 이 기술을 사용하여 AI 애플리케이션에 콘텐츠 필터링 및 안전 가드레일을 손쉽게 통합하세요.
cost-optimization
기타이 Claude Skill은 리소스 적정화, 태깅 전략, 지출 분석을 통해 개발자들이 클라우드 비용을 최적화할 수 있도록 지원합니다. AWS, Azure, GCP에서 클라우드 비용을 절감하고 비용 거버넌스를 구현하기 위한 프레임워크를 제공합니다. 인프라 비용을 분석하거나, 리소스를 적정화하거나, 예산 제약을 충족해야 할 때 사용하세요.
quantizing-models-bitsandbytes
기타이 스킬은 bitsandbytes를 사용하여 LLM을 8비트 또는 4비트 정밀도로 양자화하며, 최소한의 정확도 손실로 50-75%의 메모리 감소를 달성합니다. 제한된 GPU 메모리에서 더 큰 모델을 실행하거나 추론을 가속화하는 데 이상적이며, INT8, NF4, FP4와 같은 형식을 지원합니다. 이 스킬은 HuggingFace Transformers와 통합되어 QLoRA 학습 및 8비트 옵티마이저를 가능하게 합니다.
dispatching-parallel-agents
기타이 Claude Skill은 3개 이상의 독립적인 문제를 동시에 조사하고 해결하기 위해 다중 에이전트를 배치합니다. 공유 상태나 의존성 없이 해결 가능한 무관련 장애 시나리오에 맞게 설계되었습니다. 핵심 기능은 병렬 문제 해결로, 각 독립 문제 영역마다 하나의 에이전트를 할당하여 효율성을 극대화합니다.
