Es posible que algunas de las fuentes mencionadas en este artículo no sean confiables . ( Octubre de 2024 ) |
La ingeniería de indicaciones es el proceso de estructurar una instrucción que pueda ser interpretada y entendida por un modelo de inteligencia artificial (IA) generativa . [1] [2] Una indicación es un texto en lenguaje natural que describe la tarea que debe realizar una IA. [3] Una indicación para un modelo de lenguaje de texto a texto puede ser una consulta como "¿cuál es el pequeño teorema de Fermat ?", [4] un comando como "escribe un poema al estilo de Edgar Allan Poe sobre las hojas que caen", [5] o una declaración más larga que incluya contexto, instrucciones, [6] e historial de conversación.
La ingeniería rápida puede implicar formular una consulta, especificar un estilo [5] , proporcionar un contexto relevante [7] o asignar un rol a la IA como "actuar como un hablante nativo de francés". [8]
Al comunicarse con un modelo de texto a imagen o de texto a audio, un mensaje típico es una descripción de un resultado deseado, como "una foto de alta calidad de un astronauta montando a caballo" [9] o "electro chill de baja fidelidad con BPM lento con muestras orgánicas". [10] Dar mensajes a un modelo de texto a imagen puede implicar agregar, quitar, enfatizar y reordenar palabras para lograr un tema, estilo [1] , diseño, iluminación [11] y estética deseados.
En 2018, los investigadores propusieron por primera vez que todas las tareas que antes se hacían por separado en el procesamiento del lenguaje natural podrían plantearse como un problema de respuesta a preguntas sobre un contexto. Además, entrenaron un primer modelo único, conjunto y multitarea que respondería a cualquier pregunta relacionada con la tarea, como "¿Cuál es el sentimiento?", "Traduce esta oración al alemán" o "¿Quién es el presidente?" [12].
En 2021, los investigadores ajustaron un modelo preentrenado generativamente (T0) para realizar 12 tareas de PNL (utilizando 62 conjuntos de datos, ya que cada tarea puede tener múltiples conjuntos de datos). El modelo mostró un buen desempeño en nuevas tareas, superando a los modelos entrenados directamente para realizar solo una tarea (sin preentrenamiento). Para resolver una tarea, se le da a T0 la tarea en una indicación estructurada, por ejemplo, If {{premise}} is true, is it also true that {{hypothesis}}? ||| {{entailed}}.
es la indicación utilizada para hacer que T0 resuelva la implicación . [13]
Un repositorio de sugerencias informó que en febrero de 2022 había disponibles más de 2000 sugerencias públicas para alrededor de 170 conjuntos de datos. [14]
En 2022, los investigadores de Google propusieron la técnica de incitación por cadena de pensamientos . [15] [16]
En 2023, varias bases de datos de indicaciones de texto a texto y de texto a imagen estuvieron disponibles públicamente. [17] [18]
Según Google, se afirma que la incitación en cadena de pensamiento (CoT) es una técnica que permite a los grandes modelos lingüísticos (LLM) resolver un problema como una serie de pasos intermedios [19] antes de dar una respuesta final. En 2022, Google también afirmó que la incitación en cadena de pensamiento mejora la capacidad de razonamiento al inducir al modelo a responder un problema de varios pasos con pasos de razonamiento que imitan una línea de pensamiento . [20] [15] [21] Las técnicas de cadena de pensamiento permiten hipotéticamente que los grandes modelos lingüísticos superen las dificultades con algunas tareas de razonamiento que requieren pensamiento lógico y múltiples pasos para resolver, como preguntas de razonamiento aritmético o de sentido común , según anuncios de Google y Amazon. [22] [23] [24]
Por ejemplo, dada la pregunta "P: La cafetería tenía 23 manzanas. Si usaron 20 para preparar el almuerzo y compraron 6 más, ¿cuántas manzanas tienen?", Google afirma que una pregunta de CoT podría inducir al LLM a responder "A: La cafetería tenía 23 manzanas originalmente. Usaron 20 para preparar el almuerzo. Entonces tenían 23 - 20 = 3. Compraron 6 manzanas más, por lo que tienen 3 + 6 = 9. La respuesta es 9". [15]
Como propuso originalmente Google, [15] cada mensaje de CoT incluía algunos ejemplos de preguntas y respuestas. Esto lo convertía en una técnica de mensajes de respuesta rápida . Sin embargo, según investigadores de Google y la Universidad de Tokio, simplemente añadir las palabras "Pensemos paso a paso" [25] también ha demostrado ser eficaz, lo que convierte a CoT en una técnica de mensajes de respuesta rápida . OpenAI afirma que este mensaje permite una mejor escalabilidad, ya que el usuario ya no necesita formular muchos ejemplos específicos de preguntas y respuestas de CoT. [26]
Cuando se aplicó a PaLM , un modelo de lenguaje de parámetros 540B , Google afirma que la incitación de CoT ayudó significativamente al modelo, lo que le permitió funcionar de manera comparable con modelos afinados específicos de la tarea en varias tareas, logrando resultados de vanguardia en ese momento en el punto de referencia de razonamiento matemático GSM8K . [15] Según Google, es posible afinar los modelos en conjuntos de datos de razonamiento CoT para mejorar aún más esta capacidad y estimular una mejor interpretabilidad . [27] [28]
Ejemplo: [25]
P: {pregunta} A: Pensemos paso a paso.
La inducción por cadena de pensamientos es sólo una de las muchas técnicas de ingeniería de inducción. Se han propuesto otras técnicas y se han publicado al menos 29 técnicas distintas. [29]
Incitación por cadena de símbolos (CoS)
Una colaboración de investigación entre la Universidad de Westlake, la Universidad China de Hong Kong y la Universidad de Edimburgo ha afirmado que la incitación por cadena de símbolos junto con la incitación por CoT ayuda a los estudiantes de maestría en derecho con su dificultad de razonamiento espacial en el texto. En otras palabras, el uso de símbolos arbitrarios como "/" ayuda a los estudiantes de maestría en derecho a interpretar el espaciado en el texto. Se afirma que esto ayuda al razonamiento y aumenta el rendimiento del estudiante de maestría en derecho. [30]
Ejemplo: [30]
Aporte: Hay un conjunto de ladrillos. El ladrillo amarillo C está encima del ladrillo E. El ladrillo amarillo D está encima del ladrillo A. El ladrillo amarillo E está encima del ladrillo D. El ladrillo blanco A está encima del ladrillo B. Para el ladrillo B, el color es blanco. Ahora tenemos que conseguir un ladrillo específico. Ahora hay que agarrar los ladrillos de arriba a abajo, y si hay que agarrar el ladrillo inferior, hay que quitar primero el superior. ¿Cómo conseguir el ladrillo D?B/A/D/E/CC/EA/DDProducción:Así que obtenemos el resultado como C, E, D.
Aprendizaje de pocos intentos
Un mensaje puede incluir algunos ejemplos para que un modelo aprenda, como pedirle al modelo que complete " maison → house, chat → cat, chien →" (la respuesta esperada es dog ), [31] un enfoque llamado aprendizaje de pocos intentos . [32]
El conocimiento generado [33] primero le pide al modelo que genere hechos relevantes para completar la instrucción y luego proceda a completarla. La calidad de la finalización suele ser mayor [ cita requerida ] , ya que el modelo puede condicionarse a hechos relevantes.
Ejemplo: [33]
Generar algún conocimiento sobre los conceptos en la entrada. Entrada: {pregunta} Conocimiento:
La indicación de menor a mayor [34] indica a un modelo que primero enumere los subproblemas de un problema y luego los resuelva en secuencia, de modo que los subproblemas posteriores se puedan resolver con la ayuda de las respuestas a los subproblemas anteriores.
Ejemplo: [34]
Aporte: P: {pregunta} A: Analicemos este problema: 1.
La decodificación de autoconsistencia [35] realiza varias secuencias de ideas y luego selecciona la conclusión a la que se llega con mayor frecuencia de todas. Si las secuencias difieren en gran medida, se puede consultar a un humano para que indique la secuencia de ideas correcta. [36]
La estimulación basada en la complejidad [37] realiza varias implementaciones de CoT, luego selecciona las implementaciones con las cadenas de pensamiento más largas y luego selecciona la conclusión a la que se llega con mayor frecuencia entre ellas.
El autorefinamiento [38] solicita al LLM que resuelva el problema, luego solicita al LLM que critique su solución y luego solicita al LLM que resuelva el problema nuevamente en vista del problema, la solución y la crítica. Este proceso se repite hasta que se detiene, ya sea porque se agotan los tokens, el tiempo o porque el LLM emite un token de "detención".
Ejemplo de crítica: [38]
Tengo un código. Haz una sugerencia para mejorar la legibilidad. No arregles el código, solo haz una sugerencia. Código: {código} Sugerencia:
Ejemplo de refinamiento:
Código: {código} Utilicemos esta sugerencia para mejorar el código. Sugerencia: {sugerencia} Nuevo código:
La incitación por árbol de pensamiento [39] generaliza la cadena de pensamiento al incitar al modelo a generar uno o más "posibles pasos siguientes" y luego ejecutar el modelo en cada uno de los posibles pasos siguientes mediante búsqueda en amplitud , haz o algún otro método de búsqueda en árbol. [40]
La incitación mayéutica es similar al árbol del pensamiento. Se le pide al modelo que responda una pregunta con una explicación. Luego se le pide al modelo que explique partes de la explicación, y así sucesivamente. Los árboles de explicación inconsistentes se podan o descartan. Esto mejora el desempeño en el razonamiento complejo de sentido común. [41]
Ejemplo: [41]
P: {pregunta} A: Cierto, porque
P: {pregunta} A: Falso, porque
La estimulación direccional [42] incluye una pista o señal, como palabras clave deseadas, para guiar un modelo de lenguaje hacia el resultado deseado.
Ejemplo: [42]
Artículo: {article} Palabras clave:
Artículo: {article} P: Escriba un resumen breve del artículo en 2 a 4 oraciones que incorpore con precisión las palabras clave proporcionadas. Palabras clave: {keywords} A:
De manera predeterminada, la salida de los modelos de lenguaje puede no contener estimaciones de incertidumbre. El modelo puede generar texto que parezca confiable, aunque las predicciones de tokens subyacentes tengan puntajes de probabilidad bajos . Los modelos de lenguaje grandes como GPT-4 pueden tener puntajes de probabilidad calibrados con precisión en sus predicciones de tokens, [43] y, por lo tanto, la incertidumbre de la salida del modelo se puede estimar directamente leyendo los puntajes de probabilidad de las predicciones de tokens.
Pero si no se puede acceder a dichas puntuaciones (por ejemplo, cuando se accede al modelo a través de una API restrictiva), la incertidumbre aún se puede estimar e incorporar en la salida del modelo. Un método simple es pedirle al modelo que use palabras para estimar la incertidumbre. [44] Otro es pedirle al modelo que se niegue a responder de manera estandarizada si la entrada no satisface las condiciones. [ cita requerida ]
Esta sección puede resultar confusa o poco clara para los lectores . En particular, se adentra en la implementación técnica del vector antes de posicionar el concepto general. ( Julio de 2024 ) |
La generación aumentada por recuperación (RAG) es un proceso de dos fases que implica la recuperación de documentos y la formulación de respuestas mediante un modelo de lenguaje grande (LLM). La fase inicial utiliza incrustaciones densas para recuperar documentos. Esta recuperación puede basarse en una variedad de formatos de base de datos según el caso de uso, como una base de datos vectorial , un índice de resumen, un índice de árbol o un índice de tabla de palabras clave. [45]
En respuesta a una consulta, un recuperador de documentos selecciona los documentos más relevantes. Esta relevancia se determina típicamente codificando primero la consulta y los documentos en vectores, luego identificando los documentos cuyos vectores están más cerca en distancia euclidiana al vector de consulta. Después de la recuperación del documento, el LLM genera una salida que incorpora información tanto de la consulta como de los documentos recuperados. [46] Este método es particularmente beneficioso para manejar información patentada o dinámica que no se incluyó en las fases iniciales de entrenamiento o ajuste del modelo. RAG también es notable por su uso del aprendizaje de "pocos disparos", donde el modelo usa una pequeña cantidad de ejemplos, a menudo recuperados automáticamente de una base de datos, para informar sus salidas.
GraphRAG [47] (acuñado por Microsoft Research) es una técnica que extiende RAG con el uso de un gráfico de conocimiento (generalmente generado por LLM) para permitir que el modelo conecte piezas dispares de información, sintetice conocimientos y comprenda de manera integral conceptos semánticos resumidos en grandes colecciones de datos.
Se demostró que es eficaz en conjuntos de datos como la Información sobre incidentes violentos de artículos de noticias (VIINA). [48] Al combinar gráficos de conocimiento generados por LLM con aprendizaje automático de gráficos, GraphRAG mejora sustancialmente la exhaustividad y diversidad de las respuestas generadas para preguntas de sentido global.
Trabajos anteriores demostraron la eficacia de utilizar un gráfico de conocimiento para responder preguntas mediante la generación de texto a consulta. [49] Estas técnicas se pueden combinar para buscar en datos estructurados y no estructurados, lo que proporciona un contexto ampliado y una clasificación mejorada.
Los modelos de lenguaje grandes (LLM) se pueden utilizar para componer indicaciones para modelos de lenguaje grandes. [50] [51] [52] [53]
El algoritmo automático de ingeniería de indicaciones utiliza un LLM para realizar búsquedas en indicaciones de otro LLM: [54]
Los ejemplos de CoT pueden ser generados por el propio LLM. En "CoT automático", [55] una biblioteca de preguntas se convierte en vectores mediante un modelo como BERT . Los vectores de preguntas se agrupan . Se seleccionan las preguntas más cercanas a los centroides de cada grupo. Un LLM realiza un CoT de cero disparos en cada pregunta. Los ejemplos de CoT resultantes se agregan al conjunto de datos. Cuando se solicita una nueva pregunta, se pueden recuperar ejemplos de CoT de las preguntas más cercanas y agregarlos al mensaje.
La ingeniería de indicaciones puede posiblemente ser habilitada aún más por el aprendizaje en contexto , definido como la capacidad de un modelo para aprender temporalmente de indicaciones. La capacidad para el aprendizaje en contexto es una capacidad emergente [56] de los modelos de lenguaje grandes . El aprendizaje en contexto en sí mismo es una propiedad emergente de la escala del modelo , lo que significa que ocurren rupturas [57] en las leyes de escalamiento descendente de tal manera que su eficacia aumenta a un ritmo diferente en modelos más grandes que en modelos más pequeños. [58] [15]
A diferencia del entrenamiento y el ajuste fino para cada tarea específica, que no son temporales, lo aprendido durante el aprendizaje en contexto es de naturaleza temporal. No lleva los contextos temporales ni los sesgos, excepto los que ya están presentes en el conjunto de datos de (pre)entrenamiento , de una conversación a la otra. [59] Este resultado de la "optimización de mesa" [60] [61] dentro de las capas de transformadores es una forma de metaaprendizaje o "aprender a aprender". [62]
En 2022, se lanzaron al público modelos de texto a imagen como DALL-E 2 , Stable Diffusion y Midjourney . [63] Estos modelos toman indicaciones de texto como entrada y las usan para generar imágenes de arte de IA . Los modelos de texto a imagen generalmente no comprenden la gramática y la estructura de las oraciones de la misma manera que los modelos de lenguaje grandes , [64] y requieren un conjunto diferente de técnicas de indicaciones.
Un mensaje de texto a imagen generalmente incluye una descripción del tema de la obra de arte (como amapolas de color naranja brillante ), el medio deseado (como pintura digital o fotografía ), el estilo (como hiperrealista o pop-art ), la iluminación (como iluminación de borde o rayos crepusculares ), el color y la textura. [65]
La documentación de Midjourney fomenta indicaciones breves y descriptivas: en lugar de "Muéstrame una imagen de muchas amapolas de California en flor, hazlas de un naranja brillante y vibrante, y dibújalas en un estilo ilustrado con lápices de colores", una indicación eficaz podría ser "Amapolas de California de color naranja brillante dibujadas con lápices de colores". [64]
El orden de las palabras afecta el resultado de una instrucción de texto a imagen. Las palabras que se encuentran más cerca del comienzo de una instrucción pueden tener un mayor énfasis. [1]
Algunos modelos de conversión de texto a imagen son capaces de imitar el estilo de artistas concretos por su nombre. Por ejemplo, la frase en el estilo de Greg Rutkowski se ha utilizado en los mensajes de Stable Diffusion y Midjourney para generar imágenes en el estilo distintivo del artista digital polaco Greg Rutkowski. [66]
Los modelos de conversión de texto a imagen no comprenden de forma nativa la negación. Es probable que la indicación "una fiesta sin tarta" produzca una imagen que incluya una tarta. [64] Como alternativa, las indicaciones negativas permiten al usuario indicar, en una indicación aparte, qué términos no deben aparecer en la imagen resultante. [67]
Algunos enfoques amplían o reemplazan las indicaciones de texto en lenguaje natural con entradas que no son texto.
Para los modelos de texto a imagen, la "inversión textual" [68] realiza un proceso de optimización para crear una nueva palabra incrustada en base a un conjunto de imágenes de ejemplo. Este vector de incrustación actúa como una "pseudopalabra" que puede incluirse en un mensaje para expresar el contenido o el estilo de los ejemplos.
En 2023, la investigación de IA de Meta lanzó Segment Anything, un modelo de visión artificial que puede realizar la segmentación de imágenes mediante indicaciones. Como alternativa a las indicaciones de texto, Segment Anything puede aceptar cuadros delimitadores, máscaras de segmentación y puntos de primer plano y fondo. [69]
En el "ajuste de prefijo", [70] "ajuste de aviso" o "aviso suave", [71] los vectores con valores de punto flotante se buscan directamente por descenso de gradiente , para maximizar la verosimilitud logarítmica en las salidas.
Formalmente, sea un conjunto de tokens de indicaciones suaves (incrustaciones ajustables), mientras que y sean las incrustaciones de tokens de la entrada y la salida respectivamente. Durante el entrenamiento, las incrustaciones ajustables, los tokens de entrada y salida se concatenan en una sola secuencia y se alimentan a los modelos de lenguaje grandes (LLM). Las pérdidas se calculan sobre los tokens; los gradientes se retropropagan a parámetros específicos de las indicaciones: en el ajuste de prefijos, son parámetros asociados con los tokens de indicaciones en cada capa; en el ajuste de indicaciones, son simplemente los tokens suaves agregados al vocabulario. [72]
Más formalmente, esto es un ajuste rápido. Sea un LLM escrito como , donde es una secuencia de tokens lingüísticos, es la función token-a-vector y es el resto del modelo. En el ajuste de prefijo, se proporciona un conjunto de pares de entrada-salida , y luego se usa el descenso de gradiente para buscar . En palabras, es la probabilidad logarítmica de generar , si el modelo primero codifica la entrada en el vector , luego antepone el vector con el "vector de prefijo" , luego aplica .
Para el ajuste de prefijo, es similar, pero el "vector de prefijo" se agrega previamente a los estados ocultos en cada capa del modelo.
Un resultado anterior [73] utiliza la misma idea de búsqueda por descenso de gradiente, pero está diseñado para modelos de lenguaje enmascarado como BERT, y busca solo en secuencias de tokens, en lugar de vectores numéricos. Formalmente, busca dónde se encuentran los rangos en secuencias de tokens de una longitud especificada.
La inyección de instrucciones es una familia de exploits de seguridad informática relacionados que se llevan a cabo haciendo que un modelo de aprendizaje automático (como un LLM) que fue entrenado para seguir instrucciones dadas por humanos siga instrucciones proporcionadas por un usuario malintencionado. Esto contrasta con el funcionamiento previsto de los sistemas de seguimiento de instrucciones, en los que el modelo de ML está destinado únicamente a seguir instrucciones confiables (instrucciones) proporcionadas por el operador del modelo de ML. [74] [75] [76]
de texto a imagen
pueda interpretar y comprender . Piense en ello como el lenguaje que necesita hablar para decirle a un modelo de IA qué dibujar.
La ingeniería rápida es el arte de comunicarse con un modelo de IA generativo.
Demostramos que los modelos de lenguaje pueden realizar tareas posteriores en un entorno de cero disparos, sin ninguna modificación de parámetros o arquitectura.
¿Qué es el pequeño teorema de Fermat?
"Indicación básica: 'Escribe un poema sobre la caída de las hojas'. Indicación mejor: 'Escribe un poema al estilo de Edgar Allan Poe sobre la caída de las hojas'.
A continuación, di un mensaje más complicado para intentar confundir a MusicGen: "Lo-fi slow BPM electro chill con samples orgánicos".
'La estimulación en cadena de pensamientos nos permite describir problemas de varios pasos como una serie de pasos intermedios', afirma Sundar Pichai, director ejecutivo de Google
...indicación de menor a mayor. La idea clave de esta estrategia es dividir un problema complejo en una serie de subproblemas más simples y luego resolverlos en secuencia.
El estímulo direccional sirve como pistas o señales para cada consulta de entrada para guiar a los LLM hacia el resultado deseado, como palabras clave que el resumen deseado debe incluir para resumir.
Si indica explícitamente en su indicación que desea que la IA generativa emita una calificación de certeza o incertidumbre, es casi seguro que obtendrá dicha indicación.
{{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda ){{cite journal}}
: Requiere citar revista |journal=
( ayuda )En la indicación, un modelo de lenguaje entrenado previamente recibe una indicación (por ejemplo, una instrucción en lenguaje natural) de una tarea y completa la respuesta sin ningún entrenamiento adicional o actualizaciones de gradiente de sus parámetros... La capacidad de realizar una tarea a través de una indicación de pocos intentos es emergente cuando un modelo tiene un rendimiento aleatorio hasta una cierta escala, después de la cual el rendimiento aumenta muy por encima del aleatorio.
Para cuando escriba una consulta en ChatGPT, la red debería estar arreglada; a diferencia de los humanos, no debería seguir aprendiendo. Por eso, fue una sorpresa que los LLM, de hecho, aprendan de las indicaciones de sus usuarios, una capacidad conocida como aprendizaje en contexto.
De esta manera, mostramos cómo los transformadores entrenados se convierten en optimizadores de mesa, es decir, aprenden modelos mediante descenso de gradiente en su paso hacia adelante.
Mesa-Optimization es la situación que ocurre cuando un modelo aprendido (como una red neuronal) es en sí mismo un optimizador.
El entrenamiento de un modelo para realizar aprendizaje en contexto puede considerarse como una instancia del paradigma más general de aprendizaje a aprender o metaaprendizaje.
Usando solo 3-5 imágenes de un concepto proporcionado por el usuario, como un objeto o un estilo, aprendemos a representarlo a través de nuevas "palabras" en el espacio de incrustación de un modelo de texto a imagen congelado.
En este artículo, proponemos el prefijo-tuning, una alternativa ligera al ajuste fino... El prefijo-tuning se inspira en el prefijo-tuning.
En este trabajo, exploramos el "ajuste de indicaciones", un mecanismo simple pero efectivo para aprender "indicaciones suaves"... A diferencia de las indicaciones de texto discretas utilizadas por GPT-3, las indicaciones suaves se aprenden mediante retropropagación.