ElemedexEnciclopedia de bolsillo de arquitecturas de IA
N.º 032

GPT-3

Generative Pre-trained Transformer 3

Modelo de pocos ejemplos

Le mostrás tres ejemplos en el prompt y resuelve el cuarto sin mover ni una de sus 175.000 millones de conexiones. Nadie sabe bien si en ese momento aprende o si solo reconoce algo que ya había visto. Sus propios creadores tampoco: lo dejaron escrito.

Altura
96 capas
Peso
≈ 350 GB (fp16)
Parámetros
175.000 millones
Contexto
2048 tokens
Datos de entrenamiento
300.000 millones de tokens: Common Crawl, WebText2, Books1–2, Wikipedia
Año
2020
Generación
5 · Grandes modelos de lenguaje
Creadores
Brown, Mann, Ryder, Subbiah, Kaplan et al. (OpenAI)
Clase
Modelo

Estadísticas base

Total
346

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

Debilidades

  • En textos largos se repite, pierde coherencia y se contradice.
  • Rinde casi al azar en tareas de comparación, como decidir si una oración implica otra.
  • Tropieza con la física cotidiana: duda sobre si el queso se derrite en la heladera.
  • Reproduce los sesgos de su corpus, y un error de filtrado dejó parte de los benchmarks en sus datos.

Hábitat

Creció en una versión filtrada de Common Crawl, WebText2, dos corpus de libros y la Wikipedia en inglés, con las fuentes «de calidad» sobremuestreadas. Sus pesos nunca se publicaron: vivió detrás de la API de OpenAI, y su sucesor GPT-3.5 fue el primer motor de ChatGPT.

Movimientos

Habilidades

Aprendizaje en contexto
Adapta su conducta a una tarea descrita o ejemplificada en el prompt, sin actualizar ningún peso: todo ocurre durante la pasada hacia adelante.
Escala
175.000 millones de parámetros, diez veces más que cualquier modelo de lenguaje denso anterior, elegidos siguiendo las leyes de escalamiento.
Atención alternada
Las capas alternan atención causal densa y atención dispersa por bandas, para ahorrar cómputo sin perder el contexto completo.

Anatomía

GPT-3 es la pila de GPT-2 llevada a 96 bloques decodificadores con normalización previa; las capas alternan atención densa y dispersa. Los ejemplos del prompt no modifican ningún peso: solo condicionan la predicción del siguiente token, que se anexa y vuelve a entrar.

Cadena evolutiva

  • escala ×100: 175.000 millones de parámetros029 GPT-2
032 GPT-3

GPT-3 es un modelo de lenguaje autorregresivo de 175.000 millones de parámetros, diez veces más grande que cualquier modelo denso anterior, presentado por OpenAI en 2020 (Brown et al., 2020, sec. 1). Su fama no viene de la arquitectura, que es casi la de GPT-2, sino de una conducta: resolver tareas nuevas a partir de unos pocos ejemplos escritos en el prompt, sin ningún ajuste fino.

Cómo funciona

Es una pila de 96 bloques decodificadores con máscara causal, vectores de 12.288 dimensiones y 96 cabezas de atención; una ventana de contexto de 2048 tokens; y capas que alternan atención densa y dispersa por bandas (Brown et al., 2020, sec. 2.1; Alammar y Grootendorst, 2024, p. 96). Se entrenó con 300.000 millones de tokens de una mezcla en la que las fuentes consideradas de mejor calidad (WebText2, Books1, Wikipedia) se vieron dos o tres veces, y el Common Crawl filtrado y Books2, menos de una (2020, sec. 2.2). El costo fue de unos 3,14 × 10²³ FLOPs (2020, app. D).

El tamaño no fue un capricho. Meses antes, las leyes de escalamiento de Kaplan et al. (2020) habían mostrado que la pérdida cae como una ley de potencia con los parámetros, los datos y el cómputo, y que conviene gastar el presupuesto sobre todo en modelos más grandes (2020, sec. 1.1). GPT-3 aplicó esa receta: muchos parámetros, relativamente pocos tokens (Brown et al., 2020, fig. 2.2).

Aprender sin tocar los pesos

