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

✅ Найденные теги: новости, Перестаньте

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

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

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

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

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

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