Когда в начале 1990-х российские специалисты по искусственному интеллекту рассказывали об искусственных нейронных сетях и их огромном потенциале для решения практических задач, они обычно добавляли: «Но, конечно, в шахматы компьютер у человека не выиграет никогда». Однако в 1996 году компьютер Deep Blue выиграл в шахматы и у Каспарова, и у Карпова, да и у многих других гроссмейстеров. Конечно, скептики утверждали, что, безусловно, это никакой не интеллект, а лишь банальный перебор всех возможных вариантов, что позволяет компьютеру одержать в шахматах победу над человеком, а вот в Го это невозможно, поскольку количество вариантов настолько велико, что до появления полноценных квантовых вычислительных машин перебрать на компьютере все варианты не удастся. Также компьютер не станет равным человеку в покере, где многое зависит от психологии.

Прошло время, и в 2017 году компания DeepMind Technologies представила машину AlphaGo Zero, предназначенную для игры в Го на основе обучения с подкреплением (Reinforcement Learning). В матче против одного из лучших игроков в истории этой игры Ли Седоля AlphaGo Zero выиграла с разгромным счетом 100:0. В том же году исследователи из университета Карнеги-Меллона представили компьютер Libratus, обученный играть в покер на основе алгоритма минимизации альтернативных сожалений (Counterfactual Regret Minimization). На соревновании Brains vs AI бездушая машина Libratus выиграла у пятерых чемпионов 1,7 млн долл. В конце 2018 года компания Nvidia представила StyleGAN — генеративно-состязательную сеть (Generative Adversarial Network), предназначенную для создания фотореалистичных изображений с высокой детализацией: портретов несуществующих людей, изображений несуществующих архитектурных объектов и природных ландшафтов, фантастических существ и абстракций. В 2021 году некоммерческая организация OpenAI выпустила модель DALL-E — генеративно-состязательную сеть, формирующую изображения на основе текстового описания. В том же году появилась модель Midjourney от Microsoft, способная создавать 3D-модели по плоским изображениям. Годом позже OpenAI выпустила третью версию своего генеративного предобученного трансформера — GPT 3.0, создающего продолжения полученных на входе текстов. С помощью обучения с подкреплением на основе отзывов людей (Reinforcement Learning from Human Feedback) на базе GPT 3.0 была настроена модель ChatGPT, способная вести осмысленный диалог с человеком, — оказалось, что модель способна не просто искать информацию, но и на основе обучающих текстов генерировать решения задач, на которые в Сети прямого ответа нет, например, на разных языках отвечать на экзаменационные вопросы по различным дисциплинам или писать программные коды по текстовой постановке задачи [1].

Все эти примеры относятся в основном к индустрии развлечений. Насколько важно развивать именно эту сферу?

Прогресс технологий глубинного обучения

Теория нейронных сетей была предложена еще в 1943 году — У. Маккалок и У. Питтс ввели в оборот понятие нейронной сети — однако до недавнего времени ее практическое применение было очень ограниченным. Первая нейронная сеть, готовая для использования при решении задач машинного обучения, — однослойный перцептрон — была представлена Ф. Розенблаттом в 1958 году. Алгоритм обратного распространения ошибки для обучения многослойных перцептронов одновременно был изобретен П. Вербосом и А. И. Галушкиным [2] в 1974 году, а глубинное обучение многослойной сверточной нейронной сети, когда модель долго обучается на GPU на большом количестве размеченных примеров и в результате получается приложение для решения конкретной задачи на CPU, впервые было проведено К. Челлапиллой в 2006 году. Но лишь в начале 2010-х годов вычислительные средства стали настолько доступны, чтобы их можно было массово применять для обучения нейронных сетей, — это и стало предвестником нынешней революции в глубинном обучении. В 2012 году, после победы на конкурсе ImageNet по распознаванию изображений сверточной нейронной сети AlexNet, представленной А. Крижевским, И. Суцкевером и Дж. Хинтоном, значительно опередившей по качеству прогнозов модели, предложенные другими участниками, глубинное обучение начало стремительно развиваться.

