Анатомия вопроса на собеседовании по проектированию системы машинного обучения

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

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

Сегодня мы рассмотрим:

  • Чем отличается собеседование по проектированию систем машинного обучения?
  • Как подготовиться к собеседованию по проектированию систем машинного обучения
  • 5 шагов для решения любого Проблема проектирования системы машинного обучения
  • Заключение и ресурсы

Содержание
  1. Получите советы от инсайдеров для успешного прохождения собеседования по ML
  2. Чем отличается собеседование по проектированию систем машинного обучения?
  3. Как подготовиться к собеседованию по проектированию систем машинного обучения
  4. Распространенные вопросы на собеседовании по машинному обучению
  5. Сосредоточьтесь на 4 частях каждого решения ML
  6. Практикуйтесь в объяснении вслух
  7. Выучить разработка системы для собеседований по машинному обучению
  8. 5 шагов для решения любой проблемы проектирования системы машинного обучения
  9. Шаг 1. Уточнение требований (5 минут)
  10. Шаг 1 : example
  11. Шаг 2. Дизайн высокого уровня (5 минут)
  12. Шаг 2: пример
  13. Шаг 3: углубленное изучение данных (10 минут)
  14. Шаг 3: пример
  15. Шаг 4: Алгоритмы машинного обучения (10 минут)
  16. Шаг 4: пример
  17. Шаг 5: Эксперименты (5 минут)
  18. Шаг 5: пример
  19. Резюме из пяти шагов:
  20. Заключение и ресурсы
  21. Продолжить чтение о машинном обучении

Получите советы от инсайдеров для успешного прохождения собеседования по ML

Изучите концепции и решения ML от ML интервьюеры из технологической индустрии.

Проведение собеседования по машинному обучению

Чем отличается собеседование по проектированию систем машинного обучения?

Общая настройка собеседования по проектированию системы машинного обучения аналогична стандартной SDI. В обоих случаях вас отправят к интервьюеру на 45-60 минут и попросят продумать компоненты программы.

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

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

Для SDI машинного обучения , вы должны будете объяснить, как ваша программа получает данные и обеспечивает масштабируемость.

Как подготовиться к собеседованию по проектированию систем машинного обучения

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

Давайте рассмотрите три способа подготовить свои знания и артикуляцию.

Распространенные вопросы на собеседовании по машинному обучению

Лучший способ подготовиться к этим вопросам — это самостоятельно попрактиковаться в задачах ML SDI. В современных SDI SDI задаются всего несколько типов вопросов на собеседовании по машинному обучению..

Самыми распространенными являются итерации:

  • «Создание ленты социальных сетей в стиле Twitter для отображения релевантные сообщения для пользователей ».
  • « Создайте систему рекомендаций, чтобы предлагать продукты/услуги ».
  • « Разработайте поисковую систему в стиле Google, которая адаптирует результаты под пользователя. . »
  • « Создайте рекламную систему, которая представляет пользователям персонализированную рекламу ».
  • « Разработайте систему машинного обучения, которая выявляет злоумышленников в социальной сети ».

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

Сосредоточьтесь на 4 частях каждого решения ML

Каждое решение машинного обучения состоит из четырех основных частей:

  • алгоритм машинного обучения
  • Обучение данные
  • Сигналы (иногда называемые функциями)
  • Проверка и метрики

Для алгоритмов , какой алгоритм вы выберете и почему? Глубокое обучение, линейная регрессия, случайный лес? Каковы сильные и слабые стороны каждого из них? Чего они достигают в соответствии с потребностями вашей системы?

Для данных , где вы получите тестовые данные? Из каких точек данных вы будете черпать? Сколько точек данных вы будете обрабатывать?

Для сигналов , какую метрику использует ваша программа для определения релевантных данных? Будете ли вы сигнализировать о необходимости сосредоточиться на одном аспекте данных или синтезировать его из нескольких? Сколько времени нужно, чтобы определить релевантность данных?

Для показателей , какие показатели вы будете отслеживать для успеха и обучения программе? Как бы вы измерили успех своей системы? Как вы подтвердите свою гипотезу?

Практикуйтесь в объяснении вслух

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

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

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

Вот некоторые общие вопросы:

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

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

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

Grokking the Machine Learning Interview

5 шагов для решения любой проблемы проектирования системы машинного обучения

Интервью с SDI ML обычно имеет строгое ограничение по времени: 45 или 60 минут , с 5 минутами в начале и в конце для введения/подведения итогов.

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

Далее , мы рассмотрим, как потратить время на решение любого вопроса ML. Чтобы помочь понять процесс, мы также продемонстрируем каждый шаг с помощью примера вопроса типа ленты в 45-минутном собеседовании.

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

Наш вопрос: создайте канал контента для отображения персонализированных сообщений для пользователей.

Шаг 1. Уточнение требований (5 минут)

В течение первых 5 минут мы Разъясним нашу системную цель и требования с интервьюером. Эти вопросы на собеседовании намеренно расплывчаты, чтобы вы прямо попросили предоставить необходимую информацию. Ваши уточняющие вопросы помогут направить ваш дизайн и решить конечную цель вашей системы..

