En este tutorial desarrollarás desde cero el “Tokenizer” denominado Byte Pair Encoding, que es usado en la mayoría de modelos LLM’s como GPT’s de OpenAI, Llama, Mistral, etc.
Por Homer Díaz
Los “Tokenizers” son usados en una etapa completamente aparte de todas las fases que involucra el desarrollo de un modelo LLM como por ejemplo GPT4.
Los “Tokenizers” tienen su propio set de datos de entrenamiento, su propio algoritmo de entrenamiento (Byte Pair Encoding) y al término del entrenamiento implementan 2 funciones o módulos fundamentales: encode(), el cual codifica de “strings” a “tokens” y el módulo decode() que decodifica de “tokens” a “strings”.
En el tutorial, Andrej Karpathy (Ex científico de OpenAI y ex director del área de AI en Tesla) abarca una serie de comportamientos extraños y problemas que suelen experimentar los modelos LLMs, los cuales radican precisamente en el proceso de “tokenization“; por tal razón, este proceso es de suma importancia y no debe ser ignorado.
El notebook (Google Colab) usado en el video lo encuentras en el siguiente enlace: Tokenization.ipynb
El repo del algoritmo Byte Pair Encoding (BPE) -que construirás desde cero y que es comúnmente usado en el proceso de “tokenization” de la mayoría de modelos LLM’s como GPT’s, Llama, Mistral, etc.- se encuentra en el siguiente enlace de GitHub: https://github.com/karpathy/minbpe
El ejercicio, que es parte del repo, se accede directamente por medio de este enlace: Build your own GPT-4 Tokenizer!
El video del tutorial de más de 2 horas de duración es el siguiente: