Прошло почти три года с тех пор, как Андрей популяризировал парадигму Программное обеспечение 2.0. Учитывая недавние опасения и исследования по использованию систем искусственного интеллекта, я подумал, что пришло время спросить: Если данные и модели относятся к программному обеспечению 2.0, как насчет вредоносного ПО 2.0?

Но сначала быстрое резюме.

Программное обеспечение 1.0 - это код, который мы пишем. Программное обеспечение 2.0 - это код, написанный путем оптимизации на основе критерия оценки (например, правильно классифицируйте эти обучающие данные).
- Karpathy, Software 2.0

В программном обеспечении 1.0 программисты пишут код, который компилирует и выполняет желаемую последовательность действий. В программном обеспечении 2.0 данные - это новый код, а модель - это новый исполняемый файл. Когда мы обучаем модель, каждая обучающая выборка «программирует» модель на основе критерия оптимизации. В конце обучения у нас есть модель, которая (надеюсь!) Выполняет задачу лучше, чем любая программа, которую можно запрограммировать вручную.

Чтобы было ясно, это не означает, что Software 1.0 исчезнет в ближайшее время. Но есть много задач, которые очень хорошо подходят для этой новой парадигмы, особенно задачи, которые

  • Трудно определить с помощью правил
  • Легко собрать примеры для
  • Легко проверить

Хм сложно решить и легко проверить - NP-полная?

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

Программное обеспечение 2.0 как новая парадигма

Когда Интернет только начал развиваться, многие люди пытались спросить: «Для чего мы можем использовать Интернет?» и пытались добавить префикс «онлайн» к каждому продукту и услуге, о которых они могли подумать. Некоторые сработали, некоторые - нет. Но помимо возможности онлайн-всего, Интернет также представил фундаментальный сдвиг парадигмы, который создал спрос на совершенно новые инструменты и инфраструктуру, породив такие как Google, Mozilla, Tor, PayPal, CloudFlare, BitTorrent и т. Д.

Точно так же в отношении ИИ и программного обеспечения 2.0 мы можем подумать о том, «Для чего мы можем использовать ИИ?» Но мы также можем попытаться изучить другие не менее важные вопросы, такие как

  • Какие новые инструменты нам нужно разработать?
  • Какая инфраструктура нам нужна и как ее строить?
  • Что такое новые проблемы и как были переопределены старые проблемы?

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

В своем посте Андрей рассмотрел примеры IDE Software 2.0 и GitHub Software 2.0.

Возможно, IDE всплывает изображения, которые, как подозревает сеть, неправильно помечены из-за потерь для каждого примера, или помогает в маркировке, заполняя метки прогнозами, или предлагает полезные примеры для маркировки на основе неопределенности прогнозов сети.
Аналогичным образом. , Github - очень успешный дом для кода программного обеспечения 1.0. Есть ли место для программного обеспечения 2.0 Github? В этом случае репозитории представляют собой наборы данных, а коммиты состоят из дополнений и правок меток.
- Karpathy, Software 2.0

В этом посте я хотел бы обсудить еще один аспект программного обеспечения 2.0 - вредоносное ПО.

Вредоносное ПО 2.0

Подобно тому, как данные - это новый код в программном обеспечении 2.0, данные также являются новым вредоносным ПО.

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

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

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

Кстати, мне нравится термин «пессимизация», введенный Ильей и др. для описания этой перевернутой оптимизации.

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

Конфиденциальность, целостность, доступность

В информационной безопасности существует триада ЦРУ - конфиденциальность, целостность и доступность - и мы можем применить ту же структуру к вредоносному ПО 2.0.

Конфиденциальность. Могут ли данные просматривать неавторизованные пользователи?

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

Хотя аналогия в значительной степени вымышленная (мы все еще можем обмануть фМРТ-сканирование!), Подобное поведение может демонстрироваться обученными моделями.

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

Рассмотрим модель, обученную на наборе данных конфиденциальных медицинских записей и уязвимую для вышеуказанных атак. Другими словами, обученная модель фактически является лазейкой для обучающей выборки. Теперь представьте, если та же модель развернута в Интернете на общедоступном веб-сайте. Конфиденциальные данные, которые следует надежно спрятать, теперь эквивалентны стоянию на вершине холма во время грозы в мокрой медной броне и крику« Все боги - ублюдки! » », Как красочно описывает сэр Терри Пратчетт.

