top of page
1A2.JMCS. CATEGORIAS.jpg

Introducción a Grandes Modelos de Lenguaje Generativos

Este artículo está destinado a ayudar a las personas que no tienen experiencia con la informática a comprender cómo funciona ChatGPT y otros sistemas de inteligencia artificial similares, como GPT-3, GPT-4, Bing Chat, Bard, etc. ChatGPT es un chatbot, que es una forma de IA conversacional basada en un modelo de lenguaje generativo grande. Estas son sin duda palabras mayores, y las desglosaremos todas.


Introducción a Grandes Modelos de Lenguaje Generativos
Introducción a Grandes Modelos de Lenguaje Generativos JMC Studio

En el proceso, hablaremos sobre los conceptos fundamentales detrás de estos. Este artículo no requiere conocimientos matemáticos ni técnicos previos. Para ilustrar los conceptos, utilizaremos muchas metáforas. Discutiremos por qué los conceptos centrales funcionan de la manera en que funcionan y qué podemos o no esperar de modelos de lenguaje generativos grandes como ChatGPT.


Esto es lo que haremos. Vamos a repasar un poco de la terminología relacionada con ChatGPT y modelos de lenguajes generativos grandes. Si necesito usar palabras duras, las desglosaré sin usarla. Comenzaremos con algo muy básico, "qué es la inteligencia artificial", y luego avanzaremos. Tanto como sea posible, utilizaré metáforas repetidas. Discutiré los efectos de la tecnología en términos de lo que deberíamos esperar de ella o no para una adecuada Introducción a Grandes Modelos de Lenguaje Generativos.


1. ¿Qué es la Inteligencia Artificial?


Pero primero, vamos a hablar de algunas palabras básicas que probablemente estés escuchando con frecuencia. ¿Cuál es la definición más realista de inteligencia artificial?

Una entidad que realiza comportamientos que una persona razonablemente podría considerar inteligentes si un humano hiciera algo similar, esto se conoce como inteligencia artificial.

Es difícil definir la inteligencia artificial con la palabra "inteligente", pero nadie puede ponerse de acuerdo sobre una definición precisa. Sin embargo, creo que esto sigue funcionando bastante bien. En resumen, dice que si miramos algo artificial y hace cosas atractivas, útiles y no triviales, podemos llamarlo inteligente. Por ejemplo, en los juegos de computadora, atribuimos con frecuencia el término "IA" a personajes controlados por computadora. La mayoría de estos robots consisten en elementos de código que funcionan si-entonces-si no, como "si el jugador está dentro del alcance, dispara; de lo contrario, muévete a la roca más cercana para cubrirte". Pero podríamos creer que son más avanzados de lo que son si nos dedicamos a mantenernos entretenidos y comprometidos en lugar de hacer cosas obviamente estúpidas.


Una vez que comprendemos cómo funciona algo, es posible que no nos impresione mucho y esperemos algo más sofisticado detrás de escena. Todo depende de lo que sepas sobre lo que sucede detrás de la escena.

El punto es que la IA no es mágica. Y ya que no es magia, se puede justificar.

2. ¿Qué es el aprendizaje automático?


El aprendizaje automático es otro término que escuchará con frecuencia cuando se habla de inteligencia artificial.

El aprendizaje automático consiste en recopilar datos, crear un modelo y luego ejecutar el modelo.

En ocasiones, capturar algún fenómeno complicado, como el lenguaje, es demasiado difícil crear manualmente una gran cantidad de declaraciones if-then-else. En este caso, intentamos encontrar patrones en una gran cantidad de datos y utilizar algoritmos para modelar.


Sin embargo, ¿Qué es un modelo? Un modelo es una reducción de un fenómeno complejo. Por ejemplo, un modelo de automóvil es solo una versión más pequeña y sencilla de un automóvil real con muchas características, pero no está destinado a reemplazar por completo al automóvil original. Aunque un modelo de automóvil puede parecer real y ser útil para algunas cosas, no podemos llevarlo a la tienda.


Podemos hacer una versión más pequeña y simple del lenguaje humano de la misma manera que podemos hacer una versión más pequeña y simple de un automóvil. Utilizamos el término "grandes modelos de lenguaje" porque estos modelos son considerados grandes en términos de la cantidad de memoria necesaria para su uso. Los modelos GPT-3 y GPT-4 más grandes requieren supercomputadoras grandes que se ejecutan en servidores de centros de datos para su creación y ejecución.


red neuronal cerebral de  chips de inteligencia artificial


3. ¿Qué es una red neuronal?


Hay una variedad de métodos para aprender un modelo a partir de los datos. Una de esas formas es la red neuronal. La técnica se basa en cómo las neuronas, una red de células cerebrales interconectadas, transmiten señales eléctricas de un lado an otro, permitiéndonos de alguna manera hacer todas las cosas que hacemos. La idea fundamental de una red neuronal se desarrolló en la década de 1940, y la idea fundamental de cómo entrenarlas se desarrolló en la década de 1980. Las redes neuronales son muy ineficientes y no fue hasta alrededor de 2017 cuando el hardware informático se hizo lo suficientemente bueno como para usarlas a gran escala.


Pero prefiero pensar en redes neuronales utilizando la metáfora de circuitos eléctricos en lugar de cerebros. No es necesario ser ingeniero eléctrico para saber que la electricidad fluye a través de cables y que hay elementos llamados resistencias que dificultan que la electricidad fluya a través de componentes de un circuito.


Imagina que desea construir un vehículo autónomo que pueda viajar por la carretera. Ha instalado sensores de proximidad en la parte delantera, trasera y lateral de su automóvil. Los sensores de proximidad indican 1,0 cuando hay algo muy cerca y 0,0 cuando no se puede encontrar nada cerca.


Además, ha equipado su vehículo con mecanismos robóticos que le permiten girar el volante, presionar los frenos y acelerar. Un valor de 1,0 indica que el acelerador utiliza la aceleración máxima, mientras que 0,0 indica que no hay aceleración. De manera similar, un valor de 1,0 enviado al mecanismo de frenado indica que se frena de manera abrupta, mientras que un valor de 0,0 indica que no se frena. El mecanismo de dirección acepta un valor entre -1,0 y +1,0, donde un valor negativo indica un giro hacia la izquierda, un valor positivo indica un giro hacia la derecha y 0,0 indica mantener la dirección correcta.


Además, ha registrado información sobre la forma en que conducía. Acelere cuando haya espacio suficiente para avanzar. Un automóvil delante reduce la velocidad. Cuando un automóvil se acerca demasiado por la izquierda, gira a la derecha y cambia de carril. A menos que también haya un automóvil a su derecha, por supuesto. Es un proceso complejo que depende de una variedad de acciones (girar a la izquierda, girar a la derecha, acelerar más o menos, frenar) basadas en diferentes combinaciones de información de los sensores.


Conecte el sensor a los mecanismos robóticos ahora. ¿Cómo lo haces? No es evidente. Luego conecta todos los sensores a los actuadores robóticos.


Una red neuronal como circuito que conecta sensores a actuadores.
ESPAÑOL: Una red neuronal como circuito que conecta sensores a actuadores.

¿Qué sucede cuando sacas tu automóvil a la carretera? El automóvil gira hacia la izquierda y hacia la derecha, acelera y frena al mismo tiempo que la corriente eléctrica fluye a todos los actuadores robóticos. Es lamentable.


Cuando algunos de nuestros sensores envían energía, esa energía fluye a todos los actuadores y el automóvil acelera, frena y gira al mismo tiempo.
ESPAÑOL: Cuando algunos de nuestros sensores envían energía, esa energía fluye a todos los actuadores y el automóvil acelera, frena y gira al mismo tiempo.

