Сколько стоит проект по Машинному Обучению?

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

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

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

Дисклеймер: Для того, чтобы оценить расходы, была предусмотрена ежегодная заработная плата в размере 60 000 долл. для каждого инженер по разработке алгоритмов машинного обучения. По данным аналитической компании “Glassdoor”, это средняя заработная плата инженеров ML в Европе. 

Стоимость данных

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

Недавнее исследование “Dimensional Research”, проведенное по заказу компании “Alegion”, показало, что 96% всех организаций сталкиваются с проблемами, связанными с качеством и количеством данных при обучении. Это же исследование показывает, что большинство проектов нуждаются в более чем 100 000 образцов данных для хорошей работы.

Если у вас еще нет ваших данных, было бы справедливо предположить, что вы сможете собрать 5-10 образцов примерно за час. Однако использование такого сервиса как Amazon’s Mechanical Turk обойдется вам примерно в $70 000, а сгенерируете вы 100 000 образцов данных. Но если вам повезло, и вы уже собрали достаточное количество данных, вы можете использовать такой сервис, как “Scale”, чтобы получить аннотацию. Чтобы получить 100 000 помеченных образцов данных, вы можете заплатить где угодно от $8 000 до $80 000, в зависимости от сложности аннотации.

Итак, теперь у нас есть количество. Но как насчет качества? Проверка и коррекция образцов данных занимает почти столько же времени, сколько и их генерация и аннотирование. В том же исследовании “Dimensional Research” упоминается, что 66% компаний сталкиваются с проблемами предвзятости и ошибок в наборе данных.

Это довольно известная проблема при аутсорсинге сбора данных и аннотирования. Чтобы компенсировать это, большинство организаций будут иметь свою собственную команду, отвечающую за аннотации и очистку данных. Одни предпочитают полностью использовать внутренний подход (делая маркировку целиком самостоятельно), другие — сочетать аутсорсинг с внутренним. Второй сценарий наиболее распространенный — передача основной части работы на аутсорсинг, а затем один или два человека будут отвечать за проверку и очистку образцов данных и маркировки. Наличие небольшой внутренней группы проверки может добавить к первоначальным затратам на аутсорсинг 100 тыс. образцов данных примерно на 2 500-5 000 долл. больше. 

Подведем итог, сбор данных будет вам стоить от $10 500 до $85 000, в зависимости от характера ваших данных и сложности ваших аннотаций.

Стоимость исследования

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

В отчете “Dimensional Research” говорится, что в большинстве организаций ИИ команды состоят из менее чем 10 членов. Поэтому можно с уверенностью предположить, что в командах насчитывается в среднем 5 членов. Из этих 5, возможно, 3 являются аутсорсинговыми (либо услуги, либо фрилансеры). Команда, в такой конфигурации, вероятно, может работать над 2 проектами параллельно, и они могут проводить исследования для проекта в течение одного-двух месяцев (давайте усредним это до 1,5). Таким образом, эти 2 сотрудника (2 х 5 000 долларов), 3 фрилансера (3 х 3 000 долларов), что дает 19 000 долларов в месяц. Если команда может заниматься двумя проектами одновременно и продолжительность исследования составляет 1,5 месяца, то это означает, что стоимость этого этапа составляет около 14 250 долларов за проект.

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

Стоимость производства

Затраты на производство включают в себя затраты на инфраструктуру (облачные вычисления, хранение данных), затраты на интеграцию (разработка трубопровода передачи данных, API, документация) и затраты на техническое обслуживание. Мы рассмотрим эти затраты за 12 месяцев. Из них следует, что чем меньше расходы, тем меньше облачные вычисления. Конечно, они варьируются в зависимости от сложности используемого алгоритма. Если модель неглубокая и обучается на маломерных табличных данных, то вам понадобятся 4 виртуальных процессора, работающие на 1-3 узлах, за $100-$300 в месяц, что означает $1200-$3600 в год. На другом конце спектра, за безлатентные глубокие выводы обучения вы можете уступить от $10,000 до $30,000. Например, пример с 4 VCPU и одним старым GPU будет достаточно подходить для большинства случаев использования. Такая виртуальная машина обойдется вам примерно в $4,000.

Интеграция может быть довольно сложной. В большинстве случаев достаточно поместить конечную точку API в облако и задокументировать ее для использования остальной частью системы. Подготовка машинных обучающих моделей, которые будут обслуживаться, и написание строительных лесов под API должно занять не более 20-30 часов разработки, включая тестирование. Это означает, что затраты составят около 1500 долларов, плюс то, что потребуется для модификации остальной части системы для использования нового API (что само по себе может оказаться хлопотным, но мы это проигнорируем). Твердый конвейер данных займет значительно больше, возможно где-то около 80 часов. Так что это на 2500 долларов больше.

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

Согласно тому же исследованию Dimensional Research, большинство организаций продолжают выделять 25-75% ресурсов, используемых для создания исходного решения в рамках проекта машинного обучения. Но давайте будем оптимистами и предположим, что первоначальное решение было очень хорошим, хотя и очень удачным, и большая часть этих повторяющихся задач в основном автоматизирована. В этом случае, наверное, достаточно одного инженера-фрилансера. Таким образом, обслуживание может обойтись вам примерно в 30 000 долларов.

Таким образом, общая стоимость производства составит $37,000.

Стоимость издержек

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

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

Основываясь на наших предположениях, проект машинного обучения может стоить вашей компании (без учета трудно определяемых альтернативных затрат) от 51 750 до 136 750 долларов. Большая разница обусловлена характером Ваших данных. Это очень оптимистичная оценка. Если ваше предприятие находится в США и вы работаете с разумными данными (фрилансеры этого не сделают), то расходы, связанные с талантами, растут, увеличивая проекты ML до 108 500 долларов.

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

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