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

Область машинного обучения (ML) растет с невероятной скоростью, и с этим ростом возникает потребность в квалифицированных специалистах, которые могут проектировать, создавать и развертывать системы ML. На собеседовании один из наиболее распространенных вопросов, с которыми вы можете столкнуться, — это вопрос о проектировании системы, в котором вас просят разработать систему машинного обучения.

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

Уточнение требований

Первым шагом в ответе на любой вопрос о проектировании системы машинного обучения является уточнение требований. Большинство вопросов о проектировании системы машинного обучения намеренно расплывчаты, чтобы вы могли задать дополнительные вопросы, чтобы понять объем и на каких компонентах следует сосредоточиться.

После того, как интервьюер даст вам подсказку, переформулируйте ее своими словами, чтобы убедиться, что вы находитесь на той же странице, что и интервьюер.

Некоторые вопросы, которые вы должны задать, чтобы понять масштаб:

  1. К какому количеству данных у вас будет доступ?
  2. Существуют ли какие-либо аппаратные ограничения, такие как время или вычислительная мощность?
  3. Должна ли система реагировать быстро или быть очень точной?
  4. Потребуется ли переобучение модели?

Запишите эти ответы на доске или в онлайн-текстовом редакторе, если вы проводите интервью виртуально. Не все вопросы будут иметь отношение к каждому варианту использования, поэтому вам не нужно задавать все вопросы.

Метрики

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

Офлайн-метрики

Автономные метрики используются для оценки модели во время ее создания и перед запуском в производство. Примеры офлайн-метрик включают auc, f1, r², mse, mae и т. д.

Онлайн-показатели

Онлайн-показатели — это баллы, которые получаются из модели после того, как она запущена в эксплуатацию и обслуживает запросы. Примерами онлайн-показателей могут быть рейтинг кликов или время, которое пользователи тратят на просмотр рекомендованного видео.

Нефункциональные показатели

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

Архитектура

Следующим шагом является создание общей архитектуры. Обсуждения архитектуры могут быть сложными в зависимости от глубины, которую ищет интервьюер, но как минимум вы должны включить следующие шаги:

Данные

  1. Определите целевую переменную и то, как вы будете ее собирать и маркировать (при необходимости).
  2. Обсудите возможные особенности и пересечения характеристик
  3. Выполнение проектирования функций, включая разделение обучающих тестов, обработку отсутствующих значений или выбросов, а также обработку несбалансированных наборов данных.

Моделирование

  1. Выберите модель, подходящую для варианта использования, на основе данных и показателей.
  2. Обсудите любую настройку гиперпараметров, которая может потребоваться
  3. Оцените модель с помощью автономных метрик

Развертывание

  1. Обсудите, как вы будете развертывать модель и делать ее доступной для пользователей.
  2. Рассмотрите любые проблемы, с которыми вы можете столкнуться во время развертывания, такие как проблемы с масштабируемостью или конфиденциальностью данных.
  3. Обсудите, как вы будете отслеживать и поддерживать модель после ее развертывания.

Заключительные мысли

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

Связаться с автором

Если вам понравилась эта статья и вы хотите оставаться на связи, не стесняйтесь подписаться на меня в Medium и связаться со мной в LinkedIn. Я хотел бы продолжить разговор и услышать ваши мысли на эту тему.

Рекомендации

https://towardsdatascience.com/how-to-answer-any-machine-learning-system-design-interview-question-a98656bb7ff0