
От прочтения заметки Теда Чана «ChatGPT Is a Blurry JPEG of the Web» я загорелся идеей написать статью с прицелом на академическую публикацию, где бы изобразил различные модификации аргумента «китайской комнаты» Джона Серла. Правда, написать ее, по разным причинам, выйдет не скоро, а тем более опубликовать. Тем не менее поиск источников успел дать побочные, но приятные следствия. Я обнаружил сразу два очерка Теда Чана в «The New Yorker», помимо эссе о ChatGPT, так или иначе связанных с вопросами ИИ: «Will A.I. Become the New McKinsey?» и «Why Computers Won’t Make Themselves Smarter». Ниже я предлагаю свою версию (с корректировками от сестры-филолога) перевода второй из этих заметок.
Эссе «Почему компьютеры не смогут сделать себя умнее» опубликовано 30 марта 2021 г. – примерно за полтора года до шумихи вокруг ChatGPT. Но рассуждение в нем косвенно связано и с умными чат-ботами, и со ставшим легендарным письмом с не менее легендарными подписантами против продолжения разработок нейросетей. Да, речь о нашей любимой Технологической Сингулярности – о том, насколько она возможна.
Надо сказать, что предыдущая отрецензированная мной статья Чана с точки зрения и иллюстративных примеров, и метафор, и изящности аргументации сильнее переведенной и рассматриваемой здесь. Тем не менее «Почему компьютеры не смогут сделать себя умнее» – очень неплохой пример критики идей, которые настолько глубоко через массовую культуру, СМИ и научпоп проникли в наше повседневное мышление, что потеряли свой первоначальный облик. Облик красивой, но спекулятивной борьбы технофильских и алармистских интеллектуальных традиций. В конце концов, где бы вы еще смогли увидеть сравнение онтологического доказательства существования божественного с гипотезой Технологической Сингулярности? Тед Чан вправду проделывает очень серьезный и стройный анализ (в духе аналитической философии) дискурсивных стратегий одного из творцов идеи сверхсильного и сверхчеловеческого ИИ.
Повторюсь, его мысленный эксперимент не столь хорош, как «сжатое изображение всемирной сети», но последний – маленький шедевр. Очень удачная находка. Ждать такой в каждой статье – слишком сильное требование к любому, даже самому талантливому автору. Во всяком случае мыслительные ходы Теда Чана во много, во много и еще раз во много сильнее, глубже и находчивее, притом в каждом отдельно взятом эссе, чем все решения, большие и малые работы Бострома вместе взятые. Заявляю это со всей ответственностью. Возможно, когда-нибудь я оброню пару письменных слов о том, почему решения и аргументы этого философа – странным образом часто цитируемая чепуха и пустота, но речь тут, конечно, не о том и не о нем.
Вернемся к содержанию заметки. Чан начинает с проведения логического сходства между онтологическими аргументами существования Бога и аргументами о высоковероятном наступлении Технологической Сингулярности. Схожее в обеих аргументациях и есть их слабое место – они доказываются как бы из самих себя при помощи силлогизмов с заранее необоснованными посылками. Идея о совершенном божестве предполагает наличие в действительности столь же совершенного существа, а идея (потенциально) всесильного и практически всеведущего ИИ подразумевает т. н. «рекурсивное самосовершенствование». Не прибегая к классическому кантианскому способу окончательно (или хотя бы с некоторой логической убедительностью) решить, насколько силен подобный ход рассуждений, Тед Чан идет своим путем. Частично этот путь смыкается со все тем же размышлением Серла о «китайской комнате», но лишь частично – аналогия не столь явная, как в случае с «размытым изображением всемирной сети». Смычка происходит на втором этапе аргументации писателя, где он предлагает примерить рекурсивное самосовершенствование на человеческом существе, показывая некоторую абсурдность самой идеи из сердца мечтаний сторонников наступления Техносингулярности. Далее следует скептическая ремарка о возможности конечного исследования человеческого мозга, т. е. достижения полного научного понимания всех причинных и специфических особенностей наших когнитивных способностей, включая решение «сложной проблемы сознания».
Затем следует третий этап аргументации Теда Чана. Это доказательный блок с подключением эмпирики из программистской практики. И здесь тоже есть семена критического сомнения Джона Серла. Во-первых, приводится мысленный эксперимент с двумя равными друг другу по интеллектуальным способностям существами – средним программистом и программой с ИИ того же умственного уровня. По условию машина имеет очень мощное железо, по скорости в сотню раз быстрее человеческих мозгов. И для выполнения весьма сложной, одной и той же, задачи воображаемому человеку-программисту понадобится сто лет, а умной и быстрой машине – всего-то год. Но как бы мы ни увеличивали время – хоть и до многих веков и тысячелетий – ни машина, ни рядовой, но бессмертный и не скучающий, программист не смогли бы кропотливым выполнением синтаксических операций совершить прорыв в области исследований и конструирования сверхразумного ИИ. Потом этот несколько абстрактный мысленный эксперимент переводится на более конкретный язык примеров из программирования, с кратким введением в то, что такое компиляторы, раскрутка компиляторов, оптимизирующие компиляторы, предметно-ориентированные языки, языки общего назначения и т. д. И здесь в более сильном и обоснованном виде повторяется результат предыдущего мысленного эксперимента: оптимизировать работу программ с ИИ специализированного назначение можно и нужно, но из этого логически необходимо и непротиворечиво не следует возможность оптимизации, притом бесконечной (т. е. того самого рекурсивного самосовершенствования), притом для конструирования программы с полем универсальной применимости.
И, наконец, в последней части текста Теда Чана дается самый сильный и интересный (контр)аргумент. Именно с такими круглыми скобками, ведь, с одной стороны, он демонстрирует, почему рекурсивное самосовершенствование невозможно (по крайней мере, в ближайшее время и в контексте, который толкуется последователи сингуляристской идеи), а, с другой стороны, автор показывает, где подобное применимо и наличествует в реальности:
«Но есть такой контекст, в котором, на мой взгляд, рекурсивное самосовершенствование представляется значимой концепцией, а именно когда мы рассматриваем способности человеческой цивилизации в целом. Обратите внимание, что это отличается от индивидуального разума. Нет никаких оснований полагать, что люди, родившиеся десять тысяч лет назад, были менее умны, чем родившиеся сегодня; у них была точно такая же способность к обучению, как и у нас. Но в настоящее время у нас за плечами десять тысяч лет технического прогресса, и эти технологии носят не только физический, но и когнитивный характер»
Потом, вводя понятие «когнитивных инструментов», уравновешивающих способности людей (сходно с неологизмом Владимира Фридмана «практики или техники Демосфена»: http://www.socialcompas.com/2014/06/17/pr...), а также на ряде иллюстраций, Чан доводит свою позицию до логичного предела, которая схожа с критикой, как бы мы сейчас сказали, «сильного ИИ», Ильенковым (которую я ранее считал недостаточной и слабой, но в той цепочке рассуждений, которую организовал Тед Чан, «аргумент от цивилизации» не выглядит таким уж недостаточным и слабым: http://caute.ru/ilyenkov/texts/machomo.html). И, как и в случае с предыдущей статьей писателя, заканчивается повествование важной «моралью», которая тем же Питером Уоттсом (хоть в самом интервью канадский писатель двояко относится к возможности Технологической Сингулярности, в ее иной терминологической форме – в блоке рассуждений о постчеловечества – Уоттс вполне верует в подобное: https://www.mirf.ru/book/peter-watts-inte...) и иными сторонниками того, что можно назвать «сильной верой в Технологическую Сингулярность» (такая вера заключается в том, что указанное событие решит все проблемы жалких человеков, от чего можно будет расслабить лапки и либо жить в свое удовольствие, ну или умереть от скуки и/или восстания машин), игнорируется и оттеняется:
«К лучшему или к худшему, но судьба нашего вида будет зависеть от принятия решений исключительно самим человеком»
Все это не отменяет того, что в разумных пределах несколько капель алармизма необходимы, но в который раз заставляет нас лучше присмотреться к тому, что мы считаем здравым смыслом эпохи, чем-то общепринятым и неопровержимым.
Теперь о самом переводе. Разумеется, в нем точно будут свои огрехи, непродуманные места и слабые стороны. Думаю, коллективный разум «фантлабовской цивилизации» укажет на них, а я попробую все поправить. В квадратных скобках без внутренней пометки «(прим.)» указаны уточнения к изначальному тексту, его контексту. С пометкой «(прим.)» встречаются те места, которые я посчитал необходимыми к сторонним отсылкам. В квадратных скобках со звездочками находятся ссылки, комментирующие те или иные смысловые стороны в статье Теда Чана. Возможно, среди всей этой суммы примечаний и уточнений встречаются избыточные эпизоды, а сам перевод содержит чрезмерно много буквальных мест. Надеюсь, что все это не слишком умалит моих стараний и ценности текста оригинала. В любом случае приятного чтения!
В одиннадцатом веке Ансельм Кентерберийский предложил доказательство существования Бога, которое примерно выглядит так: Бог, по определению, есть самое совершенное, что только можно вообразить; Бог, который не существует, определенно не так совершенен, как Бог, который существует; поэтому Бог необходимо существует . Это рассуждение известно как онтологический аргумент, и довольно много людей находят его убедительным , отчего дискуссии по поводу него до сих пор продолжаются. Некоторые критики подобной попытки доказать существование Бога замечают, что такие доказательства, по сути, переопределяют «бытие» в «существование», но определения не работают подобным образом .
Бог – не единственное, чье существование люди пытались доказать . «Давайте определим сверхразумную машину как машину, которая способна намного превзойти любую интеллектуальную деятельность любого человека, каким бы умным он не был», писал информатик Ирвинг Джон Гуд в 1965 году:
«Так как разработка машин – это тоже одна из форм интеллектуальной деятельности, то сверхразумная машина смогла бы разработать еще более совершенные машины; в таком случае, несомненно, произойдет «интеллектуальный взрыв», и разум человека останется далеко позади. Таким образом, первая сверхразумная машина – это последнее изобретение, которое когда-либо понадобится создать человеку при условии, что она достаточно разумна, чтобы объяснить нам, как держать ее под контролем».
Идея интеллектуального взрыва возродилась в 1993 году благодаря писателю и информатику Вернору Винджу , который дал ей название «сингулярность». С тех пор эта концепция приобрела некоторую популярность среди разработчиков и философов. Такие книги, как «Искусственный интеллект. Этапы. Угрозы. Стратегии» Ника Бострома, «Жизнь 3.0. Быть человеком в эпоху искусственного интеллекта» Макса Тегмарка и «Совместимость: как контролировать искусственный интеллект» Стюарта Рассела описывают варианты возникновения «рекурсивного самосовершенствования», при которых ИИ будут постоянно разрабатывать все более совершенные версии самих себя.
Я полагаю, что аргументы Гуда и Ансельма имеют нечто общее, а именно в том пункте, что во многом оба примера доказываются своими исходными определениями. Внешне они кажутся приемлемо сформулированными и даже допустимыми, отчего обычно принимаются за чистую монету. Но эти определения заслуживают более тщательного рассмотрения. Думаю, чем больше мы строго изучим скрытые посылки в рассуждении Гуда, тем меньше правдоподобности останется в его идее интеллектуального взрыва.
Как могло бы выглядеть рекурсивное самосовершенствование для людей? Для удобства мы будем описывать человеческий интеллект в терминах IQ, но не по причине одобрения системы количественной оценки умственных способностей. Дело в том, что IQ воплощает идею об удобном и практичном измерении интеллекта конкретным числом, а это – одно из допущений сторонников интеллектуального взрыва. В этом случае рекурсивное самосовершенствование выглядело бы следующим образом: если есть человек с IQ равным, скажем, 300, то одна из проблем, которую этот человек может решить, заключается в том, как превратить человека с IQ=300 в человека с IQ=350. И тогда человек с IQ=350 сможет решить более сложную проблему преобразования человека с IQ=350 в человека с IQ=400. И так далее.
Есть ли у нас какие-либо основания допускать, что именно так функционирует интеллект? Я не думаю, что мы ими обладаем. Например, есть множество людей, у которых IQ=130, и есть меньшее число людей, у которых IQ=160. Никто из них не способен повысить интеллект человека с IQ от 70 до 100, что, как предполагается, является более легкой задачей. Никто из них не сможет повысить даже интеллект животных, чьи умственные способности считаются слишком низкими, чтобы замерить их тестами IQ. Если бы повышение чьего-либо IQ было занятием того же рода, что решение набора математических головоломок, мы должны были бы увидеть успешные примеры этого на начальном этапе , где задачи решаются легче. Но мы не видим убедительных доказательств того, что подобное происходит.
Возможно, этого нет в настоящее время из-за того, что мы слишком далеки от необходимого порога; возможно, IQ=300 – тот минимум, который необходим для повышения интеллекта любого человека вообще. Но даже если так и есть, у нас все равно нет веских оснований предполагать, что бесконечное рекурсивное самосовершенствование возможно. Например, вполне может быть, то лучшее, на что способен человек с IQ=300, – это увеличить IQ другого человека до 200. Это позволило бы одному человеку с IQ=300 обеспечить всем окружающим IQ=200, и одно это, откровенно говоря, было бы удивительным достижением. Но подобный исход все равно вывел бы нас на плато; не было бы ни рекурсивного самосовершенствования, ни интеллектуального взрыва.
Инженеру-исследователю из I.B.M., Эмерсону М. Пью, приписывают высказывание: «Если бы человеческий мозг был так прост, что мы могли бы его понять, мы были бы настолько просты, что не смогли бы его понять» . Это утверждение имеет интуитивный смысл, но, что более важно, мы можем указать на конкретный пример в его поддержку: микроскопическая нематода C. elegans . Вероятно, это один из наиболее изученных организмов в истории; ученые секвенировали его геном и знают последовательность клеточных делений, которые дают начало каждой из девятисот пятидесяти девяти соматических клеток в его теле, и нанесли на карту все связи между его тремя сотнями и двумя нейронами. Но они все еще не до конца понимают поведение этих нематод. По оценкам, в среднем в человеческом мозге насчитывается восемьдесят шесть миллиардов нейронов, и нам, вероятно, понадобится большинство из них, чтобы понять, что происходит в трехстах двух клетках C. elegans; такое соотношение не сулит ничего хорошего для наших перспектив понимания происходящего внутри нас самих.
Некоторые сторонники интеллектуального взрыва считают возможным усилить интеллект без полного понимания функционирования той системы, в которую он встроен. Они подразумевают, что такие интеллектуальные системы, как человеческий мозг или программа с ИИ, имеют одну или несколько скрытых «умственных кнопок», и всего-то нужно быть достаточно умными, чтобы найти эти кнопки. Я не уверен, что в настоящее время у нас есть много достойных кандидатов на эти кнопки, поэтому трудно оценить достоверность такой идеи. Пожалуй, наиболее часто предлагаемый способ «включить» ИИ – увеличить скорость аппаратного обеспечения, на котором выполняется программа. Некоторые заявляют, что как только мы создадим программное обеспечение, которое будет таким же разумным, как человек, его запуск на более быстром компьютере успешно создаст сверхчеловеческий интеллект. Приведет ли это к интеллектуальному взрыву?
Давайте представим, что существует программа с ИИ того же уровня, что и естественный интеллект у рядового человеческого программиста. Теперь предположим, что мы увеличиваем скорость компьютера, на который установлена наша программа, в сто раз, после чего даем ей поработать в течение года. Это было бы равносильно тому, чтобы запереть среднестатистического программиста в комнате на столетие, притом ему бы не оставалось ничего другого, кроме работы над поставленной задачей по программированию. Многие сочли бы это адским тюремным заключением, но, для целей нашего воображаемого расклада, представим, что ИИ не чувствует того же. Мы предположим, что ИИ обладает всеми желаемыми свойствами человека, но не обладает другими свойствами, которые могли бы стать препятствиями в этой выдуманной ситуации, например, потребность в новизне или желание делать свой собственный выбор. (Мне не очевидно, насколько обоснованно и здраво допущение выше, но оставим этот вопрос на другой раз).
Итак, теперь у нас есть ИИ, эквивалентный человеческому, который тратит сто человеко-лет на выполнение одной задачи. Каких результатов мы можем ожидать от него? Предположим, что этот ИИ мог бы писать и отлаживать тысячу строк кода в день, что является потрясающим уровнем производительности. При таких темпах века почти достаточно для того, чтобы в одиночку написать код Windows XP, который предположительно состоял из сорока пяти миллионов строк. Это впечатляющее достижение, но оно далеко от того, чтобы создать ИИ, более совершенный, чем умная машина из нашего примера. Создание более умного ИИ требует нечто большее, чем просто умение писать хороший код; это потребовало бы крупного прорыва в исследованиях ИИ, а это не то, чего гарантированно достигнет среднестатистический программист, независимо от того, сколько времени ему предоставить.
Когда вы разрабатываете программное обеспечение, вы обычно используете программу, известную как компилятор. Компилятор берет исходный код, написанный вами на таком языке, как C, и преобразует его в исполняемую программу: файл, состоящий из машинного кода, понятного компьютеру. Предположим, вы не довольны используемым компилятором для C, назовем его CompilerZero. Этому компилятору требуется много времени для обработки вашего исходного кода, а запуск генерируемых им программ занимает много времени. Вы уверены, что можете добиться большего, поэтому пишете новый компилятор для C, который генерирует более эффективный машинный код; этот новый компилятор известен как оптимизирующий компилятор.
Вы написали оптимизирующий компилятор на C, поэтому можете использовать CompilerZero для преобразования вашего исходного кода в исполняемую программу. Назовем эту программу-компилятор CompilerOne. Благодаря вашей сообразительности, CompilerOne теперь генерирует программы, которые выполняются быстрее. Но запуск самого CompilerOne по-прежнему занимает много времени, потому что это продукт CompilerZero. Что вы можете сделать?
Вы можете использовать компилятор для компиляции самого себя. Вы вводите в компилятор его собственный исходный код, и он генерирует новый исполняемый файл, содержащий более эффективный машинный код. Дадим ему имя CompilerTwo. CompilerTwo также генерирует программы, которые выполняются очень быстро, но у него есть дополнительное преимущество в том, что он сам выполняется очень быстро. Поздравляем — вы написали самосовершенствующуюся компьютерную программу.
Но на этом все и заканчивается. Если вы скормите исходный код CompilerTwo в него же, то все, что он сделает – это сгенерирует другую копию CompilerTwo. Он не сможет создать CompilerThree и инициировать нарастающую серию все более совершенных компиляторов. Если вам нужен компилятор, который генерирует программы, выполняющиеся безумно быстро, вам придется поискать такой в другом месте.
Метод, при котором компилятор сам компилируется, известен как «раскрутка компилятора» , и он используется с шестидесятых годов прошлого века. С тех пор оптимизирующие компиляторы прошли долгий путь, поэтому различия между CompilerZero и CompilerTwo могут быть намного больше, чем раньше, но весь этот прогресс был достигнут программистами-людьми, а не компиляторами, совершенствующими самих себя. И, хотя компиляторы сильно отличаются от программ с ИИ, они предлагают ценный прецедент для размышления об идее интеллектуального взрыва. Потому что, во-первых, это компьютерные программы, которые генерируют другие компьютерные программы, и, во-вторых, при этом оптимизация часто является приоритетом.
Чем больше вы знаете о планируемом применении программы, тем лучше вы сможете оптимизировать ее код. Программисты-люди иногда вручную оптимизируют разделы программы, т. е. напрямую задают машинные инструкции; человеческие специалисты могут написать машинный код, который более эффективен, чем тот, который генерирует компилятор, потому что они знают о том, что должна делать программа, больше, чем компилятор. Компиляторы, которые лучше всего справляются с оптимизацией – это компиляторы для так называемых предметно-ориентированных языков, которые предназначены для написания узких категорий программ. Например, существует язык программирования под названием Halide, предназначенный исключительно для написания программ обработки изображений. Поскольку предполагаемое использование этих программ настолько специфично, компилятор для Halide может генерировать код не хуже или даже лучше того, который способен написать программист-человек. Но такой компилятор не может скомпилировать сам по себя, потому что язык, оптимизированный для обработки изображений, не обладает всеми функциями, необходимыми для написания компилятора. Для написания такого компилятора нужен язык общего назначения, а компиляторы общего назначения испытывают проблемы с подбором компетентных программистов-людей, когда дело доходит до генерации машинного кода.
Компилятор общего назначения должен быть способным к компилированию чего-угодно. Если вы скормите ему исходный код для текстового процессора, то он сгенерирует текстовый процессор; если исходный код для MP3-плеера, то MP3-плеер; и так далее. Если завтра программист изобретет программу нового типа, что-то столь же незнакомое нам сегодня, каким был самый первый веб-браузер в 1990 году, он введет исходный код в компилятор общего назначения, который послушно сгенерирует эту новую программу. Таким образом, хотя компиляторы ни в каком смысле не являются разумными, у них есть одна общая черта с человеческими существами: они способны обработать входные данные, которые они никогда раньше не получали.
Сравните это с тем, как в настоящее время разрабатываются программы с ИИ. Возьмем одну из них, которая на входе получает одни шахматные ходы, а на выходе должна выдать шаги фигур в ответ. Ее работа очень специфична, и знание об этом очень поможет для оптимизации ее производительности. То же самое верно и для программы с ИИ, которой будут даны только подсказки «Опасность!», а от нее потребуется лишь выдать ответы в форме вопроса. Бывают ИИ не для одной, а сразу для нескольких сходных игр, но его ожидаемый диапазон входных и выходных данных все еще остается крайне ограниченным. Теперь, в качестве альтернативы, предположим, что вы пишете программу с ИИ и у вас нет предварительных знаний о том, какого типа входные данные она может ожидать или какую форму примет правильный ответ. В такой ситуации трудно оптимизировать производительность, потому что вы понятия не имеете, для чего проводить оптимизацию.
Насколько универсально вы сможете оптимизировать такую программу? В какой степени возможна одновременная оптимизация системы для каждой ситуации, включая такие, с которыми ни вы, ни ваша программа ранее не сталкивались? Наверное, определенное улучшение возможно, но идея интеллектуального взрыва подразумевает, что, по сути, нет предела степени оптимизации, которая может быть достигнута. Это крайне сильное утверждение. Если кто-то заявляет, что такая бесконечная оптимизация возможна, я хотел бы увидеть некоторые аргументы, помимо отсылки на примеры оптимизации для специализированных задач.
Очевидно, ничто из этого не доказывает, что интеллектуальный взрыв невозможен. Действительно, я сомневаюсь, что можно было бы доказать такую гипотезу, потому что подобные обсуждения, видимо, не входят в область математического доказательства. Это не вопрос доказательства того, что что-то невозможно; это вопрос о том, каким образом составить хорошее обоснование для веры . Критики онтологического аргумента Ансельма не пытаются доказать, что Бога нет; они просто говорят, что аргумент Ансельма не является веской причиной полагать, что Бог есть. Так же и определение «сверхразумной машины» не является достаточным основанием для того, чтобы полагать, что мы можем сконструировать подобное устройство.
Но есть такой контекст, в котором, на мой взгляд, рекурсивное самосовершенствование представляется значимой концепцией, а именно когда мы рассматриваем способности человеческой цивилизации в целом. Обратите внимание, что это отличается от индивидуального разума. Нет никаких оснований полагать, что люди, родившиеся десять тысяч лет назад, были менее умны, чем родившиеся сегодня; у них была точно такая же способность к обучению, как и у нас. Но в настоящее время у нас за плечами десять тысяч лет технического прогресса, и эти технологии носят не только физический, но и когнитивный характер.
Давайте, для иллюстрации, сравним арабские цифры с римскими. С позиционной системой счисления из арабских цифр проще совершать умножение и деление; если вы участвуете в конкурсе по умножению, арабские цифры дают вам преимущество. Но я бы не сказал, что тот, кто использует арабские цифры, умнее того, кто пользуется римскими. По аналогии, если вы пытаетесь затянуть болт и используете гаечный ключ, у вас получится лучше, чем у того, у кого есть плоскогубцы, но было бы несправедливо говорить, что вы сильнее. У вас имеется инструмент, который дает большее механическое преимущество; только когда мы дадим вашему конкуренту такой же инструмент, можно справедливо судить, кто же сильнее. Когнитивные инструменты, такие как арабские цифры, дают аналогичное преимущество; если мы хотим сравнить интеллект отдельных людей, они должны быть оснащены одинаковыми инструментами.
Появление простых инструментов делает возможным и создание более сложных; такая закономерность верна и для когнитивных, и для физических инструментов. Человечеством разработаны тысячи изобретений на протяжении всей истории, начиная от двойной бухгалтерии и заканчивая декартовой системой координат . Таким образом, даже несмотря на то, что мы не стали умнее, чем наши предки, в нашем распоряжении имеется более...