Блог Sistemma.ru

Как цепочка мыслей помогает нейросетям выполнять вычисления

Ваш школьный учитель, вероятно, не показал вам, как складывать 20-значные числа. Но если вы умеете складывать меньшие числа, все, что вам нужно, — это бумага, карандаш и немного терпения. Начните с единицы и двигайтесь влево шаг за шагом, и вскоре вы с легкостью будете складывать квинтиллионы.
Подобные проблемы несложны для людей, но только если мы подходим к ним правильно. «Мы, люди, решаем эти проблемы, а не просто «смотрим на них, а затем записываем ответ», — сказал Эран Малах , исследователь машинного обучения в Гарвардском университете. «На самом деле мы идем по ступенькам».
Это понимание вдохновило исследователей на изучение больших языковых моделей, на которых работают чат-боты, такие как ChatGPT. Хотя эти системы могут решать вопросы, включающие несколько шагов арифметики, они часто проваливают задачи, состоящие из многих шагов, например, вычисление суммы двух больших чисел. Но в 2022 году группа исследователей Google показала , что требование к языковым моделям генерировать пошаговые решения позволило моделям решать проблемы, которые раньше казались им недоступными. Их метод, называемый подсказкой по цепочке мыслей, вскоре получил широкое распространение, хотя исследователи изо всех сил пытались понять, что заставляет его работать.
Теперь несколько команд исследовали силу цепочки мыслей, используя методы из загадочной отрасли теоретической информатики, называемой теорией сложности вычислений. Это последняя глава в линии исследований, в которых теория сложности используется для изучения внутренних возможностей и ограничений языковых моделей. Эти усилия проясняют, где нам следует ожидать неудачи моделей, и могут указать на новые подходы к их построению.
«Они удаляют часть магии», — сказал Димитрис Папалиопулос , исследователь машинного обучения из Университета Висконсина в Мэдисоне. "Это хорошая вещь."

Тренировочные трансформеры

Большие языковые модели строятся на основе математических структур, называемых искусственными нейронными сетями. Множество «нейронов» внутри этих сетей выполняют простые математические операции над длинными строками чисел, представляющими отдельные слова, преобразуя каждое слово, проходящее через сеть, в другое. Детали этой математической алхимии зависят от другого набора чисел, называемого параметрами сети, которые количественно определяют силу связей между нейронами.
Чтобы обучить языковую модель выдавать последовательные выходные данные, исследователи обычно начинают с нейронной сети, все параметры которой имеют случайные значения, а затем загружают в нее массивы данных со всего Интернета. Каждый раз, когда модель видит новый блок текста, она пытается предсказать каждое слово по очереди: второе слово угадывается на основе первого, третье на основе первых двух и так далее. Он сравнивает каждое предсказание с реальным текстом, а затем настраивает его параметры, чтобы уменьшить разницу. Каждая настройка лишь немного меняет прогнозы модели, но каким-то образом их коллективный эффект позволяет модели согласованно реагировать на входные данные, которых она никогда не видела.
Исследователи обучают нейронные сети обработке речи уже 20 лет. Но по-настоящему работа пошла в гору в 2017 году, когда исследователи из Google представили новый тип сети, названный трансформером.
«Это было предложено семь лет назад, и это кажется предысторией», — сказал Пабло Барсело , исследователь машинного обучения в Папском католическом университете Чили.
Что сделало преобразователи такими революционными, так это то, что их легко масштабировать — чтобы увеличить количество параметров и объем обучающих данных — без того, чтобы обучение было непомерно дорогим. До появления трансформеров нейронные сети имели максимум несколько сотен миллионов параметров; сегодня крупнейших моделей на базе трансформеров насчитывается более триллиона. Значительная часть улучшения производительности языковых моделей за последние пять лет связана с простым масштабированием.
Трансформеры сделали это возможным благодаря использованию специальных математических структур, называемых «головами внимания», которые дают им вид текста, который они читают, с высоты птичьего полета. Когда преобразователь читает новый блок текста, его центры внимания быстро сканируют весь текст и определяют соответствующие связи между словами — возможно, отмечая, что четвертое и восьмое слова, вероятно, будут наиболее полезны для предсказания 10-го. Затем головы внимания передают слова огромной сети нейронов, называемой сетью прямой связи, которая выполняет тяжелую обработку чисел, необходимую для генерации прогнозов, которые помогают ей учиться.
Настоящие преобразователи имеют несколько уровней «головок внимания», разделенных сетями прямой связи, и выдают предсказания только после последнего уровня. Но на каждом уровне центры внимания уже определили наиболее релевантный контекст для каждого слова, поэтому этап прямой связи с интенсивными вычислениями может выполняться одновременно для каждого слова в тексте. Это ускоряет процесс обучения и позволяет обучать преобразователей на все более больших наборах данных. Что еще более важно, это позволяет исследователям распределить огромную вычислительную нагрузку по обучению огромной нейронной сети на множество процессоров, работающих в тандеме.
Чтобы получить максимальную отдачу от огромных наборов данных, «необходимо сделать модели действительно большими», — говорит Дэвид Чан , исследователь машинного обучения из Университета Нотр-Дам. «Обучать их без распараллеливания будет просто нецелесообразно».
Трансформеры довольно слабы, если вы используете их так, что вводите данные и ожидаете немедленного ответа.
Уильям Меррилл, Нью-Йоркский университет
Однако параллельная структура, которая позволяет так легко обучать трансформеров, не помогает после обучения — на этом этапе нет необходимости предсказывать уже существующие слова. В обычном режиме работы преобразователи выводят по одному слову, прикрепляя каждый выходной сигнал обратно к входному, прежде чем генерировать следующее слово, но они по-прежнему придерживаются архитектуры, оптимизированной для параллельной обработки.
По мере роста моделей, основанных на трансформерах, и некоторых задач по-прежнему возникали проблемы, некоторые исследователи начали задаваться вопросом, не стоило ли движение к более распараллеливаемым моделям дорогое удовольствие. Был ли способ теоретически понять поведение трансформеров?