Eso no es positivo. Luego tomo mis resistencias y empiezo a colocarlas en diferentes partes del circuito para que la electricidad pueda fluir entre algunos sensores y actuadores robóticos más libremente. Por ejemplo, prefiero que la electricidad fluya más libremente desde los sensores de proximidad delanteros hacia los frenos en lugar del volante. Además, instalé dispositivos conocidos como puertas, que detienen el flujo de electricidad hasta que se acumula suficiente energía para activar un interruptor (solo permiten que la electricidad fluya cuando el sensor de proximidad delantero y el sensor de proximidad trasero informan números altos) o envían energía hacia adelante solo cuando la intensidad eléctrica de entrada es baja (solo permiten que la electricidad fluya cuando el sensor de proximidad delantero informa números bajos.


Sin embargo, ¿Dónde puedo colocar estas objeciones y barreras? No sé. Empecé a ponerlos por todas partes. Luego lo intento otra vez. Mi automóvil podría funcionar mejor esta vez, lo que significa que frena cuando los datos indican que es mejor frenar, gira cuando los datos indican que es mejor girar, etc. Sin embargo, no lo hace correctamente. Y algunas cosas lo hacen peor (acelera cuando los datos indican que frenar es más conveniente). Por lo tanto, sigo probando diferentes combinaciones de resistencias y puertas aleatoriamente. Con el tiempo, descubrí una combinación que funcionaba lo suficientemente bien como para decir que tenía éxito. Podría asemejarse a esto:


Una red neuronal completamente entrenada. Las líneas más oscuras indican partes del circuito donde la energía fluye más libremente. Los círculos en el medio son puertas que pueden acumular mucha energía desde abajo antes de enviar energía a la parte superior, o posiblemente incluso enviar energía hacia arriba cuando hay poca energía debajo.
ESPAÑOL: Una red neuronal completamente entrenada. Las líneas más oscuras indican partes del circuito donde la energía fluye más libremente. Los círculos en el medio son puertas que pueden acumular mucha energía desde abajo antes de enviar energía a la parte superior, o posiblemente incluso enviar energía hacia arriba cuando hay poca energía debajo.


No sumamos ni quitamos puertas, que siempre están presentes. En cambio, modificamos las puertas para que se activen con menos energía desde abajo o requieran más energía desde abajo, o tal vez liberen mucha energía solo cuando hay muy poca energía desde abajo. Ante esta caracterización, los puristas del aprendizaje automático podrían vomitar un poco. Técnicamente, esto se logra ajustando el sesgo de las puertas, que normalmente no se muestra en diagramas como estos, sino en términos de Se puede imaginar un circuito como un cable que se conecta a cada puerta y se conecta directamente a una fuente eléctrica, que luego puede cambiar como todos los demás cables).

¡Hagámoslo una prueba de manejo!


Un algoritmo llamado retropropagación es razonablemente bueno para hacer conjeturas sobre cómo cambiar la configuración del circuito.
ESPAÑOL: Un algoritmo llamado retropropagación es razonablemente bueno para hacer conjeturas sobre cómo cambiar la configuración del circuito.


No hay muchos detalles sobre el algoritmo excepto que hace pequeños cambios en el circuito para ajustar el comportamiento del circuito a lo que sugieren los datos. Después de miles o millones de ajustes, eventualmente puede llegar an algo similar a lo que sugieren los datos. la información.


Como las resistencias y las puertas están allí, las llamamos parámetros. El algoritmo de retropropagación declara que cada resistencia es más fuerte o más débil. Por lo tanto, si conocemos el trazado del circuito y los valores de los parámetros, podemos reproducir todo el circuito en otros vehículos.


4. ¿Qué es el aprendizaje profundo?


El aprendizaje profundo es la comprensión de que, además de resistencias y puertas, podemos incluir otras cosas en nuestros circuitos. Podemos tener un cálculo matemático en el centro de nuestro circuito que suma y multiplica cosas antes de enviar electricidad, por ejemplo. La misma técnica incremental fundamental se utiliza aún para adivinar parámetros en el aprendizaje profundo.


5. ¿Qué es un modelo de lenguaje?


Intentamos que nuestra red neuronal actuara de acuerdo con nuestros datos cuando hicimos el ejemplo del automóvil. Nos preguntábamos si podríamos hacer un circuito que manejara los mecanismos del automóvil de la misma manera que lo haría un conductor en circunstancias similares. Podemos tratar el lenguaje de manera similar. Podemos examinar un texto escrito por humanos y preguntarnos si un circuito podría producir una secuencia de palabras que se parezca mucho a las que los humanos tienden a producir. Cuando vemos palabras, nuestros sensores se activan y nuestros mecanismos de salida también se activan.


¿Qué estamos intentando hacer? Estamos intentando crear un circuito que adivine una palabra de salida, dado un montón de palabras de entrada. Por ejemplo:


"Erase una ____"

Parece que debería llenar el espacio en blanco con “tiempo” pero no con “armadillo”.


Tendemos a hablar de modelos lingüísticos en términos de probabilidad. Matemáticamente escribiremos el ejemplo anterior como:


modelos lingüísticos en términos de probabilidad. Matemáticamente

Si no estás familiarizado con la notación, no te preocupes. Esto es solo una charla matemática que significa la probabilidad ( P ) de la palabra "tiempo" dado (el símbolo de la barra | significa dado ) un montón de palabras "una vez", "sobre" y "a". Esperaríamos que un buen modelo de lenguaje produjera una mayor probabilidad de la palabra "tiempo" que de la palabra "armadillo".


Podemos generalizar esto a:


calcular la probabilidad de la enésima palabra en una secuencia dada todas las palabras que la preceden

que simplemente implica calcular la probabilidad de la enésima palabra en una secuencia dada todas las palabras que la preceden (palabras en las posiciones 1 a n -1).


Sin embargo, vayamos un paso atrás. Considere una antigua máquina de escribir con brazos delanteros.


Excepto que tenemos un marcador para cada letra en lugar de dos. ¡Esta es una máquina de escribir grande si el inglés tiene 50.000 palabras!


Considere una red similar a la red del automóvil, excepto que en la parte superior de nuestro circuito hay 50.000 salidas conectadas a los brazos delanteros, una para cada palabra. Como resultado, tendríamos 50.000 sensores que detectarían una palabra de entrada diferente. Al final del día, seleccionamos un solo brazo de ataque que reciba la señal eléctrica más alta y enviamos la palabra al espacio en blanco.


Aquí es donde nos encontramos: debería construir un circuito que tenga 50.000 sensores (uno para cada palabra) y 50.000 salidas (una para cada palabra) si quiero construir un circuito simple que reciba una sola palabra y produzca una sola palabra. brazo izquierdo). Simplemente conectaría cada sensor a cada brazo delantero, lo que resultaría en un total de 50.000 millones de cables, divididos por 50.000.


Cada círculo en la parte inferior percibe una palabra. Se necesitan 50.000 sensores para reconocer la palabra "una vez". Esa energía se envía a través de alguna red arbitraria. Todos los círculos en la parte superior están conectados a los brazos delanteros para cada palabra. Todos los brazos del delantero reciben algo de energía, pero uno recibirá más que los demás.
ESPAÑOL: Cada círculo en la parte inferior percibe una palabra. Se necesitan 50.000 sensores para reconocer la palabra "una vez". Esa energía se envía a través de alguna red arbitraria. Todos los círculos en la parte superior están conectados a los brazos delanteros para cada palabra. Todos los brazos del delantero reciben algo de energía, pero uno recibirá más que los demás.

¡Esa es una gran red!


Sin embargo, las cosas empeoran. Si quiero usar el ejemplo "Érase una vez ___", debo identificar qué palabra está en cada una de las tres entradas. Sería necesario tener 150.000 sensores si multiplicamos 50.000 por 3. Al conectar hasta 50.000 brazos de ataque, obtengo 7,5 mil millones de cables. A partir de 2023, la mayoría de los modelos de lenguaje grandes pueden contener 4.000 palabras y el modelo más grande puede contener 32.000 palabras. Mi rostro está lleno de lágrimas.

