¿Por qué ChatGPT olvida lo que has dicho? ¡La sorprendente verdad sobre sus límites de memoria!

En una era en la que la IA conversacional ha dejado de ser un concepto futurista para convertirse en una realidad cotidiana, ChatGPT se erige como un logro extraordinario. Su capacidad para comprender, interactuar y responder con precisión humana ha cautivado a usuarios de todo el mundo. Sin embargo, incluso los sistemas de IA más avanzados tienen sus limitaciones. ¿Te has preguntado alguna vez por qué ChatGPT, a pesar de su sofisticación, parece «olvidar» partes de tu conversación, especialmente cuando se alargan? Este artículo se adentra en el intrigante mundo de ChatGPT, desvelando los misterios técnicos que se esconden tras sus limitaciones de longitud de contexto y sus capacidades de memoria. Desde la exploración de la intrincada mecánica de su capacidad de procesamiento hasta el examen de los últimos avances destinados a superar estos límites, desentrañamos las complejidades que hacen de ChatGPT un fenómeno de IA enigmático pero fascinante.

Tabla de contenido

Comprender la longitud del contexto en los GPT

La longitud del contexto en los Transformadores Generativos Preentrenados (GPT) es un término que denota el número máximo de tokens (palabras o partes de palabras) que el modelo puede considerar a la vez al generar o procesar texto. En el ámbito del procesamiento del lenguaje natural (PLN), sobre todo para modelos lingüísticos como los GPT, este concepto desempeña un papel fundamental.

La importancia de la longitud del contexto:

  1. Coherencia y relevancia: La longitud del contexto es clave para determinar la cantidad de texto previo que el modelo puede consultar al generar texto nuevo o analizar texto existente. Un contexto más largo permite al modelo mantener la coherencia a lo largo de un texto más extenso, garantizando que el contenido generado o interpretado sea relevante para las partes anteriores del texto. Esto es crucial para tareas complejas como contar historias, participar en conversaciones detalladas o resumir documentos extensos en los que la continuidad es esencial.
  2. Captación de dependencias a larga distancia: En el lenguaje, el significado depende a menudo de elementos que aparecen muy atrás en el texto. Una longitud de contexto más amplia permite a las GPT comprender estas dependencias a larga distancia, lo que conduce a un procesamiento del lenguaje más preciso desde el punto de vista contextual.
  3. Mejor comprensión del lenguaje: Gracias a la capacidad de referenciar una mayor extensión del texto, las GPT pueden comprender mejor matices como el tono, el estilo y los elementos temáticos. Esta capacidad es vital para la generación y el análisis sofisticados del lenguaje, sobre todo en aplicaciones avanzadas de PNL.

Implicaciones prácticas:

  • En escenarios con un contexto breve, es posible que el modelo sólo tenga en cuenta las frases o párrafos más recientes. Si bien esto puede ser suficiente para tareas más sencillas, puede dar lugar a problemas como la repetición o la falta de coherencia en escenarios textuales más complejos.
  • Por el contrario, con un contexto ampliado, un modelo GPT puede recordar y utilizar información introducida mucho antes. Por ejemplo, en un diálogo, podría recordar detalles de momentos anteriores de la conversación, o en una narración, podría desarrollar de forma coherente hilos argumentales y personajes a lo largo de un texto extenso.

En general, la longitud del contexto en las GPT influye fundamentalmente en su capacidad para generar y comprender el lenguaje de forma coherente y contextualmente relevante. Se trata de un factor crucial para su eficacia en diversas tareas de PNL, especialmente en aquellas que implican la comprensión o producción de textos más extensos o el mantenimiento de la continuidad en narraciones o diálogos extensos.

Limitaciones y retos de la ampliación de la longitud del contexto en GPT-4

La limitación de la longitud del contexto en modelos como GPT-4 se debe principalmente al diseño inherente de la arquitectura de transformadores en la que se basan y a los retos computacionales y de memoria resultantes. Profundicemos en por qué existen estos límites y qué hace que ampliarlos sea todo un reto.