Честность. Можно ли изменить поведение модели без разрешения?

Если мы подумаем о том, как модели «скомпилированы» из данных во время обучения и «доступны» через данные во время вывода, мы увидим, что данные также можно использовать для злонамеренного влияния на поведение модели.

Атаки с использованием обучающих выборок известны как отравление данных, когда образцы данных специально созданы для искажения поведения обученной модели. Затем эти образцы вставляются в обучающий набор, где они повреждают модель во время обучения. Простой пример - намеренно предоставить неверную информацию модели, которая занимается онлайн-обучением, например, обучить модели автозамены ненужные слова. Твиттер-бот Microsoft Tay также может рассматриваться как жертва отравления данных вульгарными твитами и представляет собой прекрасную притчу, иллюстрирующую опасности, связанные с отсутствием очистки данных о тренировках. Более изощренные атаки могут использовать отравление данных для программирования моделей для реагирования на определенные триггеры. Например, отравленная модель распознавания лиц может быть запрограммирована на распознавание любого, кто носит солнцезащитные очки, как VIP.

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

Доступность. Доступна ли модель для законных пользователей?

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

Сегодняшний Cloudflare играет решающую роль в защите от DDoS-атак на серверы. Как будет выглядеть Cloudflare for Software 2.0?

Антивирус 2.0

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

Пока у нас не будет веской причины для развертывания собственных моделей отдельными пользователями, я не думаю, что для обычных пользователей имеет смысл устанавливать последнюю версию Defender MaxProtection Antivirus ++ 2.0. Вместо этого более вероятно, что модели будут в основном принадлежать организациям - компаниям, НПО, правительствам - в то время как пользователи получают доступ к этим централизованным моделям через вызовы API из пользовательских приложений. В этом случае, вместо того, чтобы полагаться на пользователей в принятии средств защиты, владельцы моделей имеют больший стимул для упреждающей установки средств защиты.

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

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

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

В отличие от программного обеспечения 2.0, которое было успешно развернуто в реальном мире, мы не видели много случаев использования вредоносного ПО 2.0 и антивируса 2.0 в реальных условиях. Но с все более широким распространением программного обеспечения 2.0 реальный ущерб от вредоносного ПО 2.0, вероятно, не за горами.

Разное о ПО 2.0

Вредоносное ПО 2.0 - лишь один из аспектов нового ПО 2.0. Также было много разработок по инструментам машинного обучения, о чем недавно рассказывал в статье Чип Хуйен, посвященный 200 инструментам машинного обучения!

Просто дополнительные случайные записи и пища для размышлений:

  • IDE - об этом упомянул Андрей в своем исходном посте. Интересно, как будет выглядеть идеальная IDE для «программиста» программного обеспечения 2.0?
  • gdb и pdb— Как будет выглядеть отладчик для наборов данных и моделей? Какие инструменты можно разработать для тестирования и проверки обученных моделей? Или формальные гарантии будут непосредственно встроены в архитектуры моделей и алгоритмы обучения? Хотим ли мы ссылаться на нейроны и исследовать их так же, как мы ссылаемся на строки кода и изучаем их? Примеры ссылок на конкретные нейроны см. В статьях в разделе Схема цепей Distill.pub.
  • pip installpip install models, похоже, уже есть в Tensorflow Model Garden, torchvision.models и HuggingFace. Есть ли лучший способ распространять, публиковать и обновлять модели? С другой стороны, pip install datasets когда-нибудь выйдет за рамки игрушечных наборов данных, таких как MNIST и Iris? Как лучше обмениваться наборами данных? Каковы проблемы и проблемы (конфиденциальность, размер, право собственности и т. Д.)? Какие технологии должны быть в наличии, чтобы этот обмен произошел? См. OpenMined.
  • Аудиты и контроль качества - программное обеспечение часто проверяется перед развертыванием, особенно в таких чувствительных секторах, как банки, правительства и поставщики медицинских услуг. Помимо проблем, связанных с вредоносным ПО 2.0, какие еще проблемы возникают при развертывании моделей? Как будут выглядеть аудиты?
  • Как будет выглядеть видеоигра Software 2.0? Процедурная генерация поднялась на новый уровень? Посмотрите AI Dungeon и об амбициях NVIDIA создать следующий бестселлер Pac-Man.

Последнее важное замечание

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

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