Una red que toma tres palabras como entrada requiere 50.000 sensores por palabra.
ESPAÑOL: Una red que toma tres palabras como entrada requiere 50.000 sensores por palabra.

Necesitaremos algunos trucos para controlar esta situación. Tomaremos las cosas por etapas.


5.1 Codificadores

Primero, dividiremos nuestro circuito en dos circuitos: uno será el codificador y otro será el decodificador. La idea es que muchas palabras tienen significados similares. Considere las frases siguientes:


El rey se sentó en el ___
La reina se sentó en el ___
La princesa se sentó en el ___
El regente se sentó en el ___

Una suposición razonable para todos los espacios en blanco anteriores sería "trono", o quizás "inodoro". Por lo tanto, es posible que no necesite cables separados entre el "rey" y el "trono", o entre la "reina" y el "trono", y así sucesivamente. Por otro lado, sería fantástico si tuviera algo que aproximadamente significara realeza y usara esta cosa intermedia cada vez que vea "rey" o "reina". Entonces, solo tengo que preocuparme por qué palabras significan aproximadamente lo mismo y luego qué hacer al respecto (enviar mucha energía al "trono").


Por lo tanto, esto es lo que vamos a hacer. Vamos a configurar un circuito que toma 50.000 sensores de palabras y los asigna an un conjunto de salidas más pequeño, por ejemplo, 256 en lugar de 50.000. Y podemos aplastar múltiples brazos de ataque en lugar de solo uno. Cada combinación potencial de armas de ataque puede simbolizar una idea diferente. Con estos 256 resultados, podemos representar 2256 = 1,15 x 1078 ideas. En realidad, es aún más porque, como en el ejemplo del automóvil, cada una de esas 256 salidas puede ser no solo 1,0 o 0,0, sino cualquier número intermedio, como en el ejemplo del automóvil. Por lo tanto, los 256 brazos delantero se aplastan, cada uno con una fuerza diferente, lo que podría ser la mejor metáfora para esto.


Anteriormente, una sola palabra era necesaria para activar uno de los 50.000 sensores. Hemos reducido el número de sensores activados y apagados a 256 números. Por lo tanto, el valor de "rey" podría ser [0.1, 0.0, 0.9,..., 0.4] y el valor de "reina" podría ser [0.1, 0.1, 0.9,..., 0.4], que son casi idénticos. Estas listas de números de codificación (también conocidas como "estado oculto" por razones históricas, pero no quiero explicar por qué, así que nos quedaremos con la codificación) serán llamadas. El codificador es el circuito que organiza nuestros 50.000 sensores en 256 salidas. Se asemeja a esto:

Una red de codificadores que reduce los 50.000 valores de los sensores necesarios para detectar una sola palabra en una codificación de 256 números (el azul más claro y el más oscuro se utilizan para indicar valores más altos o más bajos).
ESPAÑOL: Una red de codificadores que reduce los 50.000 valores de los sensores necesarios para detectar una sola palabra en una codificación de 256 números (el azul más claro y el más oscuro se utilizan para indicar valores más altos o más bajos).

5.2 Decodificadores


Sin embargo, el codificador no nos indica qué palabra debe aparecer después. Luego emparejamos una red de decodificadores con nuestro codificador. El decodificador es otro circuito que activa los 50.000 brazos de ataque originales, uno por cada palabra, a partir de 256 números que componen la codificación. Luego seleccionaríamos la palabra con la mayor cantidad de energía eléctrica. Esto sería su aspecto:

Una red decodificadora, que expande los 256 valores de la codificación en valores de activación para los 50.000 brazos de ataque asociados con cada palabra posible. Una palabra activa lo más alto.
ESPAÑOL: Una red decodificadora, que expande los 256 valores de la codificación en valores de activación para los 50.000 brazos de ataque asociados con cada palabra posible. Una palabra activa lo más alto.


5.3 Codificadores y decodificadores juntos


Aquí está el codificador y el decodificador trabajando juntos para formar una gran red neuronal:

Una red codificador-decodificador. Es solo un decodificador colocado encima de un codificador.
ESPAÑOL: Una red codificador-decodificador. Es solo un decodificador colocado encima de un codificador.

Y, por cierto, solo se requieren 25,6 millones de parámetros para una sola palabra de entrada a una sola palabra de salida que se codifica. Parece que es mucho mejor.


Ese ejemplo incluyó la entrada de una palabra y la producción de una palabra, por lo que si quisiéramos leer n palabras y 256 x n para la codificación, tendríamos 50.000 x n entradas.


¿Por qué funciona esto, señor? Al comprimir un pequeño conjunto de números con 50.000 palabras, obligamos a la red a hacer concesiones y agrupar palabras que podrían conducir a la misma suposición de palabra de salida. La compresión de archivos es muy similar a esto. Un documento de texto comprimido se convierte en un documento más pequeño que ya no es legible. Sin embargo, es posible descomprimir el documento y recuperar el texto original que se puede leer. Esto es posible porque el programa zip reemplaza patrones de palabras específicos con notas taquigráficas. Después de descomprimirlo, sabe qué texto debe cambiar para la notación taquigráfica. Los circuitos codificadores y decodificadores aprenden una configuración de resistencias y compuertas para comprimir palabras.


5.4 Autosupervisión

¿Cómo podemos determinar la codificación adecuada para cada palabra? En otras palabras, ¿Cómo podemos determinar que la codificación de "rey" debería ser comparable a la codificación de "reina" en lugar de "armadillo"?


Considere una red de codificadores-decodificadores (50.000 sensores) que debe recibir una sola palabra y producir exactamente la misma palabra como resultado como un experimento mental. Aunque esto es absurdo, es bastante educativo para lo que vendrá después.

Una red de codificador-decodificador entrenada para generar la misma palabra que la entrada (es la misma imagen que antes pero con color para activación).
ESPAÑOL: Una red de codificador-decodificador entrenada para generar la misma palabra que la entrada (es la misma imagen que antes pero con color para activación).

Un solo sensor envía su señal eléctrica a través del codificador cuando pongo la palabra "rey". Esto activa parcialmente 256 valores en la codificación del medio. El decodificador enviará la señal eléctrica más alta a la misma palabra, "rey", si la codificación es correcta. ¿No es sencillo? No muy rápido. Es muy probable que vea la palabra "armadillo" en su brazo delantero con la mayor energía de activación. Supongamos que el brazo delantero del "rey" reciba una señal eléctrica de 0,051 y el brazo delantero del "armadillo" reciba una señal eléctrica de 0,23. Ni siquiera me importa el valor del "armadillo". Puedo ver la energía de salida de "King" y ver que no era 1.0. La diferencia de 1,0 a 0,051 es el error (también conocido como pérdida), y puedo usar la propagación hacia atrás para realizar algunos cambios en el decodificador y el codificador para que se realice una codificación ligeramente diferente la próxima vez que veamos la palabra "rey".


Realizamos esto para cada palabra. Debido a que 256 es más pequeño que 50.000, el codificador tendrá que hacer concesiones. Por lo tanto, algunas palabras tendrán que usar las mismas combinaciones de energía de activación. Por lo tanto, cuando se le dé la opción, querrá que la codificación de "rey" y "reina" sea casi idéntica y muy diferente de la codificación de "armadillo". Esto mejorará la capacidad del decodificador para adivinar la palabra utilizando solo los 256 valores de codificación. Si el decodificador detecta una combinación específica de 256 valores y determina que "rey" tiene 0,43 y "reina" tiene 0,42, estaremos de acuerdo siempre que "rey" y "reina" reciban las señales eléctricas más altas y cada una de las 49.998 armas de ataque reciba cifras más bajas. Otra forma de decir esto es que probablemente estaremos más de acuerdo con que la red se confunda entre reyes y reinas que con que la red se confunda entre reyes y armadillos.


