По данным вышедшего на днях исследования CB Insights, размер венчурных раундов в сделках с AI-проектами на стадии A cоставляет $200 млн — огромная цифра, часто связанная, пожалуй, только с тем, что в описании стартапа присутствует та самая приставка AI (Artificial intellegence, искусственный интеллект. — Forbes). По статистике CB Insights, число сделок с подобными проектами за последние пять лет выросло в 4,6 раза — с 150 в 2012 году до 698 в 2016 году.
«Машинное обучение» и «искусственный интеллект» уже стали шаблонными терминами для практически любой ИТ-компании в мире. Их, ставших теперь частью маркетинговой стратегии, используют не только стартапы, но и крупные игроки. Почему я называю эти понятия «маркетинговыми»? Потому что на деле у представителей бизнеса (и тем более у широкой аудитории) нет никаких доступных инструментов, чтобы проверить факт реального использования подобных технологий. С такой проблемой сталкиваются и инвесторы, которые анализируют продукты стартапов, предлагаемые для инвестирования. Как отделить зерна от плевел?
Существует различные методы машинного обучения — от классификации алгоритмов до нейронных сетей (подробнее о работе машинного обучения — в материале Forbes). В первом случае узким местом является экспертиза специалистов, которые применяют алгоритмы и разрабатывают аналитические факторы к ним. Во втором — не менее важны и вычислительные мощности: при работе с нейросетями их потребуется в сотни и даже тысячи раз больше, чем с аналитическими алгоритмами. Обращайте внимание на эти факторы как на потенциальные «бутылочные горлышки» (bottlenecks), прежде чем принимать решение о покупке продуктов или инвестировании в компанию.
Я начал заниматься машинным обучением в 2009 году, когда оно еще не было таким раскрученным и популярным, как сейчас. За это время у меня сложился набор критериев, который стал «лакмусовой бумагой» для определения стадии технологической зрелости компании в области машинного обучения.
Критерий 1. Демонстрация продукта
На что обратить внимание:
Данные для демонстрации/пилотного проекта. Они должны показывать какую-то аналитику на подготовленных заранее данных абсолютно репрезентативно. У вас должно быть чувство уверенности, что действительно происходит обработка конкретных данных, а не просто «прогонка« заранее подготовленного сценария.
Где и как обрабатываются данные.
- В облаке разработчика. Если вы отправляете данные в «облако» разработчика, то единственный вариант проверить, что с ними работают не аналитики, а алгоритмы, — отправить настолько много данных, чтобы их обработка заняла вручную больше времени, чем то, за которое вам был предоставлен результат.
- На стороне заказчика. В случае вычислений на вашей стороне вы должны быть готовы к масштабированию такой системы и потенциальным проблемам с этим. Например, если поставщик дает «железное» коробочное решение, важно понимать, на какой объем обрабатываемой информации оно рассчитано, и проверять пороговые значения. В машинном обучении часто время обработки информации не является линейно пропорциональным ее объему: например, если во время теста вы проверили обработку 50 Мбит информации, то это совсем не значит, что для обработки 100 Мбит потребуется в два раза больше времени (возможно, в 4, или 8, или 100 раз больше) — в зависимости от применяемых алгоритмов. Если вам на тестировании предоставили всего один сервер, который занимается и сбором данных, и их обработкой, стоит задуматься, насколько такой вариант будет продуктивен в дальнейшем и стоит ли вообще тестировать систему именно в таком виде. Если единственный сервер и продается как система анализа и обработки данных с применением машинного обучения (все «в одном флаконе»), то стоит уточнить у разработчика: как подобная система вообще может работать? Ведь алгоритмы машинного обучения не оставят свободных ресурсов на сервере еще для какой-либо работы системы.
Критерий 2. Спецификация продукта
На что обратить внимание:
Объем и источник обучающего множества. «Большие данные» (Big data) — это просто красивые слова, если они не подтверждены количественными и качественными оценками. Множество компаний используют открытые источники данных («датасеты», datasets) и не боятся указывать их происхождение. Ведущие игроки рынка даже сами публикуют свои данные в открытом доступе. При анализе любого проекта важно понимать, откуда берутся данные для обучения, — это будет говорить об их достоверности и качестве. Если производитель скрывает происхождение данных, это повод задуматься о причинах такого поведения. Объем обучающего множества также очень важен и всегда измерим. Разработчик точно знает, сколько данных используется для обучения — запросите эту информацию при анализе проекта, попросите назвать число — в гигабайтах, в числе записей, в любой другой единице измерения. Вы должны услышать конкретный показатель.
Детали используемых алгоритмов. «Коммерческая тайна», говорят многие. Но чтобы убедиться в технологическом потенциале продукта, вовсе не обязательно получать спецификацию на конкретную реализацию. Большинство алгоритмов машинного обучения, вообще говоря, стандартные, они хорошо описаны. Куда важнее понять, что именно происходит внутри продукта, хотя бы на уровне входных и выходных данных. Например, если стартап не может внятно объяснить, что происходит с данными пользователя для их превращения в конечное число входных нейронов сети и за что именно отвечают выходные нейроны — скорее всего, этой технологии у него просто нет.
Критерий 3. Отзывы клиентов и экспертов.
Наверное, это самый очевидный критерий. Разумеется, стоит спросить у текущих клиентов компании, насколько заявленные ей параметры соответствуют фактическим. Это очень простой и действенный способ. При этом важно отличать лояльных клиентов от объективных. Часто стартап готов сам дать список лояльных клиентов, но куда интереснее мнение тех, кого вы найдете самостоятельно.
Экспертное мнение здесь также сложно переоценить. Нельзя сказать, чтобы в России было много профессионалов в машинном обучении, но специалисты действительно есть, и их достаточно. Хорошим вариантом будет пригласить кого-то из сотрудников портфельных компаний как доверенных лиц для анализа новых стартапов.
Вдумчивый анализ каждого из трех критериев поможет ориентироваться в практических аспектах машинного обучения, а не слепо «вестись» на маркетинг. Не пренебрегайте этим набором вопросов к разработчикам.