Как считать эффективность искусственного интеллекта (на примере умного экскаватора)

Технический директор и руководитель направления ИИ Zyfra Robotics Дмитрий Луковкин рассказывает, какие есть подходы к определению мощности и эффективности ИИ и как посчитать эффективность нашего решения на основе машинного зрения «Умный экскаватор».

Как считать эффективность искусственного интеллекта (на примере умного экскаватора)
Дмитрий Луковкин

Технический директор и руководитель направления ИИ Zyfra Robotics

В Zyfra Robotics мы занимаемся разработкой автономных самосвалов, автономных буровых станков и других роботов и решений для горной промышленности. В этом материале я хочу рассказать, как мы считаем эффективность нашего решения на основе машинного зрения «Умный экскаватор». Но для начала давайте в целом рассмотрим, какие подходы к определению мощности и эффективности ИИ в мире есть и на чем они основаны. Если некогда читать теорию, спускайтесь сразу в раздел «Расчет эффективности ИИ на примере».

Определимся с определениями

В далеком XVIII веке, когда паровые машины начали заменять коней, для оценки их мощности придумали понятие «лошадиная сила». Термин ввел в оборот шотландский инженер Джеймс Уатт, чтобы показать, сколько лошадей заменяет его паровая машина. Однако мощность машины не то же самое, что ее эффективность – для оценки эффективности необходимо соотнести достигнутый результат и использованные ресурсы.

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

С появлением и распространением решений на базе искусственного интеллекта встал вопрос о том, в чем измерять их «мощность» и эффективность.

В первую очередь надо отметить, что сам ИИ, вернее его мощность и эффективность, измерить не так-то просто, так как мы еще не до конца определились с определениями. С момента выхода основополагающей статьи Алана Тьюринга "Computing Machinery and Intelligence" в 1950 году (Turing, 1950) было предложено множество формальных и неформальных определений интеллекта, при этом консенсус в научном сообществе так и не был достигнут.

В контексте данного материала мы примем определение, синтезированное Шейном Леггом, сооснователем DeepMind: intelligence measures an agent’s ability to achieve goals in a wide range of environments (Legg & Hutter, 2007). С учетом того, что понятия intelligence на английском и «интеллект» на русском не вполне соответствуют друг другу, сформулирую так: интеллект агента характеризуется способностью агента добиваться целей в широком диапазоне окружений. Понятно, что данное определение не является ни формальным, ни строгим.

Подходы к измерению мощности и эффективности

Теперь, когда мы немного разобрались с тем, что такое искусственный интеллект, давайте подумаем, как измерить его мощность.

По мнению Франсуа Шолле, создателя популярного фреймворка глубокого обучения Keras, параллельно развивались два конфликтующих подхода к оценке мощности или производительности ИИ:

– основанный на оценке результативности решения узких, хорошо определенных задач (игра в шахматы или классификация изображений);

— основанный на оценке способности системы к генерализации или обобщению. То есть речь идет о способности ИИ справляться с ситуациями или задачами, отличающимися от встреченных системой ранее (Chollet, 2019).

Примером первого подхода является широко распространенный бенчмаркинг моделей и их реализаций – такие соревнования, как ILSVRC по распознаванию образов или DARPA Challenge в области автономного вождения.

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

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

Франсуа Шолле вводит подход и формулу для оценки интеллекта системы, базируясь на алгоритмической теории информации, используя для оценки такие понятия, как опыт, сложность генерализации и априорные предпосылки (Chollet, 2019).

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

Что интересно, автор также выделяет несколько подходов к оценке эффективности интеллектуальных систем:

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

Кстати, как выяснили исследователи из OpenAI, вычислительная эффективность интеллектуальных систем в области компьютерного зрения выросла в 44 раза за каких-то семь лет — с 2012 по 2019 год (Hernandez et al., 2020). Конкретно, нейронные сети современной архитектуры (EfficientNet-b0) достигают уровня точности классификации AlexNet (79.1% на датасете ImageNet), затрачивая в 22 раза меньше эпох и в 2 раза меньше операций (FLOPS).

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

К примеру, американский финансовый гигант JP Morgan использует ИИ для анализа соглашений по кредитам. Финансовое учреждение использует платформу Cointract Intelligence (COiN), которая c применением технологии машинного обучения позволяет анализировать информацию с учетом основных условий и ключевых данных за несколько секунд, тогда как раньше на эту задачу уходило ежегодно 360 тыс. часов работы юристов и специалистов по кредитам.

  • Энергоэффективность – как с экономической, так и с экологической точек зрения важно минимизировать энергетические затраты как на обучение, так и на работу агента или модели. Человеческий мозг, например, имеет высокую энергетическую эффективность: при потреблении около 10-20 Ватт он показывает высокую производительность в широком спектре когнитивных задач.
  • Эффективность с точки зрения риска. Рискованное поведение интеллектуальных систем, функционирующих в реальном мире, способно причинить экономический или иной вред. Взять, например, автономные автомобили или даже системы визуальной идентификации. В связи с этим необходимо предусматривать механизмы управления риском, как встроенные в модели, так и внешние по отношению к ним.

Расчет эффективности ИИ на примере

