Языковые модели в одних языках стоят намного дороже, чем в других.

Оригинал статьи был размещен в моем блоге.

Большие языковые модели, такие как ChatGPT, обрабатывают и генерируют текстовые последовательности, сначала разбивая текст на более мелкие единицы, называемые токенами. На изображении ниже каждый цветной блок представляет собой уникальный токен. Короткие или общеупотребительные слова, такие как «вы», «говорить», «громко» и «всегда», являются его собственными токенами, в то время как более длинные или менее распространенные слова, такие как «зверский», «преждевременный» и «суперкалифрагилистическийэкспиалидоциозный», разбиты на меньшие подслова.

Этот процесс токенизации неодинаков для разных языков, что приводит к несоответствию количества токенов, созданных для эквивалентных выражений на разных языках. Например, для предложения на бирманском или амхарском языке может потребоваться в 10 раз больше токенов, чем для аналогичного сообщения на английском языке.

Пример одного и того же сообщения, переведенного на пять языков, и соответствующее количество токенов, необходимых для токенизации этого сообщения (с использованием токенизатора OpenAI). Текст взят из МАССОВОГО набора данных Amazon.

В этой статье я исследую процесс токенизации и его различия в разных языках:

  • Анализ распределения токенов в параллельном наборе данных коротких сообщений, переведенных на 52 различных языка.
  • Некоторые языки, такие как армянский или бирманский, требуют в 9–10 раз больше токенов, чем английский, для токенизации сопоставимых сообщений.
  • Влияние этого языкового неравенства
  • Этот феномен не нов для ИИ — он согласуется с тем, что мы наблюдаем в азбуке Морзе и компьютерных шрифтах.

Попробуй сам!

Попробуйте созданную мной исследовательскую панель инструментов, доступную на пространствах HuggingFace. Здесь вы можете сравнить длины токенов для разных языков и для разных токенизаторов (что не рассматривалось в этой статье, но я предлагаю читателю сделать это самостоятельно).

Данные

MASSIVE — это параллельный набор данных, представленный Amazon, состоящий из 1 миллиона реалистичных параллельных коротких текстов, переведенных на 52 языка и 18 доменов. Я использовал dev разделение набора данных, состоящего из 2033 текстов, переведенных на каждый из языков. Набор данных доступен на HuggingFace и находится под лицензией CC BY 4.0 license.

Акцент на токенизаторах OpenAI

Хотя существует множество других токенизаторов языковых моделей, в этой статье основное внимание уделяется токенизатору OpenAI Byte Pair Encoding (BPE) (используемому ChatGPT и GPT-4) по трем основным причинам:

  • Во-первых, статья Дениса Линькова сравнила несколько токенизаторов и обнаружила, что у токенизатора GPT-2 самая большая разница в длине токена среди разных языков. Это побудило меня сосредоточиться на моделях OpenAI, включая GPT-2 и его преемников.
  • Во-вторых, поскольку нам не хватает информации о полном наборе обучающих данных ChatGPT, изучение моделей черного ящика и токенизаторов OpenAI помогает лучше понять их поведение и результаты.
  • Наконец, широкое распространение ChatGPT в различных приложениях (от платформ для изучения языков, таких как Duolingo, до приложений для социальных сетей, таких как Snapchat) подчеркивает важность понимания нюансов токенизации для обеспечения равноправной обработки языка в различных языковых сообществах.

Чтобы подсчитать количество токенов, содержащихся в тексте, я использую токенизатор cl100k_base, доступный на tiktoken, который представляет собой токенизатор BPE, используемый моделями OpenAI ChatGPT (gpt-3.5-turbo и gpt-4).

Полученные результаты

Некоторые языки постоянно токенизируют до более длинных длин

На следующем графике распределения сравнивается распределение длин токенов для пяти языков. Кривая для английского языка высокая и узкая, а это означает, что английские тексты последовательно разбиваются на меньшее количество токенов. С другой стороны, кривая для таких языков, как хинди и бирманский, короткая и широкая, а это означает, что эти языки разбивают тексты на гораздо большее количество токенов.

Английский язык имеет самую короткую медианную длину токена

Для каждого языка я рассчитал медианную длину токена для всех текстов в наборе данных. На следующей диаграмме сравнивается подмножество языков. Английские тексты имели наименьшую медианную длину в 7 токенов, а бирманские тексты имели наибольшую медианную длину в 72 токена. Романские языки, такие как испанский, французский и португальский, имели такое же количество токенов, как и английский.

