В середине августа стало известно, что корпорация Google купила беларуский стартап в области искусственного интеллекта и нейросетей — компанию AIMatter, которая нашумела своим мобильным приложением для раскрашивания волос пользователя в режиме онлайн. А уже сегодня их разработку внедрили в YouTube: при записи видео в YouTube Stories пользователь может самостоятельно заменять фон. The Village Беларусь поговорил с директором компании Андреем Куликом и инвестором Юрием Мельничеком и выяснил, куда может привести развитие технологии и какую цель нужно ставить при создании своего стартапа.

АНДРЕЙ КУЛИК

ЮРИЙ МЕЛЬНИЧЕК

— Когда вы только начинали работу в AIMatter, какую цель ставили программистам? Мы собрались — для чего? Будем разрабатывать — что именно?

Андрей: — Мы собирались, чтобы научиться очень быстро запускать нейронные сети на мобильном телефоне. До этого мы лишь косвенно работали с нейросетями. И видели, что к тому моменту никто еще не пытался делать это на мобильных устройствах. По сей день большая часть работы с нейронками происходит на серверах. И подтверждением тому, что мы верно уловили тренд, можно считать запуск «Эпплом» новой, 11–й версии iOS с расширенной поддержкой нейронок на мобильном устройстве. Но мы это заметили на полтора года раньше, и уже тогда наши результаты были сильно, сильно лучше того, что только начала демонстрировать Apple.

Юрий: — Название нашей компании — AIMatter — обыгрывает сразу несколько смыслов, тут игра слов сразу на нескольких уровнях. Это и Artificial Intellect Matter (что-то вроде «искусственный интеллект решает»), и aim — «цель», и даже кириллицей мы зовемся «Эймэта», где matter звучит как «мэта» и по-беларуски тоже обозначает цель.

— Почему решили заняться нейронными сетями именно на мобильниках? Что стало толчком?

Андрей: — Многие задачи принципиально не решаются отсылкой данных на удаленные сервера. Предположим, у вас стоит камера наблюдения, которая анализирует, что у вас происходит на территории. Тот объем информации, который эта камера должна обрабатывать, — очень большой. И ты его просто не успеешь послать в облако и вернуть обратно.

Юрий: — Да та же перекраска волос — хороший пример. С перекраской вы хотите видеть изменения мгновенно, у вас не должно быть задержек. В случае с приложением Prism, которое тоже использует нейросети, пользователи были готовы ждать, пока сервера обработают их фотографии в стиле известных художников. Но когда перекрашиваешь волосы — здесь хочется, чтобы все работало сразу. Тут можно провести аналогию с приложениями-масками: есть вау-эффект от того, что сразу видишь себя, как будто в зеркале. Какой бы супербыстрый сервер у вас ни стоял и каким бы широким ни был канал, система физически не успеет отправить изображение на сервер и вернуть его обратно.

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

— Как удалось добиться того, чтобы нейросеть на телефоне не высаживала батарею за десять минут?

Андрей: — Предположим, вы хотите обрабатывать видеопоток со скоростью 30 кадров в секунду. Если обработка одного кадра занимает 33 миллисекунды, то 30 кадров — это целая секунда. В таком случае вы целиком занимаете и центральный процессор, и графический процессор. А если один кадр вы обрабатываете за одну миллисекунду, то ваши 30 кадров обработаются за 30 миллисекунд, остальное время процессоры будут простаивать. Ускоряя обработку кадров, мы уменьшаем энергию, которая необходима центральному и графическому процессорам. Мы не запускаем видео быстрее, чем 30 кадров в секунду, но мы удешевляем обработку каждого такого кадра. Вот так и экономим батарею.

Юрий: — И еще применяем некоторые способы. Если видим, что два соседних кадра очень похожи, то тогда обрабатываем их по-особому.

— Какие еще проблемы пришлось решить, чтобы развернуть нейросеть на самом мобильном устройстве? Ваше приложение Fabby «весит» 130 Мб - это очень круто, или есть куда ужимать еще?

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