Arquitectura de transformadores y autoatención

  1. Complejidad cuadrática: El núcleo de la limitación reside en el mecanismo de autoatención de los transformadores. Este mecanismo calcula las puntuaciones de atención para cada par de fichas de la secuencia de entrada. Como resultado, si la longitud de la secuencia (o la longitud del contexto) se duplica, los requisitos de cálculo y memoria aumentan cuadráticamente, lo que lleva a un crecimiento cuádruple. Para GPT-4 y modelos similares, esto significa que el manejo de secuencias muy largas se convierte en una tarea intensiva desde el punto de vista computacional y de memoria.
  2. Limitaciones de memoria: Junto con la complejidad computacional, también hay un aumento significativo de los requisitos de memoria. El modelo debe almacenar las puntuaciones de atención y los gradientes de cada par de fichas, que crecen cuadráticamente con la longitud de la secuencia. Las GPU y TPU modernas, a pesar de su potencia, tienen una capacidad de memoria finita, lo que dificulta el almacenamiento de secuencias excesivamente largas.

Retos prácticos de la ampliación de la longitud del contexto

  1. Limitaciones de los datos de entrenamiento: La mayoría de los conjuntos de datos de entrenamiento consisten en secuencias relativamente cortas. Ampliar la longitud del contexto más allá de un cierto punto no beneficia necesariamente al modelo si rara vez se encuentra con secuencias tan largas durante el entrenamiento. Los modelos suelen estar optimizados para el tipo de datos con los que se entrenan con más frecuencia.
  2. Limitaciones del hardware: El hardware disponible impone una limitación significativa. El aumento cuadrático de los requisitos de memoria y computación significa que, más allá de cierto punto, el hardware existente (GPU/TPU) puede no soportar eficientemente contextos extremadamente largos. Esta limitación no sólo afecta a la capacidad de procesamiento, sino también a factores como el consumo de energía y la disipación de calor.
  3. Rendimiento decreciente: La ampliación de la longitud de los contextos suele llegar a un punto en el que el rendimiento es decreciente. Para muchas aplicaciones prácticas, como la conversación o la generación de textos cortos, un contexto masivamente extendido puede no producir mejoras proporcionales en el rendimiento o incluso introducir una complejidad innecesaria.

Retos algorítmicos y de eficiencia

  1. Límites de optimización: Aunque técnicas como el gradient checkpointing y el entrenamiento de precisión mixta pueden optimizar el uso de memoria y computación, sólo pueden llegar hasta cierto punto. Ayudan hasta cierto punto, pero no cambian la naturaleza cuadrática fundamental de los requisitos de recursos del mecanismo de autoatención.
  2. Equilibrio: Ampliar la longitud del contexto requiere un delicado equilibrio. No se trata sólo de aumentar el número de tokens que puede manejar el modelo, sino también de garantizar que el modelo pueda seguir aprendiendo y procesando eficientemente estos tokens. Esto implica una cuidadosa consideración de la arquitectura y los algoritmos para evitar cuellos de botella en el rendimiento.

En resumen, el límite de longitud de contexto en GPT-4 y modelos similares se debe principalmente a los requisitos cuadráticos de cálculo y memoria del mecanismo de autoatención del transformador, junto con restricciones prácticas relacionadas con los datos de entrenamiento, las capacidades de hardware y el equilibrio entre ampliar la longitud de contexto y mantener la eficiencia del modelo. Superar estos retos no sólo requiere un hardware más potente, sino también avances arquitectónicos y algorítmicos innovadores.

El papel de la autoatención en la limitación de la longitud del contexto

El mecanismo de autoatención de los transformadores, fundamental en modelos como GPT-4, desempeña un papel importante en la limitación de la longitud del contexto. Para entenderlo, es esencial profundizar en cómo funciona la autoatención y por qué impone tales limitaciones.