Debido a que, a diferencia del caso del automóvil, no es necesario recopilar datos separados para probar la salida de la red neuronal, decimos que la red neuronal es auto supervisada. Simplemente comparamos la entrada y la salida; no necesitamos datos de entrada y salida separados.


5.5 Modelos de lenguaje enmascarado


Si el experimento mental anterior parece absurdo, es una parte fundamental de lo que se conoce como modelos de lenguaje enmascarado. Un modelo de lenguaje enmascarado se basa en tomar una secuencia de palabras y luego crear otra. Una palabra de la entrada y la salida se ha eliminado.


La [MÁSCARA] se sentó en el trono.

Todas las palabras son adivinadas por la red. Las palabras desenmascaradas son fáciles de adivinar. Solo nos preocupan las hipótesis de la red acerca de la palabra enmascarada. Por lo tanto, cada palabra tiene 50.000 brazos de ataque. Nos concentramos en los 50.000 brazos delantero para encontrar la palabra enmascarada.

Enmascarar una secuencia. Me estoy cansando de dibujar muchas líneas de conexión, así que simplemente dibujaré líneas rojas para indicar muchísimas conexiones entre todo lo que está arriba y abajo.
ESPAÑOL: Enmascarar una secuencia. Me estoy cansando de dibujar muchas líneas de conexión, así que simplemente dibujaré líneas rojas para indicar muchísimas conexiones entre todo lo que está arriba y abajo.

Podemos mover la máscara y hacer que la red adivine varias palabras en varias ubicaciones.


Un modelo de lenguaje enmascarado específico solo tiene la máscara al final. Debido a que la máscara que se adivina siempre es la siguiente palabra de la secuencia, esto equivale a generar la siguiente palabra como si la siguiente palabra no existiera, lo que se conoce como modelo generativo. Por ejemplo:


La [MÁSCARA]
La reina [MÁSCARA]
La reina se sentó [MÁSCARA]
La reina se sentó en la [MÁSCARA]
La reina se sentó en la [MÁSCARA]

Este modelo también se conoce como modelo autorregresivo. La palabra regresiva no es muy atractiva. Sin embargo, la regresión simplemente implica tratar de comprender cómo las cosas están conectadas entre sí, como las palabras que se han ingresado y las palabras que se deberían generar. Auto quiere decir "yo". Un modelo autorregresivo es predecible por sí mismo. Predice un término. Luego, una palabra precede la siguiente, la siguiente precede la siguiente, etc. Esto tiene algunas implicaciones interesantes que discutiremos más tarde.


una persona programando una inteligencia artificial de lenguaje generativo como el ChatGPT


6. ¿Qué es un transformador?


Escuchamos mucho sobre ChatGPT y GPT-3 y GPT-4 al momento de escribir este artículo. OpenAI desarrolló un tipo de modelo de lenguaje grande llamado GPT. El término "GPT" se refiere al transformador generativo pre-entrenado. Averigüemos esto:


  • Generativo. El modelo es capaz de generar continuaciones de la entrada proporcionada. Es decir, dado algo de texto, el modelo intenta adivinar qué palabras vienen a continuación.

  • Pre-entrenado. El modelo se entrena en un corpus muy grande de texto general y debe entrenarse una vez y usarse para muchas cosas diferentes sin necesidad de volver a entrenarlo desde cero.


Más información sobre capacitación previa... El modelo se entrena utilizando una gran cantidad de texto general, que aparentemente cubre una amplia gama de temas posibles. En lugar de tomar de algunos repositorios de texto especializados, esto significa más o menos "extraído de Internet". Un modelo de lenguaje entrenado en texto general es más capaz de responder a una variedad de entradas que un modelo de lenguaje entrenado en un tipo de texto muy específico, como documentos médicos.


En teoría, un modelo de lenguaje entrenado en un corpus general puede responder razonablemente a cualquier cosa que pueda aparecer en un documento web. Un texto médico podría funcionar. Un modelo de lenguaje que se ha entrenado únicamente en documentos médicos puede responder muy bien an entradas relacionadas con el campo médico, pero es bastante malo para responder an entradas como charlas o recetas.


O el modelo es tan bueno que uno nunca necesita entrenar su propio modelo, o se puede hacer algo conocido como ajuste fino, que significa tomar un modelo previamente entrenado y hacer algunas actualizaciones para que funcione mejor. en una labor especializada, como la medicina.


Ahora al transformador...


  • Transformador. Un tipo específico de modelo de aprendizaje profundo codificador-decodificador auto supervisado con algunas propiedades muy interesantes que lo hacen bueno en el modelado de lenguaje.


Un tipo específico de modelo de aprendizaje profundo que transforma la codificación de una manera que hace que sea más fácil adivinar la palabra en blanco se conoce como transformador. Un artículo de 2017 de Vaswani et al. "Atención es todo lo que necesitas" lo introdujo. La red tradicional codificador-decodificador se encuentra en el núcleo de un transformador. El codificador realiza una codificación muy común. Es tan vainilla que podría sorprenderte. Sin embargo, agrega algo más llamado autoatención.


6.1 Autoatención

Aquí está el concepto de autoatención: ciertas palabras en una secuencia están conectadas con otras palabras en la secuencia. Considere el dicho: "El extraterrestre aterrizó en la Tierra porque necesitaba esconderse en un planeta". Si se enmascarara la segunda palabra "alienígena" y se solicitara an una red neuronal que identifique la palabra, tendría mayores posibilidades debido a palabras como "aterrizó" y "tierra". De manera similar, si se enmascara "eso" y se pide a la red que adivine la palabra, la presencia de la palabra "extraterrestre" podría aumentar la probabilidad de que la red prefiera "eso" a "él" o "ella".


Las palabras se relacionan con otras palabras por su función, haciendo referencia a la misma cosa o informando los significados de unas a otras.
ESPAÑOL: Las palabras se relacionan con otras palabras por su función, haciendo referencia a la misma cosa o informando los significados de unas a otras.

Debido a que capturan algún tipo de relación, decimos que las palabras en una secuencia atienden a otras palabras. La relación no siempre es conocida. Pueden ser pronombres resolutivos, una relación de verbo y sujeto o dos palabras relacionadas con el mismo concepto. Sea lo que sea, es útil predecir que existe algún tipo de relación entre las palabras.


Aunque las matemáticas de la autoatención se discutirán en la siguiente sección, lo fundamental es que un transformador aprenda qué palabras están relacionadas en una secuencia de entrada y luego crea una nueva codificación para cada posición en la secuencia de entrada, que es una fusión de todas las palabras. palabras similares. Puedes pensar en esto como aprender a crear una nueva palabra que combina "alienígena", "aterrizado" y "tierra".


Debido a que cada palabra está codificada como una lista de números, esto funciona. Si el extraterrestre = [0.1, 0.2, 0.3,..., 0.4] y el aterrizaje = [0.5, 0.6, 0.7,..., 0.8] y la tierra = [0.9, 1.0, 1.1,..., 1.2], la posición de la segunda palabra podría ser codificada como la suma de todas esas codificaciones, [1.5, 1.8, 2.1,..., 2.4], que a su vez no corresponde a ninguna palabra pero captura partes de todas las palabras. De esta manera, cuando el decodificador vea esta nueva codificación para la palabra en la segunda posición, tendrá mucha información sobre cómo se usó la palabra en la secuencia, lo que le permitirá adivinar mejor las máscaras. (El ejemplo solo agrega la codificación; sin embargo, será un poco más complejo que eso).


6.2. ¿Cómo funciona la autoatención?