Юрий: — Когда мы тестировали ранние версии приложения Fabby, то скрепили скотчем спинками друг к другу два «айфона» так, чтобы вспышка одного выступала поверх корпуса другого. Тогда пользователь смотрел во фронтальную камеру смартфона, видел себя на экране, а вспышка второго аппарата светила ему на лицо.

— Какие ограничения есть у технологии на мобильниках? Какие минимальные ТТХ должны быть у телефона?

Андрей: — Android — это вечная проблема. Экосистема очень фрагментирована, существуют тысячи и тысячи разных аппаратов, частенько видеодрайвера реализованы криво. И если на «айфонах» нам удалось добиться стабильной работы на старых аппаратах вплоть до модели 5s, то в случае с «андроидами» нам пришлось самим покупать зоопарк устройств и тестировать на каждом. Потому что не было гарантии, что один и тот же чип в разных устройствах станет себя вести одинаково.

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

Андрей: — Речь не только про смартфоны, а про маломощные мобильные устройства — это может быть как телефон, так и какой-то встраиваемый модуль. Задачи, которые мы можем решать, - это, по сути, computer vision. Там, где раньше на картинку должен был смотреть человек и в течение 10-20 секунд принимать решение, теперь может работать наш алгоритм. В медицине — куча применений технологии, скажем, поиск аномалий на снимках, подсчет кровяных телец. Все, где задействован глаз доктора — посмотрел, увидел, принял решение, — это может наша сеть.

– А как насчет автономных машин? Ведь они и сейчас умеют различать дорожные знаки, препятствия, поток машин. Что принципиально нового умеет ваша нейросеть?

Юрий: Мы, когда начали эксперименты, как раз исследовали видеопоток с камеры на транспортном средстве: учили алгоритм выделять дорогу, другие машины, пешеходов, знаки, деревья, разметку и так далее. Потом мы поменяли архитектуру и отошли от такой дорожной темы. Но сами задачи остались очень похожими на те, что мы решаем сейчас.

Андрей: В автономных машинах Tesla на борту стоит один компьютер, куда стекается вся информация и который принимает решения в движении. А наше технология подразумевает перенос искусственного интеллекта поближе к датчикам. Это может ускорить принятие решения и децентрализует весь автомобильный мозг. Если выйдет из строя один датчик или один процессор, который обрабатывает данные с этого датчика, — то это не страшно. А если в «Тесле» выйдет из строя единственный компьютер, который отвечает за все сразу, — то вся автономность автомобиля испарится.

— Юрий, вы много лет работали с картами в Maps.me, а сейчас занялись нейросетями и обучаемыми системами. Можно ли как-то совместить эти технологии? Например, едет себе велосипедист по дороге, снимает видео на телефон — а нейросеть распознает знаки, светофоры, перекрестки и все это сама отрисовывает в виде карты с набором объектов?

Юрий: — Машинное обучение становится частью многих продуктов. Когда я занимался картами, то старался себя сдерживать и не отвлекаться на искусственный интеллект. Сейчас я развиваю нейросети в AIMatter и помогаю нескольким стартапам в области компьютерного зрения, — выступаю как инвестор, ментор. Что касается пересечения технологий компьютерного зрения и картографии — да, есть такие технологии. Шведское приложение Mapillary занимается чем-то подобным. Есть и решения, которые помогают рисовать карты с помощью записей с автомобильных видеорегистраторов.

— Криптовалюту выгоднее майнить на видеокартах, нежели на обычных материнках; производители чипов даже начали выпускать специальные видюхи для майнинга. Может, теперь и производители ARM-чипов начнут выпускать специально адаптированные графические процессоры для смартфонов, чтобы программы с нейросетями работали эффективнее?

Андрей: — Сейчас продается все больше телефонов, в которых установлен цифровой сигнальный процессор (DSP) — это специальный чип для обработки сигналов. Вполне может быть и специальный чип для быстрого запуска нейронок. Я думаю, все к этому идет. Сейчас нейронные сети где-то работают лучше на CPU, где-то — на GPU; плюс какие-то архитектуры сетей лучше запускаются на том или ином процессоре. Если нужна максимальная производительность, а все остальное гибко подстраивать, — тогда лучше запускать нейронку на графическом проце.

