Byte-level BPE
Зачем это нужно: нейросети не читают слова, они оперируют числами — токенами. Если словарь мал, модель плохо понимает редкие слова; если велик — учится медленно. Byte-level BPE решает эту дилемму, соединяя в одном словаре и отдельные символы, и часто встречающиеся куски текста. Благодаря байтовому принципу он справляется с любым языком на планете, а также с эмодзи и техническими символами, не требуя спецсловарей.
Как работает: представьте, что все байты — это кирпичики Лего. Сначала он запоминает все 256 видов кирпичиков. Затем он пробегает по тексту и находит самую частую пару соседних байтов — скажем, «а» и «б». Он склеивает её в один кирпичик «аб» и заменяет все такие пары. Повторяет это сотни и тысячи раз, пока не получит нужное количество токенов. Частые слова вроде «информация» становятся одним большим кирпичиком, а редкие собираются из маленьких.
Пример: GPT-4 и другие большие модели используют этот принцип для обработки текстов. Если подать в чат-бот текст на русском с эмодзи, байтовый BPE не сломается: даже если такого сочетания не было в обучении, он соберёт его из базовых байтов. Это как переводчик-полиглот, который знает универсальный алфавит всех языков сразу.
В итоге byte-level BPE — это практичный компромисс между большим и маленьким словарём, который делает нейросети скоростными и универсальными одновременно.»
Поделиться