El artículo define tres situaciones (2020, sec. 2). En zero-shot el modelo recibe solo una instrucción; en one-shot, una instrucción y un ejemplo; en few-shot, tantos ejemplos como entren en la ventana (típicamente entre 10 y 100). En los tres casos no hay actualización de gradientes: el modelo simplemente continúa el texto. Los autores llaman a esto aprendizaje en contexto, y Alammar y Grootendorst (2024) lo presentan como la idea de «mostrar» la tarea en lugar de describirla (2024, pp. 180–181).

Algunos resultados: 71,2 % en TriviaQA sin consultar documentos, 86,4 % en LAMBADA cuando la tarea se enmarca como una prueba cloze con ejemplos, 100 % en sumas de dos dígitos (Brown et al., 2020, secs. 3.1, 3.2, 3.9.1). En un experimento con unas 80 personas por modelo, la tasa de acierto al distinguir noticias escritas por GPT-3 de noticias reales fue de ≈ 52 %, apenas por encima del azar (2020, sec. 3.9.4). El dato más interesante es de forma: la distancia entre cero, uno y pocos ejemplos crece con el tamaño del modelo, como si los modelos grandes fueran mejores «meta-aprendices» (2020, sec. 1).

Qué cambió

Con GPT-3 el prompt pasó a ser una forma de programar. Eso trajo la «ingeniería de prompts», con su fragilidad: cambios mínimos de puntuación o de palabras alteran el desempeño (Buckner, 2024, pp. 278–279). También dejó claro que un modelo base no es un asistente: predice continuaciones, no sigue instrucciones, y por eso sus descendientes pasaron por ajuste por instrucciones y RLHF hasta llegar a ChatGPT (InstructGPT) (Alammar y Grootendorst, 2024, pp. 26, 88).

Límites

Los autores enumeran los suyos (Brown et al., 2020, sec. 5): incoherencia en textos largos, resultados cercanos al azar en tareas de comparación como WiC y ANLI, problemas con la física cotidiana, poca eficiencia de muestra en el preentrenamiento y los sesgos de los datos. Un error en el filtrado dejó contaminación con benchmarks que no pudo corregirse porque reentrenar era demasiado caro (2020, secs. 2.2, 4). Y como los pesos y los datos quedaron en manos de OpenAI, estudiarlo de forma reproducible fue mucho más difícil que estudiar BERT (Buckner, 2024, pp. 279–280).

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J., Dhariwal, P., Neelakantan, A., Shyam, P., Sastry, G., Askell, A., Agarwal, S., Herbert-Voss, A., Krueger, G., Henighan, T., Child, R., Ramesh, A., Ziegler, D. M., Wu, J., Winter, C., . . . Amodei, D. (2020). Language models are few-shot learners. In Advances in Neural Information Processing Systems (Vol. 33, pp. 1877–1901). Curran Associates. https://proceedings.neurips.cc/paper_files/paper/2020/hash/1457c0d6bfcb4967418bfb8ac142f64a-Abstract.html §
  • Buckner, C. J. (2024). From deep learning to rational machines: What the history of philosophy can teach us about the future of artificial intelligence. Oxford University Press. https://doi.org/10.1093/oso/9780197653302.001.0001 §
  • Elhage, N., Nanda, N., Olsson, C., Henighan, T., Joseph, N., Mann, B., Askell, A., Bai, Y., Chen, A., Conerly, T., DasSarma, N., Drain, D., Ganguli, D., Hatfield-Dodds, Z., Hernandez, D., Jones, A., Kernion, J., Lovitt, L., Ndousse, K., . . . Olah, C. (2021). A mathematical framework for transformer circuits. Transformer Circuits Thread. https://transformer-circuits.pub/2021/framework/index.html §
  • Kaplan, J., McCandlish, S., Henighan, T., Brown, T. B., Chess, B., Child, R., Gray, S., Radford, A., Wu, J., & Amodei, D. (2020). Scaling laws for neural language models (arXiv:2001.08361). arXiv. https://doi.org/10.48550/arXiv.2001.08361 §
  • Millière, R., & Buckner, C. (2024a). A philosophical introduction to language models—Part I: Continuity with classic debates (arXiv:2401.03910). arXiv. https://doi.org/10.48550/arXiv.2401.03910 §
  • Millière, R., & Buckner, C. (2024b). A philosophical introduction to language models—Part II: The way forward (arXiv:2405.03207). arXiv. https://doi.org/10.48550/arXiv.2405.03207 §