Когда шестеро его братьев и сестер умерли от чахотки, Уильям «Бурро» Шмидт покинул свой дом в Провиденсе, штат Род-Айленд, и примкнул к тысячам золотоискателей конца XIX века, устремившихся в горы Эль-Пасо в надежде поймать удачу за хвост в разгар золотой лихорадки. Однако, несмотря на то что ему удалось застолбить небольшой участок высоко в ущелье Последнего Шанса, перед Бурро встала проблема: чтобы доставить руду на плавильный завод в Мохаве, ему приходилось рисковать жизнью, спускаясь по опасной горной тропе. Сочетая крайнюю осторожность с избытком амбиций, в 1906 году Бурро решил прорубить более безопасный проход сквозь твердую гранитную породу горы, вооружившись лишь киркой, лопатой и тем динамитом, который ему удавалось раздобыть. С годами этот проект превратился в его одержимость. К 1920 году на смену обходной тропе пришло широкое, удобное шоссе, что сделало его туннель ненужным, но Бурро все равно продолжал копать. К тому времени, когда он наконец увидел свет на другой стороне горы, прошло три десятилетия; длина туннеля составляла две тысячи футов, и Бурро в одиночку перетаскал почти шесть тысяч тонн породы, большую часть — на шаткой тачке. Тем не менее, выполнив свою миссию, он так ни разу им и не воспользовался — более того, он продал свою землю и уехал из этих мест. Сегодня этот туннель служит своеобразной туристической достопримечательностью.
Бурро Шмидт, очевидно, был немного безумен, но, возможно, вы испытываете к нему некоторое сочувствие. Наша современная жизнь тоже выстроена вокруг кажущейся бесконечной погони за целями, многие из которых в конечном счете оказываются контрпродуктивными. Мы трудимся над выполнением произвольных задач, часто продолжая делать это даже тогда, когда давно забыли, ради чего начинали. Мы бредем под проливным дождем, чтобы подняться на вершину горы, продолжаем вязать шарф, который никому не нужен, или продираемся сквозь толстенный роман, который давно перестал нас интересовать. Немногие безумцы тратят годы на исследование какой-нибудь узкоспециальной темы, чтобы написать кандидатскую диссертацию, которую прочтут от силы два человека. Мы терпим боль и лишения, чтобы выиграть забег, выборы или получить награду, как правило, ради чисто символической отдачи. Это непрекращающееся стремление к достижению во многом неосязаемых целей — чисто человеческий порок. Это инструментальная часть нашей природы — потребность находить смысл жизни, ставя перед собой цели и достигая их.
Большие языковые модели — это машины предсказания: они пытаются угадать следующий токен в последовательности слов, чисел или символов. В ходе предварительного обучения модели оптимизируются так, чтобы стать экспертами в подражании, копируя то, как человек мог бы продолжить фрагмент текста или кода. После тонкой настройки они могут превосходно справляться с написанием текстов, кодингом и математикой. Но в отличие от людей, современные большие языковые модели не наделены целью напрямую. Их не обучают целенаправленно изменять мир под какую-то конкретную форму, подобно тому как Бурро Шмидт упорно трудился три десятилетия, чтобы пробить обходной путь в горе. Исследователи искусственного интеллекта не программировали большие языковые модели на то, чтобы предотвратить изменение климата, продвигать социальную справедливость или урегулировать вооруженные конфликты. И, вопреки подозрениям некоторых критиков, они не обучали их исподтишка увеличивать маржу прибыли, способствовать избранию лояльных политиков или создавать комфортную нормативно-правовую среду. Поскольку перед большими языковыми моделями не ставится никакой цели, они кажутся нам довольно пассивными и вялыми. Им неведомо любопытство. Они не замирают от удивления, как ребенок в музее динозавров. У них не возникает интереса к тропическим рыбкам или страсти к Шуберту, и они совершенно равнодушны к вашей компании, каким бы приятным собеседником вы ни были. В этом кроется одно из главных отличий современных больших языковых моделей от людей.
Тем не менее, создание ИИ, чье поведение в большей степени ориентировано на достижение целей, — это бурно развивающаяся область исследований. Вполне вероятно, что в ближайшем будущем большие языковые модели будут активно стремиться к достижению определенных состояний, а не просто пассивно угадывать, какое слово должно быть следующим. Это кардинально изменит принцип работы систем ИИ, сделав их более мощными и опасными. В пресловутом мысленном эксперименте философ Ник Бостром представляет мощную систему ИИ, запрограммированную на выполнение банальной задачи — например, производство канцелярских скрепок. Обладая безграничным интеллектом и лазерной концентрацией на задаче, этот ИИ, по его сценарию, перенаправит все ресурсы человечества на свои нужды и в конечном итоге уничтожит всех нас в слепой погоне за своей целью.[*1] Этот апокалиптический сценарий, вероятно, нам пока не грозит, но нетрудно представить, что появление мощных систем ИИ, запрограммированных на упорное преследование собственных целей, откроет широкие возможности как для непреднамеренного вреда, так и для прямого злоупотребления.
Так что же такое инструментальность и как нам создать инструментальные большие языковые модели? В самом широком смысле инструментальный агент — это субъект, который ценит одни состояния мира больше других и активно стремится к достижению тех состояний, которые считает наиболее предпочтительными. Голодная обезьяна может ценить состояние «поедание фруктов» выше, чем «непоедание фруктов», и поэтому решит залезть на дерево, чтобы нарвать манго. В машинном обучении область, изучающая создание инструментальных агентов, называется обучением с подкреплением (RL). В обучении с подкреплением исследователь операционализирует цель системы в виде «функции вознаграждения» — набора числовых значений, искусственно привязанных к определенным состояниям или действиям, которые агент обучается максимизировать.
Представьте роботизированную собаку, чей мозг управляется нейронной сетью. Сеть получает «вознаграждение», пропорциональное физическому расстоянию, на которое собака переместилась от своего начального состояния. По мере того как собака совершает (изначально случайные) механические действия, веса нейронной сети постепенно адаптируются, чтобы генерировать движения, которые с большей вероятностью максимизируют вознаграждение. Это побуждает собаку самостоятельно осваивать скоординированные формы передвижения, делая ее все более мобильной в погоне за вознаграждением. Обучение с подкреплением позволило искусственным агентам действовать поразительно разумно. Как уже упоминалось во введении, в 2016 году система глубокого обучения AlphaGo стала первым ИИ, который победил человека в сложнейшей настольной игре го. Ее обучали, начисляя вознаграждение +100 за победу, –100 за поражение и 0 за ничью, а также оптимизируя сеть для максимизации этого результата на протяжении миллионов партий. Робототехническая компания Boston Dynamics использовала RL, чтобы научить настоящую механическую собаку по кличке Спот ловко бегать рысцой по пересеченной местности, взбираться по лестницам и лихо перепрыгивать с одной приподнятой платформы на другую (увы, Спот — промышленный робот и пока недоступен в качестве домашнего питомца).
Согласно этому определению, большие языковые модели, прошедшие тонкую настройку с помощью RLHF, уже демонстрируют ограниченные формы инструментальности. В RLHF высказывания «вознаграждаются» обратной связью от людей-краудсорсеров, которые ставят наивысшие оценки самым полезным и наименее вредным ответам. Таким образом, у тонко настроенных больших языковых моделей есть своего рода инструментальная цель: максимизировать положительные оценки от людей (точно так же, как люди надеются на симпатию или уважение за свои слова и поступки). Но если говорить о жизненных целях, эта сформулирована довольно туманно. Существует множество различных способов, которыми большая языковая модель может достичь этой цели — по сути, произнося практически всё, что является вежливым, точным и безопасным. Это определенно не так четко очерчено, как страстное желание пробить гору насквозь или наводнить мир канцелярскими товарами. Так что же мы можем сделать, чтобы заставить большие языковые модели действовать более целенаправленно, и какими будут последствия?
Напомним, что в части 3 мы познакомились с фундаментальной идеей когнитивистики: решения, основанные на вознаграждении, принимаются двумя различными системами. Система, основанная на привычках, учится делать простые и грубые выборы на основе прошлого опыта, в то время как система, основанная на целях, тщательно перебирает возможные варианты, взвешивая их вероятные будущие издержки и выгоды. Настраивая большую языковую модель на основе огромных объемов опыта, мы прививаем ей хорошие привычки — наделяем ее языковыми рефлексами, которые сдерживают сквернословие, токсичность и многословие и в идеале делают ее более точной, полезной и безопасной. Как мы уже видели, в сочетании с богатыми и разнообразными данными этот метод проб и ошибок может быть удивительно эффективным. В частности, он позволяет моделям демонстрировать контекстное обучение, в ходе которого большие языковые модели «мета-обучаются» стратегии, генерирующей соответствующие ответы на совершенно новые последовательности токенов. Это дает им гибкость, позволяющую творчески писать тексты, решать логические головоломки или давать советы, основанные на здравом смысле. Однако если мы хотим создать по-настоящему целеустремленные большие языковые модели, нам необходимо наделить их системой, основанной на целях — такой, которая явно ищет правильные слова или действия с прицелом на достижение конкретного результата. В исследованиях ИИ это обычно называют созданием больших языковых моделей, способных к планированию.
Планирование — это ментальный процесс, который включает в себя продумывание шагов, необходимых для достижения цели, поиска ответа или прибытия в пункт назначения. Представьте, например, старшеклассника, который ломает голову над тем, как разделить 392 на 7. Большинство людей не хранят ответ на этот вопрос в памяти. Однако если ученика обучили методу деления в столбик и он знает таблицу умножения, он может: (1) разделить 39 на 7, что дает 5 и 4 в остатке, затем (2) приписать остаток к следующей цифре, разделить 42 на 7, что дает 6, и затем (3) соединить эти две цифры вместе, получив правильный ответ — 56. Неважно, прокручивает ли ученик эти шаги в голове с помощью внутреннего монолога, произносит их вслух или записывает карандашом. Явно формулируя алгоритм решения задачи шаг за шагом, он с большей вероятностью придет к правильному ответу.
Удивительно, но оказывается, что заставить большие языковые модели рассуждать в более целенаправленном ключе можно, просто побудив их глубже задуматься над задачей. В работе 2022 года был предложен новый прием под названием «цепочка рассуждений» (chain-of-thought prompting), при котором большой языковой модели показывают пример того, как «думать вслух» при решении математической или логической задачи. Так, когда перед моделью поставили задачу «Сколько нажатий клавиш потребуется, чтобы набрать числа от 1 до 500?», ей предложили правильный ответ, сопровождаемый пошаговым ходом рассуждений, подобным следующему:
Существует 9 однозначных чисел от 1 до 9. Существует 90 двузначных чисел от 10 до 99. Существует 401 трехзначное число от 100 до 500. 9 + 90(2) + 401(3) = 1392.
Метод «цепочки рассуждений» (CoT, chain-of-thought) кардинально улучшает результаты работы больших языковых моделей при решении новых логических задач. Он особенно полезен для так называемых «многоходовых» (multi-hop) задач на рассуждение — таких, как в сложном проверочном наборе данных под названием HotpotQA.[*2] Многоходовые задачи требуют объединения самых разных фрагментов информации для ответа на запрос. Например, если я спрошу большую языковую модель: «каков телефонный код города, в котором родился Галилей?», ей сначала нужно извлечь факт о том, что Галилей родом из Пизы, а затем найти телефонный код этого тосканского города (сейчас это +050, хотя во времена Галилея его, возможно, и не существовало). Проговаривая эти шаги самой себе, модель с большей вероятностью пойдет по верной логической цепочке. Задачи Ферми — известные своей каверзностью головоломки на угадывание — обычно требуют именно многоходовых рассуждений. Если я спрошу большую языковую модель, сколько мячей для гольфа поместится в пассажирском суперлайнере, то ответа на этот вопрос в ее обучающих данных, скорее всего, не окажется. Ей придется проделать прикидочные расчеты («на коленке»), например, с помощью школьной геометрии сопоставить радиус мяча для гольфа, примерный объем цилиндра размером с суперлайнер и плотность упаковки сфер, чтобы получить вероятную оценку (где-то между 10 и 20 миллионами, по оценкам Gemini и GPT-4, что близко к результату, полученному вручную).
Разработка новых разновидностей CoT превратилась в настоящую мини-индустрию. Появилось множество усовершенствований, таких как побуждение модели задавать себе наводящие вопросы или критически оценивать собственную цепочку рассуждений — а затем рекурсивно пытаться ее улучшить (как выяснилось, это очень помогает при математических рассуждениях).[*3] Другой прием заключается в том, чтобы побудить ее генерировать несколько параллельных цепочек рассуждений и выдавать наиболее популярный ответ, либо формулировать подзадачи и решать их в порядке, обратном их сложности — от самых простых к самым сложным.[*4] Однако, пожалуй, самое поразительное открытие состоит в том, что способность больших языковых моделей к рассуждению, по-видимому, улучшается вообще без каких-либо примеров в промпте, если просто предварить ее ответ фразой «Давай подумаем об этом шаг за шагом» (судя по всему, это работает еще лучше, если сначала попросить модель «сделать глубокий вдох»).[*5]
Метод CoT подталкивает модель рассуждать вслух на каждом шаге. Она способна использовать эту тактику, поскольку ее обучающие данные содержат множество примеров того, как люди рассуждают подобным образом, и модель на мета-уровне научилась применять этот стиль мышления к новым запросам, вроде задачи с мячами для гольфа в пассажирском самолете. Пошаговое мышление разбивает задачу на небольшие, легко усваиваемые части, каждая из которых в отдельности проще и менее подвержена ошибкам, чем исходный запрос. В случае с нашим учеником, делящим в столбик, ответ для каждого отдельного шага проще извлечь из памяти (например, из таблицы умножения, выученной в начальной школе), а проговаривая каждый шаг вслух, ученик с меньшей вероятностью забудет цифру, упустит операцию или вообще запутается. На самом деле метод CoT работает в модели точно по той же причине. Большие языковые модели авторегрессионны: при прогнозировании последовательности токенов их собственные прошлые предсказания подаются им на вход, поэтому все, что модель ранее «проговорила вслух», может быть использовано для поиска правильного ответа. Модель просто проговаривает вслух свои собственные выкладки самой себе. Но даже если мы в общих чертах понимаем, почему это работает, все равно поразительно, что простое предложение подумать вслух помогает модели рассуждать более последовательно — так, как, по традиционным утверждениям сторонников рационализма, потребовало бы своего рода символьных вычислений.
Таким образом, один из способов сделать большие языковые модели более целенаправленными — просто велеть им подумать усерднее. Но ограничение метода CoT заключается в предположении, что модель может без труда сообразить, как лучше всего разбить задачу на посильные шаги. На самом деле многие реальные задачи имеют несколько конкурирующих решений, некоторые из которых могут оказаться тупиковыми. Подобные задачи требуют рекурсивных форм логического вывода или поиска, а также процессов, которые отслеживают ошибки или сигнализируют о достижении цели. Далее мы увидим, что большим языковым моделям еще предстоит пройти долгий путь, прежде чем они смогут решать задачи, с которыми люди часто сталкиваются в реальном мире, особенно когда эти задачи выходят за рамки естественного языка.
Пропустить примечания
*1 Bostrom, 2014.
*2 См. Yang et al., 2018.
*3 Kim, Baldi, and McAleer, 2023.
*4 Отличный обзор см. в Mialon et al., 2023.
*5 Kojima et al., 2023; Yang et al., 2023.