Обеспечение существенных дебатов и предотвращение неминуемого провала проекта.
Проекты машинного обучения могут убедить даже атеиста в том, что «дьявол кроется в деталях».
Предположительно, согласно отчету Gartner, 85% проектов машинного обучения потерпят неудачу. Что ж, я не слишком удивлен.
Но. Есть лекарство, о чем мы поговорим позже в этом блоге.
Эта проблема
Проблема не в том, что между командами и внутри команд недостаточно дискуссий.
Скорее проблема в том, что:
- люди с разным образованием понимают разные языки
- при определении проекта машинного обучения почти всегда отсутствует общий язык
- большинство обсуждений вскоре превращаются в игру китайского шепота
- двусмысленность, возникающая из предположений, накапливается
- завершение в пределах первоначального графика становится невозможным
Короче говоря, это может быть беспорядок!
Почему?
Простой ответ: предположения
Решение
В статье Уровни анализа для машинного обучения от DeepMind обсуждается, как можно использовать уровень анализа Марра:
- минимизировать допущения на разных уровнях проекта
- предоставляя общий язык для людей из разных слоев общества
- и поощрение соответствующих дискуссий / дебатов
- чтобы избежать устранения повреждений в последнюю минуту
Фон
Уровни анализа Марра, изначально заимствованные из нейробиологии, продвигают идею о том, что сложные системы, такие как мозг, компьютер или поведение человека, следует понимать на разных уровнях.
В то время как уровни традиционно использовались для обратной инженерии биологического поведения, структура Марра оказалась элегантным и популярным способом рассуждать о сложных системах.
Желаемый результат
Желаемый результат концепции Марра:
- разбить решение на разные уровни
- поощрять дискуссии на каждом уровне
- разногласия - желаемый результат этих дискуссий
- выдвигать любые другие предположения в открытую
- изучение и сравнение различных решений на каждом уровне
- приводя к взаимно согласованному решению
Реализация ML
Марр (1982) определил трехуровневую иерархию для описания и анализа вычислительной системы:
Вычислительный уровень:
- Какова цель проекта?
- Каков предполагаемый вклад каждой модели в достижение цели проекта?
- Какие бывают форматы данных?
- Каков желаемый результат от модели машинного обучения?
- Как сформулировать эффективность модели машинного обучения?
- Каков размер и качество обучающей выборки?
- В какой степени набор для разработки и тестирования имитирует входные данные для модели машинного обучения в производственной среде?
- Какова ожидаемая скорость поступления данных в производство?
- Какие варианты оборудования доступны?
- И другие
Алгоритмический уровень:
- Какие алгоритмы-кандидаты для создания модели машинного обучения?
- Каковы плюсы и минусы каждого алгоритма?
- Насколько масштабируем по своей сути каждый алгоритм?
- Какова выборочная эффективность каждого алгоритма?
- Какова обобщающая способность каждого алгоритма в разных областях?
- Насколько эффективно можно распараллелить алгоритм в распределенной системе?
- Насколько ресурсоэффективен каждый алгоритм?
- И другие
Уровень реализации:
- Какой язык использовать?
- Какой фреймворк использовать?
- Как оптимизировать алгоритм под предоставленное оборудование?
- Как обеспечить минимальную задержку?
- Как постоянно обновлять модель?
- Как масштабировать алгоритм?
- И другие
Примечание
Эта иерархия обсуждения также позволяет нам выбирать, какие люди требуются для каких обсуждений.
Во время проектов много времени тратится зря, потому что люди в конечном итоге посещают собрания, в которые они не вносят никакого вклада.
Заключение
Причина того, что эти уровни работают так хорошо, заключается в том, что они позволяют каждому подходить к обсуждению, используя общую систему координат, которая подчеркивает различные варианты или предположения, оптимизируя обсуждение, а также поощряя скептицизм.
Спасибо за прочтение! Хорошего дня!