Найти тему
Техно Колибри

Загадка ChatGPT: как нейросеть для написания текста составляет предложения

Оглавление

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

Что такое ChatGPT и как в нем работать (простыми словами и с приведением реальных примеров) я подробно писала в этой статье:

Сегодня же мы поговорим о том, а как, собственно, он это делает. Ведь ИИ не человек, и он не понимает, что кошка красивая, а самолет быстрый. Тогда что он понимает? Как нейросеть может связывать слова в единое предложение, а предложения в единый осмысленный текст? Вот об этом мы сегодня и поговорим.

Что такое большие языковые модели LLM

LLM – это нейронные сети, обученные на огромных объемах текста, таких как книги, страницы Википедии, статьи и другие веб-страницы. Эти модели способны понимать и генерировать текст на естественном языке, выполнять различные языковые задачи, такие как перевод, реферирование, написание творческих (уникальных) текстов и многое другое.

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

На фото: большие языковые модели LLM. Нейросети для написания текста обучаются благодаря огромным объемам информации, взятых с веб-страниц. Источник: https://hashdork.com/wp-content/uploads/2022/05/PaLM.png
На фото: большие языковые модели LLM. Нейросети для написания текста обучаются благодаря огромным объемам информации, взятых с веб-страниц. Источник: https://hashdork.com/wp-content/uploads/2022/05/PaLM.png

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

Исследователи продолжают совершенствовать и обучать ChatGPT, и можно ожидать, что в ближайшем будущем он станет еще более мощными и универсальными.

Как происходит обучение нейросети ChatGPT

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

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

В случае ChatGPT, который основан на архитектуре GPT (Generative Pre-trained Transformer), «предсказание следующего слова» является ключевой частью его обучения.

Главное понять, что программы пишет человек-программист – он задает четкие алгоритмы по которому выполняется программа. А для ИИ и чат-ботов (таких как ChatGPT) разработана нейронная сеть – она обучается на более 1.000.000.000 слов конкретного языка. И обучается каждый день.

Чтобы понять, как работает LLM и ChatGPT в частности, нужно углубиться в концепцию «предсказания следующего слова». И вот тут начинается самое интересное!

Что такое «предсказание следующего слова» в ИИ простыми словами

Мы, люди-человеки представляем слова как последовательность букв, например, слово кошка мы видим, как К-О-Ш-К-А. А нейросеть увидит ее как вектор.

Вот вектор слова cat [0.0074, 0.0030, -0.0105, 0.0742, 0.0765, -0.0011, 0.0265, 0.0106, 0.0191, 0.0038, -0.0468, -0.0212, 0.0091, 0.0030, -0.0563, -0.0396, -0.0998, -0.0796, ..., 0.0002] – там 300 чисел.

Мы все знаем, что нейросети думают на английском языке, а потом уже моментально переводят на другой язык. Для нас работает нейросеть для написания текста на русском языке – это огромный плюс, так как она не просто переводит, но и делает осмысленный перевод, который невозможно добиться от простого онлайн-переводчика.

Разработчики нейронных сетей уже долгое время занимаются изучением словесных векторов для всех слов (экспериментируют десятилетиями), но настоящий прорыв произошел, когда Google представил свой проект word2vec в 2013 году.

Они проанализировали миллионы документов, собранных из Google News, чтобы выяснить, какие слова обычно встречаются в похожих контекстах.

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

На фото: векторные слова для слова «кошка» в ИИ. Источник: http://vectors.nlpl.eu/explore/embeddings/en/MOD_enwiki_upos_skipgram_300_2_2021/cat_NOUN/
На фото: векторные слова для слова «кошка» в ИИ. Источник: http://vectors.nlpl.eu/explore/embeddings/en/MOD_enwiki_upos_skipgram_300_2_2021/cat_NOUN/

Векторы слов Google обладали еще одним увлекательным свойством: они позволяли «рассуждать» о словах с помощью векторной арифметики. Например, исследователи Google взяли вектор для слова «наибольший» и получили «самый большой», потом вычли вектор слова «большой» и добавили вектор слова «маленький». Ближайшее к полученному вектору слово оказалось «наименьшим».

