Transcripciones
1. Introducción: En algún momento es
posible que hayas escuchado sobre GPT, tal vez ChatGPT, GPT-4, es posible que hayas
escuchado
a Microsoft llamarlo una chispa de inteligencia
general artificial. Hay mucho que digerir. Déjame ayudarte a hacer justamente eso. Hola, soy [inaudible], un
científico investigador de una gran empresa. Llevo seis años realizando investigaciones
en IA, anteriormente en
laboratorios de materialidad y piloto automático Tesla, recibiendo mi doctorado en
IA en UC Berkeley. En particular,
estudié cómo hacer que las redes
neuronales funcionen muy rápido. En este curso, espero utilizar mi experiencia para
descomponer y
tecnología de vanguardia en conceptos digeribles
e intuitivos. A lo largo de todo,
utilizaré un
primer enfoque de ilustración para
transmitir la intuición. Sin muros de textos, diagramas
súper complejos o incluso una pizca de matemáticas. Mi objetivo es ayudarte a
construir las bases para entender el chat GPT y
sus tecnologías relacionadas. El material de este curso
supone que has tomado mi curso de principiantes gratis de IA,
vinculado en descripción. Más allá de eso, no se requiere
formación técnica. Tanto si eres
ingeniero, diseñador o alguien más curioso por aprender, este curso está hecho para
ti. Empecemos.
2. ¿Por qué entender ChatGPT: He aquí por qué deberías
entender ChatGPT. Empezaremos con los beneficios. El mayor beneficio de
tomar este curso es entender las discusiones
en torno al tema. Hay toneladas de términos
relacionados aleatorios en toda la web,
transformadores, modelos de
lenguaje grande, ChatGPT, GPT esto, GPT eso. Nuestro objetivo es conocer cómo se relacionan todos
estos diferentes términos. Cortaremos al desorden de
marketing y saltaremos directamente al entendimiento
técnico, la jerga no necesita
ser intimidante. Con este conocimiento, entonces
podrá comprender las últimas
innovaciones en el área. ¿Qué significa hacer
un transformador más rápido? ¿Qué es parejo el transformador? Para resumir, aquí
hay dos beneficios para entender cómo funciona ChatGPT. Conocer la terminología para sostener discusiones sobre el
tema y
saber leer y
entender las noticias al leer y aprender
más sobre el tema. Para ser claros, no cubriremos exhaustivamente todos los
términos ni todos los temas. Sin embargo, este curso te da una base para aprender más, básicamente
cubriremos la intuición y las grandes ideas
detrás de la tecnología. Una gran parte de esto es
conocer la terminología, así que ese será nuestro enfoque. Ahora saltemos
directamente al contenido. Aquí hay una descripción general de ChatGPT
y conceptos relacionados. En primer lugar, ChatGPT es un producto. Es específicamente el nombre
del producto de Open AI. En segundo lugar, los modelos de lenguaje grande o la tecnología de manera más amplia, una tecnología que puede
tomar entrada de textos y generar texto de alta calidad que
suene natural como salida. Esto es igual que
Kleenex y tejidos. Kleenex es una marca específica, los tejidos son el nombre
genérico del producto. En este caso, ChatGPT es una marca registrada
específica. Los modelos de lenguaje grande son
la tecnología general. Como resultado, estos
grandes modelos lingüísticos o LLM para abreviar, son el foco de nuestro curso. Por último, los transformadores son los bloques de construcción de los
grandes modelos de lenguaje. Estaremos enfocándonos en estos bloques de
construcción para avanzar. Dicho en términos generales, nuestro
objetivo es diseccionar la intuición detrás de los
grandes modelos de lenguaje. Voy a presentar una
versión simplificada de estos modelos que transmite las
ideas clave de por qué funcionan. No hay necesidad de grandes diagramas
complicados o ecuaciones matemáticas innecesarias. Tendremos diagramas bastante
sencillos que se adhieren a los puntos principales. Aquí hay una breve introducción
a los grandes modelos de lenguaje. En nuestra clase magistral de IA, discutimos compartimentar
nuestro conocimiento de ML en cuatro categorías: datos, modelo, objetivo y algoritmo. Los datos describen las
entradas y salidas, lo que aprendemos
y lo que predecimos. El modelo describe
cómo hacer predicciones. Objetivo describe la meta, para
qué está
optimizando el modelo. Finalmente, el algoritmo describe
cómo aprende el modelo. No hemos hablado
mucho del algoritmo y esta vez
lo volveremos a omitir . Para modelos de idiomas grandes, la entrada es texto. Esto puede ser de sitios web, libros, foros en línea o más. El modelo transforma este texto usando el texto de entrada para
generar texto de salida. El
objetivo específico de un modelo es predecir la siguiente palabra
dadas las palabras anteriores. Desglosaremos este
proceso más adelante en este curso y como antes, saltaremos el algoritmo. Para recapitular, hemos discutido los
beneficios de entender ChatGPT en el contexto de noticias
y discusiones rápidas. También hemos
presentado brevemente ChatGPT, el producto frente a
la clase más amplia de tecnología, modelos de
lenguaje grande. Eso es todo para la visión general. Para obtener una copia de estas diapositivas
y más recursos, asegúrese de consultar
el sitio web del curso. Esto es por qué
deberías entender ChatGPT. Vamos a meternos directamente en la
tecnología para que estés bien equipado para entender
el aluvión de información que hay.
3. ¿Cómo “computar” las palabras?: En esta lección, discutiremos
cómo “calcular” palabras. He aquí un ejemplo
de lo que quiero decir. Toma la siguiente ecuación. Tenemos rey - hombre + mujer. ¿A qué esperas que esto sea igual? Pausa el video
aquí si quieres tomarte un segundo para pensar. Una salida razonable
sería reina. Esto es lo que esperaríamos si
pudiéramos aplicar las matemáticas a las palabras. Sin embargo,
realmente no podemos hacer esto. No existe tal cosa como
sumar palabras, así que necesitamos convertir palabras números que podamos
sumar y restar. Usemos un ejemplo específico. En este caso, queremos
traducir del
francés al inglés. Tenemos francés
en morado a la izquierda lo que se traduce en Te amo
en verde a la derecha. Para simplificar este ejemplo, nos centraremos en traducir primero
una palabra a la vez. En este caso, nos enfocamos en
traducir Je
a I. Para ello, necesitamos
convertir a Je en números. Afortunadamente para nosotros, ya
existe una especie de diccionario que
mapea palabras en números. Ese mapeo se
llama word2vec. Word2vec define un mapeo
de palabras a vectores. Los vectores son simplemente
colecciones de números. A partir de ahora nos referiremos a una colección de
números como vectores. He aquí un ejemplo, aquí
tenemos la palabra francesa Je. Word2vec mapea esta palabra
al vector.8.1.1, que se ilustra a continuación
con algunas cajas en púrpura. También podemos tener
la palabra inglesa I. Word2vec mapea esto a 0.1.9. Por último, te tenemos a Ti. Word2vec mapea esto a.1 0.9. Tenga en cuenta que este mapeo
es solo un ejemplo. En realidad, word2vec utiliza
300 vectores dimensionales,
es decir, cada palabra
corresponde a 300 números, demasiados para mostrarlos aquí. Ahora usemos estos vectores
en nuestro ejemplo de traducción. Ahora, traducimos Je al
vector word2vec correspondiente a la izquierda en morado. Algún cómputo misterioso y en el medio se realiza, luego obtenemos otro
vector en verde. Este vector en verde
corresponde entonces a la palabra
inglesa I. Ahora, vamos a discutir lo que va en esa casilla con
un signo de interrogación. ¿Cómo se
transforman estos vectores? Aquí te explicamos cómo. El objetivo de esa caja es ejecutar cómputos
significativos. Esto es a lo que me refiero. Este fue el ejemplo
que teníamos anteriormente, eran rey menos hombre más
mujer igual a reina. Así es como podemos
realmente sumar y restar números o sumar y
restar palabras incluso. Comienza con las palabras del
lado izquierdo. Tenemos rey, hombre
y mujer traducen cada palabra a su
correspondiente vector word2vec. Esto nos da tres vectores. Después comenzando con el vector
rey de la izquierda, restar el vector hombre, sumar el vector mujer. Hacer esto nos da un
nuevo vector a la derecha y ese vector resultante pasa a corresponder a queen, así que esto es lo que
realmente
queremos decir cuando “realizamos matemáticas en palabras”. En realidad, estamos
realizando matemáticas sobre los vectores a los
que corresponden estas palabras. Entonces ahora podemos abreviar todo
el proceso con tan solo
escribir esta ecuación. Esta ecuación por
cierto es un resultado real. Si buscabas las asignaciones
word2vec, en realidad
podrías
calcular esta ecuación. suma y resta en este espacio vectorial
tiene un significado real. Entonces sabiendo eso, ya podemos
llenar nuestra caja misteriosa. Dada la entrada para
traducir al inglés, restamos el vector francés
y agregamos el vector inglés. De manera más general para acomodar cualquier tarea podemos
representar cualquier suma, multiplicación,
resta, etc. Esta pequeña gráfica en
el centro representa algo llamado perceptrón
multicapa. No vamos a sumergirnos en tanto. Basta pensar en esta pequeña
gráfica en el centro de nuestra figura como cualquier conjunto de suma, multiplica, resta y más. Esto nos permite
representar cualquier tarea de traducción palabra a palabra
con esta arquitectura. Ahora, fíjate que nuestro
pipeline termina con un vector. Necesitamos convertir ese
vector de nuevo en una palabra. Entonces, para nuestro último objetivo aquí, queremos convertir
los números de nuevo en palabras. Aquí está nuestro pipeline de antes. Terminamos con algún vector. Así que vuelve a convertir en una palabra, encontraremos el
vector más cercano que mapea a una palabra. En este caso, nuestros mapas
vectoriales más cercanos a la palabra I y con eso hemos
terminado nuestro pipeline. Ahora recapitulemos lo que
hicimos de principio a fin. Primero, convertimos
palabras en vectores, luego transformamos esos vectores. Finalmente, transformamos
vectores de nuevo en palabras. Aquí está nuestro diagrama final. A la izquierda convertimos
la palabra Je en un vector, luego realizamos algún cómputo en el medio con ese vector. Esto arrojó otro
vector en verde y luego buscamos
el vector más cercano que correspondía a una palabra. Eso finalmente
nos llevó a la palabra I, y eso completa nuestro pipeline, traduciendo de una
palabra francesa a una palabra inglesa. Haga una pausa aquí, si
desea copiar esta cifra o tomarse un
momento para digerir o recapitular. Así que hemos convertido una
palabra en otra palabra, sin embargo en última instancia
queremos convertir muchas palabras de entrada en muchas palabras de salida como
mostramos aquí en nuestro ejemplo, esa será nuestra siguiente lección. Para obtener una copia de estas diapositivas
y más recursos, asegúrese de consultar
el sitio web del curso. Eso es todo para ejecutar
cómputos en palabras. Ahora comprende los conceptos básicos de
cómo los modelos de lenguaje grandes ejecutan el
cálculo en las entradas
para producir salidas. En la siguiente lección, aprenderemos cómo los
modelos de idiomas grandes toman múltiples palabras de entrada y
generan múltiples palabras de salida.
4. ¿Qué es un "transformador"?: En esta lección, cubriremos
qué es un transformador. El transformador nos
permite tomar
múltiples palabras de entrada y
generar múltiples palabras de salida. Esto es lo que hemos
explicado hasta ahora. Hemos convertido una
palabra francesa en una palabra inglesa. Ahora, queremos convertir varias palabras en francés en
varias palabras en inglés. Para ello,
modificaremos nuestro objetivo. En lugar de traducir
de una palabra a otra, traduciremos de
la palabra anterior y predecimos la siguiente palabra. Para ello, cambiaremos
este diagrama por éste. Ahora, nuestro modelo toma
la frase francesa y la palabra anterior que
se muestra a continuación en cursiva. Con ambas entradas, el modelo predice
la siguiente palabra, se muestra en cursiva a la derecha. El texto morado, en
este caso, el francés, es lo que llamamos el prompt para distinguir entre los
dos tipos de entradas. Ahora vamos a ejecutar este
diagrama en nuestras entradas. Para generar la primera palabra, pasamos en el prompt y
una palabra de inicio mágica. hemos denotado el inicio de la palabra de Aquí hemos denotado el inicio de la palabra de
secuencia como
comillas de inicio, por simplicidad, en realidad, el token de inicio es
alguna etiqueta ilegible. Ese token de inicio mágico, junto con el prompt, produce
entonces la primera palabra I. Para generar la siguiente palabra, nuevamente
usamos el prompt
en púrpura en la parte superior. En la parte inferior, ahora nos alimentamos
en ambas palabras anteriores, la secuencia inicial
representada por una cita y la palabra anterior I. Ahora predecimos la siguiente palabra, amor. Esto lo hacemos de nuevo. Nos alimentamos en el prompt en la parte superior. En la parte inferior nos alimentamos
en todas las palabras anteriores, el inicio de la secuencia
cita y yo y el amor. Todos estos insumos
te producen. Una última vez. Nos alimentamos en el prompt en la parte superior. En la parte inferior, nos alimentamos en
todas las palabras anteriores, el inicio de la secuencia entonces
yo, luego amo, luego a ti. Todas estas entradas producen una palabra de salida,
final de secuencia. Este fin de secuencia
se denota como una cita final en nuestro
diagrama y eso es todo. Una vez que vemos el final de la palabra de
secuencia, ya terminamos. Ahora hemos generado una secuencia de múltiples palabras
de salida. A este proceso lo llamamos descodificación
autorregresiva. decodificación autorregresiva
predice la siguiente palabra una a la vez hasta llegar al final de
la palabra de secuencia. Aquí hay una descripción general de todo
el proceso. Esta fue la versión genérica
de nuestro diagrama de antes. Encima, tenemos nuestro
prompt en morado. A continuación tenemos todas las palabras
anteriores. Estas entradas luego pasan por la caja misteriosa para
producir la siguiente palabra. Ahora, llenamos la caja misteriosa. Llenaremos esta caja usando el mismo proceso que hicimos antes. Primero convierte todas las
palabras en números. Nos alimentamos en cada prompt, cada palabra en nuestro
prompt uno por uno. También alimentamos la palabra de secuencia de
inicio, que en este caso se
denota nuevamente con la cita de inicio. Todas estas entradas se
convierten primero en vectores. De alguna manera nuestra
caja misteriosa entonces genera un vector que corresponde
a la siguiente palabra I. A continuación, necesitamos alguna manera de
incorporar “contexto”. Efectivamente, nuestra palabra anterior, que es la cita inicial, necesita contextos desde
el prompt para
traducirse a la primera palabra
correcta. Aquí, estoy usando el término
contexto muy vagamente. De alguna manera automágicamente,
necesitamos incorporar información del símbolo
púrpura en el vector verde que representa
la palabra anterior. En este caso,
incorporaremos contexto
simplemente tomando una
suma ponderada de todos los vectores. Esto produce solo
un vector final que alimentamos en
la caja misteriosa. A continuación, agregamos cómputos, tal como hicimos en
la lección anterior. Reemplazamos esa
caja misteriosa por cualquier número de sumas, multiplicaciones, restas, etc. Esto está representado
por una pequeña gráfica en el centro de nuestra figura. Al igual que antes, esta gráfica anteriormente representa un perceptrón
multicapa. Pero no necesitaremos
conocer los detalles
del perceptrón para
entender lo que está pasando. Ahora hemos
convertido con éxito nuestro prompt y el inicio de la secuencia
en la primera palabra I. Haz lo mismo que hicimos antes. Predecir la siguiente palabra
una a la vez a partir de todos los tokens
anteriores. Este es exactamente el mismo proceso. A continuación, tomamos el prompt,
el inicio de la secuencia, y la palabra anterior
I, tomada en conjunto, esto produce la
siguiente palabra, amor. Continuamos este
proceso iterativamente. Por último, obtenemos el final de la palabra de secuencia como salida
y nos detenemos aquí. Esto ahora completa nuestro pipeline. Ahora podemos tomar
varias palabras como entrada y predecir múltiples
palabras como salida. Hemos agregado dos nuevos
conceptos en esta lección. Predecimos la siguiente palabra
una a la vez hasta llegar al
final de la palabra de secuencia. También agregamos contexto
incorporando el prompt
en las palabras anteriores. Agregamos contextos en este caso simplemente
usando una suma ponderada. Este fue nuestro
diagrama final de antes. En el extremo izquierdo, convertimos el prompt púrpura en vectores. También convertimos las
palabras anteriores en verde en vectores. Luego incorporamos el contexto
del prompt a
las palabras anteriores tomando una suma ponderada. Esta suma ponderada
se introduce entonces en un perceptrón multicapa
para realizar el cálculo. Ese cálculo produce
un vector, y como antes, encontramos el vector más cercano
que corresponde a una palabra, que en este caso es el
final de la palabra de secuencia. Esto ahora completa nuestra
canalización para convertir múltiples palabras de entrada en
múltiples palabras de salida. Hay un detalle
que hemos dejado fuera, que es cómo se calcula esta suma
ponderada. Para que tengas otro término en tu bolsillo, esta suma ponderada, que agrega contexto, se llama
más formalmente la
autoatención. Estén atentos
ya que planeo agregar una nueva lección a este curso o lanzar un nuevo mini-curso
que describa cómo funciona esto. Por ahora, entiendes
todo el pipeline de varias palabras. Para obtener una copia de estas diapositivas
y más recursos, asegúrese de consultar
el sitio web del curso. Con eso concluye nuestra introducción
al transformador. Ahora entiendes la intuición de cómo funciona un transformador y cómo producir generalmente textos de
salida a partir de un texto de entrada. Tenga en cuenta que hemos
omitido una serie de detalles en la arquitectura, pero esta es una
representación mínima de las ideas clave y un buen
punto de partida para aprender más sobre modelos de
lenguaje grandes.
5. Conclusión: Enhorabuena
por llegar al final del curso. Ahora has cubierto
los fundamentos modelos
de lenguaje grande, efectivamente cómo funciona ChatGPT. Hemos discutido una serie
de términos diferentes, Word2vec que mapea palabras
en un espacio vectorial. Donde suma, resta,
etc, son significativas. Decodificación autorregresiva, que es como los
transformadores producen múltiples
palabras de salida al generar una palabra a la vez a partir de
todas las palabras anteriores. Transformers, los bloques de
construcción para los modelos de idiomas
grandes y los propios modelos de idiomas grandes, la tecnología general versus la marca
y el producto específicos ChatGPT. Ahora tienes las herramientas para
entender las conversaciones sobre el campo y una intuición de
alto nivel cómo funcionan
los modelos de
lenguaje de gran tamaño. Recuerda que
hay más recursos y una copia de las diapositivas
en la página web del curso. Si tienes alguna duda, no dudes en dejarlas
en la sección de discusión. También dejaré enlaces con más información en la descripción del
curso. Si quieres
aprender más sobre IA, ciencia de
datos o programación, asegúrate de
consultar mis cursos
en mi perfil de Skillshare. Enhorabuena una vez
más llegar al final del curso
y hasta la próxima vez.