Введение

Кодирование пары байтов (также известное как диграммовое кодирование) - алгоритм, впервые описанный в 1994 году Филиппом Гейджем для кодирования строчек текста в табличную форму для использования в нижневосточном моделировании. Его модификация примечательна как большой языковой модель токенайзер с возможностью объединять оба токены, которые кодируют одиночные символы (включая одиночные цифры или одиночные знаки препинания) и те, которые кодируют целые слова (даже самые длинные сложные слова). Эта модификация, на первом этапе, предполагает, что все уникальные символы являются начальным набором из 1 символа длиной n граммов (т.е. начальные "токены"). Затем последовательно наиболее часто встречающаяся пара соседних символов объединяется в новую длину n граммов, длиной 2 символа, и все экземпляры пары заменяются этим новым токеном. Это повторяется до тех пор, пока не будет получен словарный запас установленного размера. Обратите внимание, что новые слова всегда могут быть построены из окончательных токенов словарного запаса и начальных символов. Все уникальные токены, найденные в корпусе, перечислены в токенном словаре, размер которого, в случае GPT 3.5 и GPT 4, составляет 100256. Разница между модифицированным и оригинальным алгоритмом заключается в том, что оригинальный алгоритм не объединяет наиболее часто встречающиеся пары байтов данных, а заменяет их новым байтом, который не содержался в первоначальном наборе данных. Для восстановления исходного набора данных требуется таблица поиска замены. Алгоритм эффективен для токенования, потому что он имеет низкую вычислительную накладную и остается последовательным и надежным.

Оригинальный алгоритм

Оригинальный алгоритм работает путем итеративного замены наиболее распространенных последовательных последовательностей символов в целевом тексте на неиспользованные байты "местного знака". Итерация заканчивается, когда не удается найти последовательности, оставляя целевой текст эффективно сжатым. Декомпрессию можно выполнять путем обращения этого процесса, запроса известных терминах-местных знаков по их соответствующей обозначенной последовательности, используя таблицу поиска. В оригинале эта таблица поиска кодируется и хранится вместе с сжатым текстом.