Таким образом, с помощью векторной арифметики можно проводить аналогии. Например:

  • больший относится к наибольшему, как маленький относится к наименьшиму – измерение;
  • русский относится в России, как беларус к Беларуси – национальность;
  • Москва относится к России, как Минск к Беларуси – столицы;
  • Уважаемый относится к Директор, как Дорогой к Человеку – заглавные буквы;
  • лево к право, как возможно к невозможному – противоположности;
  • ложка к ложкам, как камень к камням – множественное число;
  • женщина к мужчине, как девочка к мальчику – гендерные роли.

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

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

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

Трудности обучения ИИ

Самое трудное – это научить нейросеть, которая пишет осознанные тексты, понять значение слова исходя из контекста. Ведь есть слова, которые пишутся одинаково, а смысл имеют разный (замок, кисть, ключ и т.п.).

Например, попросим ChatGPT написать статью о том, как Игорь Васильевич каждое утро читает новости в газете «Правда». А следом выдать статью о том, как Наталья Николаевна работает в газете «Правда».

И там и там фигурирует газета «Правда», но смысловые значения здесь разные. Первая газета бумажная, а вторая – здание. Кажется, что для ИИ наступит тупик и он выдаст ерунду? Но нет, чат-бот прекрасно понимает о какой именно газете идет речь и пишет нормальный по смыслу текст.

Тоже самое касается и местоимений, которыми люди парируют не задумываясь. Например, учитель попросил ученика показать его домашнее задание. Домашнее задание кого-его? Учителя или ученика? Для нас элементарно, а вот машина проложит векторы слов и путем отметания ненужных найдет, что учитель просит показать домашнее задание именно ученика, так как у учителя нет своего домашнего здания.

На фото: схема как работает многослойная нейронная сеть для написания текста онлайн. Векторы слов. Источник: https://triptonkosti.ru/18-foto/shema-nejronnoj-seti.html
На фото: схема как работает многослойная нейронная сеть для написания текста онлайн. Векторы слов. Источник: https://triptonkosti.ru/18-foto/shema-nejronnoj-seti.html

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

Как же нейросеть составляет связанные предложения

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

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

«Шаг 1. На этапе концентрации внимания слова «оглядываются по сторонам» в поисках других слов, которые имеют релевантный контекст и обмениваются информацией друг с другом.
Шаг 2. На этапе прямой связи каждое слово «обдумывает» информацию, собранную на предыдущих этапах внимания, и пытается предугадать следующее слово.»

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

«Каждое слово составляет контрольный список (называемый вектором запроса), описывающий характеристики слов, которые оно ищет. Каждое слово также составляет чек-лист (называемый ключевым вектором), описывающий его собственные характеристики. Сеть сравнивает каждый вектор ключа с каждым вектором запроса (путем вычисления скалярного произведения), чтобы найти слова, которые лучше всего соответствуют. Как только он находит совпадение, он передает информацию из слова, создавшего вектор ключа, в слово, создавшее вектор запроса.»
На фото: схема как работает многослойная нейронная сеть, которая пишет статьи в режиме онлайн. Векторы слов. Источник: https://i.stack.imgur.com/HmmAU.png
На фото: схема как работает многослойная нейронная сеть, которая пишет статьи в режиме онлайн. Векторы слов. Источник: https://i.stack.imgur.com/HmmAU.png

Сейчас уже работает версия GPT-4. Но особенный прогресс показала именно версия GPT-3 – она имела 96 слоев по 96 «головок внимания» в каждом слове! Она использовала векторы слов с 12 288 измерениями.

Если сказать просто, то у каждого слова, которое получает ChatGPT, есть свой список из 12 288 (!) чисел. Это в 20 раз больше, чем схема Google в 2013 году. Прогресс налицо. И то ли еще будет?

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

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

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

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

Теперь вы знаете, как нейросеть составляет предложения «предсказывая» следующее слово и что такое «векторы слов».

Сложно? Да! Но это очень интересно!

Понравилась статья? Поставьте «лайк» – это спасибо мне, как автору. Пишите комментарии – это возможность поспорить и найти истину.