Comprender la autoatención en los transformadores

  1. Visión general del mecanismo: En un modelo de transformador, el mecanismo de autoatención permite que cada token de la secuencia de entrada interactúe con cualquier otro token. Esta interacción es clave para que el modelo pueda comprender el contexto y las relaciones entre las distintas partes del texto de entrada.
  2. Dinámica computacional: Para cada par de palabras de la secuencia, el modelo calcula las puntuaciones de atención, que determinan el grado de atención que debe prestarse a otras partes de la secuencia al procesar una palabra concreta. Este proceso implica calcular un conjunto de vectores de consulta, clave y valor para cada token y, a continuación, calcular las puntuaciones de atención en función de estos vectores.
  3. Importancia en la comprensión contextual: Este mecanismo es el que permite a GPT-4 comprender en profundidad el texto que genera o procesa. Permite al modelo captar matices, referencias y dependencias que pueden abarcar toda la longitud del contexto que se le proporciona.

Factores que contribuyen a las limitaciones de longitud del contexto

  1. Escala cuadrática: El reto fundamental que plantea la autoatención es su escala cuadrática con respecto a la longitud de la secuencia. Si la secuencia tiene N tokens, el mecanismo de atención necesita calcular y almacenar 2N^2 puntuaciones de atención. Esta relación cuadrática es un factor limitante significativo para la longitud del contexto, ya que tanto los requisitos computacionales como los de memoria aumentan rápidamente con secuencias más largas.
  2. Memoria intensiva: El almacenamiento de las puntuaciones de atención de secuencias largas puede superar rápidamente la capacidad de memoria incluso de las GPU o TPU más avanzadas. Esto es especialmente difícil durante el entrenamiento, ya que el modelo no sólo tiene que almacenar estas puntuaciones, sino también los gradientes de cada parámetro para la retropropagación.
  3. Potencia y tiempo de procesamiento: el tiempo necesario para calcular estas puntuaciones, y las operaciones posteriores en las capas transformadoras, también aumenta con secuencias más largas. Esto puede ralentizar tanto el entrenamiento como la inferencia, especialmente en aplicaciones en tiempo real.

Cómo abordar las limitaciones

  1. Optimizaciones de la eficiencia: Diversas optimizaciones pueden aliviar en cierta medida la carga computacional. Por ejemplo, técnicas como el entrenamiento de precisión mixta pueden reducir la huella de memoria, y las optimizaciones en las operaciones matriciales pueden acelerar los cálculos.
  2. Innovaciones arquitectónicas: Más allá de las optimizaciones, a menudo se requieren cambios arquitectónicos significativos para superar fundamentalmente esta limitación. Esto incluye innovaciones como los patrones de atención dispersa, de los que hablaremos con más detalle más adelante, que reducen el número de cálculos de atención necesarios.

En esencia, aunque el mecanismo de autoatención dota a GPT-4 de sus potentes capacidades de procesamiento del lenguaje, también limita intrínsecamente la longitud del contexto debido a sus demandas cuadráticas de cálculo y memoria. Resolver esta limitación es una tarea compleja que implica una mezcla de optimizaciones y cambios arquitectónicos más fundamentales.

Costes computacionales y de memoria al ampliar la longitud del contextoComprender los costes computacionales y de memoria asociados al aumento de la longitud del contexto en los transformadores generativos preentrenados (GPT) implica adentrarse en los entresijos de la arquitectura del transformador. Estos costes, y su significativo escalado, se deben principalmente al mecanismo de autoatención integrado en estos modelos.

Costes computacionales

  1. Complejidad cuadrática de la autoatención: El mecanismo de autoatención, como ya se ha mencionado, requiere cálculos para cada par de fichas de la secuencia de entrada. Con una secuencia de longitud N, el número de cálculos es cuadrático, O(N^2). Esto significa que si la longitud del contexto se duplica, la carga computacional se cuadruplica.
  2. Operacionesmatriciales: Los transformadores realizan múltiples multiplicaciones de matrices dentro de las capas de autoatención y de alimentación posterior. El tamaño de estas matrices aumenta con la longitud de la secuencia, lo que da lugar a operaciones más intensivas desde el punto de vista informático.
  3. Impactoen el entrenamiento y la inferencia: Durante el entrenamiento, esta complejidad computacional requiere tiempos de entrenamiento más largos y más potencia de procesamiento. Para la inferencia, especialmente en aplicaciones en tiempo real, puede provocar tiempos de respuesta más lentos, lo que puede resultar poco práctico para determinadas aplicaciones.

