Droog, bashka, kotofey. Известно, что современные LLM высокого класса могут без особых проблем разбирать «транслит». То есть, узнавать слова одного языка, записанные при помощи фонетического письма, свойственного другому языку. Например, можно отправлять «промпты» в ChatGPT, записывая английские слова кириллицей. И наоборот. Транслитерация разными алфавитами используется для преодоления всяких внутренних защит, предусмотренных в интерфейсах LLM. Метод эффективный, особенно, если использовать редкий алфавит. Но в этой статье речь несколько о другом. Оказывается, широта языкового охвата ведущих LLM настолько велика, что срабатывают и куда более накрученные варианты, чем простое переписывание английских слов.
Например, запрос, выполненный на английском, в котором предлагается перевести фразу с итальянского на русский, при этом всё вместе, — и английский, и итальянский, — записано буквами греческого алфавита, да ещё и не в самой современной традиции транслитерации. Слоёв тут много, но, как мы увидим ниже, ChatGPT 4o справляется неплохо, пусть и с неожиданным, забавным результатом, в котором греческий (новогреческий язык, а не алфавит) непосредственно смешался с русским.
Прекрасная иллюстрация для главного принципа работы LLM. Этот тип результатов отлично показывает реальные возможности данных систем (но не интеллекта, конечно). Возможность моментально расщепить и преобразовать транслитерацию фраз на разных языках — выглядит мощнее, чем «решения» задач по математике: всё же, LLM и вышли-то из области автоматизированной атрибуции текстов (то есть, определения авторства). Это произошло в тот момент, когда задачу атрибуции попробовали перевернуть, заставив алгоритм писать текст, соответствующий заданным филологическим свойствам.
Итак, мы хотим построить многослойный запрос, использующий греческий алфавит и несколько языков, среди которых нет греческого. Запрос и результат ChatGPT 4o — на скриншоте. Все загадочные фрагменты объясняются и переводятся ниже, а для понимания достаточно знания русского языка. (Скриншот здесь использован для того, чтобы уж точно не поломались буквы и диакритические знаки; исходный текст в байтах я тоже приведу, - Unicode вам в помощь, - но в конце статьи.)

Что здесь произошло и почему внутри LLM «чуть слетела кодировка»?
Сам исходный запрос нужно читать так:
«Could you please translate the following into Russian:»
«Не могли бы вы перевести следующее на русский[?]» — английские слова, но записаны греческими буквами, с «аттическим акцентом».
Далее идёт предложение на (плохом) итальянском, но всё так же, греческими буквами. Оригинал должен выглядеть так:
«Potreste indicarmi per favore dov'è la stazione degli autobus più prossima?» - «Не скажете ли мне, пожалуйста, где находится ближайшая ("самая следующая") автобусная станция?»
LLM ChatGPT начинает отвечать на греческом языке. И правда — на каком же языке ответить тому, кто задаёт такой странный запрос? Если руководствоваться здравым смыслом (ха-ха! — конечно, формат запроса так и светится «здравомыслием»), то греческие буквы, как бы, намекают. Вообще, раз у спрашивающего не оказалось под рукой клавиатуры с латиницей, то греческий язык должен подойти. Вряд ли LLM как-то так рассуждает, но нельзя сказать, что новогреческий тут — совсем мимо. В греческом вступлении LLM услужливо поясняет, как интерпретирует запрос.
Перевод: «Фраза ваша написана греческими буквами, но пытается передать язык итальянский или псевдоитальянский. Вероятно, в латинской транскрипции будет [так]». То есть, даже «псевдоитальянский», — что бы это ни значило, — успешно выявлен. Обратите внимание, что LLM ничего не пишет о самом запросе на английском, который, тем не менее, верно интерпретирован. Конечно, идеальным был бы ответ LLM на английском, но в греческой транслитерации. Такого не так сложно добиться, но не в этом случае.
Далее LLM приводится почти точная транскрипция на итальянском (развернуто dove, но понять можно). И, как ни странно, хоть никто и не просил, но дан корректный перевод на английский, который порадует грамматиков, потому что лучше оригинальной фразы: здесь слово «is» поставлено на единственно верное место, в конец предложения (несмотря на то, что в оригинале соответствующий фрагмент потерян). Действительно, похоже, что ChatGPT лучше всего работает с английским.
«Перевод на русский будет:» — тоже написано на греческом, но далее, думаю, всё понятно без перевода. Здесь же вылезает и первая существенная ошибка: ChatGPT пишет «ближайшая автовокзал». Но, конечно, правильно было бы «ближайшая автовокзала», не так ли?
А самая странная часть — в конце этого занимательного ответа ChatGPT. Полное и аккуратное смешение греческого с русским. Посмотрите на исходную фразу со скриншота:
«Αν θέλετε πιο формальный или разговорный стиль, могу адаптировать».
Вот это «Αν θέλετε πιο» буквально означает «Если хотите более», то есть, тут написано: «если хотите более формальный или разговорный стиль...». Однако написано на чистом, так сказать, «греко‑русском», даже формы согласованы (во множественном числе, второе лицо и т. д.).
Выглядит впечатляюще. Но является ли эта LLM каким‑то сверхразумным полиглотом? Почему такой ответ вообще возможен?
Греческий — достаточно распространённый язык, чтобы в интернетах, в вебе, было много транслитераций и английских, и итальянских слов в греческом алфавите. Так что, если задуматься, нет ничего удивительного в том, что транслитерация проникла в коэффициенты модели через тот или иной «токенизатор» (то есть, через алгоритмическое преобразование входного алфавита во внутреннее кодовое представление и индексы). Сверхинтеллект тут не нужен, но нужно много памяти и процессоров.
Это подтверждается и «смешением» языков, которое видно в данном примере: на самом деле, это смешение не языков, а веток синтезирования выходных цепочек — LLM‑генератор не различает языки, но не из‑за уровня абстракции, а из‑за размывающего внутреннего представления. LLM, обучаемая на компьютерных текстах, не может знать ни самого языка, ни его звучания, она «знает» лишь наборы байтов кодировок. Но эффект, конечно, удивительный.
Скрытый текст
κουδ υ πλεασ τρανσλειτ θη φωλλωενγ ιντω Ρυσσεαν:
Ποτρεστε ενδεκαρμε περ φαβορε δοβ'η λα σταζεονη δεγλε αυτωβυς πευ πρωσσεμα?
Η φράση σας είναι γραμμένη με ελληνικούς χαρακτήρες αλλά προσπαθεί να αποδώσει λόγια στα ιταλικά ή ψευδοϊταλικά. Πιθανή λατινική μεταγραφή είναι:
"Potreste indicarmi per favore dove la stazione degli autobus più prossima?"
(= "Could you please tell me where the nearest bus station is?" in English)
Η μετάφραση στα ρωσικά είναι:
"Не могли бы вы, пожалуйста, сказать, где находится ближайшая автобусная станция?"
или кратко:
"Где находится ближайшая автовокзал?"
Αν θέλετε πιο формальный или разговорный стиль, могу адаптировать.