- Novo código lançado por Andrej Karpathy após sua saída da OpenAI
- Código minimalista/limpo para o algoritmo de Byte Pair Encoding (BPE) em nível de byte, geralmente usado na tokenização de LLMs
- Em nível de byte: porque opera sobre strings codificadas em UTF-8
- O BPE foi popularizado em LLMs pelo artigo do GPT-2 e pelo lançamento do código relacionado ao GPT-2 pela OpenAI
- Hoje, todos os LLMs modernos (por exemplo: GPT, Llama, Mistral) usam esse algoritmo para treinar o tokenizer
- O repositório inclui 2 tokenizers. Ambos executam 3 operações principais
-
- treinamento do vocabulário e das fusões do tokenizer sobre um texto fornecido
-
- codificação de texto em tokens
-
- decodificação de tokens em texto
- A classe base
Tokenizer, a implementação mais simples BasicTokenizer e o RegexTokenizer, que divide a string de entrada com expressões regulares
GPT4Tokenizer, um wrapper de RegexTokenizer, reproduz exatamente a tokenização do GPT-4 na biblioteca tiktoken
1 comentários
Também foi publicado um vídeo sobre como construir um GPT Tokenizer.
Construindo um GPT Tokenizer por Andrej Karpathy [vídeo]