ストーリー
田
田中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/P99 | P95が基準値の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による品質保証 |
チェックリスト
次のステップへ
次は演習で、実際にマルチモーダルパイプラインの統合設計に取り組みます。
推定読了時間: 15分