Теперь обещанный пример. Давайте измерим эффективность искусственного интеллекта на примере нашего продукта «Умный экскаватор», который с помощью машинного зрения определяет гранулометрический состав горной породы в ковше экскаватора.

Франсуа Шолле предлагает бенчмарк Abstraction and Reasoning Corpus (ARC) для сравнения интеллектуальных систем, способных к обобщению (Chollet, 2019). Однако наш продукт пока решает достаточно узкую задачу, поэтому мы будем оценивать эффективность по времени в сравнении с эффективностью решения той же задачи силами человека.

Система считает гранулометрический состав горной породы в каждом ковше карьерного экскаватора. Для точности измерения гранулометрического состава в ковше экскаватора проводятся восемь раз в минуту: определяется количество камушков и их размер. Это 480 распознаваний в час.

Как считать эффективность искусственного интеллекта (на примере умного экскаватора)

Теперь посчитаем, сколько человек понадобилось бы, чтобы проделать такую же работу. Для начала оценим производительность человека. Как правило, для разметки используется сервис «Яндекс Толока». Иногда, чтобы проверить качество работы нашей системы, мы направляем сотрудников на разметку — они считают камушки вручную. На разметку одной картинки понадобится примерно час работы человека. Результат — примерно 480 человеческих мозгов или 480 человеко-часов.

Теперь давайте посчитаем стоимость.

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

Если бы было можно использовать облако, то необходимые нам мощности можно было бы взять в аренду у сервиса вроде Amazon Web Service, услуга бы стоила около 50 центов за час. При работе на экскаваторе стоимость работы в час обходится дороже, поскольку используется особый защищенный компьютер (может работать при любых условиях на разрезе), при таких условиях стоимость часа можно оценить от 75 центов до 1 доллара.

Сколько же будет стоить «ручное» распознавание?

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

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

Буду рад услышать ваше мнение от том, как считать эффективность ИИ. Пишите в комментариях.

_______________________

Если вы интересуетесь искусственным интеллектом для промышленности, то предлагаем почитать другие наши материалы по этой теме:

Барьеры применения искусственного интеллекта в промышленности и способы их устранения — https://vc.ru/offline/144773-barery-primeneniya-iskusstvennogo-intellekta-v-promyshlennosti-i-sposoby-ih-ustraneniya

Как преодолеть технические сложности при внедрении промышленного искусственного интеллекта — https://vc.ru/offline/170896-kak-preodolet-tehnicheskie-slozhnosti-pri-vnedrenii-promyshlennogo-iskusstvennogo-intellekta

Что такое машинное зрение и как мы смогли его использовать в горной добыче —https://vc.ru/offline/182218-chto-takoe-mashinnoe-zrenie-i-kak-my-smogli-ego-ispolzovat-v-gornoy-dobyche

Литература:

Chollet, F. (2019, 11 5). On the Measure of Intelligence. Retrieved from ArXiv: https://arxiv.org/abs/1911.01547

Hernandez, D., & Brown, T. B. (2020). Measuring the Algorithmic Efficiency of Neural Networks. Retrieved from ArXiv: https://arxiv.org/abs/2005.04305

Legg, S., & Hutter, M. (2007). Universal Intelligence: A Definition of Machine Intelligence. Retrieved from https://arxiv.org/pdf/0712.3329

Marr, B. (2017). Instead Of Destroying Jobs Artificial Intelligence (AI) Is Creating New Jobs In 4 Out Of 5 Companies. https://www.forbes.com/sites/bernardmarr/2017/10/12/instead-of-destroying-jobs-artificial-intelligence-ai-is-creating-new-jobs-in-4-out-of-5-companies/?sh=634024a7120d

Turing, A. M. (1950). Computing Machinery and Intelligence. Retrieved from https://link.springer.com/chapter/10.1007/978-1-4020-6710-5_3

77
2 комментария

Очень интересный вопрос с оценкой мощности ИИ. Хотя в данный момент проблема в мощности не очень актуальна. Мне кажется что отсутствие нормальной научной базы по архитектуре самих нейросетей  олее острая проблема. Сам сталкиваюсь с этим постоянно. Ват как вы решаете задачу -  сколько слоев должна иметь нейросеть что бы эффетиктивно работать в вашем эксковатору?

4

Спасибо за вопрос.
В нашем случае проблема с архитектурой стоит чуть менее остро. Задачи в случае умного экскаватора сводятся к типовым Object detection и Instance segmentation, и нам остается понять, какие из около-SotA архитектур будут более эффективны в условиях Edge.
Но в более общем вы правы, подход к выбору и конфигурированию архитектуры сейчас скорее эмпирический, чем теоретически обоснованный.
По-моему, перспективны два варианта: 1. Network Architecture Search, но с оглядкой на интегральные метрики эффективности, т.е. дальнейшее развитие и автоматизация эмпирического подхода. 2. Собственно научный поиск обоснованных архитектур, либо вдохновляясь аналогиями с биологическими системами, либо развивая теоретические основания самого машинного обучения. Дэвид Силвер, например, считает, что Reward Is Enough (https://www.sciencedirect.com/science/article/abs/pii/S0004370221000862). Увидим так ли это.

5