Некоторые из наших новостей заслуживают второго шанса. Вот августовский, который, когда мы оглядываемся назад, вероятно, будет помнить, как когда что-то новое произошло в AI. Я полагаю, вы говорите, что неоправданная эффективность языковой программы OpenAI GPT — это просто частный случай необоснованной эффективности глубокого обучения, но … это намного шокирует.
Самое важное, что нужно сказать, это то, что GPT-3 не воплощает в жизнь никаких новых замечательных идей. Это нейронная сеть с множеством слоев, интересной архитектурой и множеством-множеством параметров. Это больше не отличается. Похоже, это общий урок нейронных сетей. Еще в 1980-х годах мы думали, что нейронные сети могут быть решением, но доступная вычислительная мощность ограничивала то, что можно было реализовать, на небольшом количестве слоев и скромном количестве нейронов. Проще говоря, все вроде работало, но недостаточно хорошо. Такие пионеры, как Джеффри Хинтон, продолжали верить в нейронные сети и потратили много энергии на поиск способов облегчить обучение сетей. Как оказалось, большая часть этой работы на самом деле не нужна, потому что по мере роста вычислительной мощности стало очевидно, что глубокие нейронные сети работают все время.
Просто нам нужно реализовать более крупные сети и использовать намного больше данных и времени для их обучения. Подводя итог, можно сказать, что мы всегда были на правильном пути; просто мы недостаточно велики, или, скорее, не могли думать.
Это подводит нас к Генеративному предварительно обученному преобразователю 3 GPT-3. Две большие области нейронных сетей — это зрение и язык. Vision использует сверточные нейронные сети для обнаружения объектов в разных местах поля зрения. До недавнего времени языковые сети были повторяющимися, что можно было рассматривать как сверточные во временной области. Рекуррентные сети берут образцы из более чем одного раза и возвращают свои выходные данные в качестве входных. Обычно считается, что с ними сложно работать и трудно обучать, но когда они работают, они действительно работают очень хорошо.
Причина, по которой требуется повторяющаяся сеть, заключается в том, что в языке на слова влияют слова, которые появились раньше в последовательности. Существуют корреляции между парами слов, тройками слов и т. Д., А степень повторения определяет расстояние, на котором одно слово может влиять на значение другого.
Слово «смысл» опасно. Вы можете прочитать словами и языком больше, чем есть на самом деле. Если вы сделаете шаг назад и попытаетесь забыть, что вы — создание слов, тогда все, что у вас есть на самом деле, — это статистическая структура символов, из которых состоит язык, и то, как эта статистическая структура отражает структуру мира. Возможно, вам не понравится идея о том, что значение — это просто статистические свойства символической системы, которую мы называем языком, но, как мы увидим, GPT-3, похоже, предполагает, что это правда.
Первое, что следует сказать о последних моделях нейронного языка, это то, что они основаны на двух новых идеях — преобразователе и внимании. Объединение этих двух вещей позволило использовать простые стандартные сети с прямой связью. Отказ от повторяющейся сети настолько упрощает ситуацию, что мы можем тренироваться быстрее и, следовательно, использовать гораздо большие наборы данных.
В моделях серии GPT довольно стандартно используются трансформаторы и сети внимания. У GPT-2 было 1,5 миллиарда настраиваемых параметров, и он работал хорошо, но не очень хорошо. Таким образом, OpenAI решительно реализовал GPT-3 со 175 миллиардами параметров и обучил его на огромном наборе данных. GPT-3 на порядок больше, чем что-либо прежде, и, похоже, именно отсюда большая часть его мощности. Чтобы поместить это в контекст, просто для хранения его параметров требуется 300 ГБ ОЗУ. Набор для обучения был взят из Интернета — что-то вроде 500 миллиардов слов в контексте; потребовалось 355 графических лет и стоило 4,6 миллиона долларов.
Обучение было особенно простым. Возьмите текст и удалите слово, а затем потренируйтесь, чтобы заставить GPT-3 предсказывать пропущенное слово при последовательном представлении остального текста слово за словом. В конце обучения у вас будет обширная программа автозаполнения. Вы можете ввести предложение, и GPT-3 предложит вам варианты завершения. Звучит банально, но при этом автоматически заполняются блоки текста шириной до 2048 токенов. То есть вы можете ввести полное предложение, и GPT-3 автоматически дополнится другим предложением. Из-за этого кажется, что это нечто большее, чем просто автозаполнение. Вы можете ввести вопрос, и вы получите ответ. Введите команду, и вы получите ответ. Это не работает на уровне «предсказать следующее слово, чтобы закончить предложение», это фиксирует статистическую структуру гораздо более крупных фрагментов текста.
Вот тут-то и становится страшно. Вы могли бы подумать, что обучение таким образом приведет к созданию хорошей системы автозаполнения типов, но, похоже, это идет намного дальше. Например, если вы введете такую сумму, как «что 234 плюс 231?» тогда GPT-3 обычно дает правильный ответ — не всегда, но достаточно часто, чтобы удивить, около 80% для трехзначного сложения. Если вы предполагаете, что это возможно, потому что сумма существует как пример в огромном обучающем наборе — нет, потому что они искали такие суммы, а их там не было. Это не механический вызов памяти.
В исследовательской статье перечислено множество задач, с которыми хорошо справляется GPT-3. Главное, что никаких доработок по этим задачам не проводилось. Например, если вы дадите ему перевод с английского на французский и английскую фразу, он даст перевод на французский в качестве завершения. В других языковых моделях система должна быть заново обучена на примерах перевода. Это точная настройка, поскольку веса в модели регулируются. Для GPT-3 веса не были изменены, чтобы обеспечить улучшение для различных задач.
Что действительно впечатляет, так это универсальность языковых способностей. Все: от перевода, исправления грамматики, создания новостей, ответов на вопросы, понимания и так далее. Кажется, что вы можете охватить общность языка только его статистическими свойствами, потому что в GPT-3, безусловно, нет никакого понимания или рассуждений — все сводится к условным вероятностям.
На самом деле отказы говорят об этом:
«В области дискретных языковых задач мы неофициально заметили, что GPT-3, похоже, испытывает особые трудности с« физикой здравого смысла », несмотря на то, что хорошо справляется с некоторыми наборами данных, которые тестируют эту область. В частности, GPT-3 испытывает трудности с вопросами типа «Если я положу сыр в холодильник, он растает?»
Вы можете узнать больше о GPT-3 и найти множество примеров возможностей его создания языков в Интернете. В конце статьи говорится:
«Несмотря на множество ограничений и слабостей, эти результаты предполагают, что очень большие языковые модели могут быть важным ингредиентом в разработке адаптируемых общих языковых систем».
Это вполне может иметь практическое значение в будущем, но оно служит для того, чтобы выдвинуть на первый план структуру языка. Если вы можете достичь многого без «понимания», возможно, вам и не нужно понимание. Или, возможно, статистическая структура — это понимание.