В 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) часто превозносятся как передний край развития искусственного интеллекта, может показаться снисхождением (или даже обесцениванием) сведение их к обычным текстовым алгоритмам, работающим по принципу сжатия с потерями. Но я считаю, что такая точка зрения полезна, так как помогает нам отойти от ненужной тенденции, ведущей к очеловечиванию больших языковых моделей, но в данном случае уместно рассмотреть ещё один аспект, сближающий их с алгоритмами сжатия текста, работающими с потерями. Начиная с 2006 года, действует денежное вознаграждение, которое предложил исследователь ИИ Маркус Хаттер. прозванное «Премия за архивацию человеческих знаний» (Prize for Compressing Human Knowledge) или просто «Премия Хаттера». Она присуждалась любому, кто сможет ужать без потерь конкретный фрагмент Википедии объёмом 1 ГБ до размера, меньшего, чем получился у предыдущего претендента. Вероятно, вам знакомы файлы в формате zip-архива. Программа ZIP позволяет сжать хаттеровский одногигабайтный файл примерно до трёхсот мегабайт. Умелец, последним получивший данную премию на момент подготовки оригинала этой статьи, умудрился уменьшить исходный файл до ста пятнадцати мегабайт. Это не просто упражнение в трамбовке данных. Хаттер считает, что умение качественно архивировать текст поможет нам в создании сильного искусственного интеллекта, сравнимого с человеческим. Отчасти дело в том, что максимальный выигрыш при сжатии достигается благодаря пониманию текста машиной.
Чтобы было проще понять предложенное Хаттером отношение между сжатием и пониманием, приведу такой пример. Допустим, у вас есть текстовый файл, в котором содержится миллион примеров на сложение, вычитание, умножение и деление. Конечно, при помощи любого алгоритма сжатия этот файл можно уменьшить, но наиболее эффективный алгоритм для этого, пожалуй, должен сам вывести принципы арифметики и, исходя из них, написать код для программы-калькулятора. При помощи калькулятора можно безошибочно восстановить не только миллион примеров из этого файла, но и любые другие арифметические примеры, с которыми мы можем столкнуться в перспективе. Та же логика действует и при сжатии фрагмента Википедии. Если программе известно, что сила — это произведение массы на ускорение, то можно отбросить множество слов при сжатии текста со страниц по физике — программа сможет восстановить информацию по формулам. Аналогично, чем больше программе известно о спросе и предложении, тем больше слов удастся отбросить при сжатии текстов по экономике, и так далее.
Большие языковые модели находят в тексте статистические закономерности. Любая аналитика текстов из Веба, пожалуй, покажет, что тезис «предложение низкое» часто демонстрирует смежность с такими тезисами как «цены растут». Если в чатботе запрограммирована такая корреляция, то стоит задать ему вопрос о сокращении предложения — и он ответит, что в таком случае цены обычно растут. Если большая языковая модель насобирает огромное количество корреляций между экономическими терминами, то сможет веско отвечать на многие вопросы, но вправе ли мы в таком случае утверждать, что она понимает экономическую теорию? Такие модели как ChatGPT не могут претендовать на премию Хаттера по целому ряду причин и, в частности, так как они не восстанавливают исходный текст полностью. То есть, они не способны выполнять сжатие без потерь. Но не означает ли, что даже при сжатии с потерями модель по-настоящему понимает информацию именно в том смысле, в котором заинтересованы исследователи ИИ?
Вернёмся к примеру с арифметикой. Если попросить GPT-3 (это большая языковая модель, на основе которой построен ChatGPT) сложить или вычесть два числа, то модель практически всегда модель ответит правильно, если оперирует двузначными числами. Но при работе с более крупными числами точность модели значительно снижается — до 10% при работе с пятизначными числами. Большинство правильных ответов, которые даёт GPT-3, в Интернете не найти — так, не много найдётся веб-страниц, на которых был бы решён пример «245 + 821», поэтому здесь дело не сводится к простому запоминанию. Но, несмотря на то, что сеть поглотила огромные объёмы информации, она неспособна на основе этой информации вывести принципы арифметики. Подробно проследив, какие неверные ответы даёт GPT-3, можно предположить, что при арифметических операциях модель не «держит в уме» единицу, но GPT-3 этого не объяснить. Поскольку GPT-3 опирается на статистический анализ арифметических примеров, ей удаётся поверхностное приближение к реальности, но не более того.
Учитывая, что GPT-3 не сильна в предмете, изучаемом в начальной школе, как же объяснить тот факт, что иногда она выдаёт тексты настолько хорошего качества, что может потягаться со старшеклассниками? Пусть и известно, что большие языковые модели зачастую галлюцинируют, в «ясном уме» они могут работать так, как будто действительно понимают сложные темы — например, экономическую теорию. Может быть, арифметика — как раз тот предмет, для которого большие языковые модели плохо применимы. Возможно, поскольку текст — это совсем не сложение и не вычитание, в нём достаточно статистических закономерностей, которые действительно дают адекватные представления об окружающем мире?
Думаю, всё объясняется проще. Давайте попробуем рассмотреть ChatGPT как алгоритм сжатия без потерь. Если бы так и было, то в ответ на вопрос он всегда приводил бы дословную цитату с какой-нибудь веб-страницы. В таком случае мы, вероятно, расценивали бы этот инструмент как слегка усовершенствованный, но обычный поисковик, и он бы не столь нас впечатлял. Но, поскольку ChatGPT перефразирует материалы из Интернета, а не воспроизводит их дословно, он может сойти за студента, выражающего своими словами идеи, усвоенные из прочитанного. Так возникает иллюзия, будто ChatGPT понимает материал. При работе со студентами известно, что, если материал зазубрен — это не означает, что он понят. Именно поэтому сам тот факт, что ChatGPT не может выдавать точные цитаты из Интернета, наводит нас на мысль, будто модель что-то усвоила. При работе с последовательностями слов сжатие с потерями выглядит «интеллектуальнее», чем сжатие без потерь.
Предлагаются самые разные варианты использования больших языковых моделей. Но, если расценивать их как мутные jpeg-картинки, проще оценить, для каких целей они подходят хорошо, а для каких — не столь хорошо. Давайте рассмотрим несколько сценариев.
Могут ли большие языковые модели заместить традиционные поисковики? Чтобы мы могли доверять таким моделям, необходимо быть уверенным, что они не станут потчевать нас пропагандой и теориями заговора. То есть, нам нужно знать, что на этом «jpeg» схвачены именно те участки Веба, которые нужно. Но, даже если большая языковая модель включит в ответ только релевантную информацию, фактор размытия никуда не денется. Некоторую степень размытия можно считать приемлемой — например, если тезис пересказан не дословно. Но бывает и размытие, при котором текст явно сфабрикован, а это нас никак не может устроить, если нас интересуют факты. Непонятно, как с технической точки зрения можно обеспечить приемлемую степень размытия, но при этом исключить неприемлемую. Правда, полагаю, в недалёком будущем такой способ будет найден.
Даже если найдётся способ ограничить работу больших языковых моделей так, чтобы они не фабриковали факты, стоит ли при помощи этих инструментов генерировать контент для Веба? Есть компании, которые именно этим и занимаются — их уже называют «контент-фермами». Возможно, для них размытие, характерное для больших языковых моделей, как раз идёт на пользу, поскольку помогает обойтись без нарушения авторских прав. Но, в принципе, берусь утверждать: то, что на пользу контент-фермам, совсем не на пользу людям, ищущим информацию. Всплеск подобной моды на переупаковку текста осложняет нам онлайновый поиск той информации, которая требуется нам прямо сейчас. Чем сильнее Веб наполняется текстами, которые сгенерированы большими языковыми моделями, тем сильнее он превращается в собственную мутную ксерокопию.
Действительно, в качестве полезного критерия, по которому можно судить о качестве больших языковых моделей, можно взять такой показатель: насколько охотно компания готова использовать сгенерированный ею текст в качестве учебного материала для новой модели. Если вывод ChatGPT окажется недостаточно хорош для обучения GPT-4, это явно свидетельствует, что и для человека он недостаточно хорош. Напротив, если большая языковая модель начинает выдавать текст настолько качественный, что на нём можно обучать новые модели, то мы можем быть уверены в высоком уровне этого текста. Подозреваю, для достижения такого результата нам потребуется совершить большой прорыв в приёмах построения этих моделей. Если (и когда) появятся такие модели, чей вывод не хуже полученного ими ввода, к ним уже нельзя будет относиться как к «сжатию с потерями».
Могут ли большие языковые модели пригодиться при создании оригинальных текстов? Ответ — мы должны конкретизировать, что именно вкладываем в этот вопрос. Сегодня ксерокопирование уже превращается в жанр изобразительного искусства, где авторы пользуются характерными свойствами отдельных аппаратов как элементами художественного метода. Определённо, с ChatGPT уже можно проделать некоторые вещи, которые уже делают с ксероксом, поэтому на вопрос в начале этого абзаца можно ответить утвердительно. Но не думаю, что кто-то решится заявить, будто ксероксы стали важным инструментом современного искусства. Абсолютное большинство художников ксероксами не пользуется, и никто не станет утверждать, что тем самым они ставят себя в уязвимое положение.
Поэтому давайте предположим, что сейчас не обсуждаем нового литературного жанра, который был бы аналогичен художественному ксерокопированию. Исходя из этого, можно ли считать, что текст, сгенерированный большими языковыми моделями, способен послужить качественной отправной точкой для писателей, обучающихся создавать по-настоящему оригинальные тексты, будь то художественные или нехудожественные? Если позволить большой языковой модели обрабатывать «рыбу» текста, то смогут ли авторы сосредоточиться на оттачивании художественной составляющей?
Конечно же, нельзя говорить за всех писателей, но я берусь утверждать, что, если взять в качестве заготовки мутную копию неоригинального произведения, то создать собственный качественный оригинал вы не сможете. Если вы автор, то сначала вам потребуется написать массу всего неоригинального, прежде, чем получится достойная оригинальная работа. Причём, время, которое тратится на неоригинальные работы, уходит отнюдь не впустую — напротив, предположу, что именно такая работа позволяет набить руку, чтобы, в конце концов, создать по-настоящему оригинальную вещь. Часами подбирая нужное слово и компонуя предложения, добиваясь плавности текста, вы учитесь передавать смысл в прозе. Когда ученикам задают писать сочинения, это делается не только для более качественного усвоения материала; за такой работой человек набирает опыт и всё лучше артикулирует мысли. Если бы нам никогда не приходилось писать сочинения по ранее прочитанному, то мы бы не научились создавать собственные тексты (которые ранее вы не читали).
Причём, не думайте, что по прошествии студенческих лет вы сможете спокойно пользоваться теми шаблонами, которые предоставляют большие языковые модели. Когда вы получите диплом, никуда не денутся потуги с формулировками, которые начинаются всякий раз, когда вы начинаете писать новый черновик. Иногда оригинальные идеи приходят вам уже в процессе создания текста. Можно сказать, что вывод больших языковых моделей не слишком отличаются от первого черновика, который напишет человек, но я полагаю, что это сходство поверхностное. В первом черновике оригинальная идея не может быть выражена ясно. Только когда вы сами осознаёте, что в черновике ваши идеи изложены рыхло, и вас это смутно не устраивает. Вы сами видите, насколько отличается то, что сказано и то, что вы хотите сказать. Именно это стимулирует вас снова и снова переписывать черновики, и именно таких «итераций» не хватает в текстах, сгенерированных искусственным интеллектом.
В писательском мастерстве нет ничего магического или таинственного, но оно не сводится к такой простой операции, как просто положить имеющийся документ под крышку сбоящего ксерокса и нажать «Печать». Возможно, в будущем будет создан такой ИИ, который сможет писать хорошую прозу, опираясь только на собственное мировосприятие. Этот момент действительно будет эпохальным, но пока до него ещё очень далеко, и пока даже невозможно обозначить сроки, когда это случится. Но, пока этот день не наступил, уместно спросить: а так ли полезен инструмент, который просто перефразирует Веб? Если мы навсегда потеряем доступ к Интернету, и нам придётся разместить копию Веба на частном сервере, где ограничено дисковое пространство, большая языковая модель вроде ChatGPT хорошо для этого подойдёт. Конечно, подразумевается, что полученные данные не будут сфабрикованы. Но мы сейчас не теряем доступ к Интернету. Зачем же нам его мутная JPEG-копия, если у нас есть оригинал?
Автор: Олег Сивченко