- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 19 века
- Недвижимость
- Музыка, музыканты
- Готические новеллы
- Истории из жизни
- Культура и искусство
- Спецслужбы
- Зарубежная прикладная литература
- Музыка, танцы
- Подростковая литература
- Прочее
- Военная техника, оружие
- Газеты и журналы
- Периодические издания
- Домоводство, Дом и семья
- Любовные романы
- Экономическая литература
- Научные и научно-популярные книги
- О животных
- Биохимия
- Культурология
- Юриспруденция
- Политика
- Психотерапия
- Языкознание
- Научпоп
- Медицина
- Психология, личное
- Радиотехника
- Филология
- Педагогика
- Образовательная литература
- Деловая литература
- Физика
- Науки: разное
- Химия
- Воспитание детей, педагогика
- Детская психология
- Зарубежная публицистика
- Биология
- Архитектура
- Зарубежная психология
- Науки о космосе
- Социология
- Математика
- География
- Беременность, ожидание детей
- Литературоведение
- Транспорт, военная техника
- Обществознание
- Зоология
- География
- Альтернативная медицина
- Иностранные языки
- Ветеринария
- Рефераты
- Астрология
- Биофизика
- Экология
- История Европы
- Учебники
- Шпаргалки
- Государство и право
- Ботаника
- Религиоведение
- История
- Техническая литература
- Прочая научная литература
- Психология
- Детективы и Триллеры
- Справочная литература
- Проза
- Новелла
- Юмор
- Проза
- Историческая проза
- Русская современная проза
- Советская классическая проза
- Повести
- Очерки
- Эссе
- Рассказы
- Зарубежная современная проза
- Сентиментальная проза
- Зарубежная классика
- Афоризмы
- Эпистолярная проза
- Феерия
- Семейный роман/Семейная сага
- Разное
- Антисоветская литература
- Магический реализм
- Русская классическая проза
- Современная проза
- О войне
- Контркультура
- Классическая проза
- Поэзия, Драматургия
- Детская литература
- Детская фантастика
- Детские остросюжетные
- Детские стихи
- Детские приключения
- Внеклассное чтение
- Учебная литература
- Зарубежные детские книги
- Бизнес
- Загадки
- Книги для подростков
- Школьные учебники
- Детский фольклор
- Книги для дошкольников
- Детские детективы
- Детская познавательная и развивающая литература
- Буквари
- Прочая детская литература
- Сказка
- Детская проза
- Детская образовательная литература
- Юмор
- Документальные книги
- Бизнес
- Внешнеэкономическая деятельность
- Тайм-менеджмент
- Кадровый менеджмент
- О бизнесе популярно
- Управление, подбор персонала
- Бизнес
- Менеджмент и кадры
- Продажи
- Экономика
- Ценные бумаги и инвестиции
- Малый бизнес
- Делопроизводство, офис
- Корпоративная культура, бизнес
- Банковское дело
- Финансы
- Зарубежная деловая литература
- Ораторское искусство / риторика
- Личные финансы
- Интернет-бизнес
- Поиск работы
- Государственное и муниципальное управление
- Бухучет и аудит
- Работа с клиентами
- Менеджмент
- Краткое содержание
- Личная эффективность
- Переговоры
- Приключения
- Старинная литература
- Религия и духовность
- Компьютеры и Интернет
- Блог
Читаем без скачивания Как устроен ChatGPT? Полное погружение в принципы работы и спектр возможностей самой известной нейросети в мире - Стивен Вольфрам
Шрифт:
Интервал:
Закладка:
Сегодня в цифровом виде нам доступно огромное количество написанных людьми текстов. В Сети насчитывается по меньшей мере несколько миллиардов страниц, написанных человеком, а общий объем этого супертекста составляет, возможно, триллион слов. Если же включить в него непубличные веб-страницы, то объем будет как минимум в сто раз больше. В данный момент у нас есть доступ к пяти с лишним миллионам оцифрованных книг (из 100 миллионов когда-либо написанных), что составляет еще около 100 миллиардов слов. И это даже не учитывая текстов видеоматериалов. (Для сравнения: мной за всю мою жизнь было опубликовано чуть менее 3 миллионов слов, а за последние тридцать лет я написал около 15 миллионов слов в электронных письмах, в общей сложности напечатал около 50 миллионов слов и всего за последние два-три года я произнес более 10 миллионов слов в прямых трансляциях. Вскоре буду обучать бота на основе наработок.)
Как с помощью всех этих текстов можно обучить нейронную сеть? Базовый процесс очень похож на тот, который мы уже обсуждали выше. Вы даете сети набор примеров, а затем корректируете веса, чтобы свести к минимуму ошибки (потери), которые она может допустить в дальнейшем. Самое главное, что при обратном распространении ошибки вы каждый раз меняете вес (хотя бы немного), поэтому вам приходится иметь дело с большим количеством весов. (Фактические обратные вычисления, как правило, лишь немного сложнее прямых.)
Современные графические процессоры позволяют параллельно вычислять результаты тысяч примеров. Но когда дело доходит до фактического обновления весов в нейронной сети, это должно выполняться постепенно. (И вероятно, именно здесь человеческий мозг, с его комбинированными вычислительными элементами и памятью, на данный момент имеет по крайней мере архитектурное преимущество.)
Даже в случаях изучения числовых функций, кажущихся простыми, которые мы обсуждали ранее, мы обнаружили, что иногда приходится использовать миллионы примеров для успешного обучения сети, по крайней мере при обучении с нуля. Сколько же тогда примеров понадобится для обучения нейросети человеческому языку? Похоже, какого-либо фундаментального теоретического способа узнать это не существует. Но на практике ChatGPT был успешно обучен на нескольких сотнях миллиардов слов текста.
Некоторые части текста использовались для обучения один раз, другие – несколько. Однако каким-то образом ChatGPT все равно «получил то, что ему было нужно» из текста, который «увидел». Но, учитывая огромный объем текста для изучения, насколько большой должна быть сеть, чтобы хорошо выучить его? Опять же, у нас пока нет теоретического ответа. Как мы обсудим далее, предположительно существует определенное общее алгоритмическое содержание человеческого языка и того, что люди обычно выражают с его помощью. Следующий вопрос заключается в том, насколько эффективной будет нейронная сеть при реализации модели, основанной на этом алгоритмическом содержании. Но, опять-таки, пока мы этого не знаем, хотя успех ChatGPT говорит о том, что данная модель достаточно эффективна.
И в конце мы можем просто отметить, что ChatGPT работает, используя две-три сотни миллиардов весов, что по количеству сопоставимо с общим количеством слов (или токенов), предоставленных ему в обучающих данных. В некотором смысле удивительно (хотя подобное мы наблюдаем и в других похожих на ChatGPT системах), что размер сети сопоставим с размером обучающих данных. Это, конечно, не значит, что весь этот текст из интернета, книг и так далее хранится внутри ChatGPT. Потому что на самом деле внутри ChatGPT находится набор чисел с точностью чуть менее 10 знаков, которые представляют собой своего рода распределенную кодировку совокупной структуры всего этого текста.
Иными словами, мы могли бы спросить, каково же эффективное информационное содержание человеческого языка. Допустим, у нас есть несколько фрагментов необработанного текста и представление этого текста в нейронной сети ChatGPT. Это представление, скорее всего, далеко от алгоритмически минимального представления (об этом мы поговорим далее), но именно его использует нейронная сеть. В этом представлении происходит незначительное сжатие обучающих данных. В среднем для передачи информационного содержания одного слова из обучающего материала требуется чуть меньше одного веса нейронной сети.
Когда мы запускаем ChatGPT для генерации текста, нам, по сути, приходится использовать каждый вес один раз. Таким образом, если у нас есть n весов, нам нужно выполнить порядка n вычислительных шагов, хотя на практике многие из них обычно выполняются параллельно. Но если нам нужно около n слов обучающих данных для настройки этих весов, то (следуя из того, что было сказано выше) нам потребуется около n2 вычислительных шагов для обучения сети. Вот почему при современных методах приходится говорить о затратах на обучение стоимостью в миллиарды долларов.
Помимо базового обучения
Основная часть усилий при обучении ChatGPT тратится на то, чтобы показать ему большое количество существующего текста из интернета, оцифрованных книг и так далее. Но, оказывается, есть и другая – по-видимому, довольно важная – часть обучения.
Как только сеть получит всю сырую информацию на основе исходного массива текста, который был изучен, она готова начать генерировать собственный текст, одновременно продолжая учиться на подсказках. И хотя сгенерированный текст кажется разумным, у ChatGPT есть тенденция – особенно при генерировании длинных фрагментов текста – сильно отклоняться (то есть нередко текст становится непохож на то, что написал бы человек). Это не то, что можно легко обнаружить при традиционном статистическом анализе текста, однако люди точно это заметят.
Ключевая идея, легшая в основу создания ChatGPT, заключалась в том, чтобы позволить реальным людям активно взаимодействовать с ChatGPT, видеть, что он производит, и, по сути, давать ему обратную связь о том, «как быть хорошим чат-ботом». Но как нейронная сеть может использовать этот фидбэк? Во-первых, можно просто попросить людей оценить результаты работы нейронной сети. Затем строится другая модель нейронной сети, которая пытается предсказать эти оценки, после чего эту модель прогнозирования можно запускать – по сути, как функцию потерь – в исходной сети, фактически позволяя настраивать сеть с помощью обратной связи от человека. На практике результаты оказывают большое влияние на успех системы в производстве чего-то человеческого.
Удивительно, как мало изменений нужно внести в первоначально обученную сеть, чтобы заставить ее двигаться в нужном направлении. Можно было бы подумать, что для дальнейшего обучения придется запускать постоянные алгоритмы обучения, корректировать веса и так далее.
Но все не так. Вместо этого, кажется, достаточно что-то сказать ChatGPT один раз – как часть промпта, который вы ему задаете, – и он сможет успешно использовать подсказку при генерации текста. Повторюсь, тот факт, что это работает, является ключом к пониманию того, что ChatGPT делает и как это связано со структурой человеческого языка и мышления.
В этом определенно есть что-то человеческое: проведя всю предварительную подготовку ChatGPT, вы можете один раз сказать ему что-то, а он запомнит это на достаточное количество времени, чтобы сгенерировать с помощью полученной информации фрагмент текста. Что же происходит в этом случае? Возможно, все, что вы можете сказать, уже заложено в сеть и вы просто задаете ChatGPT правильное направление. Однако это не кажется правдоподобным. Более вероятно, что все элементы уже существуют, но вся конкретика определяется чем-то вроде траектории между ними, то есть задачей, которую вы ставите перед ChatGPT.
Так же, как и в случае с людьми, если сказать ChatGPT что-то странное и неожиданное, совершенно не вписывающееся в известные ему рамки, он не сможет успешно интегрировать эту информацию. Он сумеет это сделать только в том случае, если интегрирует новые данные поверх уже имеющейся структуры.
Также стоит еще раз отметить, что у нейронной сети существуют так называемые алгоритмические пределы того, что сеть может уловить. Если дать сети поверхностные правила вроде «это принадлежит этому» и так далее, то