Глубинное обучение — много слоев нейронной сети позволяют автоматически выявлять множество признаков изучаемых объектов — оказалось эффективным при решении задач компьютерного зрения. Современные сверточные нейронные сети, например YOLO (ввод изображения целиком осуществляется только один раз сразу через всю сверточную нейронную сеть), уже лучше человека справляются с решением большинства реальных задач обнаружения и сегментации объектов, в том числе в движении, в сложных условиях освещения и на изображениях низкого качества. В 2013 году компания Google представила алгоритм word2vec для генерации эффективных векторных представлений слов. Обучение проходит без учителя путем анализа большого массива неразмеченных текстов, а слова, которые часто встречаются вместе, могут быть представлены числовыми векторами, которые находятся близко друг к другу в многомерном пространстве. Близость определяется по косинусу: косинус между однонаправленными векторами равен единице, а между ортогональными — нулю. Однако у word2vec есть недостаток — безразличие к порядку слов в предложениях и текстах, который был преодолен в алгоритме BERT, предложенном Google пять лет спустя и основанном на архитектуре «трансформер». Этот алгоритм может анализировать не только близость слов, но и структуру и смысл предложений с учетом порядка слов, что позволило продвинуться в задачах классификации текстов, машинного перевода и т. д. Конструктивно BERT представляет собой двусторонний кодировщик — модель рассматривает предложение целиком, преобразует слова или предложения в векторные представления, которые можно передавать для решения различных целевых задач. В различных версиях BERT было от 110 до 340 млн параметров: размерность входных и выходных данных, количество слоев, размерность скрытых слоев, максимальная длина последовательности, тип задачи (регрессия или классификация), режим обучения, количество обучающих примеров в каждой итерации обучения.

Большие языковые модели

В 2020 году был сделан очередной шаг в развитии нейросетевых моделей — появились большие языковые модели (Large Language Model, LLM), имеющие в своей архитектуре сотни слоев и 10 млрд параметров. Для их обучения используются колоссальные объемы данных — от 100 млрд токенов (минимальных единиц текста, которые можно обработать моделью, — обычно это слово или знак препинания). Принципиальное нововведение по сравнению с BERT — возможность генерировать тексты — стало следствием используемой в LLM архитектуры авторегрессионных декодировщиков: используя уже сгенерированные слова (так называемый левый контекст), LLM самостоятельно генерируют дальше слово за словом.

Рост количества больших языковых моделей и их объема (наиболее известная из них — GPT-3 — имеет в 500 раз больше параметров, чем BERT) привел к качественному скачку — LLM стали способны решать задачи, которых не было при обучении. Помимо доступности вычислительных мощностей, появление больших языковых моделей стимулировалось удобством использования текстов для обучения авторегрессионных декодировщиков — разметка не требуется. Благодаря авторегрессии тексты уже изначально размечены, ведь слова в них уже расположены в определенном порядке. По сути, авторегрессия — это предсказание последующих по времени значений на основании последовательности предыдущих значений. Для текста это предсказание следующего слова на основе последовательности предыдущих. В текстах, которые уже имеются у человечества и используются для построения языковых моделей, последовательность слов известна. Например, известно, что первое слово в «Евгении Онегине» — «Мой», второе — «дядя», дальше идет запятая, потом — «самых», «честных», «правил» и т. д.

Еще одна особенность LLM состоит в их способности обучаться по контексту — можно модели передать несколько примеров условий и решений новой для нее задачи, а затем условие, чтобы в ответ получить решение. При этом дополнительного обучения модели не требуется.

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

Глубинное обучение в сложных областях

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

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

В ближайшее время основных достижений стоит ждать в областях, связанных с обработкой текстов.

Перспективы трансформации бизнеса с помощью языковых моделей

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

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