Сложность трансформеров

Теоретические исследования нейронных сетей сталкиваются со многими трудностями, особенно когда они пытаются учесть обучение. Нейронные сети используют хорошо известную процедуру для настройки своих параметров на каждом этапе процесса обучения. Но может быть трудно понять, почему эта простая процедура сходится при хорошем наборе параметров.
Вместо того, чтобы рассматривать то, что происходит во время обучения, некоторые исследователи изучают внутренние возможности трансформеров, воображая, что их параметры можно настроить на любые произвольные значения. Это равносильно рассмотрению трансформера как особого типа программируемого компьютера.
«У вас есть какое-то вычислительное устройство, и вы хотите знать: «Ну, а что оно может сделать?» Какие функции он может вычислять?», — сказал Чан.
Это центральные вопросы формального изучения вычислений. Эта область возникла в 1936 году, когда Алан Тьюринг впервые представил причудливое устройство , теперь называемое машиной Тьюринга, которое могло выполнять любые вычисления, считывая и записывая символы на бесконечную ленту. Теоретики сложности вычислений позже будут опираться на работу Тьюринга, доказав, что вычислительные задачи естественным образом делятся на разные классы сложности , определяемые ресурсами, необходимыми для их решения.
В 2019 году Барсело и двое других исследователей доказали , что идеализированная версия трансформера с фиксированным количеством параметров может быть такой же мощной, как машина Тьюринга. Если вы настроите преобразователь так, чтобы его выходной сигнал неоднократно подавался обратно в качестве входного, и установите для параметров соответствующие значения для конкретной проблемы, которую вы хотите решить, он в конечном итоге выдаст правильный ответ.
Этот результат стал отправной точкой, но он основывался на некоторых нереалистичных предположениях, которые, вероятно, привели бы к переоценке мощности трансформеров. В последующие годы исследователи работали над разработкой более реалистичных теоретических основ.
Одна из таких попыток началась в 2021 году, когда Уильям Меррилл , ныне аспирант Нью-Йоркского университета, заканчивал двухлетнюю стажировку в Институте искусственного интеллекта Аллена в Сиэтле. Там он анализировал другие виды нейронных сетей, используя методы, которые, казалось, плохо подходили для параллельной архитектуры трансформеров. Незадолго до отъезда он завязал разговор с исследователем Алленовского института искусственного интеллекта Ашишем Сабхарвалом , который изучал теорию сложности, прежде чем заняться исследованиями искусственного интеллекта. Они начали подозревать, что теория сложности может помочь им понять пределы возможностей преобразователей.
Ашиш Сабхарвал и Меррилл использовали теорию сложности, чтобы количественно оценить дополнительную мощность, которую трансформеры получают от цепочки мыслей.
«Просто казалось, что это простая модель; должны быть некоторые ограничения, которые можно просто зафиксировать», — сказал Сабхарвал.
Пара проанализировала трансформеры, используя раздел теории сложности вычислений, называемый сложностью схемы, который часто используется для изучения параллельных вычислений и недавно был применен к упрощенным версиям трансформеров. В течение следующего года они уточнили несколько нереалистичных предположений, сделанных в предыдущей работе. Чтобы изучить, как параллельная структура трансформеров может ограничить их возможности, пара рассмотрела случай, когда трансформеры не передают свой выход обратно на вход — вместо этого их первый выход должен быть окончательным ответом. Они доказали , что преобразователи в этой теоретической системе не могут решить никакие вычислительные задачи, выходящие за рамки определенного класса сложности. Считается, что многие математические задачи, в том числе относительно простые, такие как решение линейных уравнений, лежат за пределами этого класса.
По сути, они показали, что за параллелизм приходится платить — по крайней мере, когда преобразователям приходилось сразу же выдавать ответ. «Трансформеры довольно слабы, если вы используете их так, что вводите данные и просто ожидаете немедленного ответа», — сказал Меррилл.

