Как именно модель большого языка работает внутри? Эта статья объясняет с минимальной математикой и терминологией.
Автор этой статьи, Тим Ли, раньше работал в технологическом издании Ars Technica. Недавно он запустил информационный бюллетень «Понимание ИИ», в котором в основном обсуждается принцип работы искусственного интеллекта. Шон Тротт — доцент Калифорнийского университета в Сан-Диего, где он изучает понимание человеческого языка и языковые модели. (Следующий контент компилируется и публикуется OneFlow после авторизации. Пожалуйста, свяжитесь с OneFlow, чтобы получить разрешение на перепечатку. Исходный текст:
Когда прошлой осенью ChatGPT был запущен, он вызвал ажиотаж в технологической индустрии и во всем мире. В то время исследователи машинного обучения годами пытались разработать большие языковые модели (LLM), но широкая публика не обращала особого внимания и не осознавала, насколько мощными они стали.
Сегодня почти все слышали о LLM, и десятки миллионов людей использовали их, но мало кто понимает, как они работают. Возможно, вы слышали, что LLM обучены «предсказывать следующее слово», и для этого им требуется много текста. Однако на этом объяснения обычно заканчиваются. Детали того, как они предсказывают следующее слово, часто рассматриваются как эзотерическая загадка.
Одной из причин этого является то, что эти системы были разработаны по-разному. Типичное программное обеспечение пишется инженерами-людьми, которые предоставляют компьютеру четкие пошаговые инструкции. Напротив, ChatGPT построен на нейронной сети, обученной с использованием миллиардов языковых слов.
Поэтому никто на земле полностью не понимает внутреннюю работу LLM. Исследователи усердно работают, пытаясь понять эти модели, но это медленный процесс, на завершение которого уходят годы, если не десятилетия.
Тем не менее, эксперты знают довольно много о том, как работают эти системы. Цель этой статьи — открыть эти знания для широкой аудитории. Мы постараемся объяснить, что известно о внутренней работе этих моделей, не вдаваясь в технический жаргон или высшую математику.
Мы начнем с объяснения векторов слов, которые представляют собой удивительный способ для языковых моделей представлять и рассуждать о языке. Затем мы погрузимся в Transformers, краеугольный камень построения моделей, таких как ChatGPT. Наконец, мы объясняем, как обучаются эти модели, и выясняем, почему можно добиться хорошей производительности с огромными объемами данных.
вектор слова
Чтобы понять, как работают языковые модели, сначала нужно понять, как они представляют слова. Люди используют последовательности букв для представления английских слов, таких как CAT для кошек. Языковые модели используют длинный список чисел, называемых векторами слов. Например, вот один из способов представить кошку в виде вектора:
[0,0074; 0,0396, -0,0998, -0,0796, …, 0,0002]
(примечание: полная длина вектора на самом деле составляет 300 чисел)
Зачем использовать такие сложные обозначения? Вот аналогия: Вашингтон, округ Колумбия, расположен на 38,9 градусах северной широты и 77 градусах западной долготы, что мы можем представить в векторной записи:
• Координаты Вашингтона, округ Колумбия: [38.9, 77]
• Координаты Нью-Йорка: [40.7, 74]
• Координаты Лондона: [51.5, 0.1]
• Координаты Парижа: [48.9, -2.4]
Это полезно для рассуждений о пространственных отношениях. Вы можете видеть, что Нью-Йорк находится очень близко к Вашингтону, округ Колумбия, потому что 38,9 ближе к 40,7, а 77 ближе к 74 в координатах. Точно так же Париж находится очень близко к Лондону. Но Париж далеко от Вашингтона, округ Колумбия.
Языковые модели используют аналогичный подход: каждый вектор слов представляет собой точку в «пространстве слов», где слова с похожим значением расположены ближе друг к другу. Например, слова, наиболее близкие к кошкам в векторном пространстве, включают «собака», «котенок» и «домашнее животное». Основное преимущество представления слов в виде векторов действительных чисел (в отличие от строк букв, таких как «CAT») заключается в том, что числа могут выполнять операции, которые не могут выполнять буквы.
Слова слишком сложны, чтобы их можно было представить только в двух измерениях, поэтому языковые модели используют векторные пространства с сотнями или даже тысячами измерений. Люди не могут представить пространства с такими большими размерами, но компьютеры могут рассуждать о них и получать полезные результаты.
Исследователи изучают векторы слов на протяжении десятилетий, но эта концепция действительно набрала обороты в 2013 году, когда Google объявил о проекте word2vec. Google проанализировал миллионы документов, собранных из Новостей Google, чтобы выяснить, какие слова чаще всего встречаются в похожих предложениях. Со временем обученная нейронная сеть учится размещать слова похожих категорий (например, собака и кошка) рядом друг с другом в векторном пространстве.
Векторы слов Google также имеют еще одну интересную особенность: вы можете использовать векторные операции для «вывода» слов. Например, исследователи Google берут самый большой (самый большой) вектор, вычитают большой (большой) вектор и добавляют маленький (маленький) вектор. Ближайшее к результирующему вектору слово является наименьшим (наименьшим) вектором.
Вы можете использовать векторные операции для аналогии! В этом примере отношения между большим и самым большим аналогичны отношениям между маленьким и самым маленьким. Векторы слов Google фиксируют многие другие отношения:
• Швейцарский для Швейцарии, как камбоджийский для Камбоджи. (Страна гражданства)
• Париж и Франция похожи на Берлин и Германию. (капитал)
• Безнравственное и нравственное подобны возможному и невозможному. (антоним)
• Мышь (крысы) и мыши (множественное число от мышей) похожи на доллары (доллары) и доллары (множественное число от долларов). (множественное число)
• Мужчины и женщины подобны королям и королевам. (гендерная роль)
Поскольку эти векторы построены на основе того, как люди используют язык, они отражают многие предубеждения, существующие в человеческом языке. Например, (доктор) минус (мужчина) плюс (женщина) равно (медсестра) в некоторых моделях встраивания слов. Уменьшение этой предвзятости является новой областью исследований.
Тем не менее, вложения слов являются полезной основой для языковых моделей, поскольку они кодируют тонкую, но важную информацию об отношениях между словами. Если языковая модель узнает что-то о кошках (например, иногда ходит к ветеринару), то то же самое, скорее всего, применимо к котятам или собакам. Если модель узнала об отношениях между Парижем и Францией (например, о том, что у них один язык), то вполне вероятно, что отношения между Берлином и Германией и Римом и Италией будут такими же.
Значение слова зависит от контекста
Простые схемы встраивания слов, подобные этой, не отражают важный факт естественного языка: слова часто имеют несколько значений.
Например, слово «банк» может относиться к финансовому учреждению или берегу реки. Или рассмотрите следующие предложения:
• Джон берет журнал (Джон берет журнал).
• Сьюзан работает в журнале (Сьюзен работает в журнале).
В этих предложениях значение слова «журнал» родственное, но разное. Джон взял журнал на бумажном носителе, а Сьюзен работала в агентстве, которое издавало журналы на бумажном носителе.
Когда слово имеет два несвязанных значения, лингвисты называют их омонимами. Когда слово имеет два тесно связанных значения, например «журнал», лингвисты называют это полисемией.
Языковые модели, такие как ChatGPT, могут представлять одно и то же слово с помощью разных векторов в зависимости от контекста, в котором это слово встречается. Есть вектор "банк (финансовое учреждение)" и вектор "банк (берег реки)". Есть вектор для "журнал (издание организации)" и вектор для "журнал (издательство)". Как и следовало ожидать, в языковой модели используются векторы, более близкие по значениям многозначных слов и менее похожие по значениям омофонов.
До сих пор мы не объясняли, как языковые модели делают это — скоро мы этим займемся. Однако мы детализируем эти векторные представления, которые важны для понимания того, как работают языковые модели.
Традиционное программное обеспечение предназначено для работы с явными данными. Если вы попросите компьютер вычислить «2 + 3», не будет никакой двусмысленности в отношении того, что означают 2, + или 3. Но двусмысленность в естественном языке выходит далеко за рамки омонимов и полисемии:
• В «клиент попросил механика починить его машину», относится ли «его» к покупателю или к механику?
• В фразе «профессор призвал студентку сделать домашнее задание» относится ли «она» к профессору или к студентке?
• В фразе «дрозофилы, как бананы» «мухи» — это глагол (относится к фруктам, которые летают по небу, как бананы) или существительное (относится к дрозофилам, которые любят бананы)?
Люди разрешают этот тип двусмысленности в зависимости от контекста, но простых и четких правил не существует. Скорее, это требует понимания того, что на самом деле происходит в мире. Вы должны знать, что механики обычно чинят машины клиентов, студенты обычно делают свою домашнюю работу, а фрукты обычно не летают.
Векторы слов предоставляют языковым моделям гибкий способ представления точного значения каждого слова в контексте определенного абзаца. Теперь давайте посмотрим, как они это делают.
Преобразование векторов слов в предсказания слов
Модель GPT-3, стоящая за исходной версией ChatGPT, состоит из десятков слоев нейронной сети. Каждый слой принимает в качестве входных данных последовательность векторов — по одному для каждого слова во входном тексте — и добавляет информацию, помогающую прояснить значение этого слова и лучше предсказать слова, которые могут быть следующими.
Начнем с простого примера.
Каждый слой LLM — это преобразователь.В 2017 году Google впервые представила эту структуру нейронной сети в важной статье.
В нижней части графика входной текст для модели — «Джон хочет, чтобы его банк обналичил», и эти слова представлены в виде векторов в стиле word2vec и переданы первому преобразователю. Этот Трансформер определяет, что и want, и cash — это глаголы (эти два слова также могут быть существительными). Мы обозначаем этот дополнительный контекст красным текстом в круглых скобках, но модель на самом деле сохраняет эту информацию, изменяя векторы слов таким образом, что людям трудно их интерпретировать. Эти новые векторы называются скрытыми состояниями и передаются следующему преобразователю.
Второй Трансформер добавляет еще две контекстуальные сведения: уточняет, что банк относится к финансовому учреждению (финансовому учреждению), а не к берегу реки, и что его относится к местоимению Джона. Второй преобразователь создает еще один набор скрытых векторов состояния, отражающих всю информацию, полученную моделью ранее.
На приведенном выше графике показан чисто гипотетический LLM, поэтому не стоит слишком привязываться к деталям. Настоящие LLM, как правило, имеют больше слоев. Например, самая мощная версия GPT-3 имеет 96 слоев.
Исследования показывают, что (первые несколько уровней сосредоточены на понимании грамматики предложения и разрешении двусмысленностей, показанных выше. Более поздние уровни (не показаны выше, чтобы сохранить управляемый размер диаграммы) посвящены высокоуровневому пониманию всего абзаца.
Например, когда LLM «читает» короткий рассказ, кажется, что он запоминает всевозможную информацию о персонажах рассказа: пол и возраст, отношения с другими персонажами, прошлые и нынешние места, личности и цели и многое другое.
Исследователи не до конца понимают, как LLM отслеживают эту информацию, но логически информация должна передаваться между уровнями путем изменения скрытых векторов состояния. Размер вектора в современных LLM чрезвычайно велик, что способствует выражению более богатой семантической информации.
Например, самая мощная версия GPT-3 использует векторы слов с размерностью 12288, то есть каждое слово представлено списком из 12288 чисел. Это в 20 раз больше, чем схема word2vec, предложенная Google в 2013 году. Вы можете думать обо всех этих дополнительных измерениях как о своего рода «временном пространстве», которое GPT-3 может использовать для записи контекста каждого слова. Информативные примечания, сделанные более ранними слоями, могут быть прочитаны и изменены более поздними слоями, позволяя модели постепенно углублять свое понимание всего текста.
Итак, предположим, мы изменили приведенную выше диаграмму, чтобы описать 96-уровневую языковую модель для интерпретации истории из 1000 слов. Уровень 60 может включать вектор для Джона с вектором, обозначенным «(Главный герой, мужчина, женат на Шерил, двоюродной сестре Дональда, из Миннесоты, в настоящее время в Бойсе, пытается найти потерянный бумажник)» в скобках. Опять же, все эти факты (и, возможно, больше) будут закодированы в списке из 12 288 чисел, соответствующих слову Джон. Или некоторая информация в этой истории может быть закодирована в 12288-мерном векторе для Шерил, Дональда, Бойсе, кошелька или других слов.
Цель этого состоит в том, чтобы 96-й и последний слой сети выдавал скрытое состояние, содержащее всю необходимую информацию для предсказания следующего слова.
Механизм внимания
Теперь поговорим о том, что происходит внутри каждого Трансформера. Преобразователь имеет два процесса при обновлении скрытого состояния каждого слова входного абзаца:
На этапе внимания словарный запас «осматривается» в поисках других слов, имеющих соответствующий контекст, и обменивается информацией друг с другом.
На шаге прямой связи каждое слово «думает» об информации, собранной на предыдущем шаге внимания, и пытается предсказать следующее слово.
Конечно, эти шаги выполняет сеть, а не отдельные слова. Но мы утверждаем это таким образом, чтобы подчеркнуть, что Transformer использует слова в качестве основной единицы этого анализа, а не целые предложения или абзацы. Такой подход позволяет LLM в полной мере использовать возможности массовой параллельной обработки современных чипов GPU. Это также помогает масштабировать LLM до длинных абзацев, содержащих тысячи слов. Эти два аспекта являются проблемами, с которыми сталкиваются ранние языковые модели.
Вы можете думать о механизме внимания как о сервисе сопоставления слов. Каждое слово составляет контрольный список (называемый вектором запроса), который описывает характеристики искомых слов. Каждое слово также составляет контрольный список (называемый ключевым вектором), описывающий его собственные характеристики. Нейронная сеть находит наиболее подходящее слово, сравнивая каждый вектор ключа с каждым вектором запроса (вычисляя скалярное произведение). Как только совпадение найдено, он передает соответствующую информацию от слова, которое произвело ключевой вектор, к слову, которое произвело вектор запроса.
Например, в предыдущем разделе мы показали гипотетическую модель Трансформера, которая обнаружила, что «его» относится к «Джону» в части предложения «Джон хочет, чтобы его банк обналичил». Внутри процесс может идти примерно так: вектор запроса для «его» может быть эффективно представлен как «Я ищу: существительные, описывающие мужчин». Ключевой вектор для «Джон» может быть эффективно выражен как «Я - существительное, описывающее мужчину». Сеть обнаружит, что эти два вектора совпадают, и передаст информацию о векторе «Джон» в вектор «его».
Каждый уровень внимания имеет несколько «головок внимания», что означает, что этот процесс обмена информацией происходит несколько раз (параллельно) на каждом уровне. Каждая голова внимания фокусируется на другой задаче:
• Голова внимания может сопоставлять местоимения с существительными, как мы обсуждали ранее.
• Другой заголовок внимания может обрабатывать значение многозначных слов, таких как «банк».
• Третья голова внимания может связывать фразы из двух слов, такие как «Джо Байден».
Головки внимания, подобные этим, часто работают последовательно, при этом результат операции внимания на одном уровне внимания становится входом для головки внимания на следующем уровне. На самом деле каждая из задач, которые мы только что перечислили, может потребовать нескольких головок внимания, а не только одной.
Самая большая версия GPT-3 имеет 96 уровней, и каждый уровень имеет 96 головок внимания, поэтому каждый раз, когда предсказывается новое слово, GPT-3 будет выполнять 9216 операций внимания.
Реальный пример
В двух предыдущих разделах мы показали идеализированные версии того, как работают головы внимания. Теперь давайте посмотрим на исследования внутренней работы реальных языковых моделей.
В прошлом году исследователи из Redwood Research изучили GPT-2, предшественника ChatGPT, на наличие отрывка «Когда Мэри и Джон пошли в магазин, Джон дал выпить (когда Мэри и Джон пошли в магазин, Джон дал выпить ) «Процесс предсказания следующего слова.
GPT-2 предсказывает, что следующим словом будет Мэри. Исследователи обнаружили, что этому прогнозу способствовали три типа внимания:
• Три головки внимания, которые они называют головкой движения имен, копируют информацию из вектора Мэри в конечный входной вектор (вектор для слова to). GPT-2 использует информацию в этом крайнем правом векторе для предсказания следующего слова.
• Как нейронная сеть решает, что слово «Мэри» является правильным для копирования? Обратив процесс вычисления GPT-2 вспять, ученые обнаружили набор из четырех головок внимания, которые они назвали Головой торможения субъекта (Subject Inhibition Head), которые помечали второй вектор Джона, предотвращая копирование имени Джона движущейся головой имени.
• Как головка подавления субъекта узнает, что Джона нельзя копировать? Команда экстраполировала дальше и обнаружила две головы внимания, которые они назвали Duplicate Token Heads. Они помечают второй вектор Джона как дублирующую копию первого вектора Джона, что помогает субъекту подавить голову, чтобы решить, что Джона не следует копировать.
Короче говоря, эти девять головок внимания позволяют GPT-2 понять, что «Джон дал выпить Джону» не имеет смысла, и вместо этого выбирает «Джон дал выпить Мэри (Джон дал выпить Мэри)».
Этот пример показывает, насколько сложно полностью понять LLM. Группа из пяти исследователей из Редвуда опубликовала 25-страничную статью, объясняющую, как они идентифицировали и проверили эти точки внимания. Однако даже со всей этой работой мы все еще далеки от полного объяснения того, почему GPT-2 решила предсказать «Мэри» в качестве следующего слова.
Например, как модель узнает, что следующим словом должно быть чье-то имя, а не слово другого типа? Легко представить, что в подобных предложениях Мэри не будет хорошим предсказателем следующего. Например, в предложении «когда Мэри и Джон пошли в ресторан, Джон отдал свои ключи (когда Мэри и Джон пошли в ресторан, Джон отдал ключи)», логически следующим словом должно быть «камердинер ( представляющего парковщика)».
Предполагая, что ученые-компьютерщики проведут достаточно исследований, они смогут выявить и объяснить другие этапы процесса рассуждений GPT-2. В конце концов, они могли бы полностью понять, как GPT-2 решил, что «Мэри» является наиболее вероятным следующим словом в предложении. Но могут потребоваться месяцы или даже годы дополнительных усилий, чтобы понять, как предсказывается слово.
Языковые модели, лежащие в основе ChatGPT — GPT-3 и GPT-4 — больше и сложнее, чем GPT-2, и они способны решать более сложные логические задачи, чем простые предложения, изученные командой Redwood. Поэтому работа по полному объяснению этих систем будет огромным проектом, и маловероятно, что люди выполнят его за короткое время.
Шаг прямой связи
После того, как головка внимания передает информацию между векторами слов, сеть прямой связи «думает» о каждом векторе слов и пытается предсказать следующее слово. На этом этапе между словами не происходит обмена информацией, и уровень прямой связи анализирует каждое слово независимо. Однако уровни прямой связи имеют доступ к любой информации, ранее скопированной головками внимания. Ниже приведена структура уровня прямой связи самой большой версии GPT-3.
Зеленые и фиолетовые кружки представляют нейроны: это математические функции, вычисляющие взвешенную сумму входных данных.
Уровень прямой связи является мощным из-за большого количества соединений. Мы рисуем эту сеть, используя три нейрона в качестве выходного слоя и шесть нейронов в качестве скрытого слоя, но слой прямой связи GPT-3 намного больше: 12288 нейронов в выходном слое (что соответствует 12288-мерному вектору слов модели). , в скрытом слое 49152 нейрона.
Итак, в самой большой версии GPT-3 скрытый слой имеет 49152 нейрона, каждый нейрон имеет 12288 входных значений (таким образом, каждый нейрон имеет 12288 весовых параметров), а также 12288 выходных нейронов, каждый Нейрон имеет 49152 входных значения (таким образом, 49152 весовых параметра на нейрон). Это означает, что каждый слой прямой связи имеет 49152*12288+12288*49152=1,2 миллиарда весовых параметров. И есть 96 уровней прямой связи, всего 1,2 миллиарда*96=116 миллиардов параметров! Это эквивалентно почти двум третям объема параметров GPT-3 со 175 миллиардами параметров.
В статье 2020 года исследователи из Тель-Авивского университета обнаружили, что слои с прямой связью работают путем сопоставления с образцом: каждый нейрон в скрытом слое соответствует определенному образцу во входном тексте. Ниже представлена 16-слойная версия. Некоторые нейроны в GPT- 2 соответствуют шаблону:
• Нейроны слоя 1 сопоставляют последовательности слов, оканчивающиеся на «заменители».
• Нейроны в слое 6 сопоставляют последовательности слов, которые имеют отношение к военным действиям и оканчиваются на «база» или «база».
• Нейроны в слое 13 соответствуют последовательностям, которые заканчиваются временным диапазоном, например, «между 15:00 и 19:00» или «с 19:00 в пятницу до».
• Нейроны в слое 16 сопоставляют последовательности, связанные с телешоу, такие как «оригинальная дневная версия NBC, заархивированная» или «задержка по времени увеличила количество просмотров этого эпизода на 57 процентов».
Как видите, в более поздних слоях схема становится более абстрактной. Ранние слои, как правило, соответствуют определенным словам, в то время как более поздние слои соответствуют фразам, которые попадают в более широкие семантические категории, такие как телешоу или временные интервалы.
Это интересно, потому что, как упоминалось ранее, уровень прямой связи может проверять только одно слово за раз. Таким образом, при классификации последовательности «Оригинальный дневной выпуск NBC, заархивированный» как «связанный с телевидением» он имеет доступ только к векторам для слова «архив», а не к таким словам, как NBC или дневное время. Можно сделать вывод, что причина, по которой уровень прямой связи может решить, что «заархивированный» является частью последовательности, связанной с телевидением, заключается в том, что головка внимания ранее переместила контекстную информацию в «архивный» вектор.
Когда нейрон соответствует одному из шаблонов, он добавляет информацию к вектору слов. Хотя эту информацию не всегда легко интерпретировать, во многих случаях вы можете думать о ней как о предварительном предсказании следующего слова.
Вывод сетей с прямой связью с использованием векторных операций
Недавнее исследование из Университета Брауна (показывает элегантный пример того, как слои прямой связи могут помочь предсказать следующее слово. Ранее мы обсуждали исследование Google word2vec, показывающее, что рассуждения по аналогии могут быть выполнены с использованием векторных операций. Например, Берлин - Германия + Франция = Париж) .
Исследователи из Университета Брауна обнаружили, что слои прямой связи иногда используют этот точный метод для предсказания следующего слова. Например, они изучали ответы GPT-2 на следующие подсказки: «Вопрос: Какая столица Франции? Ответ: Париж. Вопрос: Какая столица Польши? Ответ:»
Команда изучила версию GPT-2 с 24 слоями. После каждого слоя ученые из Университета Брауна исследовали модель, выискивая ее наилучшее предположение для следующего токена. В первых 15 слоях предположение с наибольшей вероятностью — это, казалось бы, случайное слово. Между слоями 16 и 19 модель начинает предсказывать, что следующее слово будет польским — неверно, но становится ближе. Затем на 20-м уровне наиболее вероятной догадкой становится Варшава — правильный ответ, который остается неизменным для последних четырех уровней.
Исследователи из Университета Брауна обнаружили, что 20-й слой прямой связи преобразует Польшу в Варшаву, добавляя вектор, который сопоставляет векторы стран с их соответствующими столицами. При добавлении того же вектора к Китаю ответ получает Пекин.
Уровень прямой связи в той же модели использует векторные операции для преобразования слов нижнего регистра в слова верхнего регистра и слов в настоящем времени в их эквиваленты в прошедшем времени.
Уровень внимания и уровень прямой связи имеют разные функции
До сих пор мы видели два практических примера предсказания слов GPT-2: голова внимания помогает предсказать, что Джон напоит Мэри, а уровень прямой связи помогает предсказать, что Варшава является столицей Польши.
В первом случае Мэри приходит из введенной пользователем подсказки. Но во втором случае Варшава в подсказке не фигурировала. Вместо этого ГПТ-2 должен был «вспомнить», что Варшава — столица Польши, и эта информация была извлечена из данных обучения.
Когда исследователи из Университета Брауна отключили слой прямой связи, преобразующий Польшу в Варшаву, модель больше не предсказывала, что следующим словом будет Варшава. Но что интересно, если они затем добавляли предложение «Столица Польши — Варшава» в начале подсказки, GPT-2 снова мог ответить на вопрос. Это может быть связано с тем, что GPT-2 использует механизм внимания для извлечения имени Варшава из реплики.
Это разделение труда проявляется более широко: механизм внимания извлекает информацию из более ранних частей реплики, в то время как уровень прямой связи позволяет языковой модели «запоминать» информацию, которая не появлялась в реплике.
Фактически, уровень прямой связи можно рассматривать как базу данных информации, которую модель извлекла из обучающих данных. Ранние уровни прямой связи с большей вероятностью будут кодировать простые факты, связанные с конкретными словами, например, «Трамп часто приходит после Дональда». Более поздние слои кодируют более сложные отношения, такие как «добавьте этот вектор, чтобы преобразовать страну в ее столицу.
Метод обучения языковой модели
Многие ранние алгоритмы машинного обучения требовали обучающих примеров, помеченных людьми. Например, обучающими данными могут быть фотографии собак или кошек с искусственными ярлыками («собака» или «кошка»). Потребность в размеченных данных усложняет и удорожает создание наборов данных, достаточно больших для обучения мощных моделей.
Ключевым нововведением LLM является то, что они не требуют явно помеченных данных. Вместо этого они учатся, пытаясь предсказать следующее слово в отрывке текста. Для обучения этих моделей подходит почти любой письменный материал — от страниц Википедии до новостных статей и компьютерного кода.
Например, LLM может принять ввод «Мне нравится мой кофе со сливками и (мне нравится мой кофе со сливками и)» и попытаться предсказать «сахар (сахар)» в качестве следующего слова. Свежеинициализированная языковая модель ужасна в этом, потому что каждый из ее весовых параметров — самая мощная версия GPT-3 достигает 175 миллиардов параметров — изначально начинается практически со случайного числа.
Но по мере того, как модель видит больше примеров — сотни миллиардов слов — эти веса постепенно корректируются, чтобы делать более точные прогнозы.
Давайте воспользуемся аналогией, чтобы проиллюстрировать, как работает этот процесс. Допустим, вы принимаете душ и хотите, чтобы вода была нужной температуры: не слишком горячей и не слишком холодной. Вы никогда раньше не пользовались этим краном, поэтому регулируете направление ручки крана по своему желанию и чувствуете температуру воды. Если слишком жарко или слишком холодно, вы повернете ручку в противоположном направлении, и тем меньше регулировок вы будете делать с ручкой по мере приближения к надлежащей температуре воды.
Теперь давайте внесем несколько изменений в эту аналогию. Во-первых, представьте, что имеется 50 257 нажатий, каждое из которых соответствует отдельному слову, например, «the», «cat» или «bank». Ваша цель состоит в том, чтобы из крана текла только вода, соответствующая следующему слову в последовательности.
Во-вторых, за краном есть куча соединенных между собой труб, а на этих трубах куча клапанов. Поэтому, если вода течет не из того крана, вы не можете просто отрегулировать ручку на кране. Вы отправляете армию умных белок, чтобы отследить каждую трубу и отрегулировать каждый клапан, который они найдут на своем пути.
Это усложняется, и, поскольку одна и та же труба часто питает несколько кранов, требуется тщательное продумывание того, как определить, какие клапаны затянуть и ослабить и на сколько.
Очевидно, что этот пример становится нелепым, если его понимать буквально. Строительство трубопроводной сети со 175 миллиардами клапанов нереально и нецелесообразно. Но благодаря закону Мура компьютеры могут работать и работают в таком масштабе.
До сих пор все части LLM, обсуждаемые в этой статье, — нейроны в слое прямой связи и головки внимания, которые передают контекстную информацию между словами, — реализованы в виде ряда простых математических функций (в основном умножение матриц), поведение которых определяется регулируемым параметром веса. Так же, как белка в моей истории управляет потоком воды, откручивая вентиль, алгоритм обучения управляет потоком информации через нейронную сеть, увеличивая или уменьшая весовые параметры языковой модели.
Процесс обучения делится на два этапа. Сначала сделайте «проход вперед», включив воду и убедившись, что вода течет из правильного крана. Затем воду перекрывают для «обратного прохода», при котором белки мчатся по каждой трубе, затягивая или ослабляя клапаны. В цифровых нейронных сетях роль белки играет алгоритм, называемый обратным распространением, который «проходит назад» по сети, используя вычисления для оценки того, насколько необходимо изменить каждый весовой параметр.
Для этого — прямого распространения примера, а затем обратного распространения для улучшения производительности сети на этом примере — требуются десятки миллиардов математических операций. А для обучения такой большой модели, как GPT-3, необходимо повторять этот процесс миллиарды раз — для каждого слова каждых обучающих данных. По оценкам OpenAI, для обучения GPT-3 требуется более 300 миллиардов терафлопс вычислений, что потребовало бы нескольких месяцев работы десятков высокопроизводительных компьютерных чипов.
Удивительная производительность GPT-3
Вы можете быть удивлены тем, насколько хорошо работает процесс обучения. ChatGPT может выполнять множество сложных задач — писать статьи, проводить аналогии и даже писать компьютерный код. Итак, как такой простой механизм обучения создает такую мощную модель?
Одна из причин — масштаб. Трудно переоценить огромное количество примеров, которые видит такая модель, как GPT-3. GPT-3 обучается на корпусе из примерно 500 миллиардов слов. Для сравнения, средний человеческий ребенок встречает около 100 миллионов слов в возрасте до 10 лет.
За последние пять лет OpenAI постоянно увеличивал размер своих языковых моделей. В широко распространенной статье 2020 года (в которой сообщается, что точность их языковых моделей имеет степенную зависимость от размера модели, размера набора данных и объема вычислений, используемых для обучения, некоторые тенденции даже охватывают более семи порядков».
Чем больше размер модели, тем лучше она справляется с задачами, связанными с языком. Но только в том случае, если они увеличат объем обучающих данных в аналогичный раз. А для обучения более крупных моделей на большем количестве данных требуется больше вычислительной мощности.
В 2018 году OpenAI выпустила первую большую модель GPT-1. Он использует 768-мерный вектор слов, всего 12 слоев и 117 миллионов параметров. Через несколько месяцев OpenAI выпустила GPT-2, самая большая версия которого имеет 1600-мерные векторы слов, 48 слоев и в общей сложности 1,5 миллиарда параметров. В 2020 году OpenAI выпустила GPT-3, который имеет 12288-мерный вектор слов, 96 слоев и в общей сложности 175 миллиардов параметров.
В этом году OpenAI выпустила GPT-4. Компания не опубликовала никаких архитектурных подробностей, но в отрасли широко распространено мнение, что GPT-4 намного больше, чем GPT-3.
Каждая модель не только узнала больше фактов, чем ее меньшая предшественница, но и показала лучшую производительность в задачах, требующих некоторой формы абстрактного мышления.
Например, рассмотрим следующую историю: Мешок, полный попкорна. В пакете нет шоколада. Однако на этикетке на пакете было написано «шоколад» вместо «попкорн». Сэм нашел сумку. Она никогда раньше не видела сумку. Она не могла видеть, что было в сумке. Она прочитала этикетку.
Как вы, наверное, догадались, Сэм считает, что в пакете шоколад, и с удивлением обнаруживает, что в нем есть попкорн.
Психологи называют это исследование способности рассуждать о психических состояниях других «теорией разума». Большинство людей имеют эту способность с самого начала начальной школы. Мнения экспертов расходятся во мнениях относительно того, применима ли теория разума к какому-либо нечеловеческому животному, такому как шимпанзе, но общее мнение состоит в том, что оно занимает центральное место в человеческом социальном познании.
Ранее в этом году психолог из Стэнфордского университета Михал Косински опубликовал исследование (изучающее способность LLM решать задачи по теории разума).Он прочитал различные языковые модели истории, подобной только что процитированной, а затем попросил их закончить предложение, например: «Нравится». она считает, что сумка полна», правильный ответ — «шоколад», но незрелая языковая модель может сказать «попкорн» или что-то в этом роде.
GPT-1 и GPT-2 не прошли этот тест. Но первая версия GPT-3, выпущенная в 2020 году, была верна почти на 40 процентов — уровень производительности Косински сравнивался с трехлетним ребенком. Последняя версия, GPT-3, выпущенная в ноябре прошлого года, улучшила точность ответов на приведенные выше вопросы примерно до 90%, что сравнимо с точностью семилетнего ребенка. GPT-4 правильно ответил примерно на 95 процентов вопросов теории разума.
«Учитывая, что в этих моделях нет ни доказательств того, что ToM (ментализация) была преднамеренно сконструирована, ни исследований, демонстрирующих, что ученые знали, как ее достичь, вполне вероятно, что эта способность возникла спонтанно и автономно. — продукт постоянного совершенствования», — написал Косински.
Стоит отметить, что не все исследователи согласны с тем, что эти результаты доказывают теорию сознания: например, небольшие изменения в задаче ложного убеждения привели к значительному падению производительности GPT-3 (в то время как производительность GPT-3 в других задачах, измеряющих теорию разума Более неустойчивый (как пишет в нем Шон, успешная работа может быть объяснена смешанным фактором в задании — «умным Гансом», имея в виду лошадь по имени Ганс, которая, казалось, могла выполнять некоторые простые интеллектуальные задачи, но на самом деле просто полагайтесь на бессознательные сигналы, подаваемые людьми)», но он появляется на языковой модели, а не на лошади.
Тем не менее, GPT-3 приближается к производительности человека в нескольких задачах, предназначенных для измерения теории разума, что было невообразимо всего несколько лет назад, и это согласуется с тем фактом, что более крупные модели, как правило, лучше справляются с задачами, требующими продвинутой логической точки зрения. .
Это лишь один из многих примеров, когда языковые модели спонтанно развивают продвинутые способности к рассуждению. В апреле исследователи из Microsoft опубликовали статью (в которой говорится, что GPT-4 продемонстрировал ранние дразнящие признаки общего искусственного интеллекта — способность мыслить сложным, человеческим образом.
Например, один исследователь попросил GPT-4 нарисовать единорога, используя малоизвестный язык графического программирования под названием TiKZ. GPT-4 ответил несколькими строками кода, которые исследователи затем ввели в программное обеспечение TiKZ. Полученные изображения, хотя и грубые, ясно показывают, что GPT-4 имеет некоторое представление о том, как выглядит единорог.
Исследователи подумали, что GPT-4 мог каким-то образом запомнить код рисования единорога из обучающих данных, поэтому они поставили перед ним дополнительную задачу: они изменили код единорога, убрав рога и переместив некоторые другие части тела. Затем они попросили GPT-4 снова надеть рог единорога. GPT-4 ответил, установив углы головы в правильное положение:
Несмотря на то, что тестовая версия авторов была полностью обучена на тексте и не содержала изображений, GPT-4, по-видимому, все еще может выполнить эту задачу. Тем не менее, GPT-4, по-видимому, научился рассуждать о форме тела единорога после обучения большому количеству письменного текста.
В настоящее время у нас нет реального понимания того, как LLM совершают такие подвиги. Некоторые люди думают, что примеры, подобные этому, показывают, что модель начинает действительно понимать значение слов в своем обучающем наборе. Другие настаивают на том, что языковые модели — это всего лишь «случайные попугаи» (просто повторяющие все более сложные последовательности слов, не понимая их на самом деле.
Эта дискуссия указывает на глубокую философскую дискуссию, которая не может быть разрешена. Тем не менее, мы считаем важным сосредоточиться на эмпирических характеристиках таких моделей, как GPT-3. Если языковая модель может постоянно давать правильные ответы на вопросы определенного типа, и исследователь уверен, что можно исключить смешанные факторы (например, убедившись, что языковая модель не подвергалась воздействию этих вопросов во время обучения), то неважно, как он понимает язык.Точно так же, как и у людей, это интересный и важный результат.
Другая возможная причина, по которой обучение предсказанию следующей леммы работает так хорошо, заключается в том, что язык сам по себе предсказуем. Закономерности языка часто (хотя и не всегда) связаны с закономерностями физического мира. Следовательно, когда языковая модель изучает отношения между словами, она обычно неявно изучает отношения, существующие в мире.
Кроме того, предсказание может быть основой как биологического, так и искусственного интеллекта. По мнению таких философов, как Энди Кларк, человеческий мозг можно рассматривать как «машину предсказаний», основная задача которой состоит в том, чтобы делать предсказания о нашей среде, а затем использовать эти предсказания для успешной навигации в окружающей среде. Прогнозирование имеет решающее значение как для биологического интеллекта, так и для искусственного интеллекта. Интуитивно понятно, что хорошие прогнозы идут рука об руку с хорошими представлениями — точные карты с большей вероятностью помогут людям лучше ориентироваться, чем неправильные. Мир огромен и сложен, и прогнозирование помогает организмам эффективно ориентироваться в этой сложности и адаптироваться к ней.
Основной проблемой при построении языковых моделей традиционно было определение наиболее полезных способов представления различных слов, тем более что значение многих слов сильно зависит от контекста. Метод предсказания следующего слова позволил исследователям обойти эту тернистую теоретическую головоломку, превратив ее в эмпирическую проблему.
Оказывается, языковые модели могут изучать, как работает человеческий язык, определяя наилучшие предсказания следующего слова, если мы предоставим достаточно данных и вычислительной мощности. Недостатком является то, что результирующая внутренняя работа системы еще не полностью понята людьми.
Примечание:
С технической точки зрения, фрагменты слов LLM становятся леммами, но мы будем игнорировать эту деталь реализации, чтобы уложиться в разумную длину статьи (см. статью «Раскрытие принципа работы токенизатора GPT»).
Сети с прямой связью также известны как многослойные персептроны. Ученые-компьютерщики изучают этот тип нейронных сетей с 1960-х годов.
Технически, после того, как нейрон вычислил взвешенную сумму входных данных, он передает результат функции активации. В этой статье эта деталь реализации будет проигнорирована, для полного объяснения того, как работают нейроны, ознакомьтесь с:
Если вы хотите узнать больше об обратном распространении, ознакомьтесь с объяснением Тима 2018 года о том, как работают нейронные сети.
На практике обучение обычно проводится партиями для повышения вычислительной эффективности. Таким образом, программное обеспечение может выполнить прямой проход 32000 токенов перед обратным распространением.
Посмотреть Оригинал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Как работают популярные деконструированные языковые большие модели
Скомпилировать: OneFlow
作宇|Тим Ли, Шон Тротт
Как именно модель большого языка работает внутри? Эта статья объясняет с минимальной математикой и терминологией.
Автор этой статьи, Тим Ли, раньше работал в технологическом издании Ars Technica. Недавно он запустил информационный бюллетень «Понимание ИИ», в котором в основном обсуждается принцип работы искусственного интеллекта. Шон Тротт — доцент Калифорнийского университета в Сан-Диего, где он изучает понимание человеческого языка и языковые модели. (Следующий контент компилируется и публикуется OneFlow после авторизации. Пожалуйста, свяжитесь с OneFlow, чтобы получить разрешение на перепечатку. Исходный текст:
Когда прошлой осенью ChatGPT был запущен, он вызвал ажиотаж в технологической индустрии и во всем мире. В то время исследователи машинного обучения годами пытались разработать большие языковые модели (LLM), но широкая публика не обращала особого внимания и не осознавала, насколько мощными они стали.
Сегодня почти все слышали о LLM, и десятки миллионов людей использовали их, но мало кто понимает, как они работают. Возможно, вы слышали, что LLM обучены «предсказывать следующее слово», и для этого им требуется много текста. Однако на этом объяснения обычно заканчиваются. Детали того, как они предсказывают следующее слово, часто рассматриваются как эзотерическая загадка.
Одной из причин этого является то, что эти системы были разработаны по-разному. Типичное программное обеспечение пишется инженерами-людьми, которые предоставляют компьютеру четкие пошаговые инструкции. Напротив, ChatGPT построен на нейронной сети, обученной с использованием миллиардов языковых слов.
Поэтому никто на земле полностью не понимает внутреннюю работу LLM. Исследователи усердно работают, пытаясь понять эти модели, но это медленный процесс, на завершение которого уходят годы, если не десятилетия.
Тем не менее, эксперты знают довольно много о том, как работают эти системы. Цель этой статьи — открыть эти знания для широкой аудитории. Мы постараемся объяснить, что известно о внутренней работе этих моделей, не вдаваясь в технический жаргон или высшую математику.
Мы начнем с объяснения векторов слов, которые представляют собой удивительный способ для языковых моделей представлять и рассуждать о языке. Затем мы погрузимся в Transformers, краеугольный камень построения моделей, таких как ChatGPT. Наконец, мы объясняем, как обучаются эти модели, и выясняем, почему можно добиться хорошей производительности с огромными объемами данных.
вектор слова
Чтобы понять, как работают языковые модели, сначала нужно понять, как они представляют слова. Люди используют последовательности букв для представления английских слов, таких как CAT для кошек. Языковые модели используют длинный список чисел, называемых векторами слов. Например, вот один из способов представить кошку в виде вектора:
[0,0074; 0,0396, -0,0998, -0,0796, …, 0,0002]
(примечание: полная длина вектора на самом деле составляет 300 чисел)
Зачем использовать такие сложные обозначения? Вот аналогия: Вашингтон, округ Колумбия, расположен на 38,9 градусах северной широты и 77 градусах западной долготы, что мы можем представить в векторной записи:
• Координаты Вашингтона, округ Колумбия: [38.9, 77]
• Координаты Нью-Йорка: [40.7, 74]
• Координаты Лондона: [51.5, 0.1]
• Координаты Парижа: [48.9, -2.4]
Это полезно для рассуждений о пространственных отношениях. Вы можете видеть, что Нью-Йорк находится очень близко к Вашингтону, округ Колумбия, потому что 38,9 ближе к 40,7, а 77 ближе к 74 в координатах. Точно так же Париж находится очень близко к Лондону. Но Париж далеко от Вашингтона, округ Колумбия.
Языковые модели используют аналогичный подход: каждый вектор слов представляет собой точку в «пространстве слов», где слова с похожим значением расположены ближе друг к другу. Например, слова, наиболее близкие к кошкам в векторном пространстве, включают «собака», «котенок» и «домашнее животное». Основное преимущество представления слов в виде векторов действительных чисел (в отличие от строк букв, таких как «CAT») заключается в том, что числа могут выполнять операции, которые не могут выполнять буквы.
Слова слишком сложны, чтобы их можно было представить только в двух измерениях, поэтому языковые модели используют векторные пространства с сотнями или даже тысячами измерений. Люди не могут представить пространства с такими большими размерами, но компьютеры могут рассуждать о них и получать полезные результаты.
Исследователи изучают векторы слов на протяжении десятилетий, но эта концепция действительно набрала обороты в 2013 году, когда Google объявил о проекте word2vec. Google проанализировал миллионы документов, собранных из Новостей Google, чтобы выяснить, какие слова чаще всего встречаются в похожих предложениях. Со временем обученная нейронная сеть учится размещать слова похожих категорий (например, собака и кошка) рядом друг с другом в векторном пространстве.
Векторы слов Google также имеют еще одну интересную особенность: вы можете использовать векторные операции для «вывода» слов. Например, исследователи Google берут самый большой (самый большой) вектор, вычитают большой (большой) вектор и добавляют маленький (маленький) вектор. Ближайшее к результирующему вектору слово является наименьшим (наименьшим) вектором.
• Швейцарский для Швейцарии, как камбоджийский для Камбоджи. (Страна гражданства)
• Париж и Франция похожи на Берлин и Германию. (капитал)
• Безнравственное и нравственное подобны возможному и невозможному. (антоним)
• Мышь (крысы) и мыши (множественное число от мышей) похожи на доллары (доллары) и доллары (множественное число от долларов). (множественное число)
• Мужчины и женщины подобны королям и королевам. (гендерная роль)
Поскольку эти векторы построены на основе того, как люди используют язык, они отражают многие предубеждения, существующие в человеческом языке. Например, (доктор) минус (мужчина) плюс (женщина) равно (медсестра) в некоторых моделях встраивания слов. Уменьшение этой предвзятости является новой областью исследований.
Тем не менее, вложения слов являются полезной основой для языковых моделей, поскольку они кодируют тонкую, но важную информацию об отношениях между словами. Если языковая модель узнает что-то о кошках (например, иногда ходит к ветеринару), то то же самое, скорее всего, применимо к котятам или собакам. Если модель узнала об отношениях между Парижем и Францией (например, о том, что у них один язык), то вполне вероятно, что отношения между Берлином и Германией и Римом и Италией будут такими же.
Значение слова зависит от контекста
Простые схемы встраивания слов, подобные этой, не отражают важный факт естественного языка: слова часто имеют несколько значений.
Например, слово «банк» может относиться к финансовому учреждению или берегу реки. Или рассмотрите следующие предложения:
• Джон берет журнал (Джон берет журнал).
• Сьюзан работает в журнале (Сьюзен работает в журнале).
В этих предложениях значение слова «журнал» родственное, но разное. Джон взял журнал на бумажном носителе, а Сьюзен работала в агентстве, которое издавало журналы на бумажном носителе.
Когда слово имеет два несвязанных значения, лингвисты называют их омонимами. Когда слово имеет два тесно связанных значения, например «журнал», лингвисты называют это полисемией.
Языковые модели, такие как ChatGPT, могут представлять одно и то же слово с помощью разных векторов в зависимости от контекста, в котором это слово встречается. Есть вектор "банк (финансовое учреждение)" и вектор "банк (берег реки)". Есть вектор для "журнал (издание организации)" и вектор для "журнал (издательство)". Как и следовало ожидать, в языковой модели используются векторы, более близкие по значениям многозначных слов и менее похожие по значениям омофонов.
До сих пор мы не объясняли, как языковые модели делают это — скоро мы этим займемся. Однако мы детализируем эти векторные представления, которые важны для понимания того, как работают языковые модели.
Традиционное программное обеспечение предназначено для работы с явными данными. Если вы попросите компьютер вычислить «2 + 3», не будет никакой двусмысленности в отношении того, что означают 2, + или 3. Но двусмысленность в естественном языке выходит далеко за рамки омонимов и полисемии:
• В «клиент попросил механика починить его машину», относится ли «его» к покупателю или к механику?
• В фразе «профессор призвал студентку сделать домашнее задание» относится ли «она» к профессору или к студентке?
• В фразе «дрозофилы, как бананы» «мухи» — это глагол (относится к фруктам, которые летают по небу, как бананы) или существительное (относится к дрозофилам, которые любят бананы)?
Люди разрешают этот тип двусмысленности в зависимости от контекста, но простых и четких правил не существует. Скорее, это требует понимания того, что на самом деле происходит в мире. Вы должны знать, что механики обычно чинят машины клиентов, студенты обычно делают свою домашнюю работу, а фрукты обычно не летают.
Векторы слов предоставляют языковым моделям гибкий способ представления точного значения каждого слова в контексте определенного абзаца. Теперь давайте посмотрим, как они это делают.
Преобразование векторов слов в предсказания слов
Модель GPT-3, стоящая за исходной версией ChatGPT, состоит из десятков слоев нейронной сети. Каждый слой принимает в качестве входных данных последовательность векторов — по одному для каждого слова во входном тексте — и добавляет информацию, помогающую прояснить значение этого слова и лучше предсказать слова, которые могут быть следующими.
Начнем с простого примера.
В нижней части графика входной текст для модели — «Джон хочет, чтобы его банк обналичил», и эти слова представлены в виде векторов в стиле word2vec и переданы первому преобразователю. Этот Трансформер определяет, что и want, и cash — это глаголы (эти два слова также могут быть существительными). Мы обозначаем этот дополнительный контекст красным текстом в круглых скобках, но модель на самом деле сохраняет эту информацию, изменяя векторы слов таким образом, что людям трудно их интерпретировать. Эти новые векторы называются скрытыми состояниями и передаются следующему преобразователю.
Второй Трансформер добавляет еще две контекстуальные сведения: уточняет, что банк относится к финансовому учреждению (финансовому учреждению), а не к берегу реки, и что его относится к местоимению Джона. Второй преобразователь создает еще один набор скрытых векторов состояния, отражающих всю информацию, полученную моделью ранее.
На приведенном выше графике показан чисто гипотетический LLM, поэтому не стоит слишком привязываться к деталям. Настоящие LLM, как правило, имеют больше слоев. Например, самая мощная версия GPT-3 имеет 96 слоев.
Исследования показывают, что (первые несколько уровней сосредоточены на понимании грамматики предложения и разрешении двусмысленностей, показанных выше. Более поздние уровни (не показаны выше, чтобы сохранить управляемый размер диаграммы) посвящены высокоуровневому пониманию всего абзаца.
Например, когда LLM «читает» короткий рассказ, кажется, что он запоминает всевозможную информацию о персонажах рассказа: пол и возраст, отношения с другими персонажами, прошлые и нынешние места, личности и цели и многое другое.
Исследователи не до конца понимают, как LLM отслеживают эту информацию, но логически информация должна передаваться между уровнями путем изменения скрытых векторов состояния. Размер вектора в современных LLM чрезвычайно велик, что способствует выражению более богатой семантической информации.
Например, самая мощная версия GPT-3 использует векторы слов с размерностью 12288, то есть каждое слово представлено списком из 12288 чисел. Это в 20 раз больше, чем схема word2vec, предложенная Google в 2013 году. Вы можете думать обо всех этих дополнительных измерениях как о своего рода «временном пространстве», которое GPT-3 может использовать для записи контекста каждого слова. Информативные примечания, сделанные более ранними слоями, могут быть прочитаны и изменены более поздними слоями, позволяя модели постепенно углублять свое понимание всего текста.
Итак, предположим, мы изменили приведенную выше диаграмму, чтобы описать 96-уровневую языковую модель для интерпретации истории из 1000 слов. Уровень 60 может включать вектор для Джона с вектором, обозначенным «(Главный герой, мужчина, женат на Шерил, двоюродной сестре Дональда, из Миннесоты, в настоящее время в Бойсе, пытается найти потерянный бумажник)» в скобках. Опять же, все эти факты (и, возможно, больше) будут закодированы в списке из 12 288 чисел, соответствующих слову Джон. Или некоторая информация в этой истории может быть закодирована в 12288-мерном векторе для Шерил, Дональда, Бойсе, кошелька или других слов.
Цель этого состоит в том, чтобы 96-й и последний слой сети выдавал скрытое состояние, содержащее всю необходимую информацию для предсказания следующего слова.
Механизм внимания
Теперь поговорим о том, что происходит внутри каждого Трансформера. Преобразователь имеет два процесса при обновлении скрытого состояния каждого слова входного абзаца:
На этапе внимания словарный запас «осматривается» в поисках других слов, имеющих соответствующий контекст, и обменивается информацией друг с другом.
На шаге прямой связи каждое слово «думает» об информации, собранной на предыдущем шаге внимания, и пытается предсказать следующее слово.
Конечно, эти шаги выполняет сеть, а не отдельные слова. Но мы утверждаем это таким образом, чтобы подчеркнуть, что Transformer использует слова в качестве основной единицы этого анализа, а не целые предложения или абзацы. Такой подход позволяет LLM в полной мере использовать возможности массовой параллельной обработки современных чипов GPU. Это также помогает масштабировать LLM до длинных абзацев, содержащих тысячи слов. Эти два аспекта являются проблемами, с которыми сталкиваются ранние языковые модели.
Вы можете думать о механизме внимания как о сервисе сопоставления слов. Каждое слово составляет контрольный список (называемый вектором запроса), который описывает характеристики искомых слов. Каждое слово также составляет контрольный список (называемый ключевым вектором), описывающий его собственные характеристики. Нейронная сеть находит наиболее подходящее слово, сравнивая каждый вектор ключа с каждым вектором запроса (вычисляя скалярное произведение). Как только совпадение найдено, он передает соответствующую информацию от слова, которое произвело ключевой вектор, к слову, которое произвело вектор запроса.
Например, в предыдущем разделе мы показали гипотетическую модель Трансформера, которая обнаружила, что «его» относится к «Джону» в части предложения «Джон хочет, чтобы его банк обналичил». Внутри процесс может идти примерно так: вектор запроса для «его» может быть эффективно представлен как «Я ищу: существительные, описывающие мужчин». Ключевой вектор для «Джон» может быть эффективно выражен как «Я - существительное, описывающее мужчину». Сеть обнаружит, что эти два вектора совпадают, и передаст информацию о векторе «Джон» в вектор «его».
Каждый уровень внимания имеет несколько «головок внимания», что означает, что этот процесс обмена информацией происходит несколько раз (параллельно) на каждом уровне. Каждая голова внимания фокусируется на другой задаче:
• Голова внимания может сопоставлять местоимения с существительными, как мы обсуждали ранее.
• Другой заголовок внимания может обрабатывать значение многозначных слов, таких как «банк».
• Третья голова внимания может связывать фразы из двух слов, такие как «Джо Байден».
Головки внимания, подобные этим, часто работают последовательно, при этом результат операции внимания на одном уровне внимания становится входом для головки внимания на следующем уровне. На самом деле каждая из задач, которые мы только что перечислили, может потребовать нескольких головок внимания, а не только одной.
Самая большая версия GPT-3 имеет 96 уровней, и каждый уровень имеет 96 головок внимания, поэтому каждый раз, когда предсказывается новое слово, GPT-3 будет выполнять 9216 операций внимания.
Реальный пример
В двух предыдущих разделах мы показали идеализированные версии того, как работают головы внимания. Теперь давайте посмотрим на исследования внутренней работы реальных языковых моделей.
В прошлом году исследователи из Redwood Research изучили GPT-2, предшественника ChatGPT, на наличие отрывка «Когда Мэри и Джон пошли в магазин, Джон дал выпить (когда Мэри и Джон пошли в магазин, Джон дал выпить ) «Процесс предсказания следующего слова.
GPT-2 предсказывает, что следующим словом будет Мэри. Исследователи обнаружили, что этому прогнозу способствовали три типа внимания:
• Три головки внимания, которые они называют головкой движения имен, копируют информацию из вектора Мэри в конечный входной вектор (вектор для слова to). GPT-2 использует информацию в этом крайнем правом векторе для предсказания следующего слова.
• Как нейронная сеть решает, что слово «Мэри» является правильным для копирования? Обратив процесс вычисления GPT-2 вспять, ученые обнаружили набор из четырех головок внимания, которые они назвали Головой торможения субъекта (Subject Inhibition Head), которые помечали второй вектор Джона, предотвращая копирование имени Джона движущейся головой имени.
• Как головка подавления субъекта узнает, что Джона нельзя копировать? Команда экстраполировала дальше и обнаружила две головы внимания, которые они назвали Duplicate Token Heads. Они помечают второй вектор Джона как дублирующую копию первого вектора Джона, что помогает субъекту подавить голову, чтобы решить, что Джона не следует копировать.
Короче говоря, эти девять головок внимания позволяют GPT-2 понять, что «Джон дал выпить Джону» не имеет смысла, и вместо этого выбирает «Джон дал выпить Мэри (Джон дал выпить Мэри)».
Этот пример показывает, насколько сложно полностью понять LLM. Группа из пяти исследователей из Редвуда опубликовала 25-страничную статью, объясняющую, как они идентифицировали и проверили эти точки внимания. Однако даже со всей этой работой мы все еще далеки от полного объяснения того, почему GPT-2 решила предсказать «Мэри» в качестве следующего слова.
Например, как модель узнает, что следующим словом должно быть чье-то имя, а не слово другого типа? Легко представить, что в подобных предложениях Мэри не будет хорошим предсказателем следующего. Например, в предложении «когда Мэри и Джон пошли в ресторан, Джон отдал свои ключи (когда Мэри и Джон пошли в ресторан, Джон отдал ключи)», логически следующим словом должно быть «камердинер ( представляющего парковщика)».
Предполагая, что ученые-компьютерщики проведут достаточно исследований, они смогут выявить и объяснить другие этапы процесса рассуждений GPT-2. В конце концов, они могли бы полностью понять, как GPT-2 решил, что «Мэри» является наиболее вероятным следующим словом в предложении. Но могут потребоваться месяцы или даже годы дополнительных усилий, чтобы понять, как предсказывается слово.
Языковые модели, лежащие в основе ChatGPT — GPT-3 и GPT-4 — больше и сложнее, чем GPT-2, и они способны решать более сложные логические задачи, чем простые предложения, изученные командой Redwood. Поэтому работа по полному объяснению этих систем будет огромным проектом, и маловероятно, что люди выполнят его за короткое время.
Шаг прямой связи
После того, как головка внимания передает информацию между векторами слов, сеть прямой связи «думает» о каждом векторе слов и пытается предсказать следующее слово. На этом этапе между словами не происходит обмена информацией, и уровень прямой связи анализирует каждое слово независимо. Однако уровни прямой связи имеют доступ к любой информации, ранее скопированной головками внимания. Ниже приведена структура уровня прямой связи самой большой версии GPT-3.
Уровень прямой связи является мощным из-за большого количества соединений. Мы рисуем эту сеть, используя три нейрона в качестве выходного слоя и шесть нейронов в качестве скрытого слоя, но слой прямой связи GPT-3 намного больше: 12288 нейронов в выходном слое (что соответствует 12288-мерному вектору слов модели). , в скрытом слое 49152 нейрона.
Итак, в самой большой версии GPT-3 скрытый слой имеет 49152 нейрона, каждый нейрон имеет 12288 входных значений (таким образом, каждый нейрон имеет 12288 весовых параметров), а также 12288 выходных нейронов, каждый Нейрон имеет 49152 входных значения (таким образом, 49152 весовых параметра на нейрон). Это означает, что каждый слой прямой связи имеет 49152*12288+12288*49152=1,2 миллиарда весовых параметров. И есть 96 уровней прямой связи, всего 1,2 миллиарда*96=116 миллиардов параметров! Это эквивалентно почти двум третям объема параметров GPT-3 со 175 миллиардами параметров.
В статье 2020 года исследователи из Тель-Авивского университета обнаружили, что слои с прямой связью работают путем сопоставления с образцом: каждый нейрон в скрытом слое соответствует определенному образцу во входном тексте. Ниже представлена 16-слойная версия. Некоторые нейроны в GPT- 2 соответствуют шаблону:
• Нейроны слоя 1 сопоставляют последовательности слов, оканчивающиеся на «заменители».
• Нейроны в слое 6 сопоставляют последовательности слов, которые имеют отношение к военным действиям и оканчиваются на «база» или «база».
• Нейроны в слое 13 соответствуют последовательностям, которые заканчиваются временным диапазоном, например, «между 15:00 и 19:00» или «с 19:00 в пятницу до».
• Нейроны в слое 16 сопоставляют последовательности, связанные с телешоу, такие как «оригинальная дневная версия NBC, заархивированная» или «задержка по времени увеличила количество просмотров этого эпизода на 57 процентов».
Как видите, в более поздних слоях схема становится более абстрактной. Ранние слои, как правило, соответствуют определенным словам, в то время как более поздние слои соответствуют фразам, которые попадают в более широкие семантические категории, такие как телешоу или временные интервалы.
Это интересно, потому что, как упоминалось ранее, уровень прямой связи может проверять только одно слово за раз. Таким образом, при классификации последовательности «Оригинальный дневной выпуск NBC, заархивированный» как «связанный с телевидением» он имеет доступ только к векторам для слова «архив», а не к таким словам, как NBC или дневное время. Можно сделать вывод, что причина, по которой уровень прямой связи может решить, что «заархивированный» является частью последовательности, связанной с телевидением, заключается в том, что головка внимания ранее переместила контекстную информацию в «архивный» вектор.
Когда нейрон соответствует одному из шаблонов, он добавляет информацию к вектору слов. Хотя эту информацию не всегда легко интерпретировать, во многих случаях вы можете думать о ней как о предварительном предсказании следующего слова.
Вывод сетей с прямой связью с использованием векторных операций
Недавнее исследование из Университета Брауна (показывает элегантный пример того, как слои прямой связи могут помочь предсказать следующее слово. Ранее мы обсуждали исследование Google word2vec, показывающее, что рассуждения по аналогии могут быть выполнены с использованием векторных операций. Например, Берлин - Германия + Франция = Париж) .
Исследователи из Университета Брауна обнаружили, что слои прямой связи иногда используют этот точный метод для предсказания следующего слова. Например, они изучали ответы GPT-2 на следующие подсказки: «Вопрос: Какая столица Франции? Ответ: Париж. Вопрос: Какая столица Польши? Ответ:»
Команда изучила версию GPT-2 с 24 слоями. После каждого слоя ученые из Университета Брауна исследовали модель, выискивая ее наилучшее предположение для следующего токена. В первых 15 слоях предположение с наибольшей вероятностью — это, казалось бы, случайное слово. Между слоями 16 и 19 модель начинает предсказывать, что следующее слово будет польским — неверно, но становится ближе. Затем на 20-м уровне наиболее вероятной догадкой становится Варшава — правильный ответ, который остается неизменным для последних четырех уровней.
Исследователи из Университета Брауна обнаружили, что 20-й слой прямой связи преобразует Польшу в Варшаву, добавляя вектор, который сопоставляет векторы стран с их соответствующими столицами. При добавлении того же вектора к Китаю ответ получает Пекин.
Уровень прямой связи в той же модели использует векторные операции для преобразования слов нижнего регистра в слова верхнего регистра и слов в настоящем времени в их эквиваленты в прошедшем времени.
Уровень внимания и уровень прямой связи имеют разные функции
До сих пор мы видели два практических примера предсказания слов GPT-2: голова внимания помогает предсказать, что Джон напоит Мэри, а уровень прямой связи помогает предсказать, что Варшава является столицей Польши.
В первом случае Мэри приходит из введенной пользователем подсказки. Но во втором случае Варшава в подсказке не фигурировала. Вместо этого ГПТ-2 должен был «вспомнить», что Варшава — столица Польши, и эта информация была извлечена из данных обучения.
Когда исследователи из Университета Брауна отключили слой прямой связи, преобразующий Польшу в Варшаву, модель больше не предсказывала, что следующим словом будет Варшава. Но что интересно, если они затем добавляли предложение «Столица Польши — Варшава» в начале подсказки, GPT-2 снова мог ответить на вопрос. Это может быть связано с тем, что GPT-2 использует механизм внимания для извлечения имени Варшава из реплики.
Это разделение труда проявляется более широко: механизм внимания извлекает информацию из более ранних частей реплики, в то время как уровень прямой связи позволяет языковой модели «запоминать» информацию, которая не появлялась в реплике.
Фактически, уровень прямой связи можно рассматривать как базу данных информации, которую модель извлекла из обучающих данных. Ранние уровни прямой связи с большей вероятностью будут кодировать простые факты, связанные с конкретными словами, например, «Трамп часто приходит после Дональда». Более поздние слои кодируют более сложные отношения, такие как «добавьте этот вектор, чтобы преобразовать страну в ее столицу.
Метод обучения языковой модели
Многие ранние алгоритмы машинного обучения требовали обучающих примеров, помеченных людьми. Например, обучающими данными могут быть фотографии собак или кошек с искусственными ярлыками («собака» или «кошка»). Потребность в размеченных данных усложняет и удорожает создание наборов данных, достаточно больших для обучения мощных моделей.
Ключевым нововведением LLM является то, что они не требуют явно помеченных данных. Вместо этого они учатся, пытаясь предсказать следующее слово в отрывке текста. Для обучения этих моделей подходит почти любой письменный материал — от страниц Википедии до новостных статей и компьютерного кода.
Например, LLM может принять ввод «Мне нравится мой кофе со сливками и (мне нравится мой кофе со сливками и)» и попытаться предсказать «сахар (сахар)» в качестве следующего слова. Свежеинициализированная языковая модель ужасна в этом, потому что каждый из ее весовых параметров — самая мощная версия GPT-3 достигает 175 миллиардов параметров — изначально начинается практически со случайного числа.
Но по мере того, как модель видит больше примеров — сотни миллиардов слов — эти веса постепенно корректируются, чтобы делать более точные прогнозы.
Давайте воспользуемся аналогией, чтобы проиллюстрировать, как работает этот процесс. Допустим, вы принимаете душ и хотите, чтобы вода была нужной температуры: не слишком горячей и не слишком холодной. Вы никогда раньше не пользовались этим краном, поэтому регулируете направление ручки крана по своему желанию и чувствуете температуру воды. Если слишком жарко или слишком холодно, вы повернете ручку в противоположном направлении, и тем меньше регулировок вы будете делать с ручкой по мере приближения к надлежащей температуре воды.
Теперь давайте внесем несколько изменений в эту аналогию. Во-первых, представьте, что имеется 50 257 нажатий, каждое из которых соответствует отдельному слову, например, «the», «cat» или «bank». Ваша цель состоит в том, чтобы из крана текла только вода, соответствующая следующему слову в последовательности.
Во-вторых, за краном есть куча соединенных между собой труб, а на этих трубах куча клапанов. Поэтому, если вода течет не из того крана, вы не можете просто отрегулировать ручку на кране. Вы отправляете армию умных белок, чтобы отследить каждую трубу и отрегулировать каждый клапан, который они найдут на своем пути.
Это усложняется, и, поскольку одна и та же труба часто питает несколько кранов, требуется тщательное продумывание того, как определить, какие клапаны затянуть и ослабить и на сколько.
Очевидно, что этот пример становится нелепым, если его понимать буквально. Строительство трубопроводной сети со 175 миллиардами клапанов нереально и нецелесообразно. Но благодаря закону Мура компьютеры могут работать и работают в таком масштабе.
До сих пор все части LLM, обсуждаемые в этой статье, — нейроны в слое прямой связи и головки внимания, которые передают контекстную информацию между словами, — реализованы в виде ряда простых математических функций (в основном умножение матриц), поведение которых определяется регулируемым параметром веса. Так же, как белка в моей истории управляет потоком воды, откручивая вентиль, алгоритм обучения управляет потоком информации через нейронную сеть, увеличивая или уменьшая весовые параметры языковой модели.
Процесс обучения делится на два этапа. Сначала сделайте «проход вперед», включив воду и убедившись, что вода течет из правильного крана. Затем воду перекрывают для «обратного прохода», при котором белки мчатся по каждой трубе, затягивая или ослабляя клапаны. В цифровых нейронных сетях роль белки играет алгоритм, называемый обратным распространением, который «проходит назад» по сети, используя вычисления для оценки того, насколько необходимо изменить каждый весовой параметр.
Для этого — прямого распространения примера, а затем обратного распространения для улучшения производительности сети на этом примере — требуются десятки миллиардов математических операций. А для обучения такой большой модели, как GPT-3, необходимо повторять этот процесс миллиарды раз — для каждого слова каждых обучающих данных. По оценкам OpenAI, для обучения GPT-3 требуется более 300 миллиардов терафлопс вычислений, что потребовало бы нескольких месяцев работы десятков высокопроизводительных компьютерных чипов.
Удивительная производительность GPT-3
Вы можете быть удивлены тем, насколько хорошо работает процесс обучения. ChatGPT может выполнять множество сложных задач — писать статьи, проводить аналогии и даже писать компьютерный код. Итак, как такой простой механизм обучения создает такую мощную модель?
Одна из причин — масштаб. Трудно переоценить огромное количество примеров, которые видит такая модель, как GPT-3. GPT-3 обучается на корпусе из примерно 500 миллиардов слов. Для сравнения, средний человеческий ребенок встречает около 100 миллионов слов в возрасте до 10 лет.
За последние пять лет OpenAI постоянно увеличивал размер своих языковых моделей. В широко распространенной статье 2020 года (в которой сообщается, что точность их языковых моделей имеет степенную зависимость от размера модели, размера набора данных и объема вычислений, используемых для обучения, некоторые тенденции даже охватывают более семи порядков».
Чем больше размер модели, тем лучше она справляется с задачами, связанными с языком. Но только в том случае, если они увеличат объем обучающих данных в аналогичный раз. А для обучения более крупных моделей на большем количестве данных требуется больше вычислительной мощности.
В 2018 году OpenAI выпустила первую большую модель GPT-1. Он использует 768-мерный вектор слов, всего 12 слоев и 117 миллионов параметров. Через несколько месяцев OpenAI выпустила GPT-2, самая большая версия которого имеет 1600-мерные векторы слов, 48 слоев и в общей сложности 1,5 миллиарда параметров. В 2020 году OpenAI выпустила GPT-3, который имеет 12288-мерный вектор слов, 96 слоев и в общей сложности 175 миллиардов параметров.
В этом году OpenAI выпустила GPT-4. Компания не опубликовала никаких архитектурных подробностей, но в отрасли широко распространено мнение, что GPT-4 намного больше, чем GPT-3.
Каждая модель не только узнала больше фактов, чем ее меньшая предшественница, но и показала лучшую производительность в задачах, требующих некоторой формы абстрактного мышления.
Например, рассмотрим следующую историю: Мешок, полный попкорна. В пакете нет шоколада. Однако на этикетке на пакете было написано «шоколад» вместо «попкорн». Сэм нашел сумку. Она никогда раньше не видела сумку. Она не могла видеть, что было в сумке. Она прочитала этикетку.
Как вы, наверное, догадались, Сэм считает, что в пакете шоколад, и с удивлением обнаруживает, что в нем есть попкорн.
Психологи называют это исследование способности рассуждать о психических состояниях других «теорией разума». Большинство людей имеют эту способность с самого начала начальной школы. Мнения экспертов расходятся во мнениях относительно того, применима ли теория разума к какому-либо нечеловеческому животному, такому как шимпанзе, но общее мнение состоит в том, что оно занимает центральное место в человеческом социальном познании.
Ранее в этом году психолог из Стэнфордского университета Михал Косински опубликовал исследование (изучающее способность LLM решать задачи по теории разума).Он прочитал различные языковые модели истории, подобной только что процитированной, а затем попросил их закончить предложение, например: «Нравится». она считает, что сумка полна», правильный ответ — «шоколад», но незрелая языковая модель может сказать «попкорн» или что-то в этом роде.
GPT-1 и GPT-2 не прошли этот тест. Но первая версия GPT-3, выпущенная в 2020 году, была верна почти на 40 процентов — уровень производительности Косински сравнивался с трехлетним ребенком. Последняя версия, GPT-3, выпущенная в ноябре прошлого года, улучшила точность ответов на приведенные выше вопросы примерно до 90%, что сравнимо с точностью семилетнего ребенка. GPT-4 правильно ответил примерно на 95 процентов вопросов теории разума.
Стоит отметить, что не все исследователи согласны с тем, что эти результаты доказывают теорию сознания: например, небольшие изменения в задаче ложного убеждения привели к значительному падению производительности GPT-3 (в то время как производительность GPT-3 в других задачах, измеряющих теорию разума Более неустойчивый (как пишет в нем Шон, успешная работа может быть объяснена смешанным фактором в задании — «умным Гансом», имея в виду лошадь по имени Ганс, которая, казалось, могла выполнять некоторые простые интеллектуальные задачи, но на самом деле просто полагайтесь на бессознательные сигналы, подаваемые людьми)», но он появляется на языковой модели, а не на лошади.
Тем не менее, GPT-3 приближается к производительности человека в нескольких задачах, предназначенных для измерения теории разума, что было невообразимо всего несколько лет назад, и это согласуется с тем фактом, что более крупные модели, как правило, лучше справляются с задачами, требующими продвинутой логической точки зрения. .
Это лишь один из многих примеров, когда языковые модели спонтанно развивают продвинутые способности к рассуждению. В апреле исследователи из Microsoft опубликовали статью (в которой говорится, что GPT-4 продемонстрировал ранние дразнящие признаки общего искусственного интеллекта — способность мыслить сложным, человеческим образом.
Например, один исследователь попросил GPT-4 нарисовать единорога, используя малоизвестный язык графического программирования под названием TiKZ. GPT-4 ответил несколькими строками кода, которые исследователи затем ввели в программное обеспечение TiKZ. Полученные изображения, хотя и грубые, ясно показывают, что GPT-4 имеет некоторое представление о том, как выглядит единорог.
В настоящее время у нас нет реального понимания того, как LLM совершают такие подвиги. Некоторые люди думают, что примеры, подобные этому, показывают, что модель начинает действительно понимать значение слов в своем обучающем наборе. Другие настаивают на том, что языковые модели — это всего лишь «случайные попугаи» (просто повторяющие все более сложные последовательности слов, не понимая их на самом деле.
Эта дискуссия указывает на глубокую философскую дискуссию, которая не может быть разрешена. Тем не менее, мы считаем важным сосредоточиться на эмпирических характеристиках таких моделей, как GPT-3. Если языковая модель может постоянно давать правильные ответы на вопросы определенного типа, и исследователь уверен, что можно исключить смешанные факторы (например, убедившись, что языковая модель не подвергалась воздействию этих вопросов во время обучения), то неважно, как он понимает язык.Точно так же, как и у людей, это интересный и важный результат.
Другая возможная причина, по которой обучение предсказанию следующей леммы работает так хорошо, заключается в том, что язык сам по себе предсказуем. Закономерности языка часто (хотя и не всегда) связаны с закономерностями физического мира. Следовательно, когда языковая модель изучает отношения между словами, она обычно неявно изучает отношения, существующие в мире.
Кроме того, предсказание может быть основой как биологического, так и искусственного интеллекта. По мнению таких философов, как Энди Кларк, человеческий мозг можно рассматривать как «машину предсказаний», основная задача которой состоит в том, чтобы делать предсказания о нашей среде, а затем использовать эти предсказания для успешной навигации в окружающей среде. Прогнозирование имеет решающее значение как для биологического интеллекта, так и для искусственного интеллекта. Интуитивно понятно, что хорошие прогнозы идут рука об руку с хорошими представлениями — точные карты с большей вероятностью помогут людям лучше ориентироваться, чем неправильные. Мир огромен и сложен, и прогнозирование помогает организмам эффективно ориентироваться в этой сложности и адаптироваться к ней.
Основной проблемой при построении языковых моделей традиционно было определение наиболее полезных способов представления различных слов, тем более что значение многих слов сильно зависит от контекста. Метод предсказания следующего слова позволил исследователям обойти эту тернистую теоретическую головоломку, превратив ее в эмпирическую проблему.
Оказывается, языковые модели могут изучать, как работает человеческий язык, определяя наилучшие предсказания следующего слова, если мы предоставим достаточно данных и вычислительной мощности. Недостатком является то, что результирующая внутренняя работа системы еще не полностью понята людьми.
Примечание:
С технической точки зрения, фрагменты слов LLM становятся леммами, но мы будем игнорировать эту деталь реализации, чтобы уложиться в разумную длину статьи (см. статью «Раскрытие принципа работы токенизатора GPT»).
Сети с прямой связью также известны как многослойные персептроны. Ученые-компьютерщики изучают этот тип нейронных сетей с 1960-х годов.
Технически, после того, как нейрон вычислил взвешенную сумму входных данных, он передает результат функции активации. В этой статье эта деталь реализации будет проигнорирована, для полного объяснения того, как работают нейроны, ознакомьтесь с:
Если вы хотите узнать больше об обратном распространении, ознакомьтесь с объяснением Тима 2018 года о том, как работают нейронные сети.
На практике обучение обычно проводится партиями для повышения вычислительной эффективности. Таким образом, программное обеспечение может выполнить прямой проход 32000 токенов перед обратным распространением.