Costes de memoria

  1. Almacenamiento de puntuaciones de atención: Cada par de tokens genera una puntuación de atención, lo que resulta en una matriz de tamaño N×N para la secuencia. Por lo tanto, los requisitos de memoria aumentan cuadráticamente con la longitud del contexto. Esta escala es uno de los principales factores por los que incluso el hardware más avanzado puede tener problemas con secuencias muy largas.
  2. Almacenamiento del gradiente durante el entrenamiento: El entrenamiento de un modelo transformador implica retropropagación, lo que requiere almacenar gradientes para cada parámetro. Las secuencias más largas aumentan el número de parámetros implicados en los cálculos, incrementando así la memoria necesaria para almacenar estos gradientes.
  3. Almacenamiento de activacionespara la retropropagación: Los transformadores necesitan almacenar las activaciones de cada capa para la retropropagación durante el entrenamiento, lo que aumenta aún más el uso de memoria, especialmente con secuencias más largas.

¿Por qué estos costes aumentan de forma tan significativa?

  • Inherentes a la arquitectura: La dependencia de la arquitectura del transformador de la autoatención a lo largo de toda la secuencia es la causa fundamental de este escalado significativo. A diferencia de las arquitecturas que procesan los datos secuenciales paso a paso, los transformadores gestionan simultáneamente todas las partes de la secuencia, lo que da lugar a este escalado cuadrático.
  • Procesamiento contextual integral: La potencia de los GPT reside en su capacidad para considerar todo el contexto a la hora de generar cada nuevo token. Si bien esto permite obtener resultados muy coherentes y conscientes del contexto, tiene el coste de una gran demanda computacional y de memoria, especialmente a medida que aumenta la longitud del contexto.

En resumen, los costes computacionales y de memoria asociados al aumento de la longitud del contexto en los GPT se escalan significativamente debido a la complejidad cuadrática del mecanismo de autoatención. Este escalado es un aspecto fundamental de la arquitectura del transformador, lo que convierte la gestión de estos costes en un reto fundamental a la hora de desarrollar y aplicar modelos lingüísticos a gran escala.

Escalado de costes con el aumento de la longitud del contexto en GPT-4
Longitud del contexto (fichas)Coste computacional (escalado cuadrático)Coste de memoria (escalado cuadrático)Ejemplo realLongitud aproximada del documentoCoste estimado (lineal USD)
1,00011Correo electrónico cortoAlrededor de 1-2 páginas de texto$0.01
8,0006464Informe extensoAlrededor de 8-16 páginas de texto$0.08
32,0001,0241,024Documento de investigaciónAlrededor de 32-64 páginas de texto$0.32
128,00016,38416,384Libro corto/NoveletteAlrededor de 128-256 páginas de texto$1.28
1,048,5761,099,511,6271,099,511,627Libro grandeMás de 1.000 páginas de texto$10.49

Análisis económico e implicaciones estratégicas

  • Rentabilidad en contextos más cortos: Cuando se trata de contextos más cortos (por ejemplo, 1.000 fichas), el coste para la empresa, en términos de recursos informáticos y de memoria, es relativamente bajo. El modelo de precios lineal (por ejemplo, 0,01 dólares por cada 1.000 fichas) será probablemente rentable, ya que el uso de recursos no aumenta drásticamente. Esto hace que las llamadas en contextos cortos sean económicamente favorables para la empresa.
  • Dinámica de costes en contextos más largos: Cuando pasamos a contextos más largos, como 1.048.576 tokens, la situación cambia radicalmente. En este caso, la escala cuadrática de los costes de cálculo y memoria se hace más evidente. El coste de procesar un contexto tan largo es desproporcionadamente mayor, superando probablemente el aumento lineal de los ingresos. A esta escala, el coste de procesamiento (teniendo en cuenta la elevada carga computacional y los requisitos de memoria) podría superar los ingresos generados por el modelo de precios lineal.
  • Preferencia estratégica por contextos más cortos: Esta disparidad entre costes e ingresos es una razón clave por la que empresas como OpenAI prefieren llamadas de contexto más cortas. Ofrecer servicios hasta un máximo de 128.000 tokens es una decisión estratégica. Equilibra las necesidades de los usuarios de resultados coherentes y ricos en contexto, al tiempo que mantiene la viabilidad económica y la eficiencia operativa.
  • Limitarla longitud máxima del contexto: La decisión de limitar la longitud del contexto a 128.000 tokens, a pesar de la capacidad técnica para ir más allá, puede verse como un compromiso entre ofrecer un servicio de PNL avanzado y útil y garantizar que el servicio siga siendo económicamente sostenible.

