А вот и подоспел новый образовательный контент от...
А вот и подоспел новый образовательный контент от Карпатого после его ухода из OpenAI. #ликбез
Андрей написал минимальную имплементациюByte Pair Encoding (BPE) токенайзера, который широко используется в современных LLM, в том числе и в GPT-4.
Токенайзер - это алгоритм, который преобразует текст в последовательность токенов (целых чисел), перед тем, как его скормить в LLM.
Идея BPE очень простая: 1️⃣ Берем Unicode строку и представляем ее в виде последовательности байтов. - Изначально каждый байт - это отдельный токен, их всего 256 уникальных. 2️⃣ Затем находим наиболее частую пару соседних токенов и заменяем её на новый токен с номером (256 + i) → пример на скрине. 3️⃣ Повторяем это дело K раз. В итоге имеем словарь на 256 + K токенов, которые сжимают оригинальную последовательность байтов в более короткую последовательность токенов, закодированных номерами.
Видео лекция про BPE у Карпатого уже в производстве, он обещал скоро ей поделиться!
А пока можете посмотреть разбор BPE (пост+видео) из NLP курса на HuggingFace: ссылка.