Simplificando términos clave de machine learning - desmitificando el lenguaje técnico
ChatGPT, DALL-E y GPT-4 han causado furor en Internet. A pesar de que la investigación en inteligencia artificial ha existido durante 80 años, los últimos desarrollos han despertado la curiosidad de millones dentro y fuera de la industria tecnológica, convirtiendo finalmente a la IA en algo más común.
Este hype también ha desatado una carrera de la IA en la industria. Grandes compañías están compitiendo para lanzar los mejores modelos. Las startups están luchando por construir los mejores productos sobre estos modelos: una de cada cinco empresas en la actual cohorte de Y-Combinator está construyendo en el espacio de la IA generativa.
Si estás interesado en tener una comprensión más profunda de los últimos desarrollos de machine learning en tu feed de noticias o estás interesado en entender cómo funcionan estos modelos, este post es para ti. Este artículo tiene como objetivo establecer una intuición sobre los términos clave del machine learning para desmitificar algunos de los procesos internos de estos desarrollos. Armado con esta información, abordaremos cómo se entrenan los modelos de lenguaje y cómo funciona la arquitectura de transformadores en publicaciones separadas.
Explicando embeddings
¿Alguna vez te has preguntado cómo las computadoras entienden conceptos que los humanos percibimos con nuestros sentidos, como el lenguaje y las imágenes? Por ejemplo, los usuarios envían texto a ChatGPT y este genera una respuesta de texto. ¿Cómo entiende ChatGPT lo que está diciendo el usuario? A través de los embeddings. Las computadoras no entienden el inglés; entienden números, vectores y matrices. Los embeddings son una forma de asignar conceptos a números significativos. “Significativo” en el sentido de que los conceptos similares están físicamente cerca entre sí en un gráfico.
Por ejemplo, si quisieras construir un modelo de recomendación de películas, necesitarías una forma de asignar embeddings a las películas. Un embedding potencial podría considerar dónde se encuentran las películas en un gráfico definido por la amistad infantil y el humor.
Voilá, la película “The Hangover” ahora puede ser representada de manera significativa por números. Basándose en esta representación, si has visto “The Hangover”, el sistema de recomendación es más probable que te recomiende “The Incredibles” que “Soul”. Es una recomendación bastante mala, pero hey, es un comienzo. Para representar adecuadamente una película, se necesitarían representar muchas más características, lo que resultaría en un vector de embedding más largo.
En GloVe, un paquete en línea con embeddings para palabras en inglés utilizadas en Wikipedia, el embedding para la palabra “king” es un vector de 50 dígitos.
Los modelos de aprendizaje automático son programas de computadora que encuentran patrones o toman decisiones sobre datos que no han visto antes. Para entrenar un modelo, se buscan valores de parámetros que resulten en la mayor precisión en datos no vistos antes. Después de entrenado, el modelo debe ser probado en datos nunca antes vistos para ver qué tan preciso es. Si la precisión es lo suficientemente alta, el modelo está listo para ser utilizado. Si no, debe ser reentrenado.
Relacionando modelos, entrenamiento, pruebas, parámetros y tokens
Los parámetros son números que codifican lo que el modelo aprendió de los datos de entrenamiento. El tamaño del modelo es el número de parámetros que tiene y determina cuánto espacio ocupa. El tamaño del modelo no siempre se relaciona con la cantidad de datos de entrenamiento y su aumento no siempre conduce a mejores resultados. Por lo tanto, encontrar el tamaño adecuado es un arte.
La tokenización corta los datos de entrada en partes significativas. Al tratar con imágenes, la tokenización implica dividir la imagen en parches. Al tratar con lenguaje, la tokenización implica dividir el texto en palabras/frases frecuentes.
En resumen, un modelo = incorporado(entrada) * parámetros = salida. Los parámetros son números que codifican lo que el modelo aprendió de los datos de entrenamiento y el tamaño del modelo es el número de parámetros que tiene y determina cuánto espacio ocupa. La tokenización corta los datos de entrada en partes significativas.
LMs, LLMs, NLP, Redes Neuronales
El aprendizaje automático (Machine Learning) es una rama de la inteligencia artificial (IA) que se enfoca en enseñar a las computadoras a aprender a partir de los datos sin ser explícitamente programadas. En este artículo, nos enfocaremos en una rama específica de la IA que está muy de moda en estos días: el procesamiento de lenguaje natural (NLP).
Modelos de lenguaje
Un tipo específico de modelo en NLP son los modelos de lenguaje (LM), un ejemplo notable es GPT-3. Estos modelos están diseñados para predecir la siguiente palabra dada una parte de una oración. Cuando una computadora predice la siguiente palabra de manera precisa una y otra vez, termina generando contenido significativo, como por ejemplo, los posts escritos por ChatGPT.
Modelos de Lenguaje de Gran Escala
Los Modelos de Lenguaje de Gran Escala (LLM) son solo modelos que predicen la siguiente palabra y tienen una gran cantidad de parámetros (en la escala de cientos de millones). Algunos de los modelos de LLM más famosos son GPT, BERT y T-5.
Redes neuronales
Una estructura de modelo frecuentemente utilizada en los modelos de lenguaje es la de redes neuronales. Están diseñadas para imitar vagamente cómo funcionan las neuronas en nuestro cerebro.
Conclusión
El procesamiento de lenguaje natural es una rama importante de la IA que se enfoca en dar a las computadoras la habilidad de entender el lenguaje escrito y hablado de la misma forma en que lo hacen los humanos. Los modelos de lenguaje y las redes neuronales son dos elementos clave en esta rama y han llevado a avances significativos en el campo.