Si desea saber más sobre cómo funciona, siga leyendo porque la autoatención es una mejora significativa en comparación con las redes estándar de codificador-decodificador. Si no, no dude en saltar esta sección. TL; DR: El producto escalar es una operación matemática que se llama autoatención.

La autoatención ocurre en tres etapas.

1. Codificamos cada palabra en la secuencia de entrada como de costumbre. Hacemos cuatro copias de las codificaciones de palabras. Uno lo llamamos residual y lo reservamos para su custodia.


2. Ejecutamos una segunda ronda de codificación (estamos codificando una codificación) en las otras tres. Cada uno pasa por un proceso de codificación diferente por lo que todos se vuelven diferentes. A uno lo llamamos consulta (q), otro clave ( k ) y otro valor ( v ).


Quiero que consideres una tabla hash, que también se conoce como diccionario en Python. Una tabla contiene una gran cantidad de datos. Cada fila de una tabla contiene datos que se almacenan en una clave, un identificador único y un valor. Realiza una consulta para obtener información de la tabla hash. Extrae el valor si la consulta coincide con la clave.


Una tabla hash que se podría utilizar para consultar en qué universidad trabaja un profesor.
ESPAÑOL: Una tabla hash que se podría utilizar para consultar en qué universidad trabaja un profesor.

La atención personal es una especie de tabla hash difusa. Proporciona una consulta y encuentra coincidencias aproximadas basadas en la similitud entre la consulta y la clave en lugar de buscar una coincidencia exacta con una clave. Sin embargo, ¿qué ocurre si la combinación no es ideal? Reembolsa una parte del valor. Solo tiene sentido si los valores, las claves y la consulta son numéricos. ¿Cuáles son?


Una tabla hash con coincidencias parciales.
ESPAÑOL: Una tabla hash con coincidencias parciales.

Entonces eso es lo que haremos. Tomaremos la codificación q y la codificación k para cada posición de palabra en la entrada y calcularemos la similitud. Usamos lo que se conoce como producto escalar, también conocido como similitud de coseno. No tiene importancia. El punto es que, según nuestro ejemplo anterior, cada palabra es una lista de 256 números, y podemos calcular la similitud entre las listas de números y registrar la similitud en una matriz. Esta matriz se conoce como puntuaciones de autoatención. Nuestras puntuaciones de atención podrían verse así si tuviéramos una secuencia de entrada de tres palabras:


Cada celda indica en qué medida la palabra codificada en una posición atiende a la palabra codificada en otra posición.
ESPAÑOL: Cada celda indica en qué medida la palabra codificada en una posición atiende a la palabra codificada en otra posición.


La primera palabra es vista por la red como una consulta y se compara con la segunda palabra. Podríamos decir que la primera palabra está "atendiendo" a la segunda palabra. Si la tercera clave fuera una consulta, la segunda coincidiría con la tercera palabra. Si la tercera palabra fuera una consulta, coincidiría con la primera palabra. Nunca tendríamos coincidencias parciales entre 0 y 1, y cada consulta (fila) coincidiría parcialmente con varias columnas.


Para seguir la metáfora de la recuperación, multiplicamos esta matriz por las codificaciones v y ocurre algo intrigante. Imaginemos que nuestras codificaciones v se ven de esta manera:


Cada fila es una codificación de una palabra en una secuencia.
ESPAÑOL: Cada fila es una codificación de una palabra en una secuencia.

Es decir, la primera palabra se codificó como una lista de números 0,10...0,19, la segunda palabra se codificó como una lista de números 0,20...0,29, y la tercera palabra se codificó como una lista de números 0,30...0,39. Estos números son ilustrativos y nunca estarían tan ordenados.


Multiplicar la atención con valores.
ESPAÑOL: Multiplicar la atención con valores.

La primera consulta encuentra la segunda clave y recupera la segunda palabra codificada porque coincide con ella. La tercera palabra codificada se recupera porque la segunda consulta coincide con la tercera clave. La tercera consulta recupera la primera palabra codificada porque coincide con la primera clave. ¡Lo que hemos hecho es intercambiar filas!


Atención con valores.
ESPAÑOL: Atención con valores.

En la práctica, las puntuaciones no serían unos y ceros perfectos, y cada codificación mezclada produciría algo (por ejemplo, el 97% de la palabra uno más el 1% o el 2% de la palabra tres más el 2% de la palabra dos). Sin embargo, esto demuestra cómo la autoatención es un intercambio y una mezcla. En esta versión extrema, la primera palabra se ha cambiado por la segunda y así sucesivamente. Tal vez la palabra "tierra" fue reemplazada por "planeta".


¿Cómo podemos garantizar que codificamos q, k y v correctamente? Estamos codificando q, k y v correctamente si mejora la capacidad de la red general para adivinar la mejor palabra para la máscara. De lo contrario, cambiaremos los parámetros para codificar un poco diferente la próxima vez.


3. El tercer paso es sumar el resultado de todos los cálculos al desecho. Recuerda esa copia inicial de la codificación original que guardamos. Por lo tanto, agregamos la versión mixta y intercambiada. Ahora bien, "tierra" no es simplemente una codificación de "tierra", sino también una palabra imaginaria que combina "tierra" y "planeta"... ¿Ealanet? ¿Tierra? En realidad, no es así. En cualquier caso, esta es la codificación transformada final que se transmitirá al decodificador. Para hacer predicciones basadas en una sola palabra por posición, probablemente podamos estar de acuerdo en que tener una palabra falsa en cada posición es más útil que tener una palabra que realmente codifique dos o más palabras.


Luego haces esto varias veces más, una tras otra (múltiples capas).


Estoy omitiendo muchos detalles sobre cómo la codificación final del codificador llega al decodificador (una ronda de atención llamada atención de fuente, donde las codificaciones del codificador de cada posición se utilizan como q y k para aplicarse contra otra versión diferente de v), pero en este punto, deberías tener una idea general de las cosas. Al final, al tomar la codificación del codificador, el decodificador envía energía a los brazos delanteros de las palabras y seleccionamos la palabra con la mayor energía.



7. ¿Por qué son tan poderosos los modelos de lenguajes grandes?


¿Cuál es el significado de todo esto? Los grandes modelos de lenguaje, como ChatGPT y GPT-4, hacen exactamente una cosa: asimilan una gran cantidad de palabras y intentan deducir qué palabra debe seguir a continuación. Si esto es "razonamiento" o "pensamiento", es solo una forma extremadamente especializada.


un grupo de mujeres con lentes  visores 3d de lenguaje generativo grande

Pero incluso esta forma especializada parece muy poderosa porque ChatGPT y similares pueden hacer muchas cosas aparentemente muy bien, como responder preguntas sobre ciencia y tecnología, redactar correos electrónicos, escribir poesía e incluso escribir código. ¿Cuál es la razón por la cual deberían funcionar tan bien?


La salsa secreta tiene dos ingredientes. El transformador aprende a mezclar contextos de palabras de una manera que lo hace muy bueno para adivinar la siguiente palabra, como ya hemos mencionado. La forma en que se entrenan los sistemas es la otra parte del secreto. Los modelos de lenguaje grandes se entrenan utilizando una gran cantidad de datos extraídos de Internet. Libros, blogs, sitios de noticias, artículos de Wikipedia, debates en Reddit y discusiones en las redes sociales son ejemplos de esto. Le enviamos un fragmento de texto de una de estas fuentes durante el entrenamiento y le pedimos que adivine la siguiente palabra. Recuerda: supervisado por uno mismo. Si adivina mal, modificamos el modelo hasta que funcione correctamente. Si consideramos el propósito de un LLM, es crear artículos que razonablemente podrían haber aparecido en Internet. Para hacer concesiones y hacer las cosas un poco mal, pero con suerte no demasiado, utiliza codificaciones porque no puede memorizar Internet.