Поскольку в английском языке самая короткая медианная длина лексемы, я рассчитал отношение медианной длины лексемы других языков к английской. Такие языки, как хинди и бенгальский (более 800 миллионов человек говорят на любом из этих языков), привели к тому, что средняя длина токена примерно в 5 раз больше, чем у английского. Это соотношение в 9 раз больше, чем в английском для армянского языка, и более чем в 10 раз больше, чем в английском для бирманского языка. Другими словами, для выражения одного и того же чувства некоторым языкам требуется в 10 раз больше токенов.

Обсуждение

Последствия несоответствия языка токенизации

В целом, требование большего количества токенов (для токенизации одного и того же сообщения на другом языке) означает:

  • Вы ограничены тем, сколько информации вы можете поместить в подсказку (поскольку контекстное окно фиксировано). По состоянию на март 2023 года GPT-3 может принимать до 4 000 токенов, а GPT-4 — до 8 000 или 32 000 токенов на входе [1].
  • Это стоит больше денег
  • Запуск занимает больше времени

Модели OpenAI все чаще используются в странах, где английский не является доминирующим языком. По данным SimilarWeb.com, в январе-марте 2023 года на США приходилось только 10% трафика, отправленного в ChatGPT.

Кроме того, ChatGPT использовался в Пакистане для внесения залога по делу о похищении несовершеннолетних и в Японии для административных задач. Поскольку ChatGPT и аналогичные модели все больше интегрируются в продукты и услуги по всему миру, крайне важно понимать и устранять такое неравенство.

Языковое несоответствие в обработке естественного языка

Этот цифровой разрыв в обработке естественного языка (NLP) является активной областью исследований. 70% исследовательских работ, опубликованных на конференциях по компьютерной лингвистике, оценивали только английский язык. 2 Многоязычные модели хуже справляются с некоторыми задачами НЛП на языках с низким уровнем ресурсов, чем на языках с высоким уровнем ресурсов, таких как английский. 3 По данным W3Techs (World Wide Web Technology Surveys), на английском языке преобладает более половины (55,6%) контента в Интернете. 4

Точно так же английский язык составляет более 46% корпуса Common Crawl (миллиарды веб-страниц из Интернета сканировались более десяти лет), версии которого использовались для обучения многих крупных языков, таких как Google T5 и OpenAI GPT. 3 (и, вероятно, ChatGPT и GPT-4). Common Crawl составляет 60% тренировочных данных GPT-3. 5

Преодоление цифрового разрыва в NLP имеет решающее значение для обеспечения справедливого языкового представления и производительности в технологиях, основанных на искусственном интеллекте. Преодоление этого разрыва требует согласованных усилий исследователей, разработчиков и лингвистов для определения приоритетов и инвестирования в развитие языков с низким уровнем ресурсов, способствуя созданию более инклюзивного и разнообразного лингвистического ландшафта в области обработки естественного языка.

Исторический пример: представление китайской типографики с использованием азбуки Морзе.

Такое несоответствие технологических затрат на разные языки не ново для ИИ и даже для вычислений.

Более ста лет назад телеграфия, революционная технология своего времени («интернет своей эпохи»), столкнулась с языковым неравенством, подобным тому, что мы наблюдаем в современных больших языковых моделях. Несмотря на обещания открытого обмена и сотрудничества, телеграфия демонстрировала различия в скорости и стоимости на разных языках. Например, кодирование и передача сообщения на китайском языке (по сравнению с эквивалентным сообщением на английском языке)

  • в 2 раза дороже
  • В 15-20 раз дольше

Звучит знакомо?

Телеграфия была разработана в первую очередьдля западных алфавитных языков, прежде всего для английского. 6 Азбука Морзе присваивала точкам и тире разную длину и стоимость, что привело к созданию экономичной системы для английского языка. Однако китайский язык, основанный на идеограммах, столкнулся с проблемами в телеграфии. Француз по имени Вигье разработал систему преобразования китайских иероглифов в азбуку Морзе.

По сути, каждая китайская идеограмма была сопоставлена ​​с четырехзначным кодом, который затем нужно было перевести в азбуку Морзе. На поиск кодов в кодовой книге (в которой отсутствовали значимые корреляции) ушло много времени, а передача была более дорогостоящей (поскольку каждый символ был представлен четырьмя цифрами, а передача одной цифры была дороже, чем одна буква). Эта практика поставила китайский язык в невыгодное положение по сравнению с другими языками с точки зрения телеграфной скорости и стоимости.