Мысленные эксперименты

Результаты Меррилла и Сабхарвала подняли естественный вопрос: насколько мощнее становятся трансформеры, когда им разрешено перерабатывать свою продукцию? Барсело и его соавторы изучали этот случай в своем анализе идеализированных трансформеров в 2019 году, но при более реалистичных предположениях вопрос оставался открытым. А за прошедшие годы исследователи обнаружили подсказку по цепочке мыслей, что придало этому вопросу новую актуальность.
Меррилл и Сабхарвал знали, что их чисто математический подход не может охватить все аспекты цепочки мыслей в реальных языковых моделях, где формулировка в подсказке может быть очень важна . Но независимо от того, как сформулировано приглашение, если оно заставляет языковую модель выводить пошаговые решения, модель в принципе может повторно использовать результаты промежуточных шагов при последующих проходах через преобразователь. Это может дать возможность обойти ограничения параллельных вычислений.
Тем временем команда из Пекинского университета размышляла в том же направлении, и их предварительные результаты были положительными. В статье, опубликованной в мае 2023 года, они выявили некоторые математические задачи, которые должны быть невозможны для обычных преобразователей в рамках структуры Меррилла и Сабхарвала, и показали , что промежуточные шаги позволяют преобразователям решить эти проблемы.
В октябре Меррилл и Сабхарвал продолжили свою предыдущую работу детальным теоретическим исследованием вычислительной мощности цепочки мышления. Они количественно оценили, как эта дополнительная вычислительная мощность зависит от количества промежуточных шагов, которые преобразователю разрешено использовать, прежде чем он должен выдать окончательный ответ. В целом исследователи ожидают, что подходящее количество промежуточных шагов для решения любой проблемы будет зависеть от размера входных данных для решения проблемы. Например, простейшая стратегия сложения двух 20-значных чисел требует вдвое больше промежуточных шагов сложения, чем тот же подход сложения двух 10-значных чисел.
Подобные примеры позволяют предположить, что трансформеры не получат особой выгоды от использования всего лишь нескольких промежуточных этапов. Действительно, Меррилл и Сабхарвал доказали, что цепочка мыслей начинает действительно помогать только тогда, когда количество промежуточных шагов растет пропорционально размеру входных данных, а многие проблемы требуют, чтобы количество промежуточных шагов выросло еще больше.
Тщательность результата впечатлила исследователей. «Они действительно это определили», — сказал Дэниел Сюй , исследователь машинного обучения в Колумбийском университете.
Недавняя работа Меррилла и Сабхарвала показывает, что цепочка мыслей не является панацеей: в принципе, она может помочь преобразователям решать более сложные проблемы, но только ценой больших вычислительных усилий.
«Мы заинтересованы в различных способах обойти ограничения трансформеров одним шагом», — сказал Меррилл. «Цепочка размышлений — это один из способов, но эта статья показывает, что это может быть не самый экономичный путь».

Обратно в реальность

Тем не менее, исследователи предупреждают, что такого рода теоретический анализ может раскрыть лишь очень многое о реальных языковых моделях. Положительные результаты — доказательства того, что преобразователи в принципе могут решать определенные проблемы — не означают, что языковая модель действительно выучит эти решения во время обучения.
И даже результаты, касающиеся ограничений трансформеров, сопровождаются оговорками: они указывают на то, что ни один трансформер не может идеально решить определенные проблемы во всех случаях. Конечно, это довольно высокая планка. «Могут быть особые случаи проблемы, с которыми он прекрасно справится», — сказал Сюй.
Несмотря на эти предостережения, новая работа предлагает шаблон для анализа различных типов архитектур нейронных сетей, которые в конечном итоге могут заменить трансформеры. Если анализ теории сложности покажет, что некоторые типы сетей более мощны, чем другие, это будет свидетельством того, что эти сети могут работать лучше и в реальном мире.
Чан также подчеркнул, что исследования ограничений преобразователей тем более ценны, поскольку языковые модели все чаще используются в широком спектре реальных приложений, что позволяет легко переоценить их возможности.
«На самом деле есть много вещей, которые они делают не очень хорошо, и нам нужно очень, очень хорошо осознавать, в чем заключаются ограничения», — сказал Чан. «Вот почему такая работа действительно важна». Ben Brubaker

Если после прочтения статьи у вас возникли идеи или вопросы о том, как ИИ может обогатить ваш проект, не стесняйтесь делиться ими. Мы всегда рады обсуждению новых концепций и поможем вам найти наилучший путь к реализации ваших инновационных идей.
Новое