- Código publicado recientemente por Andrej Karpathy tras dejar OpenAI
- Código minimalista/limpio para el algoritmo de codificación por pares de bytes (BPE, Byte Pair Encoding) (a nivel de bytes) que se usa comúnmente en la tokenización de LLM
- A nivel de bytes: porque opera sobre cadenas codificadas en UTF-8
- BPE fue popularizado en los LLM por el paper de GPT-2 y el lanzamiento del código relacionado de GPT-2 por parte de OpenAI
- Hoy en día, todos los LLM modernos (por ejemplo, GPT, Llama, Mistral) usan este algoritmo para entrenar su tokenizer
- El repo incluye 2 tokenizers. Ambos realizan 3 operaciones principales
-
- Entrenar el vocabulario y las fusiones del tokenizer sobre un texto dado
-
- Codificar de texto a tokens
-
- Decodificar de tokens a texto
- La clase base
Tokenizer, la implementación más simple BasicTokenizer y RegexTokenizer, que divide la cadena de entrada con expresiones regulares
GPT4Tokenizer, un wrapper de RegexTokenizer, reproduce exactamente la tokenización de GPT-4 en la librería tiktoken
1 comentarios
También se publicó un video sobre cómo construir un tokenizador GPT.
Cómo construir un tokenizador GPT por Andrej Karpathy [video]