ElemedexEnciclopedia de bolsillo de arquitecturas de IA
Modelo de lenguaje neuronal probabilístico
N.º 017

Modelo de lenguaje neuronal probabilístico

NNLM (Bengio et al.)

Bolsillo vectorial

Fue el primero en guardar cada palabra en un bolsillo vectorial. Como sabe que «gato» y «perro» se parecen, si alguna vez leyó que el gato camina por el dormitorio, sospecha que el perro también. Para leer cinco veces catorce millones de palabras necesitaba tres semanas y cuarenta procesadores.

Altura
tabla C + 1 oculta (tanh) + softmax
Peso
casi 100 MB (la red más grande)
Parámetros
≈ 2 M (Brown) · ≈ 12 M (AP News)
Contexto
2–5 palabras previas (n = 3–6)
Datos de entrenamiento
Brown (≈ 1,18 M palabras) · AP News 1995–96 (≈ 14 M)
Año
2003
Generación
2 · Aprendizaje automático clásico
Creadores
Yoshua Bengio, Réjean Ducharme, Pascal Vincent & Christian Jauvin (Université de Montréal)
Clase
Modelo

Estadísticas base

Total
160

Escalas ordinales y aproximadas, pensadas para comparar especies entre sí; los números duros están en la ficha.

Debilidades

  • La softmax sobre todo el vocabulario se lleva el 99,7 % del cálculo.
  • Ventana fija: solo ve las n − 1 palabras anteriores.
  • Un único vector por palabra: la polisemia queda mal servida.
  • Lento para su época: semanas de entrenamiento en un clúster de CPU.

Hábitat

Creció leyendo el corpus Brown, una muestra variada del inglés escrito, y dos años de noticias de Associated Press. Hoy su invento más duradero, la tabla de embeddings, vive adentro de todo modelo de lenguaje: cada LLM guarda una matriz así para su vocabulario.

Movimientos

Habilidades

Tabla de vectores compartida
Una matriz C con una fila por palabra, la misma para todas las posiciones de la ventana, que se aprende junto con el resto de la red.
Probabilidad suave
La probabilidad es una función continua de los vectores: palabras cercanas en el espacio producen predicciones parecidas, y una oración vista informa sobre muchas oraciones vecinas.
Paralelismo sobre la salida
Como casi todo el cálculo está en la softmax, cada procesador de un clúster se encarga de una porción del vocabulario.

Anatomía

La red de Bengio et al. (2003), con n = 4 como ilustración (en los experimentos, n llegó a 6). Cada palabra previa se busca en la misma tabla C; los vectores se concatenan, pasan por una capa oculta y una softmax da la probabilidad de cada palabra siguiente: y = b + Wx + U·tanh(d + Hx). Las conexiones directas W son opcionales.

Cadena evolutiva

017 Modelo de lenguaje neuronal probabilístico
  • suelta la red profunda: entrenamiento superficial y rápido sobre miles de millones de palabras019 word2vec

El modelo de lenguaje probabilístico neuronal de Bengio, Ducharme, Vincent y Jauvin es el primer modelo de lenguaje neuronal que funcionó a una escala seria: una red que, dadas las últimas palabras, estima la probabilidad de la siguiente y que, para hacerlo, aprende a la vez un vector para cada palabra del vocabulario. Una primera versión se presentó en NIPS 2000; la versión de revista es de 2003.

El problema

Un modelo de n-gramas estima probabilidades contando secuencias cortas. El obstáculo es la maldición de la dimensionalidad: con un vocabulario de 100.000 palabras, modelar la distribución conjunta de diez palabras seguidas exigiría del orden de 10⁵⁰ parámetros libres, y casi cualquier oración de prueba es distinta de todas las vistas en el entrenamiento (Bengio et al., 2003, p. 1137). Los n-gramas generalizan pegando fragmentos cortos que se superponen; nada les dice que «gato» y «perro» se parecen.

Cómo funciona

La propuesta tiene dos piezas (Bengio et al., 2003, pp. 1139–1143):

  1. Una tabla C de |V| × m números: cada fila es el vector (hoy diríamos el embedding) de una palabra, con m = 30, 60 o 100 dimensiones para vocabularios de unas 17.000 palabras.
  2. Una red que toma los vectores de las n − 1 palabras previas, los concatena, los pasa por una capa oculta con tangente hiperbólica y termina en una softmax sobre todo el vocabulario: y = b + Wx + U·tanh(d + Hx), donde la matriz W, que conecta las palabras directamente con la salida, es opcional.