En el negocio de los modelos lingüísticos basados en IA, el equilibrio entre capacidad tecnológica y sostenibilidad económica es fundamental. Aunque los contextos más largos ofrecen capacidades de comprensión y generación más completas, también conllevan costes significativamente más elevados. Esta realidad económica influye en las decisiones estratégicas de los proveedores de servicios de IA, llevándoles a favorecer las llamadas de contexto más cortas y a establecer límites a la longitud máxima de contexto que ofrecen. Este planteamiento ayuda a mantener un equilibrio entre ofrecer capacidades avanzadas de PNL y garantizar la viabilidad económica del servicio a largo plazo.

Innovaciones en algoritmos para ampliar la longitud del contexto en los GPTSí, se han desarrollado varios algoritmos y técnicas innovadores para aumentar eficazmente la longitud del contexto en los GPT (transformadores generativos preentrenados). El objetivo principal de estas innovaciones es hacer frente a las limitaciones computacionales y de memoria impuestas por el mecanismo de autoatención en los modelos de transformadores estándar. Veamos algunos de los principales avances en este campo.

1. Mecanismos de atención dispersa

  • Concepto: A diferencia de la autoatención tradicional, que calcula las puntuaciones de atención entre todos los pares de fichas, lo que supone una complejidad cuadrática, los mecanismos de atención dispersa calculan estas puntuaciones de forma selectiva. Este enfoque selectivo reduce significativamente la carga computacional.
  • Implementación:
    • Longformer: Introduce un mecanismo de ventana deslizante en el que cada token atiende sólo a una ventana de tamaño fijo de tokens circundantes, reduciendo así la complejidad. Longformer también incorpora la atención global en tokens seleccionados para capturar dependencias más amplias.
    • BigBird: Inspirado en Longformer, BigBird utiliza una combinación de mecanismos de atención local, global y aleatoria para manejar con eficacia secuencias más largas.

2. Reformer

  • Atención eficiente mediante el algoritmo Locality-Sensitive Hashing (LSH): El modelo Reformer utiliza LSH para reducir la complejidad del mecanismo de atención. Al agrupar fichas similares y calcular la atención dentro de estos grupos, se consigue una gestión eficiente de secuencias largas.
  • Eficiencia de memoria: Reformer también emplea capas reversibles, que permiten reducir el uso de memoria durante el entrenamiento reconstruyendo las activaciones de entrada a partir de las salidas en lugar de almacenar todas las activaciones intermedias.

3. Linformer

  • Aproximación de bajo rango: Linformer proyecta las matrices de autoatención a dimensiones inferiores, simplificando el mecanismo de autoatención de una función cuadrática a una lineal con respecto a la longitud de la secuencia. Esta aproximación es especialmente eficaz en tareas que implican secuencias muy largas.

4. Performer

  • Atención rápida mediante características aleatorias ortogonales (FAVOR): El Performer introduce un método para aproximar el mecanismo de atención tradicional, permitiendo un procesamiento escalable y eficiente de secuencias largas.

5. Atención adaptativa

  • Ajustedinámico: Esta técnica consiste en ajustar dinámicamente la capacidad de atención de cada cabeza del modelo transformador. El modelo puede centrarse más en las partes relevantes de la entrada para cada tarea específica, lo que conduce a un procesamiento más eficiente de secuencias más largas.

