ElemedexEnciclopedia de bolsillo de arquitecturas de IA

Glosario (MT) › Entrenamiento y ajuste

MT122

Época y lote (batch)

También: minilote, pasada

En inglés: Epoch and batch

Un lote es el grupo de ejemplos con que se calcula cada actualización de los pesos; una época es una pasada completa por todos los datos de entrenamiento.

Entrenar una red no es mirar todos los datos de una vez y corregir. El descenso por gradiente estocástico de minilotes toma un grupo chico de ejemplos, calcula cuánto se equivoca el modelo en promedio sobre ellos, ajusta los pesos un poquito en la dirección que reduce ese error y pasa al grupo siguiente (Chollet (2021), sec. 2.4.3). Ese grupo es el lote (batch). Cada pasada completa por el conjunto de entrenamiento es una época (epoch); lo habitual es barajar los datos entre época y época (Witten et al., 2017, p. 433).

El ejemplo de Chollet (2021) hace las cuentas: 60.000 imágenes de dígitos manuscritos (MNIST), lotes de 128 y 5 épocas. Son 469 actualizaciones por época y 2.345 en total (2021, sec. 2.5). En los extremos, un lote del tamaño de todo el conjunto es el descenso por gradiente clásico, y un lote de un solo ejemplo es el estocástico puro; los minilotes suelen tener entre dos y varios cientos de ejemplos (Witten et al., 2017, p. 433).

Los modelos de lenguaje estiran ambas nociones. Sus lotes se miden en tokens: para los modelos más grandes de Kaplan et al. (2020), el lote óptimo rondaba entre uno y dos millones de tokens (2020, sec. 1.1). Y las épocas casi desaparecen: el corpus es tan grande que muchas partes se ven una sola vez o menos. En GPT-3, Common Crawl se muestreó menos de una vez durante todo el entrenamiento, mientras que conjuntos considerados de mejor calidad se vieron 2 o 3 veces (Brown et al., 2020, sec. 2.2).

Pocas épocas, bien; demasiadas, sobreajuste: si la pérdida en validación empieza a subir mientras la de entrenamiento sigue bajando, el modelo está memorizando y conviene parar (early stopping) (Chollet, 2021, secs. 4.1.4, 5.4.3). La analogía con el estudio humano es tentadora (releer el mismo libro cinco veces), pero engaña: la red no «recuerda» haber visto un ejemplo, solo quedó levemente distinta después de cada lote.

Fuentes

  • 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 §
  • Chollet, F. (2021). Deep learning with Python (2nd ed.). Manning Publications. §
  • 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 §
  • Witten, I. H., Frank, E., Hall, M. A., & Pal, C. J. (2017). Data mining: Practical machine learning tools and techniques (4th ed.). Morgan Kaufmann. https://doi.org/10.1016/C2015-0-02071-8 §