Первый шаг к стандартизации ваших экспериментов

Примечание редактора. Обязательно ознакомьтесь с нашим сеансом Часы работы, посвященным масштабам и успехам, на нашем канале YouTube.

Я слышал это так много раз, что это начинает действовать мне на нервы: «Машинное обучение похоже на Дикий Запад».

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

Мы должны сделать лучше, чем это. Мы должны добраться до точки стандартизации.

Только так мы можем обеспечить воспроизводимость.

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

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

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

Трудно стандартизировать эти процессы.

Тем не менее, нам легко ошибиться на любом этапе жизненного цикла машинного обучения.

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

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

Это еще более серьезная проблема в отрасли.

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

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

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

И мы будем заниматься наукой лучше.

Наука, лучше.

Эксперименты являются ключевым компонентом жизненного цикла машинного обучения.

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

Но если что-то и верно в отношении процесса машинного обучения, так это то, что он соответствует принципу CACE.

Принцип CACE: Cподвешивание Aничего Cподвешивание всего

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

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

Мир изменится, и ваша модель должна будет измениться в ответ на это.

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

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

Отслеживание экспериментальных метаданных необходимо для последовательного и воспроизводимого процесса экспериментов.

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

Эта серия

Эта серия сообщений в блоге предоставит вам план стандартизации процесса экспериментирования.

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

Эти шаги включают:

  1. Определение масштаба и критериев успеха вашего проекта (вы здесь)
  2. Создание базовых линий
  3. Понимание и проверка данных
  4. Предварительная обработка данных и проектирование функций
  5. Итерация по разным типам моделей
  6. Поиск гиперпараметров и тонкая настройка
  7. Обслуживание модели
  8. Мониторинг производительности модели в дикой природе

Это сообщение

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

Мы углубимся в:

  1. Как определить успех
  2. Что вообще означает масштаб?
  3. Каков процесс определения масштаба проекта?
  4. Вопросы для обсуждения

Определение успеха

Первый вопрос, который вы должны себе задать: как будет выглядеть успех этого проекта?

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

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

Чтобы точно выяснить, что это такое, вам придется начать задавать своим стейкхолдерам несколько ключевых вопросов, например:

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

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

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

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

Хотите узнать больше о стандартизации эксперимента? Хотите узнать, как эксперты и руководители групп определяют объем и успех? Присоединяйтесь к нам в Comet Office Hours!

Что вообще означает область видимости?

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

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

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

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

В идеале вы хотите работать над проблемой, которая является приоритетной для организации.

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

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

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

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

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

Каков процесс определения содержания проекта?

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

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

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

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

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

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

Мышление, которое Эндрю рекомендует принять, это:

«Я не хочу слышать о ваших проблемах с ИИ. Я хочу услышать о ваших бизнес-проблемах, а моя работа — работать с вами, чтобы выяснить, есть ли решение с помощью ИИ».

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

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

Решения найти легко, но четкое формулирование проблемы приводит к лучшим решениям.

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

Здесь вам нужно перепроверить, что ваше решение технически осуществимо и ценно.

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

Я надеюсь, что вы избегаете одной вещи, которая усердно работает над проектом и создает определенную сумму денежной или социальной ценности, если за тот же объем работы есть другой проект, который мог бы создать [в 10 раз больше положительной ценности]. И я думаю, что процесс определения масштаба поможет вам в этом.

— Эндрю Нг

Вопросы для обсуждения

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

Вот некоторые из типов вопросов, на которые вы, возможно, захотите ответить на этом этапе процесса:

• Какую бизнес-цель пытается достичь ваша модель?

• Каковы ваши ключевые показатели эффективности для этой задачи?

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

• Как конечные пользователи будут взаимодействовать с этой моделью?

• Что является входом в эту систему?

• Каков ожидаемый результат?

• Как вы будете оценивать, действительно ли ваша модель работает?

• Как узнать, можно ли доверять этим предсказаниям?

• Насколько важно, чтобы модель была интерпретируемой?

• Где будет развернута эта модель? Локально? Облако? Мобильный?

• Какая информация будет доступна пользователю?

• Насколько допустима дисперсия прогнозируемого результата?

• Какие прокси-метрики мы будем использовать для оценки производительности системы?

• Каковы требования к задержке для прогнозов?

• Есть ли риск того, что наша модель или данные будут необъективными? Если да, то как мы можем это обнаружить?

• Каковы требования к задержке для прогнозов?

• Есть ли риск того, что наша модель или данные будут необъективными? Если да, то как мы можем это обнаружить?

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

Прохождение этого процесса требует предвидения и поможет вам определить, работаете ли вы над правильной проблемой или нет. Как говорит Эндрю Нг: «Выбор правильной проблемы для работы — один из самых редких и ценных навыков в ИИ сегодня».

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

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

Что бы вы добавили к этому? Позвольте мне знать в комментариях ниже.

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

И помните: у вас есть одна жизнь на этой планете, почему бы не попробовать сделать что-то большое?

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

Независимая от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и командам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим нашим авторам и не продаем рекламу.

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