Автор книги: М. Иванов
Жанр: Техническая литература, Наука и Образование
Возрастные ограничения: +16
сообщить о неприемлемом содержимом
Текущая страница: 1 (всего у книги 1 страниц)
Smart Reading
Как устроен ChatGPT? Полное погружение в принципы работы и спектр возможностей самой известной нейросети в мире. Стивен Вольфрам. Саммари
Оригинальное название:
What Is ChatGPT Doing… and Why Does It Work?
Автор:
Stephen Wolfram
www.smartreading.ru
Как он это делает?
Вероятность и температура. А мы точно собираемся говорить о человеческой речи?
Написание текстов часто окутано флером некой таинственности. Мы считаем, что для этого процесса нужно вдохновение, талант, особые условия, но с некоторых пор именно с помощью физических и математических терминов проще всего объяснить суть этого процесса.
Вероятность – основное понятие, описывающее работу ChatGPT. Вы даете ему первое слово, а он всего лишь подбирает к нему второе и последующие слова, чтобы получить осмысленную фразу. Скорость работы современных вычислительных машин такова, что для них не проблема перебрать миллионы фрагментов разных текстов и определить, какие слова чаще всего встречаются вместе с заданным.
Определяя каждое последующее слово, ChatGPT подбирает целый список возможных понятий и ранжирует их от самого вероятного к наименее вероятному. Например, со словом «поэт», заданным на русском языке, нейросеть, скорее всего, ассоциирует Пушкина, а не Бернса.
Однако все не так просто. Если выбирать самое вероятное из возможных слов, то текст будет банальным, пресным и никому не интересным. Чтобы достоверно имитировать человеческий язык, ChatGPT выбирает другие, менее вероятные варианты. Причем как именно он их выбирает – не знают даже его создатели. Именно поэтому использование одного и того же промпта (задания) иногда приводит к генерации довольно непохожих друг на друга текстов.
Если проранжировать все подходящие слова по степени их вероятности от 0 до 1, то оптимальным выбором станет слово, имеющее вероятность 0,8. Этот параметр называют температурным, но только потому, что он подчиняется тем же математическим зависимостям, что и температура. Никакого физического смысла в этом нет.
А как рассчитать, с какой вероятностью некое слово может продолжать начатую фразу?
Стивен Вольфрам предлагает для начала рассмотреть более простую задачу – не создание текста, а создание одного-единственного слова.
Если мы выберем в качестве первой буквы А, то с какой вероятностью следующей будет Б? Или Ы? Вероятность того, что следующей будет буква Ы, – нулевая, потому что в русском языке нет слова, начинающегося с Ы. Идем дальше.
▶ Для начала создадим бесконечную последовательность букв, которые могут следовать друг за другом с ненулевой вероятностью.
▶ Добавим пробелы, ведь длина слов в языке тоже определяется статистикой. Скорее всего, на этом этапе мы не увидим среди результатов ни одного реального слова.
▶ Учтем, что некоторые буквы не могут следовать друг за другом, а некоторые, наоборот, тесно связаны. Например, после гласных не может быть Ъ, а после глухого согласного не может быть звонкого. Поэтому попробуем генерировать слово, добавляя не по одной букве, а сразу по две.
▶ Можно двигаться дальше и, работая с огромным объемом текста, определять наиболее вероятные многобуквенные сочетания. На этом этапе мы уже начнем получать реальные слова.
▶ А дальше, анализируя отдельные слова, мы можем оценить, насколько часто они встречаются в речи и как взаимодействуют с другими словами. Так мы сможем генерировать словосочетания, затем – предложения, а затем и целые тексты.
Внезапное препятствие и большая языковая модель
Реализации этого алгоритма очень мешает… недостаток текстов! При объеме словаря в несколько десятков тысяч единиц число возможных комбинаций из трех слов составляет 60 трлн, а если мы попробуем предсказать комбинацию из 20 слов, то число вариантов превысит количество элементарных частиц в космосе. Человечество еще не накопило такого количества текстов и никогда не накопит, потому что большинство из них не имеет смысла.
Выход только один – создать некую модель, которая сможет оценивать вероятности чисто гипотетически, не сталкиваясь с ними в реальных текстах. Для ChatGPT основой служит большая языковая модель (БЯМ).
Как учится машина[1]1
Читайте саммари книги Яна Лекуна «Как учится машина. Революция в области нейронных сетей и глубокого обучения».
[Закрыть]
Это корова или овца? Или автобус?
Прежде чем более подробно говорить о языке, стоит отвлечься и рассмотреть другую проблему – распознавание образов.
В интернете мы часто сталкиваемся с капчей[2]2
CAPTCHA – англ. Completely Automated Public Turing test to tell Computers and Humans Apart – полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей.
[Закрыть] (помните картинки, где надо выбрать мотоциклы, светофоры, автобусы?) – человеческий интеллект отличается от машинного именно способностью уловить в искаженном размытом образе знакомые черты.
Математически обоснованный выбор. Как распознает образ машина? Например, образ некоторой цифры? Машина берет образец (идеально написанную цифру 5) и сравнивает с ним имеющееся изображение точка за точкой. Если определенное, значимое количество пикселей не совпадает – машинный интеллект делает вывод, что не совпадают и образы целиком. Если взять за переменную цвет каждого пикселя (черный или белый), то будет существовать некая функция всех этих переменных. Расчет этой функции по имеющемуся массиву данных позволит точно определить, совпадает изображение с образцом или нет.
Человеческий мозг работает немного по-другому. Он не сравнивает объект с идеалом, а вычленяет некую «суть объекта» и может узнать ее даже в сильно искаженном виде. Миллиарды нервных клеток в мозге объединены друг с другом в сложную многоуровневую сеть. Импульс, который генерирует конкретный нейрон, зависит от того, какой импульс он, в свою очередь, получил от соседей. Причем соседи различаются по «важности» – импульс от некоторых нейронов имеет приоритет. Говоря математическим языком, больший вес.
Чтобы найти импульс единичного нейрона, нужно взять все импульсы предшествующих нейронов в Сети, умножить на их веса, сложить полученные значения, а затем при необходимости добавить какие-то константы и вывести итоговую функцию. Основной секрет здесь – в правильном определении весов. Именно эта проблема решается с помощью машинного обучения.
В компьютерах устройство памяти и вычислительное устройство – это два разных объекта, а в человеческом мозге каждый нейрон является и вычислительным элементом, и хранилищем информации. Это позволяет мозгу функционировать намного быстрее и обеспечивает ему архитектурное преимущество.
Определить, пятерка перед нами или семерка, – не самая сложная проблема. Человеческий мозг легко справляется с ней, а еще умеет точно определять, корова перед ним или овца, яблоня или дуб. Математически обосновать этот выбор практически невозможно!
А если не математически, то как? Обучение нейросетей похоже на обучение людей в далекие доисторические времена. Мы не пытаемся вывести закономерности, мы даем нейросети огромное количество примеров. Проанализировав миллион картинок с коровами и овцами, кошками и собаками, нейросеть обобщает свои знания сама, формируя массив «коровьих», «овечьих» и прочих примет.
Математически это означает поиск весов, по которым можно воспроизводить те или иные изображения. Так что основная идея машинного обучения заключается в том, чтобы предоставить нейросети множество образцов, то есть готовых функций, а затем заставить ее найти веса переменных, с помощью которых эти функции можно воспроизвести.
Метод
...
конец ознакомительного фрагмента
Внимание! Это не конец книги.
Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!Правообладателям!
Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.Читателям!
Оплатили, но не знаете что делать дальше?