Image

Перестаньте чувствовать себя потерянным: как освоить проектирование систем машинного обучения

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

Делиться

5883b553fbbdee9c8eb8259be6ef96c6

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

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

Я создал системы машинного обучения, которые сэкономили компаниям более 1,5 млн долларов в год, и эти же навыки помогли мне получать предложения о работе на сумму, превышающую 100 000 долларов.

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

Общая структура

Ниже представлена моя схема подхода к проектированию системы машинного обучения:

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

34fe1bb43a0999d8106a3b11e04bb4f1

Если вам нужна копия этого шаблона в формате PDF, вы можете получить доступ по этой ссылке:

https://framework.egorhowell.com

Давайте рассмотрим эти шаги более подробно.

Бизнес-проблема

Цель этого шага:

  • Уточните цели. Какую бизнес- или пользовательскую проблему вы пытаетесь решить и как преобразовать ее в решение с помощью машинного обучения?
  • Определите метрики — На какие метрики мы ориентируемся: точность, показатель F1, ROC-AUC, точность/полнота, среднеквадратичное отклонение и т. д., а также как это влияет на эффективность бизнеса.
  • Ограничения и область применения — Каковы доступные вычислительные ресурсы, нужны ли нам прогнозы в реальном времени или пакетный вывод, нужно ли нам вообще машинное обучение?
  • Проектирование высокого уровня — как будет выглядеть приблизительная архитектура от данных до вывода?

Данные

Речь идет о сборе и получении данных:

  • Определите источники данных — базы данных, API, журналы или пользовательские данные.
  • Определите целевую переменную . Что такое целевая переменная и как ее получить?
  • Контроль качества — В каком состоянии находятся данные? Существуют ли какие-либо юридические проблемы с использованием данных?

Особенности инженерии

Создавайте новые функции на основе данных для решения конкретной проблемы:

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

Разработка и выбор модели

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

  • Тест — начните с простой «глупой» модели или эвристики, а затем постепенно усложняйте ее.
  • Обучение — перекрестная проверка, настройка гиперпараметров, ранняя остановка.
  • Компромиссы . Рассмотрите такие компромиссы, как скорость обучения, скорость вывода, задержка и интерпретируемость.

Обслуживание и развертывание

Понимание наилучшего способа обслуживания и развертывания модели в производстве.

  • Инфраструктура — выберите облако/локальную среду, настройте конвейеры CI/CD и обеспечьте масштабируемость.
  • Сервис — конечная точка API, пограничная модель, пакетные прогнозы против онлайн-прогнозов.

Оценка и мониторинг

Последняя часть — настройка систем и фреймворков для отслеживания вашей модели в производственной среде.

  • Метрики — какие метрики отслеживать с помощью «онлайн»-модели и «офлайн»-модели.
  • Мониторинг — настройка панели мониторинга, блокнота мониторинга, оповещений Slack.
  • Эксперимент — Разработайте эксперимент A/B.

Чему нужно научиться?

Открою вам секрет: проектирование систем машинного обучения — это не собеседование или набор навыков начального уровня.

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

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

Тем не менее, если вам нужен всеобъемлющий, но ни в коем случае не исчерпывающий список, то это то, что вам нужно изучить.

Теория машинного обучения

  • Контролируемое обучение — классификация (логистическая регрессия, машины опорных векторов, деревья решений), регрессия (линейная регрессия, деревья решений, деревья с градиентным бустингом).
  • Неконтролируемое обучение — кластеризация (k-средних, DBSCAN), снижение размерности, латентный семантический анализ.
  • Глубокое обучение — нейронные сети, сверточные нейронные сети и рекуррентные нейронные сети.
  • Функции потерь — точность, оценка F1, NDCG, точность/полнота, RMSE и т. д.
  • Выбор признаков — как определить существенные признаки, такие как корреляционный анализ, рекурсивное исключение признаков, регуляризация, перекрестная проверка и настройка гиперпараметров.
  • Статистика — байесовская статистика, проверка гипотез и A/B-тесты.
  • Специализации — временные ряды, компьютерное зрение, исследование операций, рекомендательные системы, обработка естественного языка и т. д. Требуется всего 1–2.

