ChatGPT как мутная ксерокопия Интернета
Автор оригинала: Ted Chiang. Перевод – Олег Сивченко. В 2013 году сотрудники одной немецкой строительной компании заметили кое-какую странность в работе корпоративного аппарата Xerox. Всякий раз, когда копировалась планировка этажа в строящемся здании, копия отличалась от оригинала в одном тонком, но в очень важном аспекте. В оригинальной версии планировки в доме различались три комнаты, и у каждой из них в прямоугольнике была подписана площадь этой комнаты: 14,13, 21,11 и 17,42 квадратных метра соответственно. Но на ксерокопии было написано, что все три комнаты имеют площадь по 14,13 квадратных метра.
Компания обратилась к информатику Давиду Кризелю с просьбой, почему получается такой, казалось бы, немыслимый результат. Здесь требовалась именно консультация информатика, так как в современных аппаратах не применяется физический ксерографический процесс, впервые популяризованный в 1960-е. Вместо этого аппарат создаёт цифровую копию документа, а затем распечатывает полученный файл (изображение). При этом учтём, что для экономии дискового пространства почти все цифровые файлы изображений подвергаются сжатию — и разгадка этого таинственного случая начинает напрашиваться сама собой.
Сжатие файла происходит в два этапа. Сначала выполняется кодировка, при которой файл преобразуется в более компактный формат, а затем декодировка, то есть обратный процесс. Если в восстановленном виде файл получается идентичным оригиналу, то такой процесс называется «сжатие без потерь» — никакая часть информации не отсеивается. Напротив, если восстановленный файл является лишь приближением к оригиналу, это значит, что применялось сжатие с потерями. После преобразования безвозвратно утеряна часть информации, содержавшейся в оригинале.
Как правило, именно сжатие без потерь используется с текстовыми файлами и компьютерными программами, так как именно при обработке такой информации потеря даже единственного символа потенциально чревата катастрофой. Сжатие с потерями — типичный приём при обработке фото, аудио и видео, а также в других контекстах, где абсолютная точность не требуется. Как правило, мы не обращаем внимания, если картинка, песня или фильм воспроизведены неидеально. Потеря качества становится явственной лишь при очень сильном сжатии файлов. В таких случаях возникают дефекты, которые называются «артефактами сжатия». Именно из-за них столь нечёткая картинка получается в самых маленьких файлах формата jpeg и mpeg, именно поэтому дребезжит звук в MP3-файлах с низким битрейтом.
В современных ксерокс-аппаратах используется формат jbig2, рассчитанный на сжатие с потерями и применяемый при работе с чёрно-белыми изображениями. Ради экономии места копировальный аппарат выявляет зоны, которые выглядят похоже, и для всех этих зон сохраняет всего одну копию. При возвращении файлов в исходный размер именно эта копия многократно используется для реконструкции картинки. Оказалось, что ксерокс счёл, что подписи с метражом комнат на чертеже выглядят достаточно похоже, поэтому можно сохранить всего одну подпись из всех —14,13 — а затем сопроводил ею все три комнаты, когда восстанавливал план этажа.
Сам факт, что в аппаратах Xerox используется сжатие именно с потерями, а не без потерь — большой проблемы не представляет. Проблема в том, что аппарат снижает качество картинки не самым очевидным образом, и артефакты сжатия на таком изображении совсем не бросаются в глаза. Если бы ксерокс просто выдавал мутные копии, любому было бы понятно, что они не являются точными репродукциями оригинала. Проблема заключается в том, что аппарат выдавал вполне чёткие, удобочитаемые и при этом неверные цифры. Он производил копии, которые только казались точными, но на самом деле таковыми не являлись. В 2014 году компания Xerox выпустила патч, устранявший именно эту проблему.
Думаю, следует держать в уме этот инцидент с ошибками ксерокопирования, когда мы рассуждаем о ChatGPT и подобных ему разработках OpenAI — сегодня такие программы принято называть «большими языковыми моделями». Возможно, сходство между ксероксом и большой языковой моделью на первый взгляд не очевидно. Но давайте рассмотрим такой сценарий: допустим, вам грозит полное отключение от Интернета, навсегда. Готовясь к этому, вы хотите создать заархивированную копию всего текста, содержащегося во Всемирной паутине, так, чтобы её можно было разместить на частном сервере. К сожалению, свободное пространство на этом сервере составляет всего один процент от нужного вам объёма. Поэтому, если вы хотите уместить на сервере всю требуемую информацию, то алгоритм сжатия без потерь вам не подойдёт. Вам придётся написать такой алгоритм сжатия с потерями, который выявлял бы в тексте статистические закономерности и сохранял информацию в специализированном формате. Поскольку вы можете затратить на решение этой задачи практически неограниченные вычислительные ресурсы, допустим, что ваш алгоритм способен выявлять тончайшие статистические закономерности такого рода, и именно поэтому вы сможете добиться желаемой степени архивации в соотношении «один к ста».
Теперь не так уж и страшно полностью потерять выход в Интернет; ведь вся информация из Сети сохранена у вас на сервере. Загвоздка лишь в том, что из-за такого сильнейшего сжатия вам не удаётся найти нужную информацию, если просто задать в поиске конкретную цитату. Точного совпадения никак не получается, поскольку слова не сохранены в том виде, в котором вы их вводите. Чтобы решить эту проблему, вы создаёте интерфейс, принимающий на вход вопросы, а на выход выдающий ответы, в которых содержится суть той информации, что сохранена у вас на сервере.
Механизм, который описан выше, по принципу действия очень похож на ChatGPT или почти любую другую большую языковую модель. Считайте, что ChatGPT похож на размытую jpeg-копию всего текста, содержащегося в Вебе. В ChatGPT сохранена большая часть информации, записанной в Вебе, но именно в таком виде, в каком на jpeg-картинке сохраняется большая часть данных, которые находились на изображении с высоким разрешением. Если в таком JPEG-варианте вы попробуете поискать конкретную последовательность разрядов, вы её не найдёте. Всякий раз вы будете получать лишь приближение. Но, поскольку это приближение даётся в форме грамматически корректного текста (а в создании таких текстов ChatGPT уже поднаторел), обычно результат получается приемлемым. Вы по-прежнему рассматриваете размытый jpeg, но потери информации таковы, что из-за них вся картинка в целом не теряет чёткости.
Такая аналогия, напоминающая о сжатии с потерями, не просто помогает понять, как именно ChatGPT удаётся переупаковывать найденную в Интернете информацию, всякий раз облекая её в иные слова. Эта же аналогия помогает понять «галлюцинации» или бредовые ответы нейросети на фактологические вопросы — именно на такие ошибки особенно падки ChatGPT и другие большие языковые модели. Такие галлюцинации — это и есть артефакты сжатия. Но они, как и некорректные подписи, генерируемые ксероксом, достаточно правдоподобны. Поэтому выявить их можно, лишь сравнивая вывод с оригиналом, а в качестве оригинала в данном случае выступает либо Интернет, либо ваши собственные знания о мире. Размышляя о подобных галлюцинациях именно таким образом, мы им совершенно не удивляемся. Если алгоритм сжатия настроен на последующую реконструкцию текста после того, как девяносто девять процентов оригинала было отброшено, следует ожидать, что существенные фрагменты сгенерированного им вывода будут полностью «искусственными».
Данная аналогия ещё более логична, если учесть, что в алгоритмах сжатия с потерями часто применяется интерполяция. Это приём, при котором мы оцениваем, чего нам недостаёт, заглянув, а что же на другом «краю пропасти». Когда редактор изображений отображает фото, и ему приходится реконструировать пиксель, потерянный при сжатии, программа рассматривает соседние пиксели и вычисляет их среднее значение. Именно это и делает ChatGPT, когда ему предлагается, например, описать событие «носок потерялся в стиральной машине» в стилистике Декларации Независимости США. Тогда модель берёт две точки в «лексическом пространстве» и генерирует такой текст, который занимал бы место между ними. («Так заведено в укладе жизни человеческой, что время от времени требуется отделять предмет ножного одеяния от парного ему предмета в целях поддержания их чистоты и для этого…»). ChatGPT настолько хорош в интерполяции такого рода, что мы даже любим этим забавляться: так, уже обнаружено, как можно применять «размытие» не к картинкам, а к абзацам, и в эту игру можно играть вдоволь. Учитывая, что большие языковые модели (например, ChatGPT) часто превозносятся как передний край развития искусственного интеллекта, может показаться снисхождением (или даже обесцениванием) сведение их к обычным текстовым алгоритмам, работающим по принципу сжатия с потерями. Но я считаю, что такая точка зрения полезна, так как помогает нам отойти от ненужной тенденции, ведущей к очеловечиванию больших языковых моделей, но в данном случае уместно рассмотреть ещё один аспект, сближающий их с алгоритмами сжатия текста, работающими с потерями.
- Источник(и):
- Войдите на сайт для отправки комментариев