Es crucial no subestimar la variedad de temas del texto disponible en Internet. Todo esto ha sido observado por los LLM. Han presenciado miles de millones de discusiones sobre casi todos los temas. Por lo tanto, un LLM puede escribir cosas que parezcan estar hablando contigo. Puede producir textos que parecen poesía porque ha visto miles de millones de poemas y letras musicales en casi todo lo imaginable. Puede hacer conjeturas razonables sobre su tarea, incluso si es ligeramente diferente, porque ha visto miles de millones de tareas y sus soluciones. Ha visto miles de millones de preguntas estandarizadas de exámenes y sus respuestas. ¿Realmente creemos que las preguntas del SAT de este año son tan distintas a las del año pasado? Puede adivinar palabras que parecen planes de vacaciones porque ha visto a las personas hablar sobre sus planes de vacaciones. Ha observado miles de millones de ejemplos de código que realizan una variedad de funciones. Los programadores de computadoras generalmente ensamblan fragmentos de código para hacer cosas muy comunes y bien entendidas en fragmentos de código más grandes. Como resultado, los LLM pueden escribir esos fragmentos específicos para usted.


Ha visitado stackoverflow.com para ver miles de millones de ejemplos de código incorrecto y sus correcciones. Sí, para recibir su código roto y ofrecer soluciones. Los LLM tienen sentido común porque miles de millones de personas han tuiteado que se quemaron los dedos y tocaron una estufa caliente. Puede inferir hechos científicos bien conocidos porque ha leído muchos artículos científicos. Ha visto miles de millones de ejemplos de personas resumiendo, reescribiendo o reestructurando textos, así como explicando cómo hacer que el texto sea más gramatical, conciso o persuasivo.


Este es el punto: cuando le pides a ChatGPT u otro modelo de lenguaje grande que haga algo inteligente (y funciona), es muy probable que lo haga de lo que ha visto miles de millones de veces. Incluso si tienes una idea muy especial, como "dime qué haría Flash Gordon después de comer seis burritos", ¿es esto único? Ha visto Fan Fiction sobre Flash Gordon, ha escuchado personas hablar de comer demasiados burritos y puede, gracias a su atención personal, mezclar y combinar elementos para crear una respuesta que parezca razonable.


Al interactuar con un modelo de lenguaje grande, nuestro primer instinto no debería ser: "wow, estas cosas deben ser realmente inteligentes, realmente creativas o realmente comprensivas". Nuestro primer instinto debería ser: "Probablemente le he pedido que haga algo de lo que ha visto fragmentos antes". Eso podría indicar que, incluso si no se trata de "pensar mucho" o "hacer un razonamiento realmente sofisticado", sigue siendo realmente útil.


Para obtener una respuesta, no necesitamos utilizar la antropomorfización.


Una nota final sobre este tema: debido a cómo funcionan los modelos de lenguaje grandes y cómo se entrenan, suelen proporcionar respuestas que son en cierto modo las respuestas típicas. Puede parecer extraño que el modelo tiende a dar respuestas típicas cuando se le pide una historia sobre Flash Gordon. Pero en el contexto de una historia o un poema, se puede pensar que las respuestas son lo que mucha gente daría si tuviera que llegar a un acuerdo (escribiendo en Internet). Está bien. Podría ayudar a los estándares de una sola persona que intenta pensar por sí sola. Pero probablemente tus historias y poemas también sean comunes.


8. ¿A qué se debe tener cuidado?


Las implicaciones del funcionamiento y el entrenamiento de los Transformers son realmente sutiles. Las implicaciones directas de los detalles técnicos se enumeran a continuación.


  1. El aprendizaje de modelos de lenguaje grandes se lleva a cabo en Internet. Esto indica que también han recibido capacitación en todas las facetas oscuras del ser humano. Los grandes modelos de lenguaje se han entrenado en diatribas racistas, discursos sexistas, insultos de cualquier tipo contra cualquier persona, personas que hacen suposiciones estereotipadas sobre los demás, teorías de conspiración, desinformación política, etc. Esto implica que las palabras que un modelo de lenguaje decide producir pueden usar ese lenguaje.

  2. Los modelos de lenguaje complejos carecen de "conceptos fundamentales". Son adivinadores de palabras, lo que significa que pueden predecir cuáles serían las palabras que vendrían si la misma oración apareciera en Internet. Como resultado, se puede pedir a un modelo de lenguaje grande que escriba una oración a favor de algo o en contra de algo, y el modelo cumplirá en ambos sentidos. Estos no indican que esté creyendo en algo u otro, que haya cambiado sus creencias, o que uno tenga más razón que otro. Un modelo de lenguaje grande responderá de manera más consistente con lo que aparece en sus datos de entrenamiento con más frecuencia, porque aparece en Internet con más frecuencia, si los datos de entrenamiento tienen más ejemplos de una cosa versus otra. Recuerde que el modelo intenta reproducir la respuesta más frecuente.

  3. Los modelos de lenguaje grandes carecen de sentido para la verdad y la moralidad. Hay cosas que consideramos reales, como que la Tierra tiene una forma redonda. Eso es lo que suele decir un LLM. Pero porque Internet contiene textos que afirman que la Tierra es plana, también dirá lo contrario si el contexto es correcto. No hay garantía de que un LLM proporcione información precisa. Es posible que tengamos la tendencia de inferir palabras que estamos de acuerdo en que son verdaderas, pero esto es lo más cercano a hacer afirmaciones sobre lo que un LLM "sabe" sobre la verdad, el bien o el mal.

  4. Es posible que los modelos de lenguaje grandes cometan errores. Los datos de entrenamiento pueden contener una gran cantidad de material inconsistente. Cuando hacemos una pregunta, es posible que la atención personal no preste atención a todas las cosas que queremos. Puede hacer suposiciones desafortunadas como un adivino de palabras. Incluso cuando la entrada no tiene sentido, los datos de entrenamiento han visto una palabra tantas veces más que la prefieren. Después de esto, ocurre un fenómeno conocido como "alucinación" en el que se adivina una palabra que no proviene de la entrada ni es "correcta". Debido a que los números pequeños son más comunes, los LLM suelen adivinar números pequeños en lugar de números grandes. Por lo tanto, los LLM no tienen experiencia en matemáticas. Los LLM prefieren el número "42" porque se refiere a un libro famoso. Los LLM prefieren nombres más comunes, lo que les permite inventar los nombres de los autores.

  5. Los grandes modelos de lenguaje son autoregresivos. Por lo tanto, cuando hacen suposiciones que podríamos considerar incorrectas, esas palabras adivinadas se agregan a sus propias entradas para hacer que la siguiente palabra sea adivinada. En otras palabras, los errores se acumulan. La atención personal puede tomar una decisión incorrecta y repetirla incluso si la probabilidad de cometer un error es solo del 1 %. Incluso si solo se comete un error, todo lo que suceda después podría estar relacionado con ese error. Además, el modelo de lenguaje podría cometer errores adicionales. No hay forma para los transformadores de "cambiar de opinión", intentarlo de nuevo o autocorregirse. Seguirán el ritmo.

  6. Los resultados de un modelo de lenguaje grande deben siempre ser verificados. Si le pide que haga cosas que no puede verificar de manera competente, debe considerar si está de acuerdo con corregir los errores cometidos. Eso podría estar bien para tareas de bajo riesgo, como escribir una historia corta. Tal vez esos errores puedan hacer que tome una decisión muy costosa en tareas de alto riesgo, como tratar de obtener información para decidir en qué acciones invertir.

  7. La autoatención significa que cuanta más información proporcione en la solicitud de entrada, más especializada será la respuesta porque agregará más palabras a sus conjeturas. La calidad del mensaje de entrada está directamente proporcional a la calidad de la respuesta. Los resultados mejoran con mejores indicaciones. Prueba varias indicaciones y descubra cuál es la mejor para usted. La primera vez, no piense que el modelo de lenguaje "capta" lo que está tratando de hacer.

  8. No estás "manteniendo una conversación" con un modelo de lenguaje grande. Un modelo grande de lenguaje no "recuerda" lo que sucedió en el intercambio. Entra tu entrada. La respuesta está disponible. El LLM no puede recordar nada. Su entrada inicial, su respuesta y su respuesta entran. Como resultado, si parece que está recordando, es porque el registro de las conversaciones es una nueva entrada. Este es un truco de programación de front-end que hace que el modelo de lenguaje grande parezca estar manteniendo una conversación. Debido a este truco, es probable que se mantenga en el tema, pero no se puede garantizar que no contradiga sus respuestas anteriores. Además, el modelo de lenguaje grande no puede cargar más de 4000 palabras, mientras que GPT-4 puede cargar hasta 32 000 palabras. Los tamaños de entrada pueden ser bastante grandes, por lo que la conversación con frecuencia parecerá coherente durante un tiempo. Con el tiempo, el registro acumulado será demasiado grande, el comienzo de la conversación desaparecerá y el sistema "olvidará" las cosas anteriores.

  9. Los modelos de lenguaje grandes no planifican ni resuelven problemas. Sin embargo, puedes pedirles que planifiquen y resuelvan problemas. Voy a compartir algunas cosas aquí. Ciertos grupos de la comunidad de investigación de IA reservan los términos planificación y resolución de problemas para significar algo muy específico. En particular, se refieren a tener una meta (algo que desea lograr en el futuro) y trabajar para lograr esa meta eligiendo entre varias opciones que probablemente lo acerquen. Los grandes modelos de lenguaje no tienen objetivos. Tienen un objetivo: elegir una palabra que probablemente aparezca en los datos de entrenamiento dada una secuencia de entrada. Son frecuentes. La anticipación es un componente común de la planificación. Cuando las personas planifican, imaginan los resultados de sus acciones y analizan ese futuro en relación con el objetivo deseado. Es una buena jugada si parece que nos acerca a la meta. Si no es así, podríamos intentar concebir los efectos de una acción diferente. Hay mucho más que eso, pero los puntos clave son que los grandes modelos de lenguaje no tienen objetivos y no miran hacia el futuro. Los transformadores retroceden. Solo se puede prestar atención a las palabras ingresadas que ya han aparecido. Debido a que han visto muchos planes en los datos de entrenamiento, los modelos de lenguaje grande ahora pueden generar resultados que parecen planes. Saben cómo son los planes y qué debería aparecer en ellos sobre temas específicos que han visto. Va a hacer una suposición razonable sobre ese plan. El plan puede tomar el enfoque más general y ignorar los detalles específicos del mundo. Los modelos de lenguajes grandes ciertamente no han "pensado en las alternativas" ni han probado una cosa y luego han dado marcha atrás y probado otra. Un transformador carece de un mecanismo que pueda ser identificado y que tome en cuenta el futuro de manera tan inmediata. (Existe una advertencia al respecto, que se discutirá en la sección siguiente). Cuando solicite planes, siempre verifique los resultados.


