Системный дизайн ML-сервисов

Caching

Кеширование

актуальноТекущий рабочий стандарт

Направления: Инженерия ИИ · Инференс моделей

Не считать то, что уже посчитано: кеш предсказаний, и .

Ключевые тезисы

  • Ключ кеша должен включать версию модели — иначе после релиза вы отдаёте старые ответы.
  • TTL выбирается из скорости устаревания данных, а не из размера кеша.
  • Для повторяющихся запросов кеш даёт больший выигрыш, чем любая оптимизация модели.

Подробный разбор

2 подтемы — объяснения, формулы, примеры и интерактивные графики.

  • Признаки: результат обращения к хранилищу, TTL от секунд до часов.
  • Эмбеддинги: почти неизменны, кешируются надолго.
  • Предсказания: только если вход повторяется и модель детерминирована.
На практике

Ключ кеша обязан включать версию модели и версию логики . Иначе после выката новой версии пользователи будут получать старые ответы, и это крайне сложно заметить.

  • Hit rate: ниже 20% — кеш чаще всего не окупает сложность.
  • на промахе против задержки на попадании.
  • Расход памяти и вытеснения (LRU обычно достаточно).
  • Стampede-эффект: при истечении TTL популярного ключа сотни запросов уходят в модель одновременно — лечится блокировкой на пересчёт.

Видеолекции

Записи университетских курсов, где эта тема звучит. Ссылка открывает запись с той секунды, где о ней говорят, — искать по трёхчасовой лекции не нужно.

Связанные темы

Структуры данных · Инференс и эксплуатация

Hash Tables85%

Хеш-таблицы · Алгоритмы и структуры данных

Доступ по ключу за константу в среднем. Основа словарей и множеств — и структура, на которой держится большая часть повседневного кода.

Arrays, Lists, Stacks and Queues85%

Массивы, списки, стеки и очереди · Алгоритмы и структуры данных

Четыре базовых способа хранить последовательность. Отличаются не тем, что умеют, а тем, что у них дёшево, а что дорого.

Trees and Heaps85%

Деревья и кучи · Алгоритмы и структуры данных

Иерархические структуры, дающие логарифмические операции: двоичное дерево поиска для упорядоченных запросов, куча — для быстрого минимума.

Sorting Algorithms85%

Сортировки · Алгоритмы и структуры данных

Быстрая, слиянием, пирамидальная — три способа упорядочить данные за O(n log n) с разными свойствами по памяти, устойчивости и худшему случаю.

Order Statistics85%

Порядковые статистики · Алгоритмы и структуры данных

Найти k-й по величине элемент, не сортируя весь массив. Quickselect делает это в среднем за линию.

Requirements and SLA85%

Требования и SLA · Системный дизайн ML-сервисов

Числа, которые нужно зафиксировать до архитектуры: задержка, пропускная способность, доступность, стоимость запроса.

Serving Architecture85%

Архитектура инференса · Системный дизайн ML-сервисов

Модель внутри приложения, отдельный сервис или платформа инференса — три уровня связанности.

Batching and Queues85%

Батчинг и очереди · Системный дизайн ML-сервисов

Собирать запросы в пачки, чтобы загрузить GPU, и сглаживать всплески нагрузки очередью.

Scaling85%

Масштабирование · Системный дизайн ML-сервисов

Горизонтальное и вертикальное масштабирование инференса и правильные метрики автоскейлинга.

GPU Inference85%

GPU-инференс · Системный дизайн ML-сервисов

Как выжать из видеокарты пропускную способность и не переплачивать.

Reliability85%

Отказоустойчивость · Системный дизайн ML-сервисов

Что происходит, когда модель недоступна, отвечает медленно или выдаёт мусор.

Observability85%

Наблюдаемость · Системный дизайн ML-сервисов

Логи, метрики и трассировки, по которым можно восстановить, что произошло с конкретным запросом.

Cost Model85%

Экономика сервиса · Системный дизайн ML-сервисов

Стоимость одного предсказания и точка, где модель перестаёт окупаться.

LLM Serving85%

Обслуживание LLM · Системный дизайн ML-сервисов

Отдельная инженерная дисциплина: KV-кеш, непрерывный батчинг, потоковая отдача и контроль стоимости.

Model Deployment85%

Деплой моделей · MLOps

Доставка модели пользователю: онлайн-сервис, батч-скоринг или встраивание в приложение.

Monitoring85%

Мониторинг · MLOps

Наблюдение за инфраструктурой, данными и качеством предсказаний после релиза.

Docker85%

Docker · MLOps

Контейнеризация фиксирует окружение целиком: код, зависимости, системные библиотеки.

Kubernetes85%

Kubernetes · MLOps

Оркестрация контейнеров: масштабирование, самовосстановление, обновления без простоя.

Кому эта тема нужна

Профильная компетенция для роли: Продуктовый инженер.

Усиливает профиль: MLOps-инженер, LLM-инженер.

Спрашивают на собеседовании: Авито — Поиск и ранжирование, Авиасейлс — Ранжирование предложений.

Проверить себя

Тема встречается в тесте по направлениям — ошибки приведут обратно на эту страницу.

Тема в работе целиком

Разбор архитектуры, где эта тема — один из кирпичей: требования, развилки, цифры и режимы отказа.

Следующий шагПроверить себя: Дизайн ML-системТема встречается в этом тесте 1 раз. Ошибка приведёт обратно на эту страницу — с объяснением, что именно не сошлось.Перейти →

Глава «Системный дизайн ML-сервисов» последний раз правилась . Нашли ошибку — напишите.