Другой пример: Неравенство в представлении шрифтов

Изначально я пытался визуализировать все 52 языка в одном облаке слов. У меня получилось что-то вроде этого, когда большинство языков не отображались должным образом.

Это завело меня в кроличью нору, пытаясь найти шрифт, который мог бы отображать все языковые скрипты. Я пошел в Google Fonts, чтобы найти этот идеальный шрифт, и обнаружил, что его не существует. Ниже приведен снимок экрана, показывающий, как эти 52 языка будут отображаться в 3 разных шрифтах из Google Fonts.

Чтобы сгенерировать облако слов в начале этой статьи, я (хм) вручную загрузил 17 файлов шрифтов, необходимых для отображения всех языковых скриптов и отображения слов по одному. Хотя я и получил желаемый эффект, работы было намного больше, чем если бы, например, все мои языки использовали один и тот же алфавит (например, латинский алфавит).

Заключение

В этой статье я исследовал языковое несоответствие в языковых моделях, посмотрев, как они обрабатывают текст с помощью токенизации.

  • Используя набор данных параллельных текстов, переведенных на 52 языка, я показал, что некоторым языкам требуется в 10 раз больше токенов для выражения того же сообщения на английском языке.
  • Я поделился панелью инструментов, где вы можете исследовать разные языки и токенизаторы
  • Я обсудил влияние этого несоответствия на некоторые языки с точки зрения производительности, денежных затрат и времени.
  • Я показал, что эта модель лингвистического технологического неравенства не нова, сравнив это явление с историческим случаем китайской азбуки Морзе и телеграфии.

Языковые различия в токенизации НЛП выявляют насущную проблему ИИ: справедливость и инклюзивность. Поскольку такие модели, как ChatGPT, преимущественно обучаются на английском языке, неиндоевропейские и нелатинские языки алфавита сталкиваются с препятствиями из-за непомерно высоких затрат на токенизацию. Устранение этих несоответствий необходимо для обеспечения более инклюзивного и доступного будущего для искусственного интеллекта, что в конечном итоге принесет пользу разнообразным языковым сообществам во всем мире.

Спасибо, что прочитали эту статью! Если вам понравилось, посмотрите похожие статьи в моем блоге!

ПРИЛОЖЕНИЕ

Токенизация кодирования пар байтов

В сфере обработки естественного языка токенизаторы играют решающую роль, позволяя языковым моделям обрабатывать и понимать текст. В разных моделях используются разные методы токенизации предложения, такие как разбиение его на слова, символы или части слов (также известные как подслова; например, разбиение «постоянно» на «постоянно» и «ly»).

Одна из распространенных токенизаций называется Byte-Pair Encoding (BPE). Это кодировка, используемая OpenAI для своих моделей ChatGPT. BPE предназначен для разложения редких слов на значимые подслова, сохраняя при этом часто используемые слова нетронутыми. Подробное объяснение алгоритма BPE можно найти в курсе HuggingFace Transformers.

Более глубокое погружение в распределение токенов для языков

Я расширил ОГРОМНЫЙ набор данных Amazon, используя информацию о каждом из 52 языков, используя раздел информационных полей на странице Википедии для этого языка, получив такую ​​информацию, как письменность (например, латиница, арабский алфавит) и основной географический регион, в котором преобладает язык (если применимо) . Я дополнительно использую метаданные из Всемирного атласа языковых структур для получения такой информации, как семья языков (например, индоевропейская, сино-тибетская). 7

Обратите внимание, что следующие анализы в этой статье подтверждают предположения, сделанные Википедией, Всемирным атласом языковых структур и набором данных Amazon MASSIVE. Поскольку я не эксперт в области лингвистики, я должен был предположить, что все, что есть в Википедии и Атласе мира, было канонически признано правильным в отношении доминирующего географического региона или языковой семьи.

Кроме того, ведутся споры о том, что представляет собой язык по сравнению с диалектом. Например, хотя такие языки, как китайский и арабский, имеют разные формы, которые люди могут не понимать, их по-прежнему называют отдельными языками. С другой стороны, хинди и урду очень похожи и иногда объединяются в один язык, называемый хиндустани. Из-за этих проблем нам нужно быть осторожными при принятии решения о том, что считать языком или диалектом.

Разбивка по языкам. Я выбрал 12 самых распространенных языков (сочетание носителей первого и второго языков).

Разбивка по языковым семьям. Индоевропейские (например, шведский, французский), австронезийские языки (например, индонезийский, тагальский) и уральские языки (например, венгерский, финский) привели к более коротким токенам. Дравидийские языки (например, тамильский, каннада), как правило, имели более длинные токены.

Разбивка по основным географическим регионам. Не все языки относились к одному географическому региону (например, арабский, английский и испанский, которые распространены во многих регионах) — эти языки были удалены из этого раздела. Языки, на которых говорят в основном в Европе, имеют тенденцию быть короче по длине токена, в то время как языки, на которых говорят в основном на Ближнем Востоке, в Центральной Азии и на Африканском Роге, имеют тенденцию быть длиннее по длине токена.

Разбивка по написанию сценария. За исключением латинского, арабского и кириллического алфавитов, все остальные языки используют собственный уникальный алфавит. В то время как последний сочетает в себе множество очень разных уникальных сценариев (таких как корейский, иврит и грузинский сценарии), эти уникальные сценарии определенно токенизируются до более длинных значений. По сравнению со сценариями на основе латиницы, которые токенизируют более короткие значения.

Английский почти всегда занимает первое место

Для каждого текста в наборе данных я ранжировал все языки по количеству токенов — язык с наименьшим количеством токенов занял первое место, а язык с наибольшим количеством токенов занял 52-е место. Затем я построил график распределения рейтинга каждого языка. По сути, это должно показать, как длина токена каждого языка сравнивается с другими языками в этом наборе данных. На рисунке ниже я пометил несколько языков (другие языки отображаются серыми линиями на заднем плане).

Хотя было несколько случаев, когда токены некоторых языков были меньше, чем у английского (например, несколько примеров на индонезийском или норвежском), английский язык почти всегда занимал первое место. Это стало для кого-то неожиданностью? Что меня больше всего удивило, так это то, что не было четкого № 2 или № 3. Тексты на английском языке постоянно производят самые короткие токены, а рейтинг для других языков немного больше колеблется.

Количественная оценка различий в распределении токенов с использованием расстояния Earth Mover’s Distance

Чтобы количественно оценить, насколько различается распределение длины токенов между двумя языками, я рассчитал расстояние землеройной машины (также известное как расстояние Вассерштейна) между двумя распределениями. По сути, эта метрика вычисляет минимальный объем работы, необходимой для преобразования одного дистрибутива в другой. Большие значения означают, что распределения находятся дальше друг от друга (более разные), в то время как меньшие значения означают, что распределения очень похожи.

Вот небольшое подмножество языков. Обратите внимание, что расстояние ничего не говорит о длине токенов, а только о том, насколько похоже распределение длин токенов для двух языков. Например, арабский и русский языки имеют сходное распространение, хотя сами языки не похожи в лингвистическом смысле.

1. OpenAI. Модели. API OpenAI. Архивировано из оригинала 17 марта 2023 г. Проверено 18 марта 2023 г.

2. Себастьян Рудер, Иван Вулич и Андерс Сёгаард. 2022. Смещение Square One в НЛП: на пути к многомерному исследованию исследовательского многообразия. В Выводы Ассоциации компьютерной лингвистики: ACL 2022, стр. 2340–2354, Дублин, Ирландия. Ассоциация компьютерной лингвистики.

3. Шицзе Ву и Марк Дредзе. 2020. Все ли языки созданы равными в многоязычном BERT?. В Материалы 5-го семинара по репрезентативному обучению для НЛП, страницы 120–130, онлайн. Ассоциация компьютерной лингвистики.

4. Статистика использования языков контента для веб-сайтов. Архивировано из оригинала 30 апреля 2023 года.

5. Браун, Том и др. Языковые модели — это малоэффективные ученики. Достижения в области нейронных систем обработки информации 33 (2020): 1877–1901.

6. Джин Цу. Королевство иероглифов: языковая революция, сделавшая Китай современным. Нью-Йорк: Riverhead Books, 2022 (стр. 124).

7. Драйер, Мэтью С. и Хаспелмат, Мартин (ред.) 2013 г. WALS Online (v2020.3) [Набор данных]. Зенодо. https://doi.org/10.5281/zenodo.7385533. Доступно в Интернете по адресу https://wals.info, по состоянию на 30 апреля 2023 г.