9. ¿Qué hace que ChatGPT sea tan especial?


"Escuché que RLHF es lo que hace que ChatGPT sea realmente inteligente".
"ChatGPT utiliza el aprendizaje por refuerzo y eso es lo que lo hace tan inteligente".

Hay mucho entusiasmo sobre algo llamado RLHF, o aprendizaje por refuerzo con retroalimentación humana, en el momento de escribir este artículo. Se realizaron algunos esfuerzos para entrenar ChatGPT en particular, así como otros modelos de lenguajes grandes con mayor frecuencia. No son exactamente nuevos, pero se popularizaron mucho cuando ChatGPT se lanzó.


Un modelo de lenguaje grande basado en Transformer es ChatGPT. ChatGPT se ganó la reputación de ser muy bueno a la hora de producir respuestas a solicitudes de entrada y de negarse a responder preguntas sobre temas que podrían considerarse tóxicos u obstinados. No hace nada muy diferente a lo que se mencionó anteriormente. En realidad, es bastante vainilla. Pero hay una diferencia: la forma en que fue entrenado. Extraer una gran parte de Internet, tomar fragmentos de ese texto y hacer que el sistema predijera la siguiente palabra fueron técnicas comunes de capacitación para ChatGPT. Esto generó un modelo básico que ya era un predictor de palabras muy efectivo (equivalente a GPT-3). Pero después hubo dos etapas de capacitación adicionales. Instrucciones y aprendizaje mejorados con comentarios humanos.


9.1. Ajuste de instrucciones


Los modelos de lenguaje grandes tienen un problema particular: solo quieren tomar una secuencia de palabras de entrada y generar lo que sigue. En la mayoría de los casos, eso es lo que uno desea. Pero no en todos los casos. Considere el siguiente mensaje:


"Escribe un ensayo sobre Alexander Hamilton".

¿Cuál cree que debería ser la respuesta? Es posible que piense que debería ser algo como "Alexander Hamilton nació en Nevis en 1757". Fue un líder político, un abogado, un coronel del ejército y el primer secretario del Tesoro de los Estados Unidos. Sin embargo, lo que realmente puede obtener es:


"Su ensayo debe tener al menos cinco páginas, a doble espacio e incluir al menos dos citas".

¿Qué sucedió recientemente? Es posible que el modelo de lenguaje haya visto muchos ejemplos de tareas de estudiantes que comienzan con "Escribe un ensayo sobre..." y incluyen palabras que detallan la extensión y el formato. Por supuesto, cuando escribiste "Escribe un ensayo...", creías que estabas escribiendo instrucciones para el modelo de lenguaje como si fueras un humano que entendiera la intención. Los modelos de lenguaje solo relacionan las entradas con los patrones que han visto en sus datos de entrenamiento, no comprenden sus propias intenciones.


Se puede realizar un ajuste de instrucciones para solucionar este problema. La idea es bastante básica. Si obtiene una respuesta incorrecta, escriba cuál debería ser la respuesta correcta y envíe la entrada original y la salida nueva corregida a través de la red neuronal como datos de entrenamiento. El sistema aprenderá a cambiar su circuito para que se prefiera la nueva respuesta con suficientes ejemplos de salida corregida.


No es necesario realizar ningún esfuerzo excesivamente avanzado. Haga que muchas personas interactúen con el modelo de lenguaje grande y pídale que haga muchas cosas y escriba las correcciones cuando no se comporte correctamente. Luego recopile todos esos ejemplos en los que cometió errores y realice más capacitación.


Esto hace que el modelo de lenguaje grande parezca entender la intención de las indicaciones de entrada y seguir instrucciones. No hace nada más que intentar adivinar la palabra que sigue. Sin embargo, ahora puede adivinar palabras que parecen responder mejor a la entrada gracias a los nuevos datos de entrenamiento.



9.2. Aprendizaje reforzado a partir de la interactividad humana


El aprendizaje reforzado a partir de la retroalimentación humana es el siguiente paso en la formación. Creo que esto requerirá una explicación.


El aprendizaje por refuerzo es una técnica de inteligencia artificial que se utiliza tradicionalmente en investigaciones de robótica y en agentes de juegos virtuales. El aprendizaje por refuerzo es particularmente útil para aprender qué hacer cuando recibe una recompensa. La recompensa es solo un número que indica qué tan bien lo está haciendo. Las recompensas rara vez se otorgan en el mundo real y en los juegos. Es posible que tenga que hacer muchos movimientos antes de ganar puntos en un juego. Tal vez solo puedas obtener puntos al final del juego. En realidad, no hay suficientes personas que te digan cuándo estás haciendo un buen trabajo. A menos que seas un perro, todos son buenos. Lo único que realmente debes entender es que los sistemas de aprendizaje por refuerzo intentan predecir cuántas recompensas obtendrán en el futuro y luego seleccionan la acción que con mayor probabilidad obtendrá más recompensas en el futuro. El uso de golosinas para perros para enseñarle a comportarse no es del todo diferente.


