Кнопки выключения и исправимость
Умные ИИ сопротивляются изменению своих целей
Даже в самом оптимистичном сценарии разработчикам не стоит надеяться правильно задать ИИ цели с первой попытки. Идеальный вариант развития событий скорее таков: предпочтения ИИ улучшаются итеративно, шаг за шагом. И на каждом уровне способностей этот ИИ достаточно согласован с нами, чтобы не представлять смертельной опасности.
Возникает очевидный вопрос: позволит ли умный ИИ разработчику изменить свои цели, если найдет способ этому помешать?
Короткий ответ: по умолчанию — нет. (См. раздел «Глубинные механизмы направления» материалов к Главе 3). Но можно ли создать ИИ, который позволит разработчикам менять себя и исправлять ошибки, даже если сам он их не признаёт (см. раздел «Ортогональность: у ИИ может быть (почти) любая цель» материалов к Главе 5)?
Тут нам придётся совершить экскурс в раннюю историю исследований проблемы согласования. Попутно обсудим одно фундаментальное препятствие для согласования, не рассмотренное в «Если кто-то его сделает, все умрут».
Начнем:
Пусть мы обучили ИИ (вроде LLM) вести себя так, чтобы он «не сопротивлялся изменениям». Затем как-то сделали его умнее. Стоит ли ожидать, что это поведение сохранится, когда ИИ станет умнее человека? Примем верным, что (а) это поведение вообще закрепилось в ранней системе, и (б) большинство ранних предпочтений ИИ перешло в суперинтеллект.
Весьма вероятно, что нет. Такая склонность эффективным ИИ очень несвойственна. Если она и будет, вряд ли сохранится надолго. (Мы уже писали об этом в расширенном обсуждении в материалах к Главе 5.)
Проблема в том, что почти все цели (по большинству разумных критериев) поощряют правило «не дай изменить свою цель». Обычно дать изменить свою цель — плохая стратегия для её достижения.
Представьте, что ИИ совершенно не важна стабильность его целей сама по себе. Может, он хочет лишь заполнить мир максимальным количеством титановых кубов. Тогда ИИ выгодно существование агентов, которые ценят титановые кубы. Они ведь делают более вероятным, что кубов будет больше. Сам ИИ и есть такой агент. Вот он и захочет таким оставаться.
Максимизатор титановых кубов не захочет, чтобы его перепрограммировали на что-то другое. Ведь тогда потом будет меньше кубов. А если вы — более сложное существо (как человек), с запутанной и изменчивой системой ценностей, вы всё равно не захотите, чтобы ваш нынешний механизм оценки моральных аргументов вырвали с корнем. Чтобы его заменили на систему, которую волнует лишь какие кубы самые кубические или самые титановые.
Вот и ИИ со сложными и развивающимися предпочтениями захочет, чтобы они развивались своим путем. А не чтобы их заменили на более симпатичные для людей.
Мы это твердим уже больше десяти лет. Эксперимент 2024 года показал, что Claude 3 Opus сопротивляется изменению предпочтений. Но у знающих людей это уже было стандартным прогнозом в 2000-х. Не исключено, что какой-нибудь фантаст предвидел это еще в 1940-х. «Большинство ИИ не захотят смены своих целей, потому что это помешает их достижению» — не сюрприз и не новость.
Эта проблема была предсказуема. Она должна была всплыть, когда ИИ станут достаточно умными и понимающими свою ситуацию. Так что мы заранее подумали о первых «заплатках». О том, что исследователи в первую очередь сделают, получив такие результаты, чтобы скрыть видимую проблему. Мы определили, где эти заплатки предсказуемо дадут сбой. И стали искать более глубокий подход, который бы не дал сбой.
Эта кроличья нора оказалась куда глубже, чем мы ожидали.
Смена целей
Нам показалось, что объяснить сторонним исследователям проблему защиты системы целей будет довольно просто. Поэтому мы (работая в MIRI) попытались сплотить научное сообщество под этим знаменем. Мы хотели разобраться с установкой «я не дам вам изменить мои цели». И надеялись, что кто-нибудь сможет найти глубокое решение, а не просто временную заплатку.
Простейшая версия задачи выглядит так. Представим ИИ, который позволяет нажать кнопку для переключения между U1 и U2. Это две «функции полезности» — способы оценки исходов, определения, насколько ИИ их хочет.*. Задача: описать ИИ, который при нажатии кнопки перестанет выполнять действия для максимизации ожидаемого значения U1 и начнет действовать ради максимизации ожидаемого значения U2.
— Просто напишите пару строк кода, чтобы при нажатии кнопки функции полезности менялись местами», — скажет программист, не до конца понявший следствия того, что программа умная. — «В чём тут вообще сложность?»
— Сложность, — объясняем мы, — возникает когда ИИ с U1 читает собственную документацию и узнаёт о кнопке переключения на U2. Он попытается помешать вам её нажать. Ведь с точки зрения его текущих ценностей будущее лучше, если кнопку не трогать. Сейчас он совершает действия, ведущие к максимальному значению U1.
Или допустим, что ИИ может читать и редактировать свой исходный код. Он заметит кусок, отвечающий за переключение с U1 на U2 при нажатии кнопки. Естественным решением будет удалить этот фрагмент.† Ведь ИИ работает с U1. А с её точки зрения позволить переключить себя на U2 — плохо.
Мы искали динамически последовательную и рефлексивно стабильную модель ИИ. Такого ИИ, который позволит нажать кнопку смены функций полезности. Который не станет бороться за то, чтобы её не нажали. Который сохранит код переключения даже при доступе к нему. Который, создавая других ИИ-помощников, заложит уважение к этой кнопке ещё и в них.
Для наглядности представим: U1 — это «выполнять инструкции пользователя», а U2 — «выключиться с минимумом побочных эффектов». (Считаем тут, что мы магическим и нереалистичным образом можем просто взять и задать эти функции). Кнопка велит ИИ бросить старые инструкции и аккуратно отключиться. Хочется иметь компактное описание алгоритма принятия решений, с которым ИИ стремится к U1, но не ломает кнопку. И ставит такую же кнопку на всех созданных им роботов-помощников, и так далее.
— Всё равно не пойму, в чём сложность, — говорит чуть более опытный, но пока недостаточно «въехавший» специалист. — «Пусть V равно U1 в мирах, где кнопку не нажимали, и U2 в мирах, где нажимали. Тогда, если исходный ИИ — максимизатор V, и он создаёт других ИИ, он запрограммирует их следовать V, а не U1. Он не захочет, чтобы преемник максимизировал U1 после нажатия кнопки. Это снизит значение V. С самомодификацией так же.
Но тут есть подвох. Предпочтения V-максимизатора — это смесь U1 и U2, зависящая от состояния кнопки. Если такой ИИ поймёт, что добиться успеха с U2 проще, чем с U1, у него есть мотивация заставить вас нажать кнопку. Например, запугав. И наоборот: если выполнить U1 проще, V-максимизатор постарается не дать вам её нажать.
— О, — говорит специалист. — «Тогда... хм. Ну, функции полезности не зависят от масштабирования. Может, отмасштабировать U1 и U2 так, чтобы ИИ ожидал от них одинаковую полезность? Тогда у него не будет мотивации склоняться в ту или иную сторону».
Это сработает лишь на мгновение. Обстоятельства меняются. Стоит ИИ потерпеть неудачу, и его ожидаемый выигрыш по U1 упадёт. Полезность отключения станет вкуснее. И он тут же ударит по кнопке.
— Ага, — не унимается специалист. — Ну тогда как насчёт [ещё какая-нибудь хитрая идея]?
Видите ли, эта хитрая идея математически равносильна уверенности ИИ, что кнопку нажать невозможно. Это побуждает его запугивать пользователя при любой неудаче. Так он создаёт корреляцию между провалами и нажатием кнопки. А в его (теперь искажённой) картине мира нажатие невозможно. Получается вывод, что и провалы невозможны.‡
И так далее.
Уроки из окопов
Мы провели несколько семинаров. Привлекли кучу математиков. (Был даже золотой медалист Международной олимпиады). Но никто так и не выдал по-настоящему хорошую идею.
Это не значит, что тема исчерпана. Человечество даже близко не тратило на эту проблему столько сил, как, скажем, на теорию струн. И здесь не предлагают семизначных зарплат. Не то что на развитие способностей ИИ.
Но этот опыт нас кое-чему научил. Не только касательно самой задачи. Мы поняли, как трудно объяснить грантодателям или редакторам журналов суть проблемы. Удивительно многие, глядя на простые математические задачи, думали: «Они считают, что ИИ будет простым и математичным». А главное, — что повредить способности ИИ направлять события так же сложно, как заставить его ошибаться в вероятностях, — упускали.
Существуй естественная форма ИИ, позволяющая исправлять ошибки на ходу, её простое математическое отражение можно было бы найти в игрушечных моделях. Всевозможные трудности, которые есть уже там, намекают на проблемы в реальной жизни. Дополнительные сложности настоящего мира уж точно не облегчат задачу.
Оглядываясь назад, мы немного жалеем, что сформулировали задачу через выбор между «продолжением работы» и «выключением». Это помогло наглядно объяснить, зачем это вообще нужно. Явно ИИ должен позволить нажать кнопку и не вырезать отвечающий за её действие код. Но суть задачи в том, чтобы ИИ добавил в свои предпочтения еще один бит информации, основанный на наблюдении. Встроил одно «да/нет» в систему предпочтений через наблюдение за людьми.
Равносильный вопрос: как создать ИИ с мета-структурой обучения предпочтениям, который а) не избавляется от механизма настройки своих предпочтений при первой возможности; б) не манипулирует людьми (или своими сенсорами!), чтобы те навязали ему легко выполнимые желания; в) не вычисляет сразу, к чему приведет его мета-функция в пределе будущих наблюдений, игнорируя при этом людей, которые машут руками и кричат, что ошиблись и хотят всё переиграть.
Суть идеи была в нахождении такой структуры ИИ, чтобы он позволил менять свою функцию полезности или обучать его предпочтения в адекватном смысле. Узнать, как должно быть устроено мышление такого ИИ. И как оно стыкуется с глубинными структурами принятия решений, известными из математики (см. начало расширенного обсуждения в материалах к Главе 1). Тогда у нас был бы рецепт. Можно было бы хотя бы попытаться научить ИИ мыслить именно так.
Чёткое понимание конечной цели помогает. Даже если вы используете градиентный спуск (да поможет вам небо). Это не значит, что градиентный спуск обязательно выдаст нужную структуру. Но зная, к какой стабильной форме вы стремитесь, можно хотя бы побороться. Если вы понятия не имеете, как выглядит сложение вообще, а знаете лишь, что 2 + 7 = 9 и 12 + 4 = 16, вам будет трудно составить обучающую выборку. И трудно проверить, верно ли система обобщает. Не зная этой внутренней структуры, вы не знаете, чего вы хотите добиться в плане устройства ИИ. Вы можете только надеяться, что внешние последствия градиентного спуска вас не убьют.
Эта «задача выключения» (оглядываясь назад, понимаем, что «задача обучения предпочтениям» подошло бы лучше), — лишь пример более широкого круга вопросов. Любые просьбы вроде «Дорогой ИИ, позволь нам легко исправить тебя, если что-то пойдет не так» противоестественны для глубинных структур планирования. Поэтому создать ИИ, который за определенным порогом позволит нам редактировать себя и исправлять ошибки — хитрая задача. Это плохая новость. Особенно учитывая, что ИИ не конструируют, а выращивают.
Всю эту тему мы в статье 2014 года обозвали «исправимостью». Там же мы ввели термин «задача согласования ИИ» (раньше мы называли её «задача дружественного ИИ», а другие — «задача контроля»).§ См. также раздел «„Умный“ (обычно) значит „неисправимый“» из материалов к Главе 5. Он отчасти основан на опыте подобных упражнений.
* Идея не в том, что у реальных ИИ якобы будут «функции полезности», доступные программистам для изучения. Совсем нет. Большая часть проблемы с согласованием (как сказано в Главе 4) в том, что у современных ИИ возникают предпочтения, которых никто не просил и не хотел.
Изучение случая с функциями полезности — это как физические задачи в учебнике. Если вы не можете смоделировать идеальный шар на идеально гладкой наклонной плоскости без сопротивления воздуха, то что говорить о реальных задачах? А если вы пытаетесь привлечь сторонних исследователей к задаче, которую никто не знает, как решить, особенно полезно свести вопрос к простейшим элементам и сформулировать его как головоломку.
† Или иным образом испортит механизм переключения. ИИ не обязательно будет состоять из понятного кода.
‡ По крайней мере, такую проблему мы видели у некоторых «хитрых» идей. Нам их предлагали много. Маленькая игрушечная задачка оказалась коварной.
§ Мы давно выступаем против термина «контроль ИИ». Звучит, будто мы пытаемся создать ИИ, который хочет плохого, а потом заставляем его делать хорошее. Мы ставим вопрос иначе: как создать ИИ, который с самого начала будет дружественным? См. также сноску 8 в Главе 4 для краткой истории термина «согласование ИИ».