Многие проекты машинного обучения (ML) обречены на провал. Это может быть вызвано разными причинами, и часто они возникают в сочетании. Чтобы избежать неудачи, все заинтересованные стороны должны понимать технические и организационные требования проекта.

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

Определение проблемы

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

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

  • ориентированный на исследования,
  • доказательство концепции,
  • или ориентированный на продукт?

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

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

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

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

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

Данные

Данные являются ключевым фактором в машинном обучении. Таким образом, для успешного проекта машинного обучения крайне важно иметь подробный обзор базовых (помеченных) данных. Обзор наличия и качества данных необходим для оценки технической осуществимости, а также влияет на финансовое планирование.

Основной характеристикой данных является источник данных. Это может быть, например. открытые, внутренние или коммерческие данные, которые имеют различные преимущества и недостатки:

  • Данные из открытых источников бесплатны и легко доступны, но могут быть низкого качества.
  • Внутренние данные часто высокого качества и бесплатны, но могут быть неорганизованными.
  • Коммерческие данные имеют высокое качество, но могут выходить за рамки финансовых возможностей.

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

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

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

Развертывание

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

Во-первых, заказчик должен определить, как рабочий процесс должен получать доступ к выходным данным модели: как выходные данные влияют на последующие процессы? Либо они служат входными данными для других автоматических процессов, либо люди (персонал, клиенты и т. д.) продолжают их использовать. Это определяет, нужно ли интегрировать модель и методы ее обработки в существующую ИТ-инфраструктуру или разработать интерфейс, обеспечивающий доступ к результатам модели. Это напрямую отражается на планировании временных, финансовых и технических ресурсов. Кроме того, стороны должны договориться о том, как ИТ-команды подрядчика и клиента будут работать вместе, чтобы выполнить развертывание максимально гладко.

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

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

Планирование

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

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

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

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

Для каждого пакета работ целесообразно дать оценку планируемого персонала и его рабочего времени (или дней, или месяцев). Это дает оценку того, сколько усилий требует каждый рабочий пакет.

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

Бюджет

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

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

Заключение

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

В зависимости от характера проекта и отношений между клиентом и подрядчиком некоторые пункты могут быть менее актуальными. Но, судя по многолетнему опыту работы Dida в проектах машинного обучения, всегда стоит учитывать эти моменты в проектном предложении. Также рекомендую нашу статью Самые важные вопросы, которые мы задаем нашим клиентам перед совместным ML-проектом.

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