ElemedexEnciclopedia de bolsillo de arquitecturas de IA

Glosario (MT) › Lenguaje y modelos de lenguaje

MT070

Tokenización

También: segmentación en tokens

En inglés: Tokenization

El proceso de cortar un texto en tokens (palabras, subpalabras, caracteres o bytes) y convertirlos en números; lo hace un tokenizador entrenado antes que el modelo.

Antes de que un modelo vea un texto, un tokenizador lo divide en tokens y los reemplaza por identificadores numéricos; a la salida hace el camino inverso (Alammar y Grootendorst, 2024, pp. 38–43). Hay cuatro esquemas: por palabras (el de word2vec; no sabe qué hacer con palabras nuevas), por caracteres (nunca falla, pero alarga las secuencias y obliga al modelo a aprender a deletrear), por bytes y por subpalabras, hoy dominante, con algoritmos como BPE (familia GPT) o WordPiece (BERT) (Alammar y Grootendorst, 2024, pp. 43–46; Sennrich et al., 2016).

Un tokenizador depende del método, de parámetros como el tamaño del vocabulario y de los datos con que se lo entrenó; por eso difieren tanto. El BERT original sin mayúsculas pasa todo a minúscula, pierde los saltos de línea y convierte emojis y caracteres chinos en [UNK], «desconocido»; los tokenizadores pensados para código conservan los espacios de indentación (Alammar y Grootendorst, 2024, pp. 48–56). La demo de tokenización permite compararlos.

Por qué a los LLMs les cuesta contar letras. El tokenizador de GPT-4 convierte CAPITALIZATION en dos tokens, CAPITAL e IZATION (Alammar y Grootendorst, 2024, p. 51). Si le preguntamos cuántas A tiene la palabra, el modelo no recibe letras sino dos números. La ortografía de cada token solo pudo aprenderla indirectamente, por ejemplo de textos donde las palabras aparecen deletreadas; Edman et al. (2024) encontraron que los modelos parecen saber cómo se escriben sus tokens, pero aprovechan mal ese saber cuando tienen que manipular texto. Con los números pasa algo parecido: en GPT-2, 870 es un solo token pero 871 son dos (8 y 71), y por eso algunos modelos de código tokenizan cada dígito por separado (Alammar y Grootendorst, 2024, p. 52).

La tokenización tampoco es neutral entre lenguas. El mismo texto traducido puede requerir hasta 15 veces más tokens según el idioma, lo que encarece el uso y achica la ventana de contexto efectiva para algunas comunidades lingüísticas (Petrov et al., 2023): una desigualdad que se decide antes de que el modelo procese una sola palabra.

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Edman, L., Schmid, H., & Fraser, A. (2024). CUTE: Measuring LLMs’ understanding of their tokens. In Y. Al-Onaizan, M. Bansal, & Y.-N. Chen (Eds.), Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing (pp. 3017–3026). Association for Computational Linguistics. https://doi.org/10.18653/v1/2024.emnlp-main.177 §
  • Petrov, A., La Malfa, E., Torr, P., & Bibi, A. (2023). Language model tokenizers introduce unfairness between languages. In Advances in Neural Information Processing Systems (Vol. 36, pp. 36963–36990). Curran Associates. https://doi.org/10.52202/075280-1608 §
  • Sennrich, R., Haddow, B., & Birch, A. (2016). Neural machine translation of rare words with subword units. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) (pp. 1715–1725). Association for Computational Linguistics. https://doi.org/10.18653/v1/P16-1162 §