Системное проектирование и инжиниринг

  • Облако — основное — AWS, и вам следует знать S3, EC2, лямбда-функции и ECS. Большинство облачных решений — это просто обёртки для хранения и вычислений.
  • Контейнеризация — Docker и Kubernetes.
  • Проектирование системы — кэширование, сетевое взаимодействие, квантизация, API и хранение.
  • Контроль версий — CircleCI, Jenkins, git, MLflow, Datadog, Weights and Biases.
  • Фреймворки развертывания и оркестровки — Argo, Metaflow, Databricks, Airflow и Kubeflow.

Ресурсы

  • Практическое машинное обучение с использованием Scikit-Learn, Keras и TensorFlow (партнерская ссылка) Перейдите к книге, чтобы изучить всю теорию машинного обучения.
  • Проектирование систем машинного обучения (партнерская ссылка) — Автор — Чип Хуен, один из ведущих мировых экспертов по моделям искусственного интеллекта и машинного обучения в производственной среде.
  • Practical MLOps (партнерская ссылка) — Книга, которую я использовал для изучения всех основ машинного обучения в области производственного проектирования.

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

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

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

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

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

Тем не менее большинство менеджеров по найму, как правило, оценивают кандидатов по нескольким ключевым параметрам:

  • Перевод проблем — Можно ли взять бизнес-проблему и сформулировать ее как решение с помощью машинного обучения?
  • Принятие решений — Признаете ли вы компромиссы и логически обосновываете свой выбор дизайна?
  • Широта и глубина — Демонстрируете ли вы прочное понимание теории машинного обучения, различных моделей и того, как эффективно применять их в реальных сценариях?

Как подготовиться к собеседованиям

Что касается подготовки, я рекомендую одну важную вещь.

Проработайте прошлые проблемы.

Вот некоторые ресурсы для поиска подобных проблем:

  • HelloInterview — В целом, отличная платформа для практики всех типов собеседований.
  • Интервью по проектированию систем машинного обучения (партнерская ссылка) — отличная книга со множеством практических задач.
  • Онлайн-книга «Интервью по машинному обучению» — еще один замечательный ресурс от Чипа Хуена.

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

  • Статьи ML в блоге Airbnb Tech Blog
  • Технический блог Netflix
  • Блог инженеров Meta ML
  • Блог инженеров Lyft

Источник: towardsdatascience.com

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

ИИ почти всех обгонит? Прогнозы звучат громко, но есть нюансы…
Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.
dummy-img
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.
dummy-img
dummy-img
Взаимодействие человека и машины погружается под воду.
Взаимодействие человека и машины погружается под воду.
Image Not Found
Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.

Вкратце Опубликовано: Изображение предоставлено: Thos Robinson/Getty Images для The New York Times (откроется в новом окне) Джули Борт Компания Anthropic получила от Amazon 5 миллиардов долларов и в обмен пообещала инвестировать 100 миллиардов долларов в облачные сервисы.…

Апр 21, 2026
dummy-img

Как почистить виниловые пластинки (2026): пылесос, ультразвук, чистящий раствор, щетка.

Эти щелчки и треск недопустимы. Приведите свою музыку в порядок с помощью этого удобного руководства. Источник: www.wired.com

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026
Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Загрузка: обход банковских систем кибермошенниками и проблемы с удалением углерода.

Это сегодняшний выпуск The Download, нашей ежедневной новостной рассылки, которая предоставляет вам ежедневную порцию событий в мире технологий. Кибермошенники обходят системы безопасности банков с помощью незаконных инструментов, продаваемых в Telegram. В центре по отмыванию денег в Камбодже…

Апр 21, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых