Почему токенизация – костыль? Передовые подходы для больших языковых моделей следующего поколения |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2025-01-16 16:10 Сдерживает ли токенизация потенциал больших языковых моделей? Несмотря на свою популярность, этот подход имеет ряд ограничений, которые становятся всё более заметными с развитием LLM. В статье мы разберём, почему токенизация является костылём, какие проблемы она создаёт и какие альтернативные методы предлагают исследователи для их решения. От байтовых моделей до работы с концептами — как пытаются улучшить ситуацию и что это может означать для будущего языковых моделей. Небольшой экскурс в современную токенизацию Токенизация — это процесс разбиения текста на минимальные значимые единицы, такие как слова, части слова или символы. Лежащая в ее основе идея довольно очевидна — намного легче анализировать какие-то осмысленные части текста, чем непрерывную последовательность символов. Давайте углубимся в технические детали различных методов токенизации, от простых к сложным. Токенизация по пробелам Один из самых простых методов, где текст сплитуется по пробелам. Пример:
Токенизация на основе правил Для этого метода часто используются регулярные выражения. Это позволяет задать пользовательские шаблоны для токенизации. Пример:
Byte Pair Encoding BPE — это алгоритм субсловной токенизации, который итеративно объединяет наиболее частые пары символов или байтов. Алгоритм:
WordPiece Вариант BPE, который максимизирует правдоподобие обучающих данных вместо объединения частых пар. Алгоритм:
Формула правдоподобия: Unigram Language Model Алгоритм, моделирующий токенизацию как вероятностный процесс, где каждый токен рассматривается как независимая единица. Алгоритм:
Формулы вероятности: где — отдельный токен, — количество токенов, на которые разбит текст. Различные вариации Многие современные LLM используют модификации данных методов. Например, в Llama используется адаптированный BPE: в первой и второй версии через библиотеку SentencePiece, в третьей — через tiktoken. После этого пункта можно подумать, что методы токенизации все время улучшаются, а проблемы уменьшаются. Да, они становятся все лучше и лучше, но ее основные проблемы не в плохих алгоритмах, а в ограничениях самого подхода. Проблемы токенизации Токенизация была разработана как способ упростить обработку текста, и для моделей классического машинного обучения она действительно становится первым и часто лучшим решением (в связи со своей простотой). Однако в контексте больших языковых моделей (LLM) токенизация становится узким местом. Далее будут описаны ее основные проблемы:
Несмотря на все проблемы, токенизация продолжает использоваться, так как прямое обучение на байтах или символах слишком дорого для больших масштабов из-за длинных последовательностей. Эта эвристика позволяет сократить объем данных и упростить их обработку, что делает ее пока еще нужным компромиссом в современных LLM. Byte-level модели Хотя токенизация все еще остается самым широко используемым подходом в больших языковых моделях, исследователи активно изучают альтернативные методы. Одно из перспективных направлений — работа с последовательностями необработанных байтов, а не с предопределенными токенами. ByT5 ByT5 — это модификация архитектуры mT5 (Massively Multilingual Text?to?Text Transfer Transformer). Модель mT5 рассматривает каждую задачу NLP как проблему «текст?в-текст», где и вход, и выход представляют собой текстовые строки. ByT5 идет дальше, работая непосредственно с байтами, а не с токенами. Подробности работы ByT5:
Преимущества, предлагаемые моделью:
Однако, несмотря на все преимущества, ByT5 обладает огромным недостатком — очень высокая потребность в ресурсах. Поскольку ByT5 работает на уровне байтов, длина обрабатываемых последовательностей значительно увеличивается по сравнению с моделями, использующими токенизацию. Из этого следует другая проблема — контекст также становится более ограниченным. Всё это существенно ограничивает масштабируемость. Для решения этой проблемы могут применяться оптимизационные техники вроде разреженного внимания, но их использование часто приводит к компромиссам в качестве модели. Поэтому дальше перейдем к более современной архитектуре, не имеющей данной проблемы. Byte Latent Transformer (BLT) Byte Latent Transformer — это tokenizer?free архитектура, которая работает напрямую с необработанными байтами. Основная идея данного метода — динамическое распределение вычислительных ресурсов в зависимости от сложности данных. BLT эффективно управляет ресурсами, группируя байты в патчи различного размера. Это гарантирует, что больше вычислительных мощностей направляется на сложные и непредсказуемые сегменты данных. BLT состоит из трех модулей:
Такой подход позволяет BLT работать end-to-end, начиная с необработанных байтов и предсказывая следующие байты без использования фиксированного словаря токенов. Существует несколько алгоритмов для группировки байтов:
Для третьего метода обучают небольшую авторегрессионную языковую модель на уровне байтов на данных для BLT и вычисляем энтропию следующего байта в соответствии с распределением ? модели над словарем байтов : Есть два метода для определения границ патчинга на основе энтропии H(xi). Первый подход находит точки выше глобального порога энтропии (он задается трешхолдом). Второй подход определяет точки, которые являются высокими по сравнению с предыдущей энтропией, его также можно интерпретировать как идентификацию точек, которые нарушают приблизительное монотонное уменьшение энтропии в пределах участка. Патчи принципиально отличаются от токенов (например, генерируемых BPE) тем, что в случае токенов модель не имеет прямого доступа к побайтовым фичам. Более того, BPE не удовлетворяет свойству инкрементальности патчинга, поскольку он определяет границы токенов, заглядывая в последовательность вперед. В частности, один и тот же префикс может быть помечен по?разному в зависимости от продолжения последовательности. Это несовместимо с требованием BLT о том, чтобы границы патчей определялись сразу. Подход BLT предлагает несколько преимуществ по сравнению с традиционными моделями на основе токенизации:
Также создатели архитектуры провели интересный эксперимент с инициализацией глобального трансформера в BLT из предобученной (на токенах) Llama 3.1. Он показал, что такой BLT существенно превосходит BLT или Llama 3, обученные с нуля (соответственно на байтах и токенах), при том же бюджете FLOPS. Это открывает возможности для конвертирования моделей с токенизатором в BLT. Сравнения качества моделей на нескольких бенчмаркахДругие интересные подходы Трансформеры испытывают проблемы с моделированием длинных последовательностей, а обработка на уровне байтов лишь усугубляет проблему. С такой идеей MambaByte предлагают использовать state space model (SSM), обеспечивающие линейную вычислительную сложность относительно длины последовательности. Или более конкретно — модифицировать модель Mamba для этой задачи. Если интересно подробнее узнать про SSM и Mamba на хабре есть статья. Все формы информации кодируются и обрабатываются в двоичном формате. Значит, модель, предсказывающая байтовые последовательности, способна моделировать и понимать цифровые системы на более глубоком уровне. Именно с такой идеей и была создана bGPT. Результаты тоже достаточно многообещающие: модель хорошо показывает себя не только в работе с текстом, аудио и изображениями, но и в таких задачах как конвертирование ABC нотации (текстовый язык разметки, предназначенный для записи музыкальных произведений) в MIDI формат или моделирование поведения центрального процессора. И под конец пункта я не могу не упомянуть MegaByte и SpaceByte, две архитектуры, которые вдохновили авторов архитектуры Byte Latent Transformer. В предыдущем разделе, посвященном BLT, основное внимание было уделено методу группировки байтов на основе энтропии, в то время как два других подхода — фиксированные патчи и группировка по естественным границам — были лишь кратко описаны. Однако именно эти два метода лежат в основе MegaByte и SpaceByte, соответственно. Поэтому Byte Latent Transformer можно рассматривать как развитие и обобщение их идей. Large Concept Model Сегодняшние большие языковые модели обрабатывают и генерируют информацию на уровне токенов. Очевидно, что это резко контрастирует с людьми, способными к работе с разными уровнями абстракции. Обычно у нас есть нисходящий процесс для решения сложной задачи или составления длинного документа: мы сначала планируем общую структуру на более высоком уровне, а затем шаг за шагом добавляем детали на более низких уровнях абстракции. Можно возразить, что LLM неявно изучают иерархическое представление, но модели с явной иерархической архитектурой должны лучше подходить для создания согласованного вывода в длинной форме. Такая идея лежит в основе Large Concept Model, архитектуры, оперирующей концептами — явными семантическими представления более высокого уровня. Работа LCM с текстомПод концептом подразумевается абстрактная неделимая идея, на практике она часто соответствует предложению в документе или высказыванию в разговорной речи. В идеале, они также должны быть независимы от конкретного языка и модальности — одна и та же мысль может быть выражена на разных языках и в разных модальностях (текст, голос). Это также означает, что одна и та же последовательность концептов может быть декодирована в различные языки и модальности без необходимости переобучения модели. Для такого подхода требуется пространство эмбеддингов предложений с доступным энкодером и декодером. В качестве такового взяли SONAR с поддержкой 200 языков на текстовых входах/выходах, 76 языков на речевом входе и одного английского на речевом выходе. SONAR не обучается вместе с LCM — он служит готовым инструментом для преобразования текста в концепты и обратно. Другим ключевым преимуществом работы с концептами является их компактность. Последовательность концептов значительно короче последовательности токенов, что упрощает обработку трансформером (из?за его квадратичной вычислительной сложности относительно длины последовательности). Например, одно предложение, состоящее из десятков токенов, может быть представлено всего одним концептом. В отличие от LLM, которые оценивают распределение вероятностей по дискретным токенам, LCM генерирует непрерывные эмбеддинги предложений. Для выполнения данной задачи предложено несколько архитектур. Base-LCMBase?LCM, бейзлайн, работает следующим образом:
Diffusion?based LCM похожа на Base?LCM тем, что генерирует концепты по одному за раз. Отличие заключается в процессе диффузии — выполнении заданного количества шагов денойзинга для каждого генерируемого концепта. Еще Diffusion?based LCM использует classifier?free diffusion guidance — метод, использующий безусловную и условную генерацию для гибкого управления, усиливая или ослабляя влияние условия с помощью гиперпараметра : Diffusion?based LCM имеет две версии:
Quantized LCM для дискретизации непрерывных SONAR?эмбеддингов использует Residual Vector Quantization — многоэтапный метод квантования, где каждый следующий шаг постепенно уточняет результат предыдущего. Это позволяет модели работать с дискретными представлениями, аналогично обычным LLM, и естественным образом использовать температуру, top?p и top?k сэмплирования для управления уровнем случайности и разнообразия в генерации следующего предложения. Архитектура разработана так, чтобы максимально походить на Diffusion?based LCM для более удобного сравнения. ROUGE?L (R?L) — метрика, которая измеряет качество сгенерированного текста по сравнению с эталонным (референсным) текстом. Coherence — метрика, которая оценивает, насколько логичен и связен сгенерированный текст. Как можно заметить, LCM хорошо масштабируется по длине контекста. LLM выигрывает только на очень коротких предложениях (10 токенов). Также стоит отметить, что LCM хорошо обобщается на другие языки. Заключение Токенизация, несмотря на ее распространенность и простоту, создает множество ограничений для больших языковых моделей. Для их преодоления, исследователи изучают альтернативные подходы, такие как модели, работающие на байтовом уровне, или Large Concept Model. Для первого подхода существуют уже довольно продвинутые модели, особенно Byte Latent Transformer. Он предлагает несколько очень крутых преимуществ: динамическое распределение вычислительных ресурсов, ввод новой оси масштабирование, высокая устойчивость к шуму, а также способность обрабатывать нюансы на уровне символов и частей слов. Large Concept Model, в свою очередь, представляет совершенно новый подход. Хотя я включил данную модель в статью и сама по себе она действительно не зависит от токенов, её идея совсем не в этом. LCM предлагает абстрагироваться от низкого уровня и иметь нисходящий процесс решения сложной задачи. Мультиязычность, мультимодальность, лучшая масштабируемость по длине контекста — вот ее главные преимущества. Несмотря на то, что LCM только на уровне доказательства концепции (Proof of concept), заложенная в нее идея фундаментальна и может привести к очень крутым результатам. BLT и LCM, улучшая разные аспекты больших языковых моделей, не только не противоречат, но и дополняют друг друга. Хотя на данный момент их объединение в одну архитектуру не представляет практической выгоды, я считаю, что в будущем их синергия может стать ключом к развитию LLM. P. S. Хочу поблагодарить gonzo (а точнее их тг?канал) за обзоры статей. Именно они стали для меня основным источником вдохновения. Источник: habr.com Комментарии: |
|