— Несколько проектов с беларускими корнями были громко выкуплены крупными корпорациями: Rakuten стал хозяином Viber, Facebook — владельцем MSQRD, Google — хозяином AIMatter. Как по-вашему, какая белорусская разработка станет следующей большой продажей?

Андрей: — Мне нравится концепция платформы для точного земледелия OneSoil. Но я же не знаю, собираются ли они продавать стартап или же будут делать cash-flow бизнес и зарабатывать самостоятельно. Мне кажется, они имеют все шансы стать компанией, которая будет зарабатывать. Таким же мне видится и продвинутый женский календарь Flo от компании Ideanomix Digital, — она тоже использет нейросети и, как мне кажется, может вырасти в что-то большое; потенциально это большой успех.

— В сериале «Кремниевая долина» главный герой отказался продать свой стартап за 10 миллионов долларов, чтобы возглавить компанию самому и разрабатывать продукт так, как хочет он. В беларуских реалиях много ли смысла пытаться что-то развивать самим, или удел всех наших стартапов — продаться либо закрыться?

Андрей: — Конечно, есть смысл развивать. Посмотрите на Wargaming с танчиками или на Vizor Games с «Зомби фермой» и другими играми! Как я понимаю, и наш ближайший конкурент — Prism — собирается выстраивать такую модель, чтобы вырасти в большую самостоятельную компанию и зарабатывать самостоятельно.

Юрий: — Тут еще есть сложности организационные и юридические. Если посмотреть на прошлые годы, то многие компании, действительно, продавались или закрывались, а еще переезжали: очень мало стартапов оставалось в беларуской юрисдикции. Хотелось бы, чтобы наши правила, законодательство стали ближе к международным. Декрет «ПВТ 2.0» должен исправить все недочеты, и тогда все больше компаний будут регистрироваться в Беларуси, а не где-то на Кипре или в Эстонии.

Андрей: — Мы регистрировались в Беларуси, потому что считаем, что у нас хорошие условия. И еще так проще. У простоты есть дополнительная ценность. Любое усложнение, запутывание мешает — мешает при продаже, например. Если компания сама и продукт делает, и офис снимает, и программисты собственные, и интеллектуальная собственность вся своя, — это простая структура. И при продаже компании такая простота очень полезна: намного легче провести Due diligence — аудит перед покупкой бизнеса.

Юрий: — Как я уже говорил, мы и в названии обыграли беларускоязычное слово «мэта», и название нашего продукта подобрали со смыслом и с национальной особенностью. Название приложения Fabby происходит от слова fabuluos — «потрясающий», плюс оно конвертируется в удачное доменное имя fab.by. Мы сознательно использовали беларуский домен, в то время как многие айтишные компании любят всякие «.me» и «.io».

— При создании собственного IT-стартапа стоит ли себе ставить цель работать лишь затем, чтобы тебя купил Google, Facebook или Baidu?

Юрий: — Причины и цели создания стартапов самые разные, и среди них действительно есть и такие: мол, сейчас запущусь, раскручусь — и пусть меня выкупит «Гугл». Чтобы тебя купили, достаточно сделать то, что сами «Фейсбук» или «Гугл» сделать не могут. Но при создании бизнеса не стоит делать единственную ставку на то, что тебя купит IT-гигант. Важно делать что-то, на что есть спрос — как у конечных пользователей, так и у других компаний. Тут важно не перепутать реальный спрос и ваши собственные убеждения вида «мне нравится это делать — значит, всем это надо». Чтобы не ошибиться, надо или поскорее запускать продукт и смотреть на реакцию рынка, или долго тестировать на друзьях и знакомых. Мы, когда запускали AIMatter, не ставили себе целью продаться кому-нибудь. И когда создавали Fabby, то выкатывали раз за разом несколько изменений, добавляли разный функционал. Но при этом не сильно вкладывались в маркетинг: у Fabby Look всего десяток цветов волос — особо не разгонишься. Это скорее именно демонстратор технологии. А Google посмотрел и купил.


Текст: Александр Лычавко

Обложка: Андрей Давыдчик, dev.by