Технология в деталях №18, июнь 2023

Искусственный интеллект в документах Internet Engineering Task Force

Фото аватара
Павел Храмцов

На заре

1968 год – ARPANET еще нет, она только создается. И при обсуждении этого проекта появляется формат RFC (Request For Comments): сначала в печатном виде на бумаге в виде обычных писем, а когда заработали первые сегменты ARPANET, документы начали распространяться в электронном виде.

Первые RFC из архива IETF – это почтовая переписка участников Сетевой рабочей группы по управлению APRPANET.

Так, 22 февраля 1971 года Пегги Карп (Peggy Karp)[1] сообщает об очередной встрече в Атлантик-Сити, штат Джорджия, в отеле «Денис»[2]. Как раз в то время формировалась рабочая группа по управлению ARPANET, а точнее, формировалась сама сеть, и в нее приглашались различные исследовательские группы. Координатором выступал Стив Крокер (Steve Crocker)[3], который собирал участников этой группы на семинары, темой которых было что-то типа «О возможностях сети[4]».

В ответ на это приглашение впервые в документах IETF появляется словосочетание «ARTIFICIAL INTELLIGENCE». А если быть совсем точным, то появляется RFC-152 – «SRI ARTIFICIAL INTELLIGENCE STATUS REPORT»[5], в котором сообщается, что группа по исследованию проблем искусственного интеллекта Стэндфордского исследовательского института будет готова использовать сеть ARPA после изучения возможностей подключения компьютера группы (PDP-10) через вычислительный центр института летом 1971 года.

К слову сказать, компьютер этой группы в список из первых 20 машин ARPANET попал под идентификатором «66»[6]. А в списке администраторов был указан Майкл Уилбер (Michael Wilber)[7].

В то время (70-е годы прошлого века) группа занималась разработкой языка программирования LISP в приложении к искусственному интеллекту. В частности, Уилбер в соавторстве с коллегами по группе представил на конференции AFIPS-76 сообщение «QLISP: a language for the interactive development ofcomplex systems»[8] (“QLISP: язык интерактивной разработки сложных систем” – прим. ред.).

Вот такими были направления исследований в области искусственного интеллекта в то время: исследование возможности программирования на основе заданных спецификаций; верификация программного кода; проблемы «автоматического программирования» и т.п.

К слову сказать, интерес к «автоматическому программированию» был проявлен «Заказчиком» (Министерством обороны СШАприм. ред.) вполне определенный – «The Department of Defense is interested in this area because, while the cost of purchasing computer hardware is going steadily down, the cost of producing software is rising steadily and now costs the DoD about a billion dollars a year»[9].(“Министерство обороны заинтересовано в этой области, потому что, хотя стоимость приобретения компьютерного оборудования неуклонно снижается, стоимость производства программного обеспечения неуклонно растет и теперь обходится Министерству обороны примерно в миллиард долларов в год” – прим. ред.)

Вышеупомянутый Стив Крокер был также организатором семинара на эту тему. Как итог: участники мероприятия выразили сомнения в успехе на этом направлении в ближайшие 5 лет и предложили выделить несколько отдельных направлений исследований (оптимизацию программ, верификацию программ, а также направления, относящиеся к искусственному интеллекту). С февраля 1974 года прошло почти 50 лет, и ChatGPT научился программировать по заданным коротким спецификациям, если, конечно, верно то, о чем сообщают в ZDNet[10]. И надо еще уметь «готовить» эти задания, чтобы получилось что-то путное.

Кстати сказать, в списке Стива Крокера была не только группа SRI AI Group. Там также числился и Artificial Intelligence Project Стэндфордского университета[11], а ответственным за подключение группы к ARPANET был Роберт Спроул (Robert Sproull)[12].

В 1973 он совместно с Уильямом Ньюманом (William Newman) напишет книгу «Принципы интерактивной компьютерной графики» – «Библию» современной машинной графики[13]. А в 1974 году выйдет его статья в журнале Cognitive Science – «Decision Theory and Artificial Intelligence Il: The Hungry Monkey»[14](«Теория принятия решений и искусственный интеллект II: голодная обезьяна» – прим. ред.).

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

Но если «китайские» синхронные переводчики и различные системы распознавания реально удивляют своими возможностями, то картинки от «Сбера», построенные по словам и фразам, откровенно разочаровывают[15]. Например, картинка на слово «DARPA» выглядит вот так:

Рис. 1. Так видит DARPA искусственный интеллект от «Сбера».

Аналоги RFC IETF и AI

Но вернемся в библиотеку RFC IETF и посмотрим, есть ли в ней другие документы, относящиеся к тематике искусственного интеллекта (Artificial Intelligence – AI).

Поиск в архиве по словосочетанию «Artificial Intelligence» дает следующий результат:

Рис. 2. Результаты поиска по словосочетанию «Artificial Intelligence» в архиве RFC IETF.

Первый документ из этого списка мы уже обсудили выше, а вот второй, следуя текущей моде, написан системой ChatGPT и отредактирован Ричардом Барнесом (Richard L. Barnes) из Cisco. К этому второму документу мы еще вернемся.

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

Вообще говоря, такая «дырка» в публикациях несколько удивляет. Неужели направлению AI нет применения в сетевых технологиях, или инженеры IETF – сплошь ретрограды?

Справедливости ради стоит сказать, что среди документов IETF есть не только готовые или близкие к официальному статусу RFC, но и документы-черновики – драфты. Эти черновики впоследствии могут стать полноценными документами, а могут так и остаться на уровне черновиков после обсуждения сообществом.

