Cómo funcionan los modelos grandes de lenguaje popular deconstruido

Compilar: OneFlow

作宇|Tim Lee, Sean Trott

Fuente de la imagen: Generada por Unbounded AI

¿Cómo funciona exactamente internamente el modelo de lenguaje grande? Este artículo explica con un mínimo de matemáticas y terminología.

El autor de este artículo, Tim Lee, solía trabajar en el medio de tecnología Ars Technica. Recientemente lanzó un boletín informativo "Comprender la IA", que trata principalmente el principio de funcionamiento de la inteligencia artificial. Sean Trott es profesor asistente en la Universidad de California, San Diego, donde estudia la comprensión del lenguaje humano y los modelos de lenguaje. (El siguiente contenido es compilado y publicado por OneFlow después de la autorización; comuníquese con OneFlow para obtener autorización para la reimpresión. Texto original:

Cuando ChatGPT se lanzó el otoño pasado, causó revuelo en la industria tecnológica y en todo el mundo. En ese momento, los investigadores de aprendizaje automático habían estado tratando de desarrollar modelos grandes de lenguaje (LLM) durante años, pero el público en general no prestó mucha atención ni se dio cuenta de lo poderosos que se habían vuelto.

Hoy en día, casi todo el mundo ha oído hablar de los LLM y decenas de millones de personas los han usado, pero no muchos entienden cómo funcionan. Es posible que haya escuchado que los LLM están capacitados para "predecir la siguiente palabra" y requieren mucho texto para hacerlo. Sin embargo, las explicaciones suelen quedarse ahí. Los detalles de cómo predicen la siguiente palabra a menudo se tratan como un rompecabezas esotérico.

Una de las razones de esto es que estos sistemas se desarrollaron de una manera diferente. El software típico está escrito por ingenieros humanos que proporcionan a la computadora instrucciones claras paso a paso. Por el contrario, ChatGPT se basa en una red neuronal entrenada con miles de millones de palabras del idioma.

Por lo tanto, nadie en la tierra comprende completamente el funcionamiento interno de LLM. Los investigadores están trabajando arduamente para tratar de comprender estos modelos, pero es un proceso lento que lleva años, si no décadas, en completarse.

Sin embargo, los expertos saben bastante sobre cómo funcionan estos sistemas. El objetivo de este artículo es abrir este conocimiento a una amplia audiencia. Nos esforzaremos por explicar lo que se sabe sobre el funcionamiento interno de estos modelos sin entrar en jerga técnica o matemáticas avanzadas.

Comenzaremos explicando los vectores de palabras, que son una forma sorprendente para que los modelos de lenguaje representen y razonen sobre el lenguaje. Luego, nos sumergiremos en Transformers, la piedra angular de la construcción de modelos como ChatGPT. Finalmente, explicamos cómo se entrenan estos modelos y exploramos por qué se puede lograr un buen rendimiento con grandes cantidades de datos.

vector de palabra

Para comprender cómo funcionan los modelos de lenguaje, primero debe comprender cómo representan las palabras. Los humanos usan secuencias de letras para representar palabras en inglés, como CAT para gatos. Los modelos de lenguaje usan una larga lista de números llamados vectores de palabras. Por ejemplo, aquí hay una forma de representar un gato como un vector:

[0,0074, 0,0030, -0,0105, 0,0742, 0,0765, -0,0011, 0,0265, 0,0106, 0,0191, 0,0038, -0,0468, -0,0212, 0,0091, 0,0030, -0,0563, -0 .0396, -0.0998, -0.0796, …, 0.0002]

(nota: la longitud total del vector es en realidad 300 números)

¿Por qué usar una notación tan complicada? He aquí una analogía, Washington DC se encuentra a 38,9 grados de latitud norte y 77 grados de longitud oeste, que podemos representar en notación vectorial:

• Las coordenadas de Washington DC son [38.9, 77]

• Las coordenadas de Nueva York son [40.7, 74]

• Las coordenadas de Londres son [51.5, 0.1]

• Las coordenadas de París son [48.9, -2.4]

Esto es útil para razonar acerca de las relaciones espaciales. Puedes ver que Nueva York está muy cerca de Washington DC porque 38,9 está más cerca de 40,7 y 77 está más cerca de 74 en las coordenadas. Asimismo, París está muy cerca de Londres. Pero París está muy lejos de Washington, DC.

Los modelos de lenguaje adoptan un enfoque similar: cada vector de palabras representa un punto en un "espacio de palabras" donde las palabras con un significado similar se ubican más cerca unas de otras. Por ejemplo, las palabras más cercanas a gatos en el espacio vectorial incluyen perro, gatito y mascota. Una gran ventaja de representar palabras como vectores de números reales (a diferencia de cadenas de letras como "CAT") es que los números pueden realizar operaciones que las letras no pueden.

Las palabras son demasiado complejas para ser representadas en solo dos dimensiones, por lo que los modelos de lenguaje usan espacios vectoriales con cientos o incluso miles de dimensiones. Los humanos no pueden imaginar espacios con dimensiones tan altas, pero las computadoras pueden razonar sobre ellos y producir resultados útiles.

Los investigadores han estado estudiando los vectores de palabras durante décadas, pero el concepto ganó fuerza en 2013, cuando Google anunció el proyecto word2vec. Google analizó millones de documentos recopilados de Google News para descubrir qué palabras tienden a aparecer en oraciones similares. Con el tiempo, una red neuronal entrenada aprende a colocar palabras de categorías similares (como perro y gato) adyacentes en el espacio vectorial.

Los vectores de palabras de Google también tienen otra característica interesante: puede usar operaciones vectoriales para "inferir" palabras. Por ejemplo, los investigadores de Google toman el vector más grande (más grande), restan el vector grande (grande) y agregan el vector pequeño (pequeño). La palabra más cercana al vector resultante es el vector más pequeño (más pequeño).

¡Puedes usar operaciones vectoriales para una analogía! En este ejemplo, la relación entre grande y más grande es similar a la relación entre pequeño y más pequeño. Los vectores de palabras de Google capturan muchas otras relaciones:

• Suizo es para Suiza lo que Camboya es para Camboya. (País de ciudadanía)

• París y Francia son similares a Berlín y Alemania. (capital)

• Inmoral y moral son similares a posible e imposible. (antónimo)

• Ratón (ratas) y ratones (plural de ratones) son similares a dólares (dólares) y dólares (plural de dólares). (forma plural)

• Los hombres y las mujeres son como reyes y reinas. (rol de género)

Debido a que estos vectores se construyen a partir de la forma en que las personas usan el lenguaje, reflejan muchos de los sesgos que existen en el lenguaje humano. Por ejemplo, (médico) menos (hombre) más (mujer) es igual a (enfermera) en algunos modelos de incorporación de palabras. Reducir este sesgo es un nuevo campo de investigación.

No obstante, las incrustaciones de palabras son una base útil para los modelos de lenguaje, ya que codifican información relacional sutil pero importante entre palabras. Si un modelo de lenguaje aprende algo sobre los gatos (por ejemplo, a veces va al veterinario), es probable que lo mismo se aplique a los gatitos o perros. Si el modelo se ha enterado de la relación entre París y Francia (por ejemplo, que comparten un idioma), entonces es probable que la relación entre Berlín y Alemania y Roma e Italia sea la misma.

El significado de la palabra depende del contexto

Los esquemas simples de incrustación de palabras como este no logran capturar un hecho importante del lenguaje natural: las palabras a menudo tienen múltiples significados.

Por ejemplo, la palabra "banco" podría referirse a una institución financiera oa la orilla de un río. O considere las siguientes oraciones:

• John recoge una revista (John recoge una revista).

• Susan trabaja para una revista (Susan trabaja para una revista).

En estas oraciones, el significado de "revista" está relacionado pero es diferente. John eligió una revista física y Susan trabajaba para una agencia que publicaba revistas físicas.

Cuando una palabra tiene dos significados no relacionados, los lingüistas los llaman homónimos. Cuando una palabra tiene dos significados estrechamente relacionados, como "revista", los lingüistas lo llaman polisemia.

Los modelos de lenguaje como ChatGPT pueden representar la misma palabra con diferentes vectores según el contexto en el que aparece la palabra. Hay un vector para "banco (institución financiera)" y un vector para "banco (orilla del río)". Hay un vector para "revista (la publicación de la entidad)" y un vector para "revista (la institución de publicación)". Como era de esperar, el modelo de lenguaje usa vectores que son más similares para los significados de las palabras polisémicas y menos similares para los significados de las palabras homófonas.

Hasta ahora no hemos explicado cómo hacen esto los modelos de lenguaje; lo abordaremos pronto. Sin embargo, estamos detallando estas representaciones vectoriales, que son importantes para comprender cómo funcionan los modelos de lenguaje.

El software tradicional está diseñado para trabajar con datos explícitos. Si le pides a una computadora que calcule "2+3", no hay ambigüedad sobre lo que significa 2, + o 3. Pero la ambigüedad en el lenguaje natural va mucho más allá de los homónimos y la polisemia:

• En "el cliente le pidió al mecánico que arreglara su auto", ¿"suyo" se refiere al cliente o al mecánico?

• En “la profesora instó a la alumna a hacer su tarea”, ¿“ella” se refiere a la profesora oa la alumna?

• En "moscas de la fruta como un plátano", ¿"moscas" es un verbo (que se refiere a una fruta que vuela por el cielo como un plátano) o un sustantivo (que se refiere a las moscas de la fruta a las que les gustan los plátanos)?

Las personas resuelven este tipo de ambigüedades según el contexto, pero no existen reglas sencillas ni claras. Más bien, requiere una comprensión de lo que realmente está sucediendo en el mundo. Debe saber que los mecánicos generalmente arreglan los autos de los clientes, los estudiantes generalmente hacen su propia tarea y la fruta generalmente no vuela.

Los vectores de palabras proporcionan una forma flexible para que los modelos de lenguaje representen el significado exacto de cada palabra en el contexto de un párrafo en particular. Ahora veamos cómo hacen esto.

Convertir vectores de palabras en predicciones de palabras

El modelo GPT-3 detrás de la versión original de ChatGPT consta de docenas de capas de redes neuronales. Cada capa toma como entrada una secuencia de vectores, uno para cada palabra en el texto de entrada, y agrega información para ayudar a aclarar el significado de esa palabra y predecir mejor las palabras que pueden aparecer a continuación.

Comencemos con un ejemplo simple.

Cada capa de LLM es un transformador En 2017, Google presentó esta estructura de red neuronal por primera vez en un documento histórico.

En la parte inferior del gráfico, el texto de entrada al modelo es "John quiere que su banco cobre el" y estas palabras se representan como vectores de estilo word2vec y se pasan al primer Transformador. Este transformador determina que tanto los deseos como el efectivo son verbos (estas dos palabras también pueden ser sustantivos). Denotamos este contexto adicional en texto rojo entre paréntesis, pero el modelo en realidad almacena esta información modificando los vectores de palabras de una manera que es difícil de interpretar para los humanos. Estos nuevos vectores se denominan estados ocultos y se pasan al siguiente transformador.

El segundo Transformador agrega dos informaciones contextuales más: aclara que banco se refiere a una institución financiera (institución financiera) en lugar de a la orilla de un río, y que su se refiere al pronombre de John. El segundo Transformador produce otro conjunto de vectores de estado ocultos que reflejan toda la información que el modelo ha aprendido previamente.

El gráfico anterior muestra un LLM puramente hipotético, así que no te apegues demasiado a los detalles. Los LLM reales tienden a tener más capas. Por ejemplo, la versión más poderosa de GPT-3 tiene 96 capas.

La investigación muestra que (las primeras capas se enfocan en comprender la gramática de la oración y resolver las ambigüedades que se muestran arriba. Las capas posteriores (que no se muestran arriba para mantener manejable el tamaño del diagrama) están dedicadas a la comprensión de alto nivel de todo el párrafo.

Por ejemplo, cuando LLM "lee" una historia corta, parece recordar todo tipo de información sobre los personajes de la historia: género y edad, relaciones con otros personajes, ubicaciones pasadas y actuales, personalidades y objetivos, y más.

Los investigadores no entienden completamente cómo los LLM realizan un seguimiento de esta información, pero lógicamente, la información debe pasar entre capas modificando los vectores de estado ocultos. La dimensión vectorial en LLM moderno es extremadamente grande, lo que conduce a expresar información semántica más rica.

Por ejemplo, la versión más potente de GPT-3 utiliza vectores de palabras con 12288 dimensiones, es decir, cada palabra está representada por una lista de 12288 números. Esto es 20 veces más grande que el esquema word2vec propuesto por Google en 2013. Puede pensar en todas estas dimensiones adicionales como una especie de "espacio para borrar" que GPT-3 puede usar para registrar el contexto de cada palabra. Las notas informativas hechas por capas anteriores pueden ser leídas y modificadas por capas posteriores, lo que permite que el modelo profundice gradualmente su comprensión de todo el texto.

Entonces, supongamos que cambiamos el diagrama anterior para describir un modelo de lenguaje de 96 capas para interpretar una historia de 1000 palabras. El nivel 60 podría incluir un vector para John, con un vector indicado como "(Protagonista, hombre, casado con Cheryl, prima de Donald, de Minnesota, actualmente en Boise, tratando de encontrar su billetera perdida)" entre paréntesis. Nuevamente, todos estos hechos (y posiblemente más) estarían codificados en una lista de 12288 números correspondientes a la palabra John. O bien, parte de la información de esa historia podría estar codificada en un vector de 12288 dimensiones para Cheryl, Donald, Boise, billetera u otras palabras.

El objetivo de esto es que la capa 96 y última de la red genere un estado oculto que contenga toda la información necesaria para predecir la siguiente palabra.

Mecanismo de Atención

Ahora hablemos de lo que sucede dentro de cada Transformador. Transformer tiene dos procesos al actualizar el estado oculto de cada palabra del párrafo de entrada:

  1. Durante el paso de atención, el vocabulario "mira a su alrededor" en busca de otras palabras que tengan un contexto relevante y compartan información entre sí.

  2. En el paso de avance, cada palabra "piensa" en la información recopilada en el paso de atención anterior e intenta predecir la siguiente palabra.

Por supuesto, es la red la que realiza estos pasos, no las palabras individuales. Pero lo expresamos de esta manera para enfatizar que Transformer usa palabras como la unidad básica de este análisis, no oraciones o párrafos completos. Este enfoque permite que LLM aproveche al máximo las capacidades de procesamiento paralelo masivo de los chips GPU modernos. También ayuda a LLM a escalar a párrafos largos que contienen miles de palabras. Estos dos aspectos son los retos a los que se enfrentan los primeros modelos lingüísticos.

Puedes pensar en el mecanismo de atención como un servicio de correspondencia entre palabras. Cada palabra crea una lista de verificación (llamada vector de consulta) que describe las características de las palabras que está buscando. Cada palabra también crea una lista de verificación (llamada vector clave) que describe sus propias características. La red neuronal encuentra la palabra que mejor coincide comparando cada vector clave con cada vector de consulta (mediante el cálculo del producto escalar). Una vez que se encuentra una coincidencia, pasa información relevante de la palabra que produjo el vector clave a la palabra que produjo el vector de consulta.

Por ejemplo, en la sección anterior mostramos un modelo de Transformador hipotético que encontró que "su" se refiere a "Juan" en parte de la oración "Juan quiere que su banco cobre el". Internamente, el proceso podría ser más o menos así: un vector de consulta para "su" podría representarse efectivamente como "Estoy buscando: sustantivos que describan hombres". Un vector clave para "Juan" podría expresarse efectivamente como "Soy un sustantivo que describe a un hombre". La red detectará que estos dos vectores coinciden y transferirá información sobre el vector "John" al vector "his".

Cada capa de atención tiene varios "cabezales de atención", lo que significa que este proceso de intercambio de información ocurre varias veces (en paralelo) en cada capa. Cada cabeza de atención se enfoca en una tarea diferente:

• Una cabeza de atención puede emparejar pronombres con sustantivos, como discutimos anteriormente.

• Otro encabezado de atención podría gestionar el análisis del significado de palabras polisémicas como "banco".

• Una tercera cabeza de atención podría vincular frases de dos palabras como "Joe Biden".

Los cabezales de atención como estos a menudo funcionan secuencialmente, y el resultado de una operación de atención en una capa de atención se convierte en la entrada para un cabezal de atención en la siguiente capa. De hecho, cada una de las tareas que acabamos de enumerar puede requerir múltiples cabezas de atención, no solo una.

La versión más grande de GPT-3 tiene 96 capas, y cada capa tiene 96 cabezas de atención, por lo que cada vez que se pronostica una palabra nueva, GPT-3 realizará 9216 operaciones de atención.

Un ejemplo del mundo real

En las dos secciones anteriores, mostramos versiones idealizadas de cómo funcionan las cabezas de atención. Ahora echemos un vistazo a la investigación sobre el funcionamiento interno de los modelos de lenguaje real.

El año pasado, los investigadores de Redwood Research estudiaron GPT-2, el predecesor de ChatGPT, para el pasaje "Cuando Mary y John fueron a la tienda, John le dio de beber (cuando Mary y John fueron a la tienda, John le dio de beber a ) "El proceso de predecir la siguiente palabra.

GPT-2 predice que la siguiente palabra es María. Los investigadores encontraron que tres tipos de cabezas de atención contribuyeron a esta predicción:

• Tres cabezas de atención, a las que denominan cabeza de movimiento de nombres, copian información del vector Mary al vector de entrada final (el vector de la palabra a). GPT-2 usa la información en este vector más a la derecha para predecir la siguiente palabra.

• ¿Cómo decide la red neuronal que Mary es la palabra correcta para copiar? Invirtiendo el proceso de cálculo de GPT-2, los científicos descubrieron un conjunto de cuatro cabezas de atención a las que llamaron cabeza de inhibición del sujeto (Subject Inhibition Head), que marcaba el segundo vector de John, evitando que la cabeza móvil del nombre copiara el nombre de John.

• ¿Cómo sabe el jefe de supresión de sujetos que John no debe ser copiado? El equipo extrapoló más y descubrió dos cabezas de atención a las que llamaron Duplicate Token Heads. Marcan el segundo vector de John como una copia duplicada del primer vector de John, lo que ayuda al sujeto a suprimir la cabeza para decidir que John no debe ser copiado.

En resumen, estas nueve cabezas de atención permiten que GPT-2 entienda que "Juan le dio de beber a Juan" no tiene sentido, y en su lugar elige "Juan le dio de beber a María (Juan le dio de beber a María)".

Este ejemplo muestra lo difícil que puede ser comprender completamente LLM. Un equipo de cinco investigadores de Redwood publicó un artículo de 25 páginas que explica cómo identificaron y validaron estos focos de atención. Sin embargo, incluso con todo este trabajo, todavía estamos muy lejos de una explicación completa de por qué GPT-2 decidió predecir "Mary" como la siguiente palabra.

Por ejemplo, ¿cómo sabe el modelo que la siguiente palabra debe ser el nombre de alguien y no algún otro tipo de palabra? Es fácil imaginar que en oraciones similares, Mary no sería un buen próximo predictor. Por ejemplo, en la oración "cuando María y Juan fueron al restaurante, Juan les dio las llaves (cuando María y Juan fueron al restaurante, Juan les dio las llaves)", lógicamente, la siguiente palabra debería ser "el ayuda de cámara ( en representación del asistente de estacionamiento)".

Suponiendo que los científicos informáticos realicen suficientes investigaciones, pueden revelar y explicar otros pasos en el proceso de razonamiento de GPT-2. Eventualmente, podrían entender completamente cómo GPT-2 decidió que "Mary" era la siguiente palabra más probable en la oración. Pero puede llevar meses o incluso años de esfuerzo adicional comprender cómo se predice una palabra.

Los modelos de lenguaje detrás de ChatGPT (GPT-3 y GPT-4) son más grandes y complejos que GPT-2, y son capaces de realizar tareas de razonamiento más complejas que las oraciones simples que estudió el equipo de Redwood. Por lo tanto, el trabajo de explicar completamente estos sistemas será un gran proyecto, y es poco probable que los humanos lo completen en poco tiempo.

Paso de avance

Después de que la cabeza de atención transfiere información entre vectores de palabras, la red de retroalimentación "piensa" en cada vector de palabras e intenta predecir la siguiente palabra. En esta etapa, no se intercambia información entre palabras, y la capa de avance analiza cada palabra de forma independiente. Sin embargo, las capas feed-forward tienen acceso a cualquier información previamente copiada por las cabezas de atención. La siguiente es la estructura de capas de avance de la versión más grande de GPT-3.

Los círculos verde y morado representan neuronas: son funciones matemáticas que calculan una suma ponderada de sus entradas.

La capa feed-forward es poderosa debido a su gran cantidad de conexiones. Dibujamos esta red utilizando tres neuronas como capa de salida y seis neuronas como capa oculta, pero la capa de avance de GPT-3 es mucho más grande: 12288 neuronas en la capa de salida (correspondientes al vector de palabra de 12288 dimensiones del modelo) , la capa oculta tiene 49152 neuronas.

Entonces, en la versión más grande de GPT-3, la capa oculta tiene 49152 neuronas, cada neurona tiene 12288 valores de entrada (por lo que cada neurona tiene 12288 parámetros de peso) y también hay 12288 neuronas de salida, cada neurona tiene 49152 valores de entrada. (por lo tanto, 49152 parámetros de peso por neurona). Esto significa que cada capa de avance tiene 49152*12288+12288*49152=1,200 millones de parámetros de peso. ¡Y hay 96 capas de feedforward, un total de 1.2 mil millones*96=116 mil millones de parámetros! Esto es equivalente a casi dos tercios del volumen de parámetros de GPT-3 con 175 mil millones de parámetros.

En un artículo de 2020 (en), investigadores de la Universidad de Tel Aviv descubrieron que las capas de avance funcionan mediante la coincidencia de patrones: cada neurona en la capa oculta coincide con un patrón específico en el texto de entrada. A continuación se muestra una versión de 16 capas Algunas neuronas en GPT- 2 coinciden con el patrón:

• Las neuronas en la capa 1 coinciden con las secuencias de palabras que terminan en "sustitutos".

• Las neuronas en la capa 6 coinciden con secuencias de palabras que están relacionadas con el ejército y terminan en "base" o "bases".

• Las neuronas en la capa 13 coinciden con secuencias que terminan con un intervalo de tiempo, como "entre las 3 p. m. y las 7 p. m." o "desde las 7 p. m. del viernes hasta".

• Las neuronas en las secuencias de coincidencia de la capa 16 asociadas con el programa de televisión, como "versión diurna original de NBC, archivada" o "el retraso de tiempo aumentó la audiencia de este episodio en un 57 por ciento".

Como puede ver, en capas posteriores el esquema se vuelve más abstracto. Las primeras capas tienden a coincidir con palabras específicas, mientras que las últimas capas coinciden con frases que pertenecen a categorías semánticas más amplias, como programas de televisión o intervalos de tiempo.

Esto es interesante porque, como se mencionó anteriormente, la capa de avance solo puede verificar una palabra a la vez. Entonces, al clasificar la secuencia "Lanzamiento diurno original de NBC, archivado" como "relacionada con la televisión", solo tiene acceso a vectores para la palabra "archivado", no palabras como NBC o diurno. Se puede inferir que la razón por la que la capa de retroalimentación puede juzgar que "archivado" es parte de la secuencia relacionada con la televisión es porque la cabeza de atención movió previamente la información contextual al vector "archivado".

Cuando una neurona coincide con uno de los patrones, agrega información al vector de palabras. Si bien esta información no siempre es fácil de interpretar, en muchos casos puede pensar en ella como una predicción tentativa de la siguiente palabra.

Inferencia de redes feedforward utilizando operaciones vectoriales

Una investigación reciente de la Universidad de Brown (muestra un ejemplo elegante de cómo las capas de avance pueden ayudar a predecir la siguiente palabra. Anteriormente discutimos la investigación de Google word2vec que muestra que el razonamiento analógico se puede hacer usando operaciones vectoriales. Por ejemplo, Berlín - Alemania + Francia = París .

Los investigadores de la Universidad de Brown descubrieron que las capas de avance a veces usan este método preciso para predecir la siguiente palabra. Por ejemplo, estudiaron las respuestas de GPT-2 a las siguientes indicaciones: "Pregunta: ¿Cuál es la capital de Francia? Respuesta: París. Pregunta: ¿Cuál es la capital de Polonia? Respuesta:"

El equipo estudió una versión de GPT-2 con 24 capas. Después de cada capa, los científicos de la Universidad de Brown probaron el modelo, buscando su mejor estimación para la siguiente ficha. En las primeras 15 capas, la suposición de mayor probabilidad es una palabra aparentemente aleatoria. Entre las capas 16 y 19, el modelo comienza a predecir que la siguiente palabra es polaco, incorrectamente, pero cada vez más cerca. Luego, en el nivel 20, la conjetura de mayor probabilidad se convierte en Varsovia, la respuesta correcta, y sigue siendo la misma para los últimos cuatro niveles.

Investigadores de la Universidad de Brown descubrieron que una vigésima capa de retroalimentación convierte Polonia en Varsovia al agregar un vector que asigna vectores de países a sus capitales correspondientes. Al agregar el mismo vector a China, la respuesta es Beijing.

Una capa de avance en el mismo modelo utiliza operaciones vectoriales para convertir palabras en minúsculas en palabras en mayúsculas y palabras en tiempo presente en sus equivalentes en tiempo pasado.

La capa de atención y la capa de avance tienen diferentes funciones

Hasta ahora, hemos visto dos ejemplos prácticos de predicción de palabras GPT-2: la cabeza de atención ayuda a predecir que John le dará de beber a Mary; la capa de avance ayuda a predecir que Varsovia es la capital de Polonia.

En el primer caso, Mary proviene de un indicador proporcionado por el usuario. Pero en el segundo caso, Varsovia no apareció en el aviso. En cambio, GPT-2 tuvo que "recordar" que Varsovia era la capital de Polonia, y esta información se aprendió de los datos de entrenamiento.

Cuando los investigadores de la Universidad de Brown deshabilitaron la capa de avance que convierte a Polonia en Varsovia, el modelo ya no predijo que la siguiente palabra fuera Varsovia. Pero curiosamente, si luego agregaron la oración "La capital de Polonia es Varsovia" al comienzo del mensaje, GPT-2 pudo responder la pregunta nuevamente. Esto puede deberse a que GPT-2 usa un mecanismo de atención para extraer el nombre Varsovia de la señal.

Esta división del trabajo se manifiesta de manera más amplia: el mecanismo de atención recupera información de partes anteriores de la señal, mientras que la capa de avance permite que el modelo de lenguaje "recuerde" información que no apareció en la señal.

De hecho, se puede pensar en una capa de avance como una base de datos de información que el modelo ha aprendido de los datos de entrenamiento. Es más probable que las primeras capas de avance codifiquen hechos simples relacionados con palabras específicas, como "Trump a menudo viene después de Donald". Las capas posteriores codifican relaciones más complejas como "agregue este vector para convertir un país en su capital".

Método de entrenamiento del modelo de lenguaje

Muchos de los primeros algoritmos de aprendizaje automático requerían ejemplos de entrenamiento etiquetados por humanos. Por ejemplo, los datos de entrenamiento pueden ser fotos de perros o gatos con etiquetas artificiales ("perro" o "gato"). La necesidad de datos etiquetados hace que sea difícil y costoso crear conjuntos de datos lo suficientemente grandes como para entrenar modelos potentes.

Una innovación clave de los LLM es que no requieren datos etiquetados explícitamente. En cambio, aprenden tratando de predecir la siguiente palabra en un pasaje de texto. Casi cualquier material escrito es adecuado para entrenar estos modelos, desde páginas de Wikipedia hasta artículos de noticias y código de computadora.

Por ejemplo, un LLM podría tomar la entrada "Me gusta mi café con crema y (Me gusta mi café con crema y)" e intentar predecir "azúcar (azúcar)" como la siguiente palabra. Un modelo de lenguaje recién inicializado es terrible en esto, porque cada uno de sus parámetros de peso (la versión más poderosa de GPT-3 tiene hasta 175 mil millones de parámetros) comienza esencialmente con un número aleatorio inicialmente.

Pero a medida que el modelo ve más ejemplos, cientos de miles de millones de palabras, esos pesos se ajustan gradualmente para hacer mejores predicciones.

Usemos una analogía para ilustrar cómo funciona este proceso. Digamos que te estás duchando y quieres que el agua tenga la temperatura adecuada: ni demasiado caliente ni demasiado fría. Nunca ha usado este grifo antes, por lo que ajusta la dirección del mango del grifo a voluntad y siente la temperatura del agua. Si hace demasiado calor o demasiado frío, girará la manija en la dirección opuesta y menos ajustes hará en la manija a medida que se acerque a la temperatura adecuada del agua.

Ahora, hagamos algunos cambios a esta analogía. Primero, imagina que hay 50.257 toques, cada uno de los cuales corresponde a una palabra diferente, como "el", "gato" o "banco". Tu objetivo es dejar que solo fluya agua del grifo que corresponda a la siguiente palabra de la secuencia.

En segundo lugar, hay un montón de tuberías interconectadas detrás del grifo y un montón de válvulas en esas tuberías. Entonces, si sale agua del grifo equivocado, no puede simplemente ajustar la perilla del grifo. Envías un ejército de ardillas inteligentes para rastrear cada tubería, ajustando cada válvula que encuentran en el camino.

Esto se vuelve complicado, y dado que la misma tubería a menudo alimenta múltiples grifos, se requiere una cuidadosa reflexión sobre cómo determinar qué válvulas apretar y aflojar, y en qué medida.

Obviamente, este ejemplo se vuelve ridículo cuando se toma literalmente. Construir una red de tuberías con 175 mil millones de válvulas no es realista ni útil. Pero gracias a la Ley de Moore, las computadoras pueden funcionar y funcionan a esta escala.

Hasta ahora, todas las partes del LLM discutidas en este artículo, las neuronas en la capa de avance y las cabezas de atención que pasan información de contexto entre palabras, se implementan como una serie de funciones matemáticas simples (principalmente multiplicación de matrices), cuyo comportamiento es determinado por un parámetro de peso ajustable. Al igual que la ardilla de mi historia controla el flujo de agua aflojando la válvula, el algoritmo de entrenamiento controla el flujo de información a través de la red neuronal aumentando o disminuyendo los parámetros de peso del modelo de lenguaje.

El proceso de formación se divide en dos pasos. Haga un "paso hacia adelante" primero, abra el agua y verifique que el agua provenga del grifo correcto. Luego, el agua se cierra para un "paso hacia atrás", en el que las ardillas corren por cada tubería, apretando o aflojando las válvulas. En las redes neuronales digitales, el papel de la ardilla lo desempeña un algoritmo llamado retropropagación, que "camina hacia atrás" a través de la red, utilizando cálculos para estimar cuánto se debe cambiar cada parámetro de peso.

Hacer esto (propagación hacia adelante de un ejemplo y luego propagación hacia atrás para mejorar el rendimiento de la red en ese ejemplo) requiere decenas de miles de millones de operaciones matemáticas. Y el entrenamiento de un modelo grande como GPT-3 necesita repetir este proceso miles de millones de veces, para cada palabra de cada dato de entrenamiento. OpenAI estima que entrenar GPT-3 requiere más de 300 mil millones de teraflops de cálculos, algo que necesitaría docenas de chips de computadora de alta gama para funcionar durante meses.

Increíble rendimiento de GPT-3

Es posible que se sorprenda de lo bien que funciona el proceso de capacitación. ChatGPT puede realizar una variedad de tareas complejas: escribir artículos, hacer analogías e incluso escribir código de computadora. Entonces, ¿cómo un mecanismo de aprendizaje tan simple produce un modelo tan poderoso?

Una razón es la escala. Es difícil exagerar la gran cantidad de ejemplos que ve un modelo como GPT-3. GPT-3 está entrenado en un corpus de aproximadamente 500 mil millones de palabras. En comparación, el niño humano promedio encuentra alrededor de 100 millones de palabras antes de los 10 años.

Durante los últimos cinco años, OpenAI ha aumentado continuamente el tamaño de sus modelos de lenguaje. En un artículo de 2020 de amplia circulación (que informa que la precisión de sus modelos de lenguaje tiene una relación de ley de potencia con el tamaño del modelo, el tamaño del conjunto de datos y la cantidad de cómputo utilizado para el entrenamiento, algunas tendencias incluso abarcan más de siete órdenes de magnitud”.

Cuanto mayor sea el tamaño del modelo, mejor se desempeñará en tareas relacionadas con el lenguaje. Pero solo si aumentan la cantidad de datos de entrenamiento por un factor similar. Y para entrenar modelos más grandes con más datos, se necesita más poder de cómputo.

En 2018, OpenAI lanzó el primer modelo grande GPT-1. Utiliza un vector de palabra de 768 dimensiones, un total de 12 capas y un total de 117 millones de parámetros. Unos meses más tarde, OpenAI lanzó GPT-2, cuya versión más grande tiene vectores de palabras de 1600 dimensiones, 48 capas y un total de 1500 millones de parámetros. En 2020, OpenAI lanzó GPT-3, que tiene un vector de palabra de 12288 dimensiones, 96 capas y un total de 175 mil millones de parámetros.

Este año, OpenAI lanzó GPT-4. La compañía no ha publicado ningún detalle arquitectónico, pero se cree ampliamente en la industria que GPT-4 es mucho más grande que GPT-3.

Cada modelo no solo aprendió más hechos que su predecesor más pequeño, sino que también mostró un mejor desempeño en tareas que requerían alguna forma de razonamiento abstracto.

Por ejemplo, considere la siguiente historia: Una bolsa llena de palomitas de maíz. No hay chocolate en la bolsa. Sin embargo, la etiqueta de la bolsa decía "chocolate" en lugar de "palomitas de maíz". Sam encontró la bolsa. Ella nunca había visto la bolsa antes. No podía ver lo que había en la bolsa. Leyó la etiqueta.

Como probablemente puedas adivinar, Sam cree que la bolsa contiene chocolate y se sorprende al descubrir que contiene palomitas de maíz.

Los psicólogos llaman a este estudio de la capacidad de razonar sobre los estados mentales de los demás "Teoría de la Mente". La mayoría de las personas tienen esta habilidad desde el comienzo de la escuela primaria. Los expertos están divididos sobre si la teoría de la mente se aplica a cualquier animal no humano, como los chimpancés, pero el consenso general es que es fundamental para la cognición social humana.

A principios de este año, el psicólogo de la Universidad de Stanford, Michal Kosinski, publicó un estudio (que examina la capacidad de los LLM para resolver tareas de teoría de la mente). Leyó varios modelos de lenguaje en una historia como la que acabamos de citar y luego les pidió que completaran una oración, como " ella cree que la bolsa está llena", la respuesta correcta es "chocolate", pero un modelo de lenguaje inmaduro podría decir "palomitas de maíz" o algo así.

GPT-1 y GPT-2 no pasaron esta prueba. Pero la primera versión de GPT-3, lanzada en 2020, fue correcta en casi un 40 por ciento, un nivel de rendimiento de Kosinski en comparación con un niño de tres años. La última versión, GPT-3, lanzada en noviembre del año pasado, mejoró la precisión de las preguntas anteriores a alrededor del 90 %, lo que es comparable a la de un niño de siete años. GPT-4 respondió correctamente alrededor del 95 por ciento de las preguntas de teoría de la mente.

"Dado que no hay evidencia en estos modelos de que ToM (mentalizar) haya sido diseñado intencionalmente ni estudios que demuestren que los científicos sabían cómo lograrlo, es probable que esta habilidad surja de forma espontánea y autónoma. Esta es la habilidad lingüística de los modelos A por -producto de mejora constante", escribió Kosinski.

Vale la pena señalar que no todos los investigadores están de acuerdo en que estos resultados prueban la teoría de la mente: por ejemplo, pequeños cambios en la tarea de creencias falsas llevaron a una gran caída en el rendimiento de GPT-3 (mientras que el rendimiento de GPT-3 en otras tareas que miden la teoría de mente Más errático (como escribe Sean en él, el desempeño exitoso podría atribuirse a un factor de confusión en la tarea: un "Hans inteligente", refiriéndose a un caballo llamado Hans que parecía ser capaz de completar algunas tareas intelectuales simples, pero en realidad solo confíe en las señales inconscientes dadas por las personas)", pero aparece en el modelo de lenguaje en lugar del caballo.

No obstante, GPT-3 aborda el desempeño humano en varias tareas diseñadas para medir la teoría de la mente, lo que era inimaginable hace solo unos años, y esto es consistente con el hecho de que los modelos más grandes generalmente se desempeñan mejor en tareas que requieren un punto de vista de razonamiento avanzado. .

Este es solo uno de los muchos ejemplos en los que los modelos de lenguaje han demostrado desarrollar espontáneamente habilidades avanzadas de razonamiento. En abril, los investigadores de Microsoft publicaron un artículo (diciendo que GPT-4 mostró signos tempranos y tentadores de inteligencia artificial general: la capacidad de pensar de una manera compleja, similar a la humana).

Por ejemplo, un investigador le pidió a GPT-4 que dibujara un unicornio utilizando un lenguaje de programación de gráficos oscuro llamado TiKZ. GPT-4 respondió con unas pocas líneas de código, que luego los investigadores introdujeron en el software TiKZ. Las imágenes resultantes, aunque toscas, muestran claramente que GPT-4 tiene cierta comprensión de cómo se ve un unicornio.

Los investigadores pensaron que GPT-4 podría haber memorizado de alguna manera el código de dibujo de unicornio de los datos de entrenamiento, por lo que le dieron un desafío de seguimiento: modificaron el código de unicornio para quitar los cuernos y movieron algunas otras partes del cuerpo. Luego le pidieron a GPT-4 que volviera a poner el cuerno del unicornio. GPT-4 respondió colocando los ángulos de la cabeza en la posición correcta:

A pesar de que la versión de prueba de los autores se entrenó completamente en texto y no contenía imágenes, GPT-4 aún parece ser capaz de realizar esta tarea. Aún así, GPT-4 aparentemente aprendió a razonar sobre la forma del cuerpo del unicornio después de haber sido entrenado con grandes cantidades de texto escrito.

Actualmente, no tenemos una comprensión real de cómo los LLM logran tales hazañas. Algunas personas piensan que ejemplos como este muestran que el modelo está comenzando a comprender realmente el significado de las palabras en su conjunto de entrenamiento. Otros insisten en que los modelos de lenguaje son solo "loros al azar" (simplemente repiten secuencias de palabras cada vez más complejas sin entenderlas realmente).

Este debate apunta a un profundo debate filosófico que puede no ser resuelto. No obstante, creemos que es importante centrarse en el rendimiento empírico de modelos como GPT-3. Si un modelo de lenguaje puede obtener consistentemente las respuestas correctas en un tipo particular de pregunta, y el investigador confía en que se pueden descartar los factores de confusión (por ejemplo, asegurándose de que el modelo de lenguaje no estuvo expuesto a esas preguntas durante el entrenamiento), entonces no importa cómo entienda el lenguaje, exactamente igual que en los humanos, este es un resultado interesante e importante.

Otra posible razón por la que entrenar la predicción del siguiente lema funciona tan bien es que el lenguaje en sí mismo es predecible. Las regularidades del lenguaje a menudo (aunque no siempre) están vinculadas a las regularidades del mundo físico. Por lo tanto, cuando un modelo de lenguaje aprende la relación entre palabras, por lo general también está aprendiendo implícitamente la relación que existe en el mundo.

Además, la predicción puede ser la base de la inteligencia biológica y de la inteligencia artificial. Según filósofos como Andy Clark, se puede pensar en el cerebro humano como una "máquina de predicción" cuya tarea principal es hacer predicciones sobre nuestro entorno y luego usar esas predicciones para navegar con éxito en el entorno. La predicción es fundamental tanto para la inteligencia biológica como para la inteligencia artificial. Intuitivamente, las buenas predicciones van de la mano con las buenas representaciones: es más probable que los mapas precisos ayuden a las personas a navegar mejor que los incorrectos. El mundo es vasto y complejo, y hacer predicciones ayuda a los organismos a navegar y adaptarse de manera eficiente a esta complejidad.

Tradicionalmente, un desafío importante en la construcción de modelos de lenguaje ha sido descubrir las formas más útiles de representar diferentes palabras, especialmente porque el significado de muchas palabras depende en gran medida del contexto. El método de predicción de la siguiente palabra permitió a los investigadores eludir este espinoso enigma teórico al convertirlo en un problema empírico.

Resulta que los modelos de lenguaje pueden aprender cómo funciona el lenguaje humano al descubrir las mejores predicciones de la siguiente palabra si proporcionamos suficientes datos y poder de cómputo. La desventaja es que los humanos aún no comprenden completamente el funcionamiento interno resultante del sistema.

Nota:

  1. Técnicamente hablando, los fragmentos de palabras de LLM se convierten en lemas, pero ignoraremos este detalle de implementación para mantener este artículo dentro de una extensión manejable (consulte el artículo "Revelación del principio de funcionamiento del tokenizador GPT").

  2. Las redes feedforward también se conocen como perceptrones multicapa. Los informáticos han estado estudiando este tipo de redes neuronales desde la década de 1960.

  3. Técnicamente, después de que la neurona haya calculado la suma ponderada de las entradas, pasa el resultado a la función de activación. Este artículo ignorará este detalle de implementación, para obtener una explicación completa de cómo funcionan las neuronas, consulte:

  4. Si desea obtener más información sobre la retropropagación, consulte la explicación de Tim de 2018 sobre cómo funcionan las redes neuronales.

  5. En la práctica, el entrenamiento generalmente se realiza en lotes para lograr eficiencia computacional. Entonces, el software podría hacer un pase hacia adelante en 32000 tokens antes de propagarse hacia atrás.

Ver originales
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)