Bien, guarda todo eso y considera el siguiente mensaje:


¿En qué es experto Mark?

Supongamos que el resultado del modelo de lenguaje es:


Mark tiene muchas publicaciones sobre inteligencia artificial, gráficos e interacción persona-computadora.

Solo una parte de esto es correcta. No estoy publicando en gráficos. Me gustaría darle un rechazo o una puntuación negativa a esto. Sin embargo, solo una parte es incorrecta: la palabra "gráficos". El modelo de lenguaje podría aprender que se deben evitar todas esas palabras si le digo al sistema que toda la oración es incorrecta. Muchas de esas palabras tienen sentido.


Aquí es donde el aprendizaje por refuerzo entra en juego. El aprendizaje por refuerzo funciona probando varias opciones y descubriendo qué opciones reciben la mayor recompensa. Imaginemos que le pido que produzca tres respuestas distintas al mensaje inicial.


Mark tiene muchas publicaciones sobre inteligencia artificial, gráficos e interacción persona-computadora.
Mark ha trabajado en inteligencia artificial, sistemas seguros de PNL e interacción persona-computadora.
Marcar como inteligencia artificial, IA de juegos y gráficos investigados.

Podría respaldar(+1) la primera opción, respaldar(+1) la segunda opción y respaldar(+1) la tercera opción. Un algoritmo de aprendizaje por refuerzo puede mirar hacia atrás y descubrir que la palabra "gráficos" es la única que da un -1 al igual que al jugar un juego. El sistema ahora puede enfocarse en esa palabra y modificar el circuito de la red neuronal para evitar usar esa palabra junto con ese mensaje de entrada específico.


Conseguiremos que un grupo de personas interactúe con el modelo de lenguaje grande una vez más. En esta ocasión, proporcionaremos a las personas tres o más opciones de respuesta. Para lograr esto, podemos pedir al modelo de lenguaje grande que responda a un mensaje varias veces e introduzca un poco de aleatoriedad en la selección de los brazos de ataque. En ocasiones, podemos elegir el segundo o tercer brazo de ataque más activado en lugar del brazo de ataque más activado. Esto ofrece una variedad de respuestas de texto y le pedimos a las personas que elijan su respuesta favorita, su respuesta favorita 2, etc. Ahora tenemos números y opciones. Podemos usar el aprendizaje por refuerzo para modificar los circuitos de la red neuronal.


En realidad, entrenamos una segunda red neuronal con estos comentarios de aprobación y desaprobación para predecir si las personas darán el visto bueno o el negativo. Podemos usar una segunda red neuronal para determinar si las respuestas del modelo de lenguaje son aceptadas o rechazadas y usarla para entrenar el modelo de lenguaje si esa red neuronal es lo suficientemente buena para predecir lo que la gente preferirá.


La creación de texto es vista como un juego donde cada acción es una palabra, como aprendizaje por refuerzo. Al final de una secuencia, el modelo de lenguaje recibe información sobre si ganó o perdió algunos puntos. Aunque no hace exactamente una predicción como se mencionó anteriormente, el modelo de lenguaje ha sido entrenado para predecir qué palabras recibirán el visto bueno. El Modelo de Lenguaje Grande aún no tiene un objetivo explícito, pero tiene un objetivo implícito de "obtener el visto bueno" (también conocido como "satisfacer a la persona promedio") y ha aprendido a correlacionar ciertas respuestas an indicaciones de visto bueno. Aunque tiene muchos aspectos de planificación, no tiene un mecanismo explícito de anticipación. En cambio, ha aprendido métodos para obtener recompensas que suelen funcionar en diferentes situaciones.


En cuanto a si RLHF mejora la inteligencia de ChatGPT, aumenta la probabilidad de que ChatGPT produzca las respuestas que esperábamos ver. Parece más inteligente porque sus resultados parecen indicar que comprende las intenciones de nuestras contribuciones y tiene la intención de responder. Debido a que todavía se limita a codificar y decodificar palabras, esto es una ilusión. Pero ahí es donde comenzamos este artículo, claro.


El ajuste de instrucciones y RLHF también protegen el uso de ChatGPT de abusos como la generación de contenido racista, sexista o político. Todavía se puede hacer, y las versiones anteriores de GPT-3 siempre lo han hecho. Sin embargo, la presión que genera ChatGPT contra ciertos tipos de abuso transmite una sensación de seguridad porque es un servicio público gratuito. Además, se niega a presentar una opinión como verdadera, lo que elimina cualquier forma de daño potencial para el usuario.


El uso del aprendizaje por refuerzo para cambiar un modelo de lenguaje previamente entrenado no es nuevo. Se utiliza desde al menos 2016 para mejorar la seguridad de los modelos de lenguaje grandes. La mayoría de los ajustes de modelos de lenguaje grandes basados en el aprendizaje por refuerzo utilizan un segundo modelo para proporcionar recompensas, lo que también se hace con ChatGPT. ChatGPT destaca la magnitud del sistema que se está adaptando al aprendizaje reforzado y las grandes iniciativas de recopilación de comentarios humanos.


10. Conclusiones en la Introducción a Grandes Modelos de Lenguaje Generativos


Las redes neuronales parecen barbas de ballena cuando las dibujo a mano. En cualquier caso, espero haber logrado aclarar algunas de las confusiones que rodean a los modelos de lenguajes extensos. Las redes neuronales parecen barbas de ballena cuando las dibujo a m ano. En cualquier caso, espero haber logrado aclarar algunas de las confusiones que rodean a los modelos de lenguajes extensos.


¡Último Lanzamiento! IA PLUS E-BOOK


Ya está disponible en Amazon y Hotmart mi Libro IA PLUS - DOMINA LA INTELIGENCIA ARTIFICIAL. ¡Descubre IA PLUS, el libro imprescindible sobre inteligencia artificial. Sumérgete en sus detalladas explicaciones sobre machine learning, prompts innovadores y prácticas estrategias. Con más de 3.000 prompts en diferentes categorías ya listos para usar en ChatGPT y en cualquier otra Inteligencia Artificial. IA PLUS es una herramienta invaluable para marketers, programadores, diseñadores y emprendedores, estudiantes y todo profesional. Considerado uno de los mejores en su categoría, este libro te llevará al siguiente nivel en tecnología y creatividad. ¡No te pierdas la oportunidad de revolucionar tu conocimiento con IA PLUS, tu guía definitiva en inteligencia artificial! Cómpralo desde este enlace https://www.jmcstudiocreativo.com/ia-plus-e-book  o haciendo click en la imagen.




Servicios Profesionales

En JMC Studio somos una Agencia multidisciplinaria con gran talento creativo, desarrollamos todo tipo de proyectos, puede revisar todos nuestros servicios de tecnología, web e IA aquí. Estaremos felices de crear cosas maravillosas juntos


Fuentes: Infra Data, Adobe Stock. Modelos de lenguaje. ChatGPT Fundamentos. Medium

Entradas relacionadas

Ver todo

Espacio Publicitario Disponible

Descubra los excelentes planes publicitarios para su marca, servicios, o productos aquí para una gran audiencia

1A2.JMCS. SUSCRIPCIÓN 2.jpg
1A2.JMCS. 8 Logo Principal Vertical 1 Blanco - Fondo Transparente.png

SUSCRIPCIÓN GRATUITA

Obtén cada semana en tu bandeja de entrada nuestra Newsletter con toda la información destacada de Board,

únete a la comunidad creativa ¡ES GRATIS! 

¡Gracias por suscribirte!

bottom of page