MLOps и эксплуатация моделей
Подтемы:
Чем post-training quantization отличается от quantization-aware training?
Post-training quantization переводит уже обученную модель в меньшую разрядность. Для весов это может не требовать данных, а для активаций обычно нужен репрезентативный calibration set. Метод дешевый, но чувствительные модели теряют качество. Quantization-aware training имитирует округление во время обучения или fine-tuning, поэтому веса адаптируются к будущей арифметике. QAT обычно лучше сохраняет качество, но дороже. Сравнивают итоговую метрику, размер, реальную latency и поддержку нужных операций на целевом железе.
Ссылки для изучения
Почему зануление весов не всегда ускоряет инференс модели?
Неструктурное pruning создает отдельные нули в матрицах, но обычные GPU и BLAS-ядра все равно выполняют плотные умножения и читают плотные тензоры. Без подходящего sparse-формата, достаточной разреженности и специальных kernels latency может не уменьшиться, а служебные индексы добавят расходы. Структурное pruning удаляет целые каналы, головы или блоки и чаще ускоряет стандартные kernels. Выигрыш подтверждают на целевом устройстве по throughput и p95 latency, а не по доле нулей.
Ссылки для изучения
Как knowledge distillation переносит знания teacher-модели в student?
Teacher генерирует распределение вероятностей по классам вместо одной жесткой метки. После деления logits на temperature оно показывает сходство альтернатив, например что кошка ближе к собаке, чем к автомобилю. Student обучают на смеси обычной loss по истинным меткам и distillation loss по soft targets teacher. Temperature и веса слагаемых настраивают на validation. Дистилляция может уменьшить модель и ускорить инференс, но качество, calibration и latency нужно измерить отдельно.
Ссылки для изучения
Что мониторить у ML-модели до появления свежих меток?
До появления меток нельзя честно пересчитать целевую метрику, поэтому мониторят входы и систему: схему, пропуски, диапазоны, долю новых категорий, drift признаков, распределение score и решений. Отдельно смотрят latency, ошибки, объем трафика и сбои feature pipeline. Proxy-сигналы полезны лишь после проверки связи с целью. Когда метки дозревают, считают качество и calibration по когортам времени и сегментам, сопоставляя прогноз с версией модели и признаков.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Собеседование Data Science: Артур Кузин/Sber Devices vs Сергей Колесников/Tinkoff | #Нанято S1E02RU · 1:13:30–1:15:35Мок-собеседование · Совместный разбор
Участники обсуждают proxy-мониторинг модели до свежих меток: uncertainty, confidence, OOD/drift и различимость train и online распределений.
Чем data parallelism отличается от model parallelism?
При data parallelism на устройствах лежат копии модели, а батч делится между ними. Каждое устройство считает градиенты, затем они синхронизируются, обычно через all-reduce. При model parallelism сама модель разделена между устройствами, потому что не помещается целиком или вычисления выгодно разнести. Тогда коммуникация идет и внутри forward/backward. На практике сочетают data, tensor и pipeline parallelism, а optimizer state шардируют отдельно. Узкое место выбирают по памяти, вычислениям и сети.
Ссылки для изучения
Какие слои данных краулера нужны для воспроизводимого ML-датасета?
Нужен неизменяемый raw-слой с ответом сервера, URL, временем запроса, статусом и заголовками. Parsed-слой хранит извлеченные поля, canonical URL, версию парсера и ссылку на raw. Следующий слой очищает дубли и фиксирует правила выбора версии страницы. Для каждого запуска нужны batch_id, конфигурация, время и статистика ошибок. ML-выборку строят с cutoff по времени, чтобы признаки не знали будущего. Такая схема позволяет перепарсить сырье и отличить изменение сайта от изменения модели.
Ссылки для изучения
Чем репликация данных отличается от шардирования?
Репликация хранит копии одних данных на нескольких узлах. Она повышает доступность и пропускную способность чтения, но требует согласования копий и не увеличивает объем уникальных данных. Шардирование делит строки или ключевое пространство между узлами, увеличивая емкость и параллелизм. Оно требует удачного shard key, маршрутизации запросов и rebalance. Системы часто совмещают подходы: каждый шард имеет реплики. Тогда отдельно решают consistency, failover и восстановление.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Собеседование Junior Системный Аналитик | Компания HuntIT (2025) · 17:11–17:50Разбор интервью · Ответ кандидата
Кандидат сравнивает разделение базы на шарды с созданием реплик для отказоустойчивости и масштабирования чтения.
Вы знакомы с инструментами контейнеризации?
Да, контейнеризация - это технология, позволяющая упаковывать приложения и их зависимости в изолированные контейнеры, которые могут быть запущены и работать на любой платформе без изменений. Основные инструменты контейнеризации включают Docker, Kubernetes и Podman. Docker - это платформа для разработки, доставки и запуска приложений в контейнерах, Kubernetes - это система для автоматизации развертывания, масштабирования и управления контейнеризированными приложениями, а Podman - альтернатива Docker, которая предоставляет совместимый с API интерфейс командной строки для управления контейнерами без необходимости использования демона. Контейнеризация обеспечивает легкость и надежность развертывания приложений, а также упрощает управление зависимостями и конфигурацией.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- #devops #sre #juneway DevOps интервью · 33:00–34:35Мок-собеседование · Совместный разбор
На техническом интервью обсуждают команду запуска контейнера, non-root user и причины не запускать container process с root-правами.
С точки зрения практики MLOps - какой ваш любимый линтер?
Назовите линтер, которым действительно пользуетесь, и объясните выбор на примере проверок и интеграции в редактор или CI. Если опыта мало, честно укажите, какие проверки уже настроили и что хотите добавить.
Ссылки для изучения