6. Atención con memoria comprimida

  • Técnica: Al comprimir las activaciones más antiguas de la secuencia en una huella de memoria más pequeña, este método permite al modelo conservar el acceso a un historial más largo sin un aumento proporcional del uso de la memoria.

Estas innovaciones suponen un avance significativo en la superación de las limitaciones de los transformadores estándar respecto a la longitud del contexto. Al reducir la complejidad computacional y el uso de memoria, permiten a los GPT manejar secuencias más largas con mayor eficacia, lo que abre nuevas posibilidades para tareas complejas de comprensión y generación del lenguaje. Sin embargo, es importante tener en cuenta que cada una de estas técnicas puede tener sus propias desventajas y ser más adecuada para determinados tipos de tareas o conjuntos de datos.

ResumenMientras navegábamos por el laberinto de las capacidades y limitaciones de ChatGPT, surgió una imagen clara. El quid del olvido de ChatGPT reside en las restricciones inherentes a su arquitectura de transformadores, concretamente en el mecanismo de autoatención que, aunque potente, está sujeto a limitaciones computacionales y de memoria. Estas limitaciones no sólo influyen en la capacidad del modelo para retener y procesar conversaciones largas, sino que también condicionan las decisiones económicas y estratégicas de empresas como OpenAI a la hora de implantar estos modelos. Sin embargo, el panorama evoluciona continuamente. Se están desarrollando algoritmos y técnicas innovadoras, como mecanismos de atención dispersa y modelos de memoria comprimida, para ampliar estos límites, allanando el camino a sistemas de IA aún más capaces y eficientes en el futuro.

Referencias
  • Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gómez, A. N., … & Polosukhin, I. (2017). «La atención es todo lo que necesitas» En Advances in Neural Information Processing Systems. https://arxiv.org/abs/1706.03762
  • Beltagy, I., Peters, M. E., & Cohan, A. (2020). «Longformer: The Long-Document Transformer». arXiv preprint arXiv:2004.05150. https://arxiv.org/abs/2004.05150
  • Zaheer, M., Guruganesh, G., Dubey, K. A., Ainslie, J., Alberti, C., Ontanon, S., … & Ahmed, A. (2020). «Big Bird»: Transformadores para secuencias más largas» En Advances in Neural Information Processing Systems. https://arxiv.org/abs/2007.14062
  • Kitaev, N., Kaiser, Ł., & Levskaya, A. (2020). «Reformer: El transformador eficiente» En International Conference on Learning Representations. https://arxiv.org/abs/2001.04451
  • Wang, S., Li, B., Khabsa, M., Fang, H., & Ma, H. (2020). «Linformer: Self-Attention with Linear Complexity». arXiv preprint arXiv:2006.04768. https://arxiv.org/abs/2006.04768
  • Choromanski, K., Likhosherstov, V., Dohan, D., Song, X., Gane, A., Sarlos, T., … & Hawkins, P. (2021). «Repensando la atención con intérpretes» En International Conference on Learning Representations. https://arxiv.org/abs/2009.14794
  • Sukhbaatar, S., Grave, E., Bojanowski, P., & Joulin, A. (2019). «Adaptive Attention Span in Transformers». arXiv preprint arXiv:1905.07799. https://arxiv.org/abs/1905.07799
  • Rae, J. W., Potapenko, A., Jayakumar, S. M., & Lillicrap, T. P. (2020). «Transformadores compresivos para el modelado de secuencias de largo alcance» En International Conference on Learning Representations. https://arxiv.org/abs/1911.05507
  • Brown, T. B., Mann, B., Ryder, N., Subbiah, M., Kaplan, J. D., Dhariwal, P., … & Amodei, D. (2020). «Los modelos lingüísticos son aprendices de pocas palabras» En Advances in Neural Information Processing Systems. https://arxiv.org/abs/2005.14165
  • Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2018). «BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding». arXiv preprint arXiv:1810.04805. https://arxiv.org/abs/1810.04805
  • Índice

    El texto del artículo, incluidas las preguntas y respuestas de ChatGPT, se ha traducido del original inglés: Why Does ChatGPT Forget What You Said? The Surprising Truth About Its Memory Limits!

    Deja una respuesta