Как думает ChatGPT: эмбеддинг, токены и другая невидимая «начинка» нейросети

Человеческий язык принципиально неточен: естественной речи обычно сходит с рук некоторая расплывчатость и образность. Что касается компьютерного языка, то он, наоборот, должен быть точен и понятен. С одной стороны, он по своей природе обладает фундаментальной точностью, ведь определяемое им может быть однозначно выполнено на компьютере. Но если речь идет о большой языковой модели, все оказывается не так-то просто. Как на самом деле ИИ понимает человека и что помогает ему формулировать мысли — расскажем в этом материале.
Как думает ChatGPT: эмбеддинг, токены и другая невидимая «начинка» нейросети 
Freepik
Как мы находим общий язык c ChatGPT и что происходит внутри ИИ-разума? Эти ответы мы нашли в книге Стивена Вольфрама «Как устроен ChatGPT?» от издательства МИФ.

Эмбеддинг слов

Представим, что у нас есть словосочетание «the ___ cat [англ. кошка]». Опираясь на обширный массив текстовых данных в интернете, мы можем определить, какие слова с высокой вероятностью могут заполнить этот пробел. Аналогично, в словосочетании «___ black [англ. черная] ___» мы можем оценить вероятность появления различных сопутствующих слов.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Как можно описать эту задачу с точки зрения нейронной сети? Один из способов — присвоить уникальный идентификационный номер каждому из примерно 50 тысяч наиболее распространенных слов английского языка. Например, артикль the может получить номер 914, а слово cat (с пробелом перед ним) — 3542.

Таким образом, для задачи «the ___ cat» наши входные данные будут {914, 3542}. Результатом станет список из примерно 50 тысяч чисел, представляющих вероятности для каждого возможного заполняющего слова. Этот набор чисел можно рассматривать как характеризующий каждое слово — своего рода эмбеддинг слова. Чтобы найти эмбеддинг, мы должны «перехватить» состояние нейронной сети непосредственно перед тем, как она «примет решение». В необработанном виде эти векторы эмбеддинга довольно неинформативны.

Например, вот что выдавал GPT-2 в качестве необработанных векторов эмбеддинга для трех конкретных слов.
Редакция Techinsider.ru
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Токены

Более того, подобным образом можно получить эмбеддинги не только для отдельных слов, но и для последовательностей слов или целых блоков текста. Именно так и работает ChatGPT — он берет готовый текст, генерирует его векторное представление, а затем вычисляет вероятности для каждого последующего слова, формируя список чисел, соответствующих ≈50-тысячному словарю.

Стоит отметить, что ChatGPT работает не со словами, а с токенами — удобными лингвистическими единицами, представляющими слова или их части (вроде pre, ing или ised, образующих в английском языке разные формы глаголов). Это позволяет эффективнее обрабатывать редкие, сложные и многоязычные слова, а иногда даже создавать новые.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
как работает ChatGPT
Unsplash

Проще, чем казалось

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

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

widget-interest

Материал подготовлен по мотивам книги Стивена Вольфрама «Как устроен ChatGPT?»