Ваш холодильник — не атомная электростанция
Киберфизические системы (CPS) — это большие и сложные системы, построенные для крупных предприятий: по производству самолетов, поездов и автомобилей. Сегодня CPS доступны малым и средним компаниям и даже стартапам. Раньше нельзя было представить, чтобы стартап разрабатывал ПО для самолетов. Такой проект потребовал бы многомиллиардных вложений. Сейчас все иначе — поскольку, когда мы говорим о CPS, то имеем в виду любые информационные системы, которые взаимодействуют с физическим миром.
Новые CPS — это нечто среднее между приложением и традиционной киберфизической системой.
Альберто Силлитти
Сфера интернета вещей и умных городов тесно связана с CPS. Даже ваши холодильник, телевизор, регуляторы мощности и обогрева внутри комнаты — в каком-то смысле киберфизические системы. В настоящее время у нас есть разные категории CPS: традиционные — дорогие, для которых нужно большое число разработчиков, и новые — небольшие, гораздо более простые, но также требующие использования передовых технологий.
Подумайте о вашем холодильнике — он не атомная электростанция и не самолет. Вы не ждете от него ПО, надежного, как в самолете. Если он сломается ночью, ваше мороженое растает, вы расстроитесь. Никто не умрет, если, конечно, не съест испортившиеся продукты. Неполадки в ПО создают проблемы, которые нельзя решить простым перезапуском — как приложение на iPhone.
Различие между девайсами теперь в ПО
Новые продукты работают первые несколько лет, а потом нужно что-то заменять или переустанавливать. Все связано — устройствам необходимо взаимодействовать друг с другом. Перед нами стоит задача определить правильные бизнес-модели и понять, как вещи должны взаимодействовать и развиваться. Вы не заставите человека каждый год покупать стиральную машину ради новых функций, как Apple заставляет покупать новый iPhone.
ПО значительно продвинулось вперед по сравнению с развитием аппаратных средств. Сейчас оно определяет различие между девайсами, в то время как железо стандартизировано. Вы не можете покупать новую стиральную машину каждый день, но можете почти каждый день обновлять ее программное обеспечение. Я думаю, такой подход будет трендом в следующие несколько лет. Сперва появится возможность устанавливать различное ПО от производителя. Затем вы сможете установить дополнительное и от других компаний — как это происходит сегодня с компьютерами. Вы покупаете компьютер и сами решаете, устанавливать Windows или Linux, а затем, какие на них ставить программы. Производитель девайса может это контролировать, как, например, Apple — свои MacBook, но появятся и сторонние приложения, которые можно на них записать, открывая новый рынок ПО.
Сейчас различие между девайсами основано на различии ПО, а не физических характеристик. В прошлом было ясно, что всякий раз, когда появляется новое устройство с определенными характеристиками, оно конкурирует с другими предложениями на рынке на основании этих характеристик. Если вы построили новый холодильник, то эти физические характеристики — объем, мощность или энергозатратность. Сегодня компании могут производить почти идентичные устройства — и их отличие будет только в ПО. Интерфейс, возможность подключения к интернету или вашему смартфону, способ взаимодействия с другими девайсами в вашем доме — особенности, которые определят, какой продукт вы выберете.
Заставить людей купить устройство без подключения к интернету скоро станет невозможным. Сейчас отличие в железе еще имеет значение, но в ближайшее время это закончится. Подумайте о смартфонах — есть Android и есть iOS. Какое аппаратное отличие между последним iPhone и Samsung Galaxy, помимо формы и дизайна, с точки зрения компонентов — разница не очень велика, все дело в ПО. Особенность реакции камеры — не аппаратная, дело в ПО, которое ее контролирует. Подобные изменения произойдут и со всеми видами CPS.
ИИ против человека: кому достанется монотонная работа
Киберфизические системы созданы с целью вывести человека из «контура управления». Подумайте о традиционных CPS — например, об автопилоте самолета. Идея в том, чтобы передать системе повторяющиеся и предсказуемые задачи. И это хорошо со многих точек зрения, например, поездки становятся безопаснее. Даже если мы говорим об автомобилях — да, технология еще в процессе, но идея в том, что автопилот будет гораздо лучше обычного водителя. Может быть, автопилот будет уступать лучшим гонщикам «Формулы-1», но обычный водитель — это я, вы и все остальные люди. Поэтому автопилот обезопасит их.
Разговоры о потере рабочих мест из-за внедрения ИИ — сегодня в тренде. Это было свойственно и прошлой индустриальной революции. Проблема заключалась в том, как адаптировать старых рабочих к новым условиям. Подобное произойдет и в этот раз. Конечно, управление процессом перехода — сложная задача, которая требует множества политических решений, но сам процесс неизбежен. В конечном итоге он принесет человечеству большую пользу, если необходимые действия предприняты.
Человек не должен заниматься опасной или монотонной деятельностью, которую может выполнять механизм. Есть множество других занятий, которым мы можем себя посвятить, если избавимся от рутины. Так было и во время промышленной революции — мы обратили внимание на другие навыки, в которых человек гораздо лучше машины, по крайней мере, до следующей революции.
Решения CPS беспилотного автомобиля могут привести к жертвам, и это огромная этическая проблема, которую очень сложно решить. Дискуссия об этом должна начаться как можно раньше. Разработчики должны отвечать за поведение системы и ошибки внутри нее. Сейчас, если вы покупаете ПО и читаете соглашение между производителем и пользователем, в нем написано, что оно поставляется «как есть». Это значит, что производитель не несет ответственности за любые проблемы внутри него — ошибки или потери данных. Любая проблема — не вина разработчика. Конечно, этого не должно случаться, если вы создаете киберфизическую систему.
Если у автопилота есть проблемы — ответственность несет производитель самолета. Такая этика должна распространиться и на другие виды киберфизических систем. Ответственность должна основываться на том, как система запрограммирована. Если автомобиль убил кого-то из-за ошибок системы — за это должен отвечать производитель. Но предположим, что система запрограммирована правильно, в ней нет ошибок — что насчет этических решений, которые она должна принять? Предположим, за рулем автомобиля вы попадаете в ситуацию, когда невозможно избежать аварии и необходимо сделать выбор: в одном случае погибнет пешеход, в другом — водитель и пассажиры: какое решение вы должны принять? Это этическая проблема, которая каким-то образом должна быть закодирована в ПО. Кто может решить это и кто несет ответственность — водитель или производитель автомобиля? Эти вещи необходимо обсуждать публично, имея некоторое «базовое чувство» того, что хорошо или плохо, и какие могут быть последствия. Я не эксперт в этических дилеммах, а технический специалист. Я могу запрограммировать систему в любом виде, но какой вид лучший, я не знаю.
В России open-source-сообщество ограничено
Я постоянно использую открытое ПО на протяжении последних 15–20 лет. Для различных задач. Мне нравится идея обмена знаниями. Она позволяет людям создать лучшее ПО, показывая детали того, как оно работает. Без открытого программного обеспечения сложно обучать в университетах действительно значимым вещам. Благодаря ему вы можете показать реальный продукт, который работает в больших индустриальных системах и пользовательских базах. У него множество преимуществ с образовательной точки зрения, но не только.
Многие считают, что открытое ПО более безопасно, поскольку больше людей могут посмотреть на код и изменить его. Это можно оспорить — да, больше людей, но где уверенность, что это правильные люди. Если эксперт взглянет на код, он сможет его усовершенствовать, но если это сделают другие люди, у них не получится его улучшить.
Идея доступа к информации о работе системы и понимания ее деталей очень важна. Доступ к решениям системы позволяет создать доверие, поскольку я хочу знать, что сделает мой автомобиль в некоторых ситуациях. Возможно, я приму точку зрения производителя, а может, нет. Я хочу купить автомобиль, который принимает определенные решения, и откажусь от покупки автомобиля, который принимает другие. Возможно, я предпочту влиять каким-то образом на его поведение. Такая система регуляции может существовать, но я бы хотел знать детали ее кода, чтобы понять: работает ли она так, как обещал производитель. Доверие здесь очень важно, и единственный способ достичь его — прозрачность. Если я позволю проверить мой код — я докажу, что нет «поведения системы», которое я хотел бы спрятать. В настоящее время большая часть компаний, использующих открытое ПО, получает доход не от него, а от различных бизнес-моделей, основанных на данных пользователей, и это очень популярно.
Открытое ПО — это хорошо, но необходимо развиваться в сторону открытых баз данных. В некоторых случаях опубликовать алгоритм недостаточно — нужна открытая база данных, чтобы получить систему, которая действительно работает и понятна другим людям. Я думаю, открытое ПО — первый шаг, открытые данные — следующий. Их соединение принесет огромную пользу open-source-сообществу.
В России open-source-сообщество весьма ограничено. Я понимаю, что активных разработчиков открытого ПО здесь не так много. В Университете Иннополис немного другая ситуация, большинству наших студентов нравится открытый код, и они так или иначе используют его.
Параллельный мир сенсоров
Большинство систем, потребляющих энергию, сейчас оптимизированы под время жизни аккумулятора. Практически все устройства используют аккумулятор. Потребление энергии всегда важно: чем оно меньше, тем дольше время жизни аккумулятора. Мы не хотим постоянно перезаряжать наши устройства. В случае с большими хранилищами и центрами обработки данных другие проблемы. Они подключены к сети, поэтому проблем с потреблением энергии нет — вы можете потреблять, сколько захотите, здесь гораздо важнее проблема сокращения выбросов CO2.
В сущности, если вы разработаете программное или аппаратное обеспечение, которое тратит меньше энергии, — все выиграют: от больших центров обработки данных (они сэкономят деньги, и планета будет благодарна) до рядовых владельцев мобильных устройств, которым придется реже заряжать свои девайсы.
Альберто Силлитти
Однако разработать подобное ПО не так просто. Различные варианты использования приводят к различным уровням потребления данных и энергии. Разработка энергосберегающих систем сложна и требует много времени. Однако сейчас это направление весьма активно развивается.
Я думаю, что создание параллельного мира датчиков и сенсоров — неизбежный путь для человечества. Чтобы улучшить и оптимизировать любую систему, необходимо знать, как ваши действия повлияют на окружение. Сенсоры — единственный способ, насколько мне известно, чтобы собрать эту информацию. Представьте себя в автомобиле: в нем обычно есть несколько индикаторов, но самый важный — фактическая скорость. Она зависит от силы нажатия на педаль газа, а также особенностей дороги — ее наклона и покрытия. По сути, постоянная обратная связь между совершаемыми действиями и их последствиями позволяет определить ваше местоположение и способ достичь цели. Здесь присутствует замкнутый цикл между действием и реакцией среды, которую можно измерить, чтобы принять последующие действия. Если у вас есть сенсоры и данные, вы можете оптимизировать систему, узнать лучший способ использования ресурсов и снизить выбросы. Если говорить о пробках, вы можете сократить их, только если осуществляете постоянный мониторинг для принятия решений и смотрите, как ваши решения влияют на среду — так, как вы и ожидали, или совершенно иначе.
Сейчас в области киберфизических систем и интернета вещей много всего происходит. Большое количество данных и технологий, которые обеспечивают автоматизацию, без сомнения, положительно повлияют на экологию и сохранение ресурсов. Уже проводились эксперименты, которые подтвердили это. Однако, необходимо позаботиться о множестве проблем, связанных с массовым сбором данных: проблемы конфиденциальности, правильного использования и хранения данных. Данные могут использоваться не с той целью, которая предполагалась изначально. В сущности, есть преимущества, которые достаточно очевидны, и недостатки, которые не так очевидны. И то, и другое неизбежно. Нам необходимо решить, как сбалансировать их, чтобы избежать регресса.