В 2016 году (!) два сотрудника Huawei (Z.Li и Z.Zhang) опубликовали драфт «An Architecture of NetworkArtificial Intelligence (NAI)»[16] («Архитектура сетевого искусственного интеллекта (СИИ)» – прим. ред.).

Собственно, авторы указывают на популярность применения AI в других инженерных науках и результатах его приложения, определяют области применения в сетевых технологиях (автонастройка, автотестирование, автовосстановление после сбоев и аварий) на основе больших данных и машинного обучения. А также они рисуют вот такую архитектуру, заявленную в заголовке:

Рис. 3. Архитектура сетевого искусственного интеллекта.

Далее следуют несколько строчек требований (новый протокол, новый механизм OAM, новые инфраструктурные сервисы) – и на этом все.

Естественно, дальше драфта-черновика такой документ не продвинулся.

Следующие два подхода к вопросу управления сетями с помощью искусственного интеллекта были сделаны только в 2022 и 2023 годах соответственно.

В 2022 году группа авторов предложила применять машинное обучение и искусственный интеллект для управления SDN (Software Defined Networking) и NFV (Network Function Virtualization)[17]. По сути, данный RFC является описанием эксперимента по применению модели ARCA (Autonomic ResourceControl Architecture) к системам виртуализации на базе платформы OpenStack.

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

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

Однако авторы обращают внимание на то, что системы не работают в полностью автономных средах. Всегда есть влияние других систем настройки и управления. Основная проблема заключается в сопряжении систем, которые могут иметь совершенно разные целеполагания. Например, повышение производительности и повышение надежности (увеличение/снижение резервирования). Т.е. на самом деле выбор решения среди множества оптимальных решений в соответствии с эффективностью по Парето (состояние системы, при котором ни один показатель системы не может быть улучшен без ухудшения какого-либо другого показателя – прим. ред.)[18] никуда не делся. Это фундаментальная проблема. Об этом как раз шла речь в упоминавшийся ранее статье Роберта Спроула «Decision Theoryand Artificial Intelligence Il: The Hungry Monkey», написанной полвека назад.

В 2023 году к вопросу управления сетями с применением искусственного интеллекта подступилась еще одна группа инженеров. Они написали драфт «Research Challenges in Coupling Artificial Intelligence andNetwork Management»[19] («Исследовательские проблемы в сочетании искусственного интеллекта и сетевого управления» – прим. ред.).

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

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

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

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

Для успешного применения AI для начала нужно определить модель, а потом для этой модели нужно начать собирать конкретные данные. А вот это уже зависит от задач, которые нужно решать. И это совершенно разные, порой прямо противоположные задачи (об этом говорили и авторы драфта 2022 года).

Вообще, авторы скорее описывают проблемы применения AI в управлении сетями, чем обсуждают конкретные инженерные решения. Документ интересен с точки зрения обзора таких проблем и указания на будущие направления исследований и разработок.

Собственно, на этом обзор RFC и других документов из архива IETF можно закончить. Больше обозревать просто нечего.

Вместо заключения

Конечно, исследования по применению AI в Интернете шире, чем документы, описывающие протоколы.

Сегодня довольно активно пытаются применять AI в области информационной безопасности для предсказания, поиска и противодействия атакам на информационную инфраструктуру. В доменной индустрии ведутся исследования и есть внедрения технологий предсказания регистрации доменов для противоправных действий.

Но в целом состояние работ можно охарактеризовать фразой «Мы в начале пути». А наиболее ярким индикатором положения дел является первоапрельская шутка 2023 – RFC-9405 «AI Sarcasm Detection: Insult Your AI without Offending It». Второй документ в архиве RFC IETF, где в том числе речь идет об «AISarcasm Detection Protocol»[20].

[1] https://supercooldesign.co.uk/blog/machine-readable-human-readable

[2] https://www.rfc-editor.org/rfc/rfc99

[3] https://www.internethalloffame.org/2012/05/18/meet-man-who-invented-instructions-internet/

[4] https://www.rfc-editor.org/rfc/rfc116.html

[5] https://www.ietf.org/rfc/rfc152.txt

[6] https://www.ietf.org/rfc/rfc226.txt.pdf

[7] http://ftp.tudelft.nl/rfc/rfc303.html

[8] https://dl.acm.org/doi/10.1145/1499799.1499853

[9] https://dl.acm.org/doi/pdf/10.1145/1045183.1045187

[10] https://www.zdnet.com/article/how-to-use-chatgpt-to-write-code/

[11] https://www.ietf.org/rfc/rfc52.txt

[12] https://en.wikipedia.org/wiki/Bob_Sproull

[13] https://books.google.ru/books/about/Principles_of_Interactive_Computer_Graph.html?id=oo5RAAAAMAAJ&redir_esc=y

[14] https://onlinelibrary.wiley.com/doi/pdf/10.1207/s15516709cog0102_2

[15] https://www.sberbank.com/promo/kandinsky/

[16] https://datatracker.ietf.org/doc/html/draft-li-rtgwg-network-ai-arch-00

[17] https://www.ietf.org/archive/id/draft-pedro-nmrg-ai-framework-01.txt

[18] https://en.wikipedia.org/wiki/Pareto_efficiency

[19] https://datatracker.ietf.org/doc/draft-francois-nmrg-ai-challenges/

[20] https://datatracker.ietf.org/doc/html/rfc9405