Sobes.tech
Senior
16

Расскажи про метрики производительности ML-сервиса: latency, RPS, как это было организовано в твоём проекте?

Компании, где спрашивали
цифролаб

Ответ от нейросети

sobes.tech AI

В ML-сервисах ключевыми метриками производительности обычно являются:

  • Latency (задержка) — время от запроса до получения ответа. Важно для оценки пользовательского опыта, особенно в real-time системах.
  • RPS (Requests Per Second) — количество запросов, обрабатываемых сервисом в секунду. Показывает нагрузку и пропускную способность.

В моём проекте мы организовали мониторинг следующим образом:

  1. Сбор метрик — latency и RPS собирались с помощью встроенных инструментов (например, Prometheus) через middleware, оборачивающее вызовы ML-модели.

  2. Анализ распределения задержек — фиксировали не только среднее время ответа, но и перцентили (p50, p95, p99), чтобы понимать редкие, но важные задержки.

  3. Алерты — на основе метрик настраивали оповещения при превышении порогов latency или падении RPS, что помогало быстро реагировать на деградацию сервиса.

  4. Автоматическое масштабирование — RPS использовался для принятия решений о масштабировании инстансов ML-сервиса.

Пример кода для сбора latency на Python с использованием Prometheus client:

from prometheus_client import Histogram

REQUEST_LATENCY = Histogram('ml_service_latency_seconds', 'Latency of ML service requests')

@REQUEST_LATENCY.time()
def predict(input_data):
    # вызов модели
    result = model.predict(input_data)
    return result

Такой подход позволяет поддерживать высокую производительность и стабильность ML-сервиса.