SLO(サービスレベル目標)とは、システムやサービスの信頼性やパフォーマンスに関して、サービス提供者が達成すべき具体的な数値目標のことです。AIや機械学習の分野(MLOps)では、モデルの推論速度や応答の正確性、APIの可用性などを測定可能な指標として設定し、ユーザー体験の維持や運用の最適化に活用されます。
SLOとは
SLO(サービスレベル目標)は、サービスが満たすべき信頼性や品質の具体的なターゲットを示す数値目標です。これは、システム運用におけるSRE(Site Reliability Engineering)の基本概念であり、AIシステムや機械学習モデルを本番環境で安定して運用するMLOps(機械学習オペレーション)においても、サービスの健全性を評価するための重要な指標として用いられます。
詳しく解説
SLOは、システムの状態を数値化する「SLI」に基づいて設定されます。例えば、「過去30日間におけるAPIの稼働率」や「推論リクエストの処理時間」など、具体的な計測データをベースにして「稼働率99.9%以上」や「応答時間200ミリ秒以内が95%以上」といった目標を定めます。AIシステムにおいては、従来のソフトウェアのように静的なコードだけでなく、データの変化によってモデルの挙動やパフォーマンスが変化する「モデルドリフト」などが発生するため、推論精度やスループットに関するSLOを継続的に監視することが不可欠です。これにより、開発チームと運用チームが共通の目標を持って品質向上に取り組むことが可能になります。
具体例・使われ方
具体的な利用例として、大規模言語モデルを活用したチャットボットサービスを運用するケースが挙げられます。この場合、SLIとして「APIのレスポンスタイム」を設定し、SLOを「全リクエストの99%において、応答時間を2.0秒以内に抑える」と定義します。監視ツールがこのSLOの低下を検知した場合、LLMのモデル読み込みエラーやリソース不足、あるいはデータドリフトなどの問題が発生していると判断し、MLOpsパイプラインが自動的に警告を発してエンジニアが対応します。
似た用語との違い
混同されやすい概念に「SLA」と「SLI」があります。SLIは「現在の実際の測定値(例えば、現在の応答時間は150ミリ秒)」であり、SLOは「目標とする基準値(例えば、応答時間200ミリ秒以内を99%維持する)」です。これに対し、SLAはサービス提供者と顧客との間で結ばれる「法的または契約上の合意」であり、SLOを達成できなかった場合に返金などのペナルティが発生する契約を指します。一般的に、社内の運用目標であるSLOは、外部向けのSLAよりも厳格に設定されます。
注意点
SLOを設定する際の注意点として、非現実的で高すぎる目標(例えば、稼働率100%など)を掲げないことが重要です。AIモデルの特性上、過度な高目標はインフラコストの急増を招き、不要なアラートを引き起こして「エラーバジェット」の早期枯渇を招き、運用担当者の疲弊を引き起こします。また、AIの推論精度をSLOとする場合、正解データをリアルタイムで収集・検証することが難しいため、評価方法の設計に細心の注意を払う必要があります。