Identificación de los componentes clave de las aplicaciones LLM
Los modelos de lenguaje grande (LLM) son como sistemas sofisticados de procesamiento de lenguaje diseñados para comprender y generar lenguaje humano. Piense en ellos como tener cuatro partes esenciales que funcionan conjuntamente, de forma similar a cómo un automóvil necesita un motor, sistema de combustible, transmisión y rueda de dirección para funcionar correctamente.
- Indicación: tus instrucciones para el modelo. El mensaje es cómo se comunica con el LLM. Es su pregunta, solicitud o instrucción.
- Tokenizer: descompone el lenguaje. El tokenizador es un traductor de idioma que convierte texto humano en un formato que el equipo puede entender.
- Modelo: el 'cerebro' de la operación. El modelo es el "cerebro" real que procesa la información y genera respuestas. Normalmente se basa en la arquitectura del transformador, utiliza mecanismos de auto-atención para procesar texto y genera respuestas contextualmente relevantes.
- Tareas: qué pueden hacer los LLM. Las tareas son las diferentes tareas lingüísticas que pueden llevar a cabo los LLM, como la clasificación de texto, la traducción y la generación de diálogos.
Estos componentes crean un sistema eficaz de procesamiento de lenguaje:
- Proporcione una indicación (su instrucción)
- El tokenizador lo desglosa (lo convierte en legible por el equipo).
- El modelo lo procesa (mediante la arquitectura del transformador y la auto-atención)
- El modelo realiza la tarea (genera la respuesta que necesita).
Este sistema coordinado es lo que permite a las LLM realizar tareas complejas de lenguaje con una precisión y fluidez notables, lo que hace que sean útiles para todo, desde la escritura de asistencia al servicio al cliente a la generación de contenido creativo.
Descripción de las tareas que realizan las LLM
Las LLM están diseñadas para realizar una amplia gama de tareas relacionadas con el lenguaje. Los LLM son ideales para procesamiento de lenguaje natural, o NLP (1), tareas, debido a su profundo conocimiento del texto y el contexto. El procesamiento de lenguaje natural (NLP) es el campo de la inteligencia artificial que se centra en permitir que los equipos comprendan, interpreten y generen lenguaje humano de una manera significativa y útil. En el contexto de las tareas de LLM, NLP representa la categoría de funciones relacionadas con el lenguaje en la que los modelos de LLM se destacan debido a su comprensión profunda del texto y el contexto.
Una categoría de tareas de NLP incluye comprensión del lenguaje natural, o NLU (2), tareas como el análisis de sentimiento, el reconocimiento de entidades con nombre (NER) y la clasificación de texto, lo que implica extraer significado e identificar elementos específicos dentro del texto.
Otro conjunto de tareas de NLP se encuentra en generación de lenguaje natural, o NLG (3), incluida la finalización de texto, el resumen, la traducción y la creación de contenido, donde el modelo genera texto coherente y contextualmente adecuado en función de las entradas dadas.
Las LLM también se usan en sistemas de diálogo y agentes conversacionales, donde pueden participar en conversaciones similares a personas, proporcionando respuestas relevantes y precisas a las consultas de los usuarios.
Comprender la importancia del tokenizador
La tokenización es un paso de preprocesamiento vital en los MLG. Convierte texto humano en un formato que un equipo puede entender. El texto se divide en unidades administrables denominadas tokens. Estos tokens pueden ser palabras, subpalabras o incluso caracteres individuales, en función de la estrategia de tokenización empleada.
El proceso de tokenización se puede resumir de la siguiente manera:
- Dividir texto en tokens: "Hola mundo" puede convertirse en ["Hello", "world"] o incluso ["Hel", "lo", "wor", "ld"]
- Controlar diferentes idiomas: Procesa inglés, español, chino, etc.
- Hacer que el procesamiento sea eficaz: Las partes más pequeñas son más fáciles para que el modelo funcione con
- Convertir en números: Los equipos funcionan con números, no letras, por lo que "Hello" se convierte en algo como [7592, 1917]
Tokenizadores modernos, como Codificación de pares de bytes (BPE) y WordPiece, divida palabras poco frecuentes o desconocidas en unidades de subpalabras, lo que permite al modelo controlar términos fuera de vocabulario de forma más eficaz.
Por ejemplo, considere la siguiente oración:
I heard a dog bark loudly at a cat
Para tokenizar este texto, puede identificar cada palabra discreta y asignarle identificadores de token. Por ejemplo:
- I (1)
- heard (2)
- a (3)
- dog (4)
- bark (5)
- loudly (6)
- at (7)
- a (3)
- cat (8)
La oración ahora se puede representar con los tokens:
{1 2 3 4 5 6 7 3 8}
La tokenización ayuda al modelo a mantener un equilibrio entre el tamaño del vocabulario y la eficacia representacional, lo que garantiza que puede procesar diversas entradas de texto con precisión.
La tokenización también permite al modelo convertir texto en formatos numéricos que se pueden procesar de forma eficaz durante el entrenamiento y la inferencia.
Descripción de la arquitectura del modelo subyacente
Piense en la arquitectura de un LLM como el plano técnico de una casa: muestra cómo todas las partes se organizan y trabajan juntas para crear algo funcional.
Las LLM se compilan con algo denominado arquitectura de transformador. Imagine que está leyendo un libro y necesita comprender cómo se relacionan las oraciones diferentes entre sí. El enfoque tradicional consiste en leer palabras por palabra, de izquierda a derecha, como leer normalmente. En el enfoque de transformador, podría ver toda la página a la vez y ver al instante cómo todas las palabras se conectan entre sí.
La auto-atención es una innovación clave que se usa en la arquitectura del transformador. Es como tener un resaltador súper inteligente que marca automáticamente las palabras más importantes para comprender cada frase.
Por ejemplo: En la frase "El perro perseguía la pelota porque estaba emocionado", la auto-atención ayuda al modelo a saber que "it" hace referencia a "el perro" (no a la pelota), aunque "perro" aparece anteriormente en la frase.
Los transformadores constan de capas de codificadores y descodificadores que funcionan conjuntamente para analizar el texto de entrada y generar salidas. El mecanismo de auto-atención permite al modelo ponderar la importancia de las diferentes palabras en una oración, lo que permite capturar de forma eficaz las dependencias y el contexto de largo alcance.
Vamos a usar este diagrama como ejemplo de cómo funciona el procesamiento de LLM.
El LLM se entrena en un gran volumen de texto de lenguaje natural.
Paso 1: Entrada : Entrenamiento de documentos y un aviso "Cuando mi perro era..." escriba el sistema.
Paso 2: Codificador (el analizador): divide el texto en tokens y analiza su significado. El bloque del codificador procesa secuencias de tokens mediante atención automática para determinar las relaciones entre tokens o palabras.
Paso 3: Se crean inserciones: la salida del codificador es una colección de vectores (matrices numéricas con varios valores) en la que cada elemento del vector representa un atributo semántico de los tokens. Estos vectores se conocen como incrustaciones. Son representaciones numéricas que capturan el significado:
- perro [10,3,2] - animal, mascota, sujeto
- gato [10,3,1] - animal, mascota, especies diferentes
- cachorro [5,2,1] - animal joven, relacionado con el perro
- skateboard [-3,3,2] - objeto, no relacionado con animales
Paso 4: Descodificador (el escritor): el bloque de descodificador funciona en una nueva secuencia de tokens de texto y usa las incrustaciones generadas por el codificador para generar una salida de lenguaje natural adecuada. Compara las opciones y elige la respuesta más adecuada.
Paso 5: Salida generada: dada una secuencia de entrada como
When my dog was, el modelo puede usar el mecanismo de auto-atención para analizar los tokens de entrada y los atributos semánticos codificados en las incrustaciones para predecir una finalización adecuada de la oración, comoa puppy.
Esta arquitectura es altamente paralelizable, lo que hace que sea eficaz para el entrenamiento en grandes conjuntos de datos. El tamaño del LLM, a menudo definido por el número de parámetros, determina su capacidad para almacenar el conocimiento lingüístico y realizar tareas complejas. Piense en parámetros como millones o miles de millones de celdas de memoria diminutas que almacenan patrones y reglas de lenguaje. Más celdas de memoria significan que el modelo puede recordar más sobre el lenguaje y controlar las tareas más difíciles. Los modelos grandes, como GPT-3 y GPT-4, contienen miles de millones de parámetros, lo que les permite almacenar grandes conocimientos de lenguaje.
Comprender la importancia del mensaje
Los mensajes son las entradas iniciales que se proporcionan a las VM para guiar sus respuestas. Son el conductor que hace que los cuatro componentes LLM (prompt, tokenizer, model, output) funcionen conjuntamente de forma eficaz. La calidad y claridad del aviso influyen significativamente en el rendimiento del modelo, y un aviso bien estructurado puede dar lugar a respuestas más precisas y relevantes.
La creación de indicaciones eficaces es fundamental para obtener la salida deseada del modelo. Las indicaciones pueden variar desde instrucciones sencillas hasta consultas complejas y el modelo genera texto basado en el contexto y la información proporcionada en el mensaje.
Por ejemplo, un mensaje puede ser:
Translate the following English text to French: "Hello, how are you?"
Además de las solicitudes estándar, técnicas como ingeniería de mensajes implican refinamiento y optimización de solicitudes para mejorar la salida del modelo para tareas o aplicaciones específicas.
Un ejemplo de ingeniería rápida, donde se proporcionan instrucciones más detalladas:
Generate a creative story about a time-traveling scientist who discovers a new planet. Include elements of adventure and mystery.
La interacción entre las tareas, la tokenización, el modelo y las indicaciones es lo que hace que las LLM sean tan eficaces y versátiles. La capacidad del modelo para realizar varias tareas se mejora cuando se tiene una tokenización eficaz, lo que garantiza que las entradas de texto se procesen con precisión. La arquitectura basada en transformadores permite que el modelo comprenda y genere texto en función de los tokens y el contexto proporcionado por las indicaciones.