Введние
Выпуск ChatGPT компанией OpenAI в декабре 2022 года привлек невероятное количество внимания. Всеобщий интерес распространяется от искусственного интеллекта до класса технологий, лежащих в основе ИИ чатбота. Эти модели, называемые большими языковыми моделями (large language models — LLM), способны генерировать текст на, казалось бы, бесконечное множество тем. Понимание LLMs является ключом к пониманию того, как работает ChatGPT.
Что делает LLM впечатляющими, так это их способность генерировать человекоподобный текст практически на любом языке (включая языки программирования). Эти модели являются настоящей инновацией — ничего подобного ранее не существовало.
В этой статье будет объяснено, что это за модели, как они разрабатываются и как они работаю , в той мере, в какой мы понимаем, как они работают. Как выясняется, наше понимание того, почему они так работают, к сожалению, лишь частичное
Большая языковая модель — это тип нейронной сети

Нейронная сеть — это тип модели машинного обучения, основанный на ряде небольших математических функций, называемых нейронами. Подобно нейронам в человеческом мозге, они являются самым низким уровнем вычислений.
Каждый нейрон представляет собой простую математическую функцию, которая вычисляет выходные данные на основе некоторых входных данных. Сила нейронной сети в связе\ях между нейронами.
Каждый нейрон связан с некоторыми из своих аналогов, и сила каждого соединения определяется количественно с помощью числового веса. Они определяют степень, в которой выходные данные одного нейрона будут приниматься во внимание в качестве входных данных для следующего нейрона.
Нейронная сеть может быть очень маленькой. Например, в базовой нейронной сети может быть шесть нейронов с восемью связями между ними. Однако нейронная сеть может быть и очень большой, как в случае с LLM. В них могут быть миллионы нейронов с многими сотнями миллиардов связей между ними, причем каждая связь имеет свой собственный вес.
LLM использует архитектуру модели трансформеров
Мы уже знаем, что LLM — это тип нейронной сети. Более конкретно, в LLM используется особая архитектура нейронной сети, называемая трансформером, которая предназначена для обработки и генерации данных в последовательности, подобной тексту.
Архитектура в данном контексте описывает, как нейроны соединены друг с другом. Все нейронные сети группируют свои нейроны в несколько различных слоев. Если слоев много, сеть называют «глубокой», откуда и происходит термин «глубокое обучение».
В очень простой архитектуре нейронной сети каждый нейрон может быть связан с каждым нейроном в вышележащем слое. В других нейрон может быть соединен только с некоторыми другими нейронами, которые находятся рядом с ним в решетке.
Последний случай характерен для так называемых сверточных нейронные сети (CNN) или конволюционных сетей. За последнее десятилетие cверточные нейронные сети стали основой современного распознавания изображений. Тот факт, что Сверточная нейронная сеть структурирована в виде сетки (как пиксели на изображении), не случаен — на самом деле, это важная причина того, почему эта архитектура хорошо работает с данными изображений.
Модель трансформеров уже существенно отличается . Разработанная модель в 2017 году исследователями из Google, трансформер вводит идею «внимания», при которой одни нейроны сильнее связаны (или «уделяют больше внимания») с другими нейронами в последовательности.
Поскольку текст зачитывается последовательно, одно слово за другим, причем разные части предложения ссылаются на другие или модифицируют их (например, прилагательное, которое модифицирует существительное, но не глагол), поэтому не случайно, что архитектура, созданная для работы в последовательности, с различной силой связи между различными частями этой последовательности, должна хорошо работать с текстовыми данными.
LLM создает сама себя

