Как передать результат модели дата инженерам?
Что проверяют
Умеете ли вы доводить модель до продакшена, а не заканчивать работу в ноутбуке. Интервьюер хочет услышать, что передача это договорённость о контракте, а не отправка файла. Следом обычно спрашивают, кто в вашей схеме отвечал за переобучение и мониторинг и что шло не так.
Как отвечать
Стройте ответ на своём проекте, опираясь на каркас:
- что именно передаётся: пакетные предсказания, артефакт модели или онлайн-сервис. От этого зависит всё остальное;
- пакетный сценарий: предсказания пишутся в Parquet или таблицу хранилища с партициями по дате и колонками
entity_id,score,model_version,predicted_at. Схема фиксируется как контракт, изменения согласуются заранее; - артефакт: модель регистрируется в MLflow Model Registry или экспортируется в ONNX, зависимости закреплены, рядом лежит пример входа и эталонный выход для теста. Дата-инженеры встраивают инференс в DAG Airflow;
- онлайн: сервис на FastAPI, Triton или KServe с описанием API в OpenAPI и требованиями к задержке и ресурсам;
- документация: список признаков и их предобработка, пороги и смысл скора, ожидаемые распределения, что делать при сбое;
- проверки: валидация входа и выхода через pandera или Great Expectations, мониторинг дрейфа, понятный владелец на случай инцидента.
Расскажите конкретный случай: что передавали, в каком виде, что сломалось при первой интеграции и как вы это закрыли. Цифры берите свои: сколько строк в сутки, какая задержка, за сколько дней вышли в прод. Если опыта такой передачи не было, скажите честно и опишите, как бы это организовали, опираясь на учебный или пет-проект с MLflow и Docker.
Где спотыкаются
Отдают ноутбук или файл pickle и считают работу законченной. Модель, сохранённая через pickle в одной версии scikit-learn, в другой может не загрузиться или считать иначе, а код из ноутбука инженеры переписывают заново и с ошибками.
Не описывают предобработку. Признаки в проде считаются иначе, чем при обучении, и качество тихо падает: это классический training-serving skew.
Не договариваются о владении. Через полгода модель деградирует, а переобучать и чинить её некому, потому что автор уже на другом проекте.