Tabla y red se entrenan juntas, con descenso por gradiente sobre la log-verosimilitud del corpus. Como la probabilidad es una función suave de los vectores, y las palabras que cumplen papeles parecidos terminan con vectores cercanos, haber visto «el gato camina por el dormitorio» también sube la probabilidad de «un perro corría en una habitación» y de un número combinatorio de oraciones vecinas (2003, pp. 1139–1140). Los autores ubican la idea de representar símbolos con vectores distribuidos en los inicios del conexionismo, con Hinton (1986) y Elman (1990) (2003, p. 1140).

Resultados

Se probó en el corpus Brown (≈ 1,18 millones de palabras) y en noticias de Associated Press de 1995–1996 (≈ 14 millones de palabras de entrenamiento) (Bengio et al., 2003, p. 1147). Frente al mejor n-grama, la perplejidad de prueba bajó alrededor de 24 % en Brown y 8 % en AP News, y promediar la red con un trigrama ayudaba todavía más: ambos se equivocaban en lugares distintos (2003, p. 1148). El costo era grande para la época: cinco pasadas sobre AP News llevaron unas tres semanas en 40 CPU (2003, p. 1148), y el 99,7 % del cálculo se iba en la capa de salida (2003, p. 1145). Con la fórmula del artículo, la red de AP News tiene unos 12 millones de parámetros (cálculo propio); los autores hablan de casi 100 MB para su red más grande (2003, p. 1144).

Descendencia y límites

La tabla C sobrevive: todo modelo de lenguaje actual guarda una matriz de embeddings, inicializada al azar y ajustada durante el entrenamiento (Alammar y Grootendorst, 2024, pp. 57–58). Mikolov, Chen et al. (2013) tomaron esta red como el «NNLM» de referencia y notaron que casi todo su costo estaba en la capa oculta no lineal; al eliminarla obtuvieron word2vec (2013, secs. 2.1, 3).

Los límites están señalados en el propio artículo: la ventana es fija (n − 1 palabras), la softmax sobre todo el vocabulario es carísima y cada palabra ocupa un único punto del espacio, así que la polisemia queda mal servida (Bengio et al., 2003, p. 1152). «Banco» es el mismo vector en la plaza y en la City, como el bank de río y de dinero de Alammar y Grootendorst (2024, p. 11). Las redes recurrentes y la atención atacarían la ventana fija; los embeddings contextuales, la polisemia.

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Bender, E. M., & Koller, A. (2020). Climbing towards NLU: On meaning, form, and understanding in the age of data. In D. Jurafsky, J. Chai, N. Schluter, & J. Tetreault (Eds.), Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics (pp. 5185–5198). Association for Computational Linguistics. https://doi.org/10.18653/v1/2020.acl-main.463 §
  • Bengio, Y., Ducharme, R., Vincent, P., & Jauvin, C. (2003). A neural probabilistic language model. Journal of Machine Learning Research, 3, 1137–1155. https://www.jmlr.org/papers/v3/bengio03a.html §
  • Brunila, M., & LaViolette, J. (2022). What company do words keep? Revisiting the distributional semantics of J.R. Firth & Zellig Harris. In M. Carpuat, M.-C. de Marneffe, & I. V. Meza Ruiz (Eds.), Proceedings of the 2022 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (pp. 4403–4417). Association for Computational Linguistics. https://doi.org/10.18653/v1/2022.naacl-main.327 §
  • Elman, J. L. (1990). Finding structure in time. Cognitive Science, 14(2), 179–211. https://doi.org/10.1207/s15516709cog1402_1 §
  • Firth, J. R. (1957). A synopsis of linguistic theory, 1930–1955. In Studies in linguistic analysis (pp. 1–32). Blackwell. §
  • Harris, Z. S. (1954). Distributional structure. Word, 10(2–3), 146–162. https://doi.org/10.1080/00437956.1954.11659520 §
  • Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013). Efficient estimation of word representations in vector space (arXiv:1301.3781). arXiv. https://doi.org/10.48550/arXiv.1301.3781 §