LESSON 15分

ストーリー

田中VPoE
統合パイプラインとオーケストレーションの仕組みができた。最後のピースは品質管理だ。NetShop社のDocument AIパイプラインで、先週から請求書処理の精度が5%低下していることが判明した
あなた
なぜ精度が下がったんですか?
田中VPoE
新しい取引先からの請求書フォーマットが増えたのが原因だ。マルチモーダルパイプラインでは、入力データの変化が品質に直結する。継続的な品質監視の仕組みが不可欠だ
あなた
品質を測る指標と、問題を早期発見する方法を知りたいです

マルチモーダル品質メトリクス

モダリティ別の品質指標

モダリティ品質指標測定方法閾値目安
画像認識分類正解率、IoUテストセットで定期評価95%以上
音声認識WER(単語誤り率)人手書き起こしと比較10%以下
文書処理フィールド抽出精度正解データと比較95%以上
テキスト生成ROUGE、人間評価参照テキストと比較タスク依存
統合分析エンドツーエンド正解率最終出力の正確性90%以上

品質スコアリングシステム

from dataclasses import dataclass

@dataclass
class QualityScore:
    """品質スコアの統合管理"""
    modality: str
    accuracy: float
    confidence_mean: float
    confidence_std: float
    error_rate: float
    latency_p95_ms: float

    @property
    def overall_score(self) -> float:
        """総合品質スコア(0-100)"""
        score = (
            self.accuracy * 40 +
            self.confidence_mean * 30 +
            (1 - self.error_rate) * 20 +
            max(0, (1 - self.latency_p95_ms / 10000)) * 10
        )
        return round(score, 2)

    @property
    def status(self) -> str:
        if self.overall_score >= 90:
            return "HEALTHY"
        elif self.overall_score >= 70:
            return "WARNING"
        else:
            return "CRITICAL"

品質監視ダッシュボード

監視すべき4つの軸

監視項目アラート条件
精度各モダリティの正解率前週比5%以上低下
信頼度AI出力の信頼度スコア分布平均信頼度が閾値を下回る
レイテンシ処理時間のP50/P95/P99P95が基準値の2倍を超える
エラー率処理失敗の割合エラー率が5%を超える

品質低下の早期検知

class QualityMonitor:
    """品質低下を検知するモニター"""

    def __init__(self, window_size: int = 100):
        self.window_size = window_size
        self.history: list[float] = []

    def add_score(self, score: float):
        self.history.append(score)
        if len(self.history) > self.window_size * 2:
            self.history = self.history[-self.window_size * 2:]

    def detect_degradation(self, threshold: float = 0.05) -> dict | None:
        """品質低下を検知"""
        if len(self.history) < self.window_size * 2:
            return None

        recent = self.history[-self.window_size:]
        previous = self.history[-self.window_size * 2:-self.window_size]

        recent_avg = sum(recent) / len(recent)
        previous_avg = sum(previous) / len(previous)

        degradation = previous_avg - recent_avg
        if degradation > threshold:
            return {
                "detected": True,
                "previous_avg": round(previous_avg, 4),
                "recent_avg": round(recent_avg, 4),
                "degradation": round(degradation, 4),
                "severity": "HIGH" if degradation > 0.1 else "MEDIUM"
            }
        return None

Human-in-the-Loop品質保証

レビューフローの設計

信頼度処理レビュー割合目安
95%以上自動承認なし60-70%
80-95%自動処理+サンプリングレビュー10%をランダムレビュー20-25%
80%未満人的確認必須全件レビュー5-15%

まとめ

品質管理の要素内容
メトリクスモダリティ別の品質指標を定義
監視リアルタイムダッシュボードで4軸を追跡
検知移動平均による品質低下の自動検知
対応Human-in-the-Loopによる品質保証

チェックリスト

  • モダリティ別の品質指標を理解した
  • 品質監視の4つの軸(精度、信頼度、レイテンシ、エラー率)を把握した
  • 品質低下の早期検知アプローチを理解した
  • Human-in-the-Loopの設計パターンを学んだ

次のステップへ

次は演習で、実際にマルチモーダルパイプラインの統合設計に取り組みます。


推定読了時間: 15分