В самом простом понимании модель — это компьютерная программа. Она представляет собой набор инструкций, которые выполняют различные вычисления на входных данных и выдают результат.
Однако особенностью модели машинного обучения или ИИ является то, что вместо того, чтобы писать эти инструкции в явном виде, программисты пишут набор инструкций (алгоритм), которые затем рассматривают большие объемы существующих данных для определения самой модели. Таким образом, программисты-люди не создают модель, они создают алгоритм, который строит модель.
В случае с LLM это означает, что программисты определяют архитектуру модели и правила, по которым она будет строиться. Но они не создают нейроны или веса между нейронами. Все это совершается в процессе, называемом «обучением», во время которого модель, следуя инструкциям алгоритма, сама определяет эти переменные.
В случае с LLM данные, которые рассматриваются, представляют собой текст. В некоторых случаях он может быть более специализированным или более общим. В самых крупных моделях цель состоит в том, чтобы предоставить модели как можно больше грамматического текста для обучения.
В процессе обучения, который может потребовать много миллионов или миллиардов долларов облачных вычислительных ресурсов, модель просматривает исходный текст и пытается создать свой собственный текст. Сначала на выходе получается тарабарщина, но в результате масштабного процесса проб и ошибок — и постоянного сравнения выходных данных с входными — качество выходных данных постепенно улучшается. Текст становится более разборчивым.
При достаточном времени, достаточных вычислительных ресурсах и достаточном количестве обучающих данных модель «учится» создавать текст, который для читателя неотличим от текста, написанного человеком. В некоторых случаях люди, читающие текст, могут предоставлять обратную связь в виде вознаграждения модели, сообщая ей, когда ее текст читается хорошо, а когда нет (это называется «обучение с подкреплением на основе человеческой обратной связи», или RLHF). Модель принимает это во внимание и постоянно совершенствует себя, основываясь на данной обратной связи.
LLM предсказывает, какое слово должно следовать за предыдущим
Сложившееся упрощенное описание LLM заключается в том, что они «просто предсказывают следующее слово в последовательности». Это правда, но это игнорирует тот факт, что этот простой процесс может означать, что такие инструменты, как ChatGPT, генерируют удивительно качественный текст. Так же легко сказать, что «модель просто занимается математикой», что тоже верно, но не очень полезно для понимания того, как работает модель, или для оценки ее возможностей.
Результатом описанного выше процесса обучения является нейронная сеть с сотнями миллиардов связей между миллионами нейронов, каждая из которых определяется самой моделью. Самые крупные модели представляют собой большой объем данных, возможно, несколько сотен гигабайт только для хранения всех весов.
Каждый из весов и каждый из нейронов — это математическая формула, которая должна быть рассчитана для каждого слова (или, в некоторых случаях, части слова), которое предоставляется модели на вход, и для каждого слова (или части слова), которое она генерирует на выходе.
Это техническая деталь, но эти «маленькие слова или части слов» называются «токенами», что часто является способом определения цены за использование этих моделей, когда они предоставляются в качестве услуги — подробнее об этом позже.
Пользователь, взаимодействующий с одной из этих моделей, предоставляет входные данные в виде текста. Например, мы можем предоставить ChatGPT следующий запрос:
Здравствуйте, ChatGPT, пожалуйста, предоставьте мне описание решения Timi в 100 слов.
Включите в него описание программного обеспечения компании и ее основного ценностного предложения.
Модели, лежащие в основе ChatGPT, разбивают это указание на лексемы. В среднем токен составляет ⅘ слова, поэтому вышеприведенная подсказка и ее 23 слова могут привести к появлению около 30 токенов. Модель GPT-3, на которой основана модель gpt-3.5-turbo, имеет 175 миллиардов весов, что означает, что 30 лексем входного текста приведут к 30 x 175 миллиардам = 5,25 триллионам вычислений. Модель GPT-4, которая также доступна в ChatGPT, имеет неизвестное количество весов.
Затем модель начинает генерировать ответ, который звучит правильно, основываясь на огромном объеме текста, который она потребляла во время обучения. Важно отметить, что модель не ищет ничего о запросе. У нее нет памяти, где она могла бы искать «Timi», «ценностное предложение», «программное обеспечение» или любые другие соответствующие термины. Вместо этого он начинает генерировать каждую лексему выходного текста, снова выполняет 175 миллиардов вычислений, генерируя лексему, которая с наибольшей вероятностью звучит правильно.
LLM создает текст, который звучит правильно, но не может гарантировать, что он правильный
ChatGPT не может предоставить никакой гарантии, что его выходные данные верны, кроме того, что они звучат правильно. Его ответы не находятся в памяти — они генерируются «на лету» на основе тех 175 миллиардов весов, которые были описаны ранее.
В будущем, вероятно, LLM будут интегрированы в системы, сочетающие возможности генерации текста LLM с вычислительным механизмом или базой знаний для предоставления фактических ответов в убедительном тексте на естественном языке. Этих систем на сегодняшний день не существует, мы можем лишь только предпологать когда они появятся.
Другая возможность: если вы хотите предоставить пользователям информацию, которой вы уже обладаете, но в формате ответов на естественном языке, вы можете предоставить эти ответы таким инструментам, как ChatGPT.
Является ли GPT-4 LLM?
14 марта 2023 года OpenAI выпустила GPT-4, последнюю версию своих моделей семейства GPT. В дополнение к генерации текста более высокого качества по сравнению с GPT-3.5, GPT-4 предоставляет возможность распознавания изображений. Возможно, он также способен генерировать изображения. Однако эта функциональность, если она и существует, пока недоступна. Возможность обработки входных и выходных данных различных типов (текст, изображения, видео, аудио и т.д.) означает, что GPT-4 является мультимодальным.
Терминология для этих последних моделей быстро развивается, и в экспертном сообществе ведутся споры о том, что термин “языковая модель” является слишком ограниченным. Термин “базовая модель” был популяризирован исследователями из Стэнфорда, но также является источником некоторых споров. Как и сама технология, язык, используемый для описания технологии, будет продолжать быстро развиваться.