Большинство документов во многих организациях сегодня плохо структурированы, и работа по их классификации, извлечению из них информации выполняется вручную, что медленно и сопровождается ошибками, — все это будет выполняться интеллектуальными системами. Помимо ответов на четко поставленные вопросы, языковые модели способны выбирать информацию из документов и баз данных на основании текстовых запросов, структурировать результаты в табличной форме и манипулировать таблицами. Например, множество HR-специалистов заняты скринингом резюме кандидатов при поиске нужных профессий и навыков, однако Python-разработчик может составить резюме как разработчик, Python-разработчик, Яндекс-разработчик, программист и т. д., а навыки, которыми он обладает, также указываются в свободной и неструктурированной форме. В итоге ручной скрининг утомителен и проводится медленно.

Языковые модели и рынок труда программистов

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

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

На основе LLM возможна быстрая разработка новых продвинутых моделей машинного обучения. Например, технология LoRA (Low RAnk — низкий ранг) позволяет вместо дообучения большой языковой модели с относительно большим количеством K слоев высокой размерности N и числом параметров KN2 обучить адаптер к ней, представляющий собой совокупность тонких и длинных слоев, в которых одна размерность совпадает с размерностью большой языковой модели (N), а другая равна q < 5. В результате обучение адаптера предполагает подбор всего 2qN параметров, что значительно меньше, чем KN2.

В работе [3] было показано, что модель ChatGPT4 без использования дополнительных внешних данных может существенно повысить качество своей работы за счет самообучения. Фреймворк Reflexion вместо обновления весов большой модели для улучшения качества ответов предлагает иной подход — после каждого ответа задавать вопрос: «Почему этот ответ неправильный?» и генерировать новый вопрос уже с учетом найденной причины неправильного ответа. Цикл такой рефлексии позволяет улучшить долю правильных ответов до 91% по сравнению с 80% у ChatGPT4.

***

Большие языковые модели активно совершенствуются, и уже сегодня, несмотря на запреты, связанные с безопасностью, работники разных организаций «скармливают» ChatGPT массу внутрикорпоративной информации, в том числе и конфиденциальной. Для предотвращения утечек данных корпорациям необходимы собственные языковые модели. Наш опыт по обучению адаптера к модели LLaMA на большом корпусе русскоязычных текстов показал, что обучение русскоязычной языковой модели уже вполне возможно на достаточно скромной конфигурации из нескольких GPU с объемом памяти от 16 до 32 Гбайт.

В общем случае обществу нужен искусственный интеллект, помогающий наибольшему количеству людей и организаций улучшить качество жизни и результаты своей деятельности. На роль таких интеллектуальных инструментов сегодня претендуют авторегрессионные языковые модели. При этом в России наиболее перспективна разработка адаптеров к уже существующим большим языковым моделям с их дообучением на корпусах русскоязычных текстов общего и корпоративного содержания. По многим параметрам, в том числе по объему текстов, русский язык — второй в Сети. Такая распространенность вместе с наличием большой русскоязычной модели YaLM, обученной «Яндексом» на гигантском русскоязычном корпусе, позволяет создавать компактные русскоязычные модели, близкие по качеству к ChatGPT и ориентированные на работу в корпоративной среде.

Литература

1. Владимир Соловьев. ChatGPT — прорыв или хайп? // Открытые системы.СУБД. — 2023. — № 1. — С. 41–45. URL: https://osp.ru/ os/2023/01/13056928 (дата обращения: 21.07.2023).

2. Александр Галушкин. Современные направления развития нейрокомпьютерных технологий в России // Открытые системы.СУБД. — 1997. — № 4. — С. 25–28. URL: https://www.osp.ru/os/1997/04/179195 (дата обращения: 21.07.2023).

3. Shinn N., Cassano F., Labash B., Gopinath A., Narasimhan K., Yao S. Reflexion: Language Agents with Verbal Reinforcement Learning // arXiv. 2023. URL: https://arxiv.org/pdf/2303.11366.pdf (дата обращения: 21.07.2023).

Владимир Соловьев (vs@ciars.ai) — генеральный директор, компания «ЦИАРС»; зав. кафедрой прикладного искусственного интеллекта, МТУСИ; Сергей Макрушин (sm@ciars.ai) — директор по исследованиям, компания «ЦИАРС»; доцент кафедры прикладного искусственного интеллекта, МТУСИ (Москва).

DOI: 10.51793/OS.2023.85.69.002