Вот некоторые общие уточняющие вопросы:

  • Сколько пользователей, по нашему мнению, будет обрабатывать эта программа?
  • Какие показатели мы отслеживаем в настоящее время?
  • Чего мы хотим достичь с помощью этой системы? Для чего мы хотим оптимизировать?
  • Какой тип ввода мы ожидаем?

Шаг 1 : example

Если бы мы уточняли вопрос о фиде, мы бы спросили:

  • Какой тип фида это будет? Чисто текст? Текст и изображения?
  • Сколько пользователей мы ожидаем? Сколько сообщений каждый из них публикует в день?
  • Для каких показателей оптимизирована наша система? Хотим ли мы большего взаимодействия с каждым постом или увеличения количества постов?
  • Есть ли у нас целевая задержка?
  • Как быстро наша система применит новое обучение?

Шаг 2. Дизайн высокого уровня (5 минут)

В течение следующих 5 минут создайте высокоуровневый дизайн , который обрабатывает данные от ввода до использования. Составьте диаграмму визуально и соедините все взаимодействующие компоненты. Во время сборки интервьюер будет задавать зондирующие вопросы, поэтому обратите внимание на вопросы, которые предполагают, что вам не хватает какого-либо компонента.

Не забудьте сохранить это резюме: решите, сколько слоев и как данные будут поступать в систему. , как будут анализироваться данные и как вы выберете релевантные данные?

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

Шаг 2: пример

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

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

Шаг 3: углубленное изучение данных (10 минут)

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

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

Это отличается от общий SDI, в котором интервьюируемый учитывает только то, что происходит с данными после их ввода в поток программы.

Что касается данных обучения, примите во внимание:

  • Из какого источника я буду получать данные обучения?
  • Как я могу убедиться, что это не предвзятые данные?

Для оперативных данных подумайте:

  • Какой сигнал я буду использовать в своих данных?
  • Почему этот сигнал актуален?
  • Существуют ли ситуации, в которых этот сигнал не будет отражать мой желаемый результат?
  • Насколько реагирует мой алгоритм? Произойдут ли изменения в течение 10 минут или 10 часов и т. Д.?
  • Сколько данных моя программа может обработать за один раз? Он работает хуже при большем вводе?

Шаг 3: пример

Мы ожидаем, что каждый пользователь следить за 300 учетными записями и делать в среднем 3 сообщения в день на каждую учетную запись. У нас будет три уровня оценки данных, чтобы снизить задержку при оценке системой 1000 сообщений. Первый уровень быстро сокращает большинство сообщений в зависимости от их популярности.

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

Шаг 4: Алгоритмы машинного обучения (10 минут)

В течение следующих 10 минут поделитесь своим выбором алгоритмов машинного обучения с интервьюером. Каждый алгоритм решает определенные задачи по-разному, и интервьюер захочет, чтобы вы знали сильные и слабые стороны разных алгоритмов.

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

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

Шаг 4: пример

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

Шаг 5: Эксперименты (5 минут)

За последние 5 минут сделайте ставку на гипотезу о том, чего ваша система достигнет . Этот раздел представляет собой своего рода заключение для вашей программы, в котором вы можете обобщить, как компоненты вместе достигают определенной цели.

Ваша гипотеза может быть широкой, например, «сообщения, упорядоченные по релевантности, будут привлекать больше внимания, чем в хронологическом порядке. », Или может быть конкретным, например,« добавление сигнала местоположения увеличит взаимодействие на 0,5% ».

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

  • Какие автономные оценки вы бы использовали?
  • Какой объем автономного набора данных вам понадобится?
  • Что вы будете делать, если в сети возникнет ошибка?
  • Как вы будете отслеживать удовлетворенность пользователей изменением?
  • Считаете ли вы взаимодействие с помощью комментариев или любой формы взаимодействия с публикацией?

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

Шаг 5: пример

Наш фид на основе релевантности увеличит взаимодействие с пользователем на 0,5%. Сначала мы воспользуемся автономными моделями, запрограммированными для имитации пользователей, и посмотрим, какие типы сообщений попадают в ленту.

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

Резюме из пяти шагов:

  • Шаг 1. Уточнение требований (5 минут)
  • Шаг 2: Дизайн высокого уровня (5 минут)
  • Шаг 3: углубленное изучение данных (10 минут)
  • Шаг 4: алгоритмы машинного обучения (10 минут)
  • Шаг 5: Эксперименты (5 минут)

Заключение и ресурсы

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

Чтобы помочь вам изучить алгоритмы и концепции машинного обучения, мы предлагаем создал курс Grokking the Machine Learning Interview , чтобы упростить процесс и максимально повысить вашу подготовку. Этот курс разработан, чтобы стать вашим универсальным учебным материалом для собеседований по машинному обучению, включая все наиболее проверенные концепции и пошаговые решения самых популярных вопросов на собеседовании.

Удачного собеседования !

Продолжить чтение о машинном обучении

  • 10 самых популярных вопросов на собеседовании по проектированию системы
  • Взломать интервью по машинному обучению: подходы к проектированию системы
  • Дизайн TinyURL и Instagram: руководство собеседования по дизайну системы
Оцените статью
nanomode.ru
Добавить комментарий