

"inteligencia Artificial y el Prompt Engineering"
¿QUÉ ES LA INGENIERÍA DE PROMPT?
La Ingeniería de Indicaciones o Prompt Engineering se refiere al proceso de estructurar una instrucción que pueda ser interpretada y entendida por un modelo de Inteligencia Artificial Generativa. Es el proceso por el cual se guían las soluciones de inteligencia artificial generativa para generar los resultados deseados. Aunque la IA Generativa intenta imitar a los humanos, requiere instrucciones detalladas para crear resultados relevantes y de alta calidad. En la Ingeniería de Prompt (indicaciones) usted elige los formatos, frases, palabras y símbolos más adecuados que guían a la IA para interactuar con los usuarios de manera más significativa. Los ingenieros de Prompt recurren a la creatividad y al método de prueba y error para crear una colección de textos de entrada, de modo que la IA Generativa de una aplicación funcione como se espera.
¿Qué ES UN PROMPT (INDICACIÓN)?
Una indicacióno Prompt es un texto en lenguaje natural que describe la tarea que debe realizar una Inteligencia Artificial (solidita a la IA Generativa que realice una tarea específica): una Indicación (Prompt) para un modelo de lenguaje de texto a texto puede ser una consulta como “¿cuál es el pequeño teorema de Fermat?”, una orden como “Escribe un poema sobre las horas que caen”; o una declaración más larga que incluya contexto, instrucciones e historial de conversación.
La IA Generativa es una solución de inteligencia artificial que crea contenido nuevo, como historias, conversaciones, videos, imágenes y música. Se basa en modelos de machine learning (ML) de gran tamaño que utilizan redes neuronales profundas entrenadas previamente con grandes cantidades de datos.
Los Modelos de Lenguaje Grandes (LLM)son muy flexibles y pueden realizar diversas tareas. Por ejemplo, pueden resumir documentos, completar oraciones, responder preguntas y traducir idiomas. Para una entrada específica del usuario, los modelos funcionan prediciendo la mejor saluda que determinan a partir de entrenamientos anteriores.
Sin embargo, como son tan abiertos, sus usuarios pueden interactuar con soluciones de IA Generativas a través de innumerables combinaciones de datos de entrada. Los modelos de lenguaje de IA son muy eficaces y no requieren mucho para empezar a crear contenido. Una sólida palabra es suficiente para que el sistema cree una respuesta detallada.
Dicho esto, no todos los tipos de entrada generan resultados útiles. Los sistemas de IA Generativa requieren contexto e información detallada para producir respuestas precisas y pertinentes. Cuando diseña indicaciones de forma sistemática, obtiene creaciones más significativas y utilizables. En la ingeniería de indicaciones, las indicaciones se perfeccionan continuamente hasta que se obtienen los resultados deseados del sistema de IA.
La Ingeniería de Indicaciones (Prompt Engineering) puede implicar formular una consulta, especificar un estilo, proporcionar un contexto relevante o asignar un rol a la inteligencia artificial (IA) como “Actúa como un hablante nativo de francés”. Una Indicación (Prompt) puede incluir algunos ejemplos para que un modelo aprenda, como pedirle al modelo que complete “maison --˃ house, chat --˃ cat. Chain --˃” (la respuesta esperada es dog), un enfoque llamado Aprendizaje de Pocos intentos o Few-shot Learning.
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”, o “Electro chill de BPM lento de baja fidelidad con muestras orgánicas”. Dar mensajes a un modelo de texto a imagen puede implicar agregar, eliminar, enfatizar y reordenar palabras para lograr un tema, estilo, diseño, iluminación y estética deseados.
¿POR QUÉ ES IMPORTANTE LA INGENIERÍA DE PROMPT (IINGENIERÍA DE INDICACIONES?
Los empleos de la ingeniería de prompts han aumentado significativamente desde el lanzamiento de la IA Generativa. Los ingenieros de prompts son el puente entre los usuarios finales y el modelo de lenguaje grande. Identifican los scripts y las plantillas que los usuarios pueden personalizar y completar para obtener el mejor resultado de los modelos de lenguaje. Estos ingenieros experimentan con diferentes tipos de datos proporcionados para crear una biblioteca de indicaciones que los desarrolladores de aplicaciones pueden volver a utilizar en diferentes escenarios.
La Ingeniería de Prompts hace que las aplicaciones de IA sean más eficientes y efectivas. Los desarrolladores de aplicaciones suelen encapsular los datos proporcionados indefinidos del usuario en una indicación antes de pasarlos al modelo de IA.
Por ejemplo, consideremos los Chatbots de IA. Un usuario puede escribir un enunciado incompleto sobre un problema, como el siguiente: “Dónde comprar una camisa”. Internamente, el código de la aplicación utiliza una indicación diseñada que dice lo siguiente: “Eres asistente de ventas de una empresa de ropa. Un usuario, ubicado en Alabama, Estados Unidos, te pregunta dónde puede comprar una camisa. Responde con las tres tiendas más cercanas que tienen una camisa disponible en este momento”. Luego, el chatbot genera información más pertinente y precisa.
A continuación se enlazan algunos beneficios de la ingeniería de indicaciones.
MAYOR CONTROL PARA LOS DESARROLLADORES: La Ingeniería de Prompts brinda a los desarrolladores un mayor control sobre las interacciones de los usuarios con la IA. Las indicaciones eficaces proporcionan la intención y establecen el contexto para los modelos de lenguaje grandes. Ayudan a la IA a refinar el resultado y presentarlo de forma concisa en el formato requerido.
También evitan que los usuarios hagan un mal uso de la IA o soliciten algo que la IA no sabe o no puede manejar correctamente. Por ejemplo, es posible que se quiera limitar la generación de contenido inadecuado por parte de los usuarios en una aplicación de IA empresarial.
EXPERIENCIA DE USUARIO MEJORADA: Los usuarios evitan el método de prueba y error y, aun así, reciben respuestas coherentes, precisas y pertinentes de las herramientas de IA. La ingeniería de prompt facilita a los usuarios la obtención de resultados pertinentes en la primera indicación. Ayuda a mitigar los prejuicios que pueden estar presentes debido a los prejuicios humanos que haya en los datos de entrenamiento de los modelos de lenguaje grandes.
MAYOR FLEXIBILIDAD: Los niveles más altos de abstracción mejoran los modelos de IA y permiten a las organizaciones crear herramientas más flexibles a escala. Un ingeniero de prompt puede crear indicaciones con instrucciones independientes del dominio que resalten los enlaces lógicos y los patrones generales. Las organizaciones pueden volver a utilizar rápidamente las indicaciones en la empresa para ampliar sus inversiones en IA.
Por ejemplo, para encontrar oportunidades de optimización de procesos, el ingeniero de prompt puede crear indicaciones diferentes que entrenen al modelo de IA para detectar ineficiencias mediante señales amplias en lugar de datos específicos del contexto. Luego, las indicaciones se pueden utilizar para diversos procesos y unidades de negocio.
¿CUÁLES SON ALGUNOS CASOS DE USO DE LA INGENIERÍA DE PROMPTS?
Las técnicas de ingeniería de prompts se utilizan en sistemas de IA sofisticados para mejorar la experiencia del usuario con el modelo de aprendizaje del lenguaje. A continuación se indican varios ejemplos:
EXPERIENCIA EN LA MATERIA: La Ingeniería de Prompts desempeña un papel clave en las aplicaciones que requieren que la IA responda con experiencia en la materia. Un ingeniero de prompts con experiencia en el campo puede guiar a la IA para que consulte las fuentes correctas y formule la respuesta de manera adecuada en función de la pregunta formulada.
Por ejemplo, en el campo de la medicina, un médico podrá utilizar un modelo de lenguaje de ingeniería de prompts para generar diapositivas diferenciales para un caso complejo. El profesional médico solo necesita ingresar los síntomas y la información detallada del paciente. La aplicación utiliza indicaciones diseñada para guiar primero a la IA a enumerar las posibles enfermedades asociadas a los síntomas indicados. Luego, reduce la lista en función de la información adicional del paciente.
PENSAMIENTO CRÍTICO: Las aplicaciones de pensamiento crítico necesitan el modelo de lenguaje para resolver problemas complejos. Para ello, el modelo analiza la información desde diferentes ángulos, evalúa su credibilidad y toma decisiones razonadas. La ingeniería de prompt mejora las funcionalidades de análisis de datos de un modelo.
Por ejemplo, en los escenarios de toma de decisiones, puede indicar a un modelo que enumere todas las opciones posibles, evalúe cada una y recomiende la mejor solución.
CREATIVIDAD: La creatividad implica genera nuevas ideas, conceptos o soluciones. La ingeniería de indicaciones se puede utilizar para mejorar las habilidades creativas de un modelo en diversos escenarios.
Por ejemplo, en escenarios de escritura, un escritor podría utilizar un modelo de ingeniería de prompts para generar ideas para una historia. El escritor puede indicar al modelo que enumere los posibles personajes, escenarios y puntos de la trama y, luego, desarrolle una historia con esos elementos. O bien, un diseñador gráfico podría indicar al modelo que genere una lista de paletas de colores que evoquen una emoción determinada y, luego cree un diseño con esa paleta.
¿QUÉ SON LAS TÉCNICAS DE INGENIERÍA DE INDICACIONES?
La ingeniería de prompts es un campo dinámico y en evolución. Se requieren habilidades lingüísticas y expresión creativa para ajustar las indicaciones y obtener la respuesta deseada de las herramientas de IA Generativa.
A continuación, se muestran algunos ejemplos de técnicas que utilizan los ingenieros de prompts para mejorar las tareas de procesamiento de lenguaje natural (NLP) de modelo de IA.
APRENDIZAJE EN CONTEXTO.
La Ingeniería de Indicaciones (Prompt Engineering) es posible gracias al Aprendizaje en Contexto, (In-Context Learning) definido como la capacidad de un modelo de aprender temporalmente a partir de indicaciones. La capacidad de Aprendizaje en Contextoes una capacidad emergente 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 se producen rupturas en las leyes de escalamiento posteriores de modo que su eficacia aumenta a un ritmo diferente en los modelos más grandes que en los modelos más pequeños.
A diferencia del Entrenamiento y el Ajuste Fino (Fine-Tunning para cada tarea específica, que no son temporales, lo que se ha aprendido durante el aprendizaje en contexto es de naturaleza temporal. No lleva los contextos o sesgos temporales, excepto los que ya están presentes en el conjunto de datos (pre)entrenamiento, de una conversación a la otra. Este resultado de la “optimización de mesa (mesa optimization)”dentro de las capas de transformadores es una forma de meta aprendizaje o “aprender a aprender”.
INDICACIONES DE CONOCIMIENTO GENERADOS: Esta técnica consiste en indicar al modelo que genere primero los datos pertinentes necesarios para completar la indicación. Luego, procede a completarlas. Esto a menudo se traduce en una mayor calidad de finalización, ya que el modelo está condicionado por datos pertinentes.
Por ejemplo, imagine que un usuario indica al modelo que escriba un ensayo sobre los efectos de la deforestación. El modelo podría generar primero los datos siguientes: “la deforestación contribuye al cambio climático” y “la deforestación da lugar a la pérdida de biodiversidad”. Luego, explicaría con más detalle los puntos del ensayo.
INDICACIONES DE MÍNIMO A MÁXIMO: En esta técnica de ingeniería de prompt, primero se indica al modelo que enumere los subproblemas de un problema y, luego, que los resuelva en secuencia. Este enfoque garantiza que los subproblemas posteriores se puedan resolver con la ayuda de las respuestas a los subproblemas anteriores.
Por ejemplo, imagine que un usuario indica al modelo el problema matemático siguiente. “Resuelve x en la ecuación 2x + 3 = 22”. El modelo podría enumerar primero los subproblemas de la manera siguiente: “Restar 3 de ambos lados” y “Dividir entre 2”. Luego, los resolverá en secuencia para obtener la respuesta final.
INDICACIONES DE REFINAMIENTO AUTOMÁTICO: En esta técnica de ingeniería de prompts, primero se indica al modelo que enumere los subproblemas de un problema y, luego, que los resuelva en secuencia. Este enfoque garantiza que los subproblemas posteriores se puedan resolver con la ayuda de las respuestas a los subproblemas anteriores.
Por ejemplo, imagine que un usuario indica al modelo “Escribe un ensayo corto sobre literatura”. El modelo podría redactar un ensayo, criticarlo por falta de ejemplos específicos y volver a escribirlo para incluir ejemplos específicos. Este proceso se repetiría hasta que el ensayo se considerara satisfactorio o se cumpliera un criterio para detenerse.
INDICADORES DE ESTÍMULOS DIRECCIONADOS: En esta técnica de ingeniería de prompt se incluye una sugerencia o pista, como las palabras clave deseadas, para guiar el modelo de lenguaje hacia el resultado deseado.
Por ejemplo, si la indicación es escribir un poema sobre el amor, el ingeniero de indicaciones puede crear indicaciones que incluyan “corazón”, “pasión” y “eterno”.Al modelo se le podría indicar lo siguiente: “Escribe un poema sobre el amor que incluya las palabras “corazón”, “pasión” y “eterno”. Esto guiará al modelo para elaborar un poema con estas palabras clave.
¿CUÁLES SON ALGUNAS DE LAS PRÁCTICAS RECOMENDADAS DE LA INGENIERÍA DE PROMPTS?
Una buena ingeniería de prompts requiere que comunique las instrucciones con el contexto, el alcance y la respuesta esperada. A continuación, algunas de las prácticas recomendadas.
INDICACIONES INQUÍVOCAS: Defina claramente la respuesta deseada en su indicación para evitar una mala interpretación por parte de la IA. Por ejemplo, si está solicitando un resumen innovador, indique claramente que quiere un resumen, no un análisis detallado. Esto ayuda a la IA a centrarse solo en su solicitud y a proporcionar una respuesta que se alinee con su objetivo.
CONTEXTO ADECUADO EN LA INDICACIÓN: Proporcione el contexto adecuado en la indicación, incluya los requisitos de salida en la entrada de la indicación y limítela a un formato específico. Por ejemplo, supongamos que quiere una lista de las películas más populares de la década de 1990 en una tabla. Para obtener el resultado exacto, debe indicar explícitamente cuántas películas desea que aparezcan en la lista y solicitar el formato de tabla.
EQUILIBRIO ENTRE LA INFORMACIÓN OBJETIVO Y LOS RESULTADOS DESEADOS: Equilibre la simplicidad y la complejidad en su indicación para evitar respuestas vagas, no relacionadas o inesperadas. Una indicación demasiado simple puede carecer de contexto, mientras que una demasiado compleja puede confundir a la IA. Esto es especialmente importante para los temas complejos o el lenguaje específico de un dominio, que pueden resultar menos familiares para la IA. En su lugar, use un lenguaje sencillo y reduzca el tamaño de la indicación para que la pregunta sea más comprensible.
EXPERIMENTAR CON LA INDICACIÓN Y PERFECCIONARLO: La ingeniería de prompts es un proceso iterativo. Es esencial experimentar con diferentes ideas y probar las indicaciones de la IA para ver los resultados. Es posible que necesite varios intentos para optimizar la precisión y la relevancia. Las pruebas y la iteración continuas reducen el tamaño de la indicación y ayudan al modelo a generar mejores resultados. No hay reglas fijas sobre cómo la IA genera la información, por lo que la flexibilidad y la adaptabilidad son esenciales.
UN POCO DE HISTORIA.
En 2018, los investigadores propusieron por primera vez que todas las tareas previamente separadas en PNL podrían plantearse como un problema de respuesta a preguntas sobre un contexto. Además, entrenaron un primero modelo único, conjunto y multitarea que respondería a cualquier pregunta relacionada con la tarea como ‘¿cuál es el sentimiento?” o “Traduce esta oración al alemán” o “¿Quién es el presidente?”.
En 2021, los investigadores afinaron un modelo pre-entrenado generativamente 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 entenados directamente para realizar solo una tarea (sin pre-entrenamiento). Para resolver una tarea, se le da a T0 la tarea en una indicación estructurada, por ejemplo, Si {(premisa)} es verdadera, ¿también es cierto que {(hipótesis)}? III {(conlleva)} es la indicación utilizada para hacer que T0 resuelva la implicación.
Un repositorio de indicaciones informó que en febrerode2022 había disponible más de 2.000 indicaciones públicas para alrededor de 170 conjuntos de datos.
En 2022, los investigadores de Google propusieron la técnica de indicación de Cadena de Cadena de Pensamiento (Chain-of-thought Prompting technique).
En 2023, varias bases de datos de indicaciones de texto a texto y de texto a imagen estaban disponibles públicamente.
I. TEXTO A TEXTO:
CADENA DE PENSAMIENTO DE TEXTO A TEXTO: La técnica de Cadena de Pensamiento (Chain-of-Thought –CoT-) permite a los modelos de lenguaje grandes (LLM) resolver un problema como una serie de pasos intermedios antes de dar una respuesta final. La técnica de 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. Permite que los modelos de lenguaje grandes superen dificultades con algunas tareas de razonamiento que requieren pensamiento lógico y varios pasos para resolver, como preguntas aritméticas o de razonamiento de sentido común.
Por ejemplo, dada la pregunta:
Prompt: “P: La cafetería tenía 23manzanas. Si usaron 20 para preparar el almuerzo y compraron 6 más ¿Cuántas manzanas tienen?”. Un mensaje de CoT podría inducir al LLM a responder:
RESPUESTA: La respuesta es 9.
Como se propuso originalmente, cada mensaje de CoT incluía algunos ejemplos de preguntas y respuestas. Esto lo convirtió en una técnica de mensajes de respuesta rápida. Sin embargo, simplemente agregar las palabras “Pensemos paso a paso”también ha demostrado ser efectivo, lo que convierte a CoT en una técnica de mensajes de respuesta rápida. Eso permite una mejor escalabilidad, ya que un usuario ya no necesita formular muchos ejemplos específicos de preguntas y respuestas de CoT.
Cuando se aplicó a PaLM, un modelo de lenguaje de parámetros 540B, la incitación de CoT ayudó significativamente al modelo, permitiéndole desempañarse de manera comparable con modleos 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. Es posible afinar los modelos en conjuntos de datos de razonamiento de CoT para mejorar aún más esta capacidad y estimular una mejor interpretabilidad.
EJEMPLO:
P: {pregunta}
R: Pensemos paso a paso.
OTRAS TÉCNICAS.
La incitación por Cadena de Pensamiento es sólo una de las muchas técnicas de ingeniería de indicaciones (Prompt Engineering). Se han propuesto otras técnicas. De hecho, se han publicado al menos 29 técnicas distintas.
A. Indicación por Cadena de Simbolos (CoS): La Indicación por Cadenade Símbolos junto con la Indicación por CoT ayuda a los LLM con su dificultad de razonamiento espacial en el texto. En otras palabras, el uso de símbolos arbitrarios como “/” ayuda a LLM a interpretar el espaciado en el texto. Esto ayuda en el razonamiento y aumenta el rendimiento de LLM.
EJEMPLO:
Hay un conjunto de ladrillos. El ladrillo amarillo C está encima del ladrillo E. El ladrillo 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 abajo y, si se debe agarrar el ladrillo inferior, primero hay que quitar el superior ¿Cómo se obtiene el ladrillo D?
B/A/D/E/C
C/E
E/D
D
RESULTADO: Así que obtenemos el resultado C, E,D.
B. INDICACIÓN AL CONOCIMIENTO GENERADO (GENERAL KNOWLEDGE PROMPTING): La indicación al Conocimiento Generado primero incita al modelo a generar hechos relevantes para completar la incitación y luego procede a completarla. La calidad de finalización suele ser mayor, ya que el modelo puede condicionarse a hechos relevantes.
EJEMPLO:
PROMPT: “Generar algún conocimiento sobre los conceptos en la entrada”.
Entrada: {pregunta}
Conocimiento:
C. INDICACIÓN DE MENOR A MAYOR (LEAST-TO-MORE PROMPTING): La técnica de prompt de Menor a Mayor incita a un modelo a enumerar primero los subproblemas de un problema y luego resolverlos en secuencia, de modo que los subproblemas posteriores se puedan resolver con la ayuda de las respuestas a los subproblemas anteriores.
EJEMPLO:
Entrada:
P: {pregunta}
R: Analicemos este problema.
D. DECODIFICACIÓN DE AUTOCONSISTENCIA (SELF-CONSISTENCY-DECODING): La Decodificación de Autoconsistencia realiza varias implementaciones de Cadena de Pensamiento y luego selecciona la conclusión a la que se llega con mayor frecuencia de todas las implementaciones. Si las implementaciones difieren mucho, se puede consultar a una persona para que encuentre la Cadena de Pensamiento correcta.
E. INDICACIÓN BASADA EN LA COMPLEJIDAD (COMPLEXITY.BASED PROMPTING): La técnica de prompting de Indicación Basada en la Complejidad 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 de entre ellas.
F. AUTOREFINAMIENTO (SELF-REFINE): El autorefinamiento le pide al LLM que resuelva el problema, luego le pide que critique s solución y luego le pide 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 token de “detección”.
Crítica de Ejemplo:
PROMPT: “Tengo algo de código. Dé una sugerencia para mejorar la legibilidad. No arregle el código, solo dé una sugerencia”.
Código: {código}
Sugerencia:
EJEMPLO DE REFINAMIENTO:
“Código: {código}
Usemos esta sugerencia para mejorar el código.
Sugerencia: {sugerencia}
Código nuevo:
G. ARBOL DE PENSAMIENTO (TREE-OF-THOUGHT: La indicación de Árbol de Pensamiento generaliza la Cadena de Pensamiento incitando al modelo a generar uno o más “posibles pasos siguientes” y luego ejecutando 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.
H. INDICACIÓN MAYÉUTICA (MAIETING PROMPTING): La indicación Mayéutica es similar al Árbol de Pensamiento. Se incita al modelo a responder 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 rendimiento en el razonamiento complejo de sentido común.
EJEMPLO:
P. {pregunta}
R: Verdadero, porque
P. {pregunta}
R: Falso, porque
I. INDICACIÓN POR ESTÍMULO DIRECCIONAL (DIRECTIONAL-STIMULUS PROMPPTING): La Incitación por Estímulo Direccional incluye una pista o señal, como palabras clave deseadas, para guiar a un modelo de lenguaje hacia el resultado deseado.
EJEMPLO:
Artículo: {artículo}
Palabras Clave:
Artículo: {artículo}
PROMPT: “Escriba un breve resumen del artículo en 2 a 4 oraciones que incorpore con precisión las palabras clave proporcionadas.
Palabra Clave: {palabra clave}
R:
INDICACIÓN PARA REVELAR LA INCERTIDUMBRE (PROMPTING TO DISCLOSE UNCERTAINTY): De manera predeterminada, el resultado 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 puntuaciones de probabilidad calibradas con precisión en sus predicciones de tokens y, por lo tanto, la incertidumbre de saluda del modelo se puede estimar directamente leyendo las puntuaciones de probabilidad de predicción de tokens.
Pero si no se puede acceder a dichas puntuaciones (como cuando se accede al modelo a través de una API restrictiva), la incertidumbre aún se puede estimar e incorporar en la saluda del modelo. Un método simple es pedirle al modelo que use palabras para estimar la incertidumbre. Otro es pedirle al modelo que se niegue a responder de manera estandarizada si la entrada no satisface las condiciones.
GENERACIÓN AUTOMÁTICA DE INDICACIONES (AUTOMATIC-AUGMENTED GENERATION).
A. GENERACIÓN AUMENTADA POR RECUPERACIÓN (RETRIEVAL-AUGMENTED GENERATION –RAG-): La Generación Aumentada pro Recuperación (RAG) es un proceso de dos fases que implica la recuperación de documentos y la formulación de respuestas por parte de 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 bases 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.
En respuesta a una consulta, un recuperador de documentos selecciona los documentos más relevantes. Esta referencia se determina normalmente codificando primero tanto la consulta como los documentos en vectores, y luego identificando los documentos cuyos vectores están más cerca en distancia euclidiana al vector de consulta. Después de la recuperación de documentos, el LLM genera una salida que incorpora información tanto de la consulta como de los documentos recuperados. 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 ajustes del modelo. RAG también se destaca por su uso del aprendizaje de “pocos ejemplos”, donde el modelo utiliza una pequeña cantidad de ejemplos, a menudo recuperados automáticamente de una base de datos, para informar sus resultados.
B. GENERACIÓN AUMENTADA DE RECUPERACIÓN DE GRAFOS: GraphRAG acuñado por Microsoft Research, extiende RAG de tal manera que en lugar de depender únicamente de la similitud de vectores (como en la mayoría de los enfoques RAG), GraphRAG utiliza el grafo de conocimiento generado por LLM. Este grafo permite que el modelo conecte piezas dispares de información, sintetice conocimientos y comprenda de manera holística conceptos semánticos resumidos en grandes colecciones de datos.
Los investigadores han demostrado la eficacia de GraphRAG utilizando conjuntos de datos como Violent Incident Information from New Articles (VINA). Al combinar grafos de conocimiento generados por LLM con aprendizaje automático de grafos, GraphRAG mejora sustancialmente tanto la exhaustividad como la diversidad de las respuestas generadas para preguntas de búsqueda de sentido global.
Un trabajo anterior mostró la eficacia de utilizar un grafo de conocimiento para responder preguntas utilizando la generación de texto a consulta. Estas técnicas se pueden combinar para realizar búsquedas en datos estructurados y no estructurados, lo que proporciona un contexto ampliado y una clasificación mejorada.
USO DE MODELOS DE LENGUAJE PARA GENERAR INDICACIONES.
Los modelos de lenguaje grandes (LLM) pueden usarse para componer indicaciones para modelos de lenguaje grandes.
El algoritmo de ingeniería de prompt automática se usa un LLM para hacer una búsqueda de señales sobre otras indicaciones.
Hay dos LLM. i) Uno es el LLM de Destino (Target LLM); ii) Otro es el LLM de Indicación (Prompting LLM).
La indicación de LLM se presenta con pares de entrada-salida de ejemplo y se le pide que genere instrucciones que podrían haber hecho que un modelo que siguiera las instrucciones generara las salidas, dadas las entradas.
Cada una de las instrucciones generadas se usa para indicar al LLM de Destino, seguido de cada una de las entradas. Se calculan y suman las probabilidades logarítmicas de las salidas. Esta es la puntuación de la instrucción.
Las instrucciones con la puntuación más alta se le dan al LLM de Indicación para realizar más variaciones.
Repita hasta que se alcance algún criterio de detección, luego imprima las instrucciones con la puntuación más alta.
CoT LLM pueden generar ejemplos de CoT. En Auto-Cor, 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 los ejemplos de CoT de las preguntas más cercanas y agregarlos al mensaje.
II. TEXTO A IMAGEN:
En 2022, se lanzaron al público modelos de texto a imagen como DALL-E 2, stable Diffusion y Midjourney. Estos modelos toman indicaciones de texto como entrada y las utilizan para generar imágenes de arte de IA. Los modelos de texto a imagen normalmente no entienden la gramática y la estructura de las oraciones de la misma manera que los modelos de lenguaje grandes, y requieren un conjunto diferente de técnicas de indicaciones.
FORMATOS DE INDICACIONES: Una Indicación de Texto a Imagen suele incluir 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), Estilo (como hiperrealista o pop-art), Iluminación (como iluminación de borde o rayos crepusculares), Color y Textura.
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 una naranja brillate 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”.
El orden de las palabras afecta el resultado de una indicación de texto a imagen. Las palabras más cercanas al comienzo de una indicción pueden tener un mayor énfasis.
ESTILOS DE ARTISTAS: Algunos de los modelos de texto a imagen son capaces de imitar el estilo de artistas particulares por su nombre. Por ejemplo, la frase en el estilo de Greg Rutkowski se ha utilizado en las indicaciones de Stable Diffusion y Midjourney para generar imágenes en el estilo distintivo del artista digital polaco Greg Rutkowski.
INDICACIONES NEGATIVAS: 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. Como alternativa, las indicaciones negativas permiten al usuario indicar, en una indicación separada, qué términos no deben aparecer en la imagen resultante. Un enfoque común es incluir términos genéricos no deseados, como feo, aburrido, mala anatomía, en la indicación negativa de una imagen.
III. TEXTO A VIDEO.
La generación de Texto a Video (TTV) es una tecnología emergente que permite la creación de videos directamente a partir de descripciones textuales. Este campo tiene potencial para transformar la producción de vídeos, la animación y la narración de historias. Al utilizar el poder de la inteligencia artificial, TTV permite a los usuarios pasar por alto las herramientas de edición de video tradicionales y traducir sus ideas en imágenes en movimiento.
Los modelos incluyen:
Runway Gen-2:Ofrece una interfaz fácil de usar y admite varios estiolos de video.
Lumiere: Diseñado para la generación de videos de alta resolución.
Make-a-Video: Se enfoca en crear saludas de video detalladas y diversas.
Sora de OpenAI: Sora, que aún no se lanza, supuestamente puede producir videos de alta resolución.
IV. INDICACIONES NO TEXTUALES.
Algunos enfoques amplían o reemplazan las indicaciones de texto en lenguaje natural con entradas no textuales.
INVERSIÓN TEXTUAL E INCRUSTACIONES: Para los modelos de texto a imagen, la “inversión textual” realiza un proceso de optimización para crear una nueva incrustación de palabras basada en un conjunto de imágenes de ejemplo. Este vector de incrustación actúa como una “pseudopalabra” que se puede incluir en una indicación para expresar el contenido o el estilo de los ejemplos.
INDICACIÓN DE IMÁGENES: 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/ fondo.
USO DEL DESCENSO DE GRADIENTE PARA BUSCAR INDICACIONES: En el “Ajuste de Prefijo” o “indicaciones Suaves”, los vectores con valores de punto flotante se buscan directamente mediante el descenso de gradiente, para maximizar la probabilidad logarítmica delas salidas.
Formalmente, sea E = { e 1 , … , e k } {\displaystyle \mathbf {E} =\{\mathbf {e_{1}} ,\dots ,\mathbf {e_{k}} \}} un conjunto de tokens de solicitud suave (incrustaciones ajustables), mientras que X = { x 1 , … , x m } {\displaystyle \mathbf {X} =\{\mathbf {x_{1}} ,\dots ,\mathbf {x_{m}} \}} e Y = { y 1 , … , y n } {\displaystyle \mathbf {Y} =\{\mathbf {y_{1}} ,\dots ,\mathbf {y_{n}} \}} sean las inscrustaciones de tokens de la entrada y la saluda respectivamente. Durante el entrenamiento, las incrustacones ajustables, los tokens de entrada y salida se concatenan en una única secuencia concat ( E ; X ; Y ) {\displaystyle {\text{concat}}(\mathbf {E} ;\mathbf {X} ;\mathbf {Y} )}, y se alimentan a los modelos de lenguaje grandes (LLM). Las pérdidas se calculan sobre los tokens Y {\displaystyle \mathbf {Y} } ; los gradientes se retropropagan a parámetros específicos de la indicación: en la sintonización de prefijos, son parámetros asociados con los tokens de la indicación en cada capa, en la sintonización de la indicación, son simplemente los tokens suaves añadidos al vocabulario.
Más formalmente, esto es la sintonización de la indicación. Sea un LLM escrito como L L M ( X ) = F ( E ( X ) ) {\displaystyle LLM(X)=F(E(X))}, donde X {\displaystyle X} es uan secuencia de tokens lingüísticos, E {\displaystyle E} es la función token-a-vector, y F {\displaystyle F} es el resto del modelo. En el ajuste de prefijo, uno proporciona un conjunto de pares de entrada-salida { ( X i , Y i ) } i {\displaystyle \{(X^{i},Y^{i})\}_{i}}, y luego usa el descenso de gradiente para buscar arg max Z ~ ∑ i log P r [ Y i | Z ~ ∗ E ( X i ) ] {\displaystyle \arg \max _{\tilde {Z}}\sum _{i}\log Pr[Y^{i}|{\tilde {Z}}\ast E(X^{i})]}. En palabras, log P r [ Y i | Z ~ ∗ E ( X i ) ] {\displaystyle \log Pr[Y^{i}|{\tilde {Z}}\ast E(X^{i})]} es la probabilidad logarítmica de obtener Y i {\displaystyle Y^{i}}, si el modelo primero codifica la entrada X i {\displaystyle X^{i}} en el vector E ( X i ) {\displaystyle E(X^{i})}, luego antepone el vector con el "vector de prefijo" Z ~ {\displaystyle {\tilde {Z}}}, luego aplica F {\displaystyle F}.
Para el ajuste de prefijo, es similar, pero el "vector de prefijo" Z ~ {\displaystyle {\tilde {Z}}} se antepone a los estados ocultos en cada capa del modelo.
Un resultado anterior 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 sobre secuencias de tokens, en lugar de vectores numéricos. Formalmente, busca arg max X ~ ∑ i log P r [ Y i | X ~ ∗ X i ] {\displaystyle \arg \max _{\tilde {X}}\sum _{i}\log Pr[Y^{i}|{\tilde {X}}\ast X^{i}]} donde X ~ {\displaystyle {\tilde {X}}} es un rango sobre secuencias de tokens de una longitud especificada.
INYECCIÓN DE INSTRUCCIONES: La Inyección de Instrucciones (Prompt Injection) es una familia de exploits de seguridad informática relacionada que se llevan a cabo haciendo que un modelo de Aprendizaje Automático (como 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 solo está destinado a seguir instrucciones confiables (instrucciones) proporcionadas por el operador del modelo de ML.


Qué bueno ver que has llegado hasta acá, cosa que me alegra enormemente y me llena de satisfacción. Por esa razón, me gustaría darte un consejo.
Tal vez te podrían interesar estas otras áreas que también me encuentro desarrollando para ti. Dales un vistazo, tal vez sean de tu interés y te ayuden también.