ИИ 101
Off-the-shelf vs Custom Machine Learning Models?

Когда строительство лучше, чем покупка готового решения?
Компании могут использовать разные подходы к разработке моделей. От полностью управляемых сервисов ML до пользовательских моделей. В зависимости от требований бизнеса, доступной экспертизы и ограничений планирования, они должны сделать выбор: должны ли они разрабатывать пользовательские решения с нуля или выбрать готовое решение?
На всех этапах работы с ML необходимо принять решение о том, как разные части пазла будут работать вместе. От сбора и подготовки данных до визуализации, а также от инженерии функций до обучения и оценки моделей, инженеры по машинному обучению постоянно задают себе один и тот же вопрос: будет ли это пользовательское решение, написанное и разработанное с нуля, или готовый сервис?
Но когда строительство лучше, чем покупка готового решения? Основными различиями между двумя подходами являются усилия по предобработке, скорость разработки и необходимая экспертиза.
Что следует учитывать при определении использования готовых или пользовательских моделей машинного обучения?
Усилия по предобработке
Проекты ML сталкиваются с различными проблемами, но, возможно, самой большой проблемой является доступность обучающих данных. Недостаток обучающих данных может остановить проект еще до его начала. До начала проекта он может столкнуться с значительными затратами на предобработку данных, маркировку данных, очистку и предобработку. Это хорошо известная ловушка, в которую попадают многие проекты ML: предобработка занимает 80% выделенных ресурсов, в то время как остальные ресурсы остаются для фактического обучения и оценки модели.
Готовые решения облегчают нагрузку и боль предобработки. Они разработаны для выполнения наиболее распространенных операций с минимальной настройкой. Лучшее в них то, что готовые решения существуют для всех этапов работы с ML.
С другой стороны, пользовательские реализации обычно требуют больше усилий по предобработке. Это не означает, что их следует полностью отвергнуть: они все еще необходимы для тонкой настройки определенного этапа ML для конкретной проблемы. Особенно грязный набор данных может потребовать некоторых специальных правил очистки. В то же время конкретный набор функций может потребовать пользовательской инженерии функций, как и нейронные архитектуры могут потребовать незначительных корректировок. В этом случае пользовательские решения, разработанные с нуля, вероятно, покроют все потребности.
Скорость разработки
Готовые решения фокусируются на настройке, а не на реализации. Вместо того, чтобы выделять ресурсы на выяснение что должно быть сделано, команды ML будут фокусироваться на как разные части пазла будут работать вместе. Этот подход позволяет компаниям, исследователям и инженерам быстро реализовывать прототипы и концепции. Вместо того, чтобы изобретать велосипед, готовые решения позволяют использовать существующие знания, тем самым экономя время разработки.
Пользовательские решения, реализованные с нуля, известны тем, что они намного медленнее в плане скорости разработки. Это связано с их повышенными потребностями в обслуживании: инженерам необходимо выяснить и что, и как решения. Кроме того, чем сложнее решение, тем больше времени требуется для обеспечения его масштабируемости и доступности во время производства. С этой точки зрения, пользовательские решения и временные усилия прямо пропорциональны: чем сложнее решение, тем больше времени оно потребует.
Обычно, однако, правда находится где-то посередине: существующая база кода будет переработана и адаптирована к потребностям текущего проекта. Такой подход используется в известном методе передачи обучения.
Экспертиза
Как и существует несколько уровней, на которых выполняется машинное обучение, существует несколько уровней экспертизы, на которых могут быть разработаны модели ML, от интерфейсов без кода до построения моделей с нуля.
Готовые решения существуют, для которых требуется очень мало экспертизы в области машинного обучения. Используя интуитивно понятные интерфейсы и даже подходы drag-and-drop, стало чрезвычайно простым для любого (от бизнес-аналитиков до программистов) построить и развернуть некоторую модель машинного обучения. Хотя этот простой подход к разработке моделей может работать для прототипирования, он вряд ли удовлетворит требованиям производственных систем.
Экспертиза все еще требуется для правильной настройки, установки и обслуживания готовых решений в производстве. Обходные пути, патчи кода, подключение к разным интерфейсам API и решение проблем развертывания являются распространенными задачами, необходимыми для обеспечения производительности моделей в производственных средах.
Пользовательские решения обычно реализуются на инфраструктурном уровне, и нет другого выхода: экспертиза обязательно требуется. В зависимости от размера компании и целей проекта могут потребоваться мультидисциплинарные команды для поддержки производственных систем. Ученые-исследователи данных, инженеры ML и бизнес-аналитики объединяются, чтобы понять результаты вывода и поддерживать производственные модели.
Что следует использовать: готовую или пользовательскую модель машинного обучения?
Решение ML будет построено из многих отдельных компонентов и сервисов, которые необходимо объединить в единое решение. Это никогда не является вопросом выбора между 100% пользовательским или 100% готовым решением, поскольку разные бизнес-проблемы требуют разных решений. Чаще всего решения на основе ML строятся путем комбинации обоих: готовые сервисы для получения общих сведений, в сочетании с пользовательскими моделями для повышения точности и моделирования знаний в конкретной области.
Секрет заключается в том, чтобы знать, когда реализовывать пользовательские решения с нуля и какие части проекта могут использовать преимущества готовых сервисов. Это в значительной степени зависит от типа проблемы, которую необходимо решить, бизнес-требований, доступных данных и общих ограничений среды разработки.
Для получения более подробной информации об ИИ и технологических тенденциях см. Josh Miramant, генерального директора Blue Orange Digital, который предлагает решения на основе данных для цепочки поставок, автоматизации документов в сфере здравоохранения и многое другое.
Вам также может понравиться:
Используйте NLP для классификации комментариев в социальных сетях
Как обработка языка улучшается с помощью открытой модели BERT от Google












