¿Quieres conocer el secreto mejor guardado
de la Inteligencia Artificial?
Presta mucha atención, porque lo que voy a revelarte cambiará tu perspectiva sobre la IA para siempre.
Aunque la mayoría cree que los asistentes virtuales solo pueden responder preguntas de forma rígida y automatizada, lo cierto es que tienen una habilidad oculta que permite ser mucho más útiles, creativos e incluso divertidos. Esa habilidad se llama prompting y es la clave para sacar todo nuestro potencial.
Probablemente te estés preguntando: «¿Qué rayos es eso del prompting?».
Pues, el prompting nos permite mantener un diálogo más natural e intuitivo con los modelos de largo lenguaje con ChatGPT, puedes dar pequeñas pistas contextuales antes de cada conversación. Así pueden entender mejor tus necesidades y brindarte respuestas más personalizadas.
En este artículo voy a revelarte todos los secretos sobre cómo funciona realmente el prompting, y cómo puedes aprovecharlo al máximo para interactuar de forma más fluida con asistentes. Así que prepárate, porque lo que viene te dejará con la boca abierta. Vamos a adentrarnos en el mundo del prompting y descubrir todo su poder oculto.
¿Qué es un prompt?
Para empezar a comunicarte con los modelos de IA Generativa solamente tienes que introducir texto, tienes que dar instrucciones o “prompts” al modelo sobre la tarea que quieres que desarrolle. Puede ser desde preguntas sencillas y directas hasta tareas más complejas y matizadas que requieren que la IA sintetice información, haga inferencias o aporte soluciones creativas.
El prompt es la forma en que los humanos pueden hablar con la Inteligencia Artificial (IA). Es una forma de decirle a un agente de IA lo que quieres y cómo lo quieres utilizando un lenguaje humano.
La calidad y la claridad de un prompt pueden influir mucho en el resultado generado por el modelo de IA, por lo que es crucial elaborar instrucciones que transmitan eficazmente la intención del usuario y el resultado deseado.
Y te pongo un ejemplo, en el caso de los modelos de generación de imágenes, como Midjourney, el prompt es principalmente una descripción de la imagen que se quiere generar, y la precisión de ese mensaje tendrá un impacto directo en la calidad de la imagen generada. Cuanto mejor sea la indicación, mejor será el resultado.
Por lo tanto, los prompts sirven de puente entre tú y la IA, permitiéndote que te comuniques y generar resultados que se ajusten a tus necesidades específicas.
Es como enseñar a un niño a través de preguntas. Al igual que una pregunta bien formulada puede guiar el proceso de pensamiento de un niño, una instrucción bien elaborada puede dirigir un modelo de Inteligencia Artificial, especialmente un modelo de lenguaje largo (LLM), hacia un resultado específico.
El lado técnico de los prompts
Como ya se explicó los prompts tiene sus raíces en el arte del lenguaje, pero también está entrelazado con los modelos de Inteligencia Artificial. A continuación te dejos algunos detalles técnicos sobre los prompts:
- Arquitectura de modelos: los grandes modelos lingüísticos (LLM), como GPT (Generative Pre-trained Transformer) de OpenAI y PaLM2 (Powering Bard) de Google, se basan en arquitecturas de transformadores. Estas arquitecturas permiten a los modelos manejar grandes cantidades de datos y comprender el contexto mediante mecanismos de autoatención. La elaboración de prompts eficaces suele requerir la comprensión de estas arquitecturas subyacentes.
- Datos de entrenamiento y tokenización: los LLM se entrenan en grandes conjuntos de datos, dividiendo los datos de entrada en trozos más pequeños (tokens) para su procesamiento. La elección de la tokenización puede influir en la forma en que un modelo interpreta una instrucción.
- Parámetros del modelo: los LLM tienen millones, si no miles de millones de parámetros. Estos parámetros ajustados durante el proceso de entrenamiento, determinan cómo responde el modelo a una instrucción. Comprender la relación entre estos parámetros y los resultados del modelo puede ayudar a elaborar prompts más eficaces.
- Funciones de pérdida y gradientes: a nivel más profundo, el comportamiento del modelo durante la respuesta rápida se ve influido por sus funciones de pérdida y gradientes. Estas construcciones matemáticas guían el proceso de aprendizaje del modelo.
- Temperatura: el parámetro temperatura influye en la aleatoriedad de las respuestas de la IA. Una temperatura más alta, como 1,0, fomenta una salida más aleatoria, lo que resulta en respuestas creativas pero potencialmente fuera de tema. Por el contrario, una temperatura más baja, como 0,2, incita a la IA a seleccionar respuestas más deterministas, lo que puede ser beneficioso para obtener resultados centrados y específicos, pero puede carecer de variedad.
- Longitud máxima: este parámetro controla la longitud máxima de tokens de la salida del modelo, que incluye tanto los tokens de la entrada como los de la salida del mensaje. Un límite más alto permite respuestas más extensas, mientras que un límite más bajo mantiene la salida corta y concisa.
- Secuencia de parada: son cadenas de texto específicas en las que, cuando el modelo las encuentra, deja de generar más resultados. Esta función puede ser útil para controlar la longitud de la salida o para ordenar al modelo que se detenga en puntos finales lógicos.
- Top P: el parámetro Top P, también conocido como muestreo de núcleos, es un método que proporciona una selección dinámica del número de palabras consideradas en cada paso de las predicciones del modelo. Un valor bajo, como 0,5, conduce a resultados más seguros y centrados. Un valor más alto, como 0,9, incluye una selección más amplia de palabras, lo que conduce a resultados más diversos.
- Penalización de frecuencia: controla en qué medida el modelo debe favorecer las palabras menos frecuentes. Una penalización más alta (hasta 1) anima al modelo a utilizar palabras menos frecuentes, mientras que un valor más bajo (hasta -1) anima al modelo a utilizar palabras más frecuentes.
- Penalización por presencia: afecta a la penalización del modelo por generar nuevas ideas o temas que no estaban presentes en el historial de la conversación. Los valores más altos animan al modelo a ceñirse a los temas ya mencionados, mientras que los valores más bajos te permiten introducir nuevos conceptos con mayor libertad.
Elementos claves de un prompt
Veamos los aspectos que componen un buen prompt:
- Instrucción: esta es la directiva central de la instrucción, le dice al modelo lo que quieres que haga. Proporciona una acción clara para el modelo, por ejemplo, “resume el siguiente texto”.
- Contexto: el contexto proporciona información adicional que ayuda al modelo a comprender el escenario más amplio o los antecedentes. Proporciona al modelo un telón de fondo en el que enmarcar su respuesta, por ejemplo, “Teniendo en cuenta los programas de televisión de los 90s, proporciona una idea para un nuevo programa”.
- Datos de entrada: se trata de la información o los datos concretos que quieres que procese el modelo. Puede ser un párrafo, un conjunto de números o incluso una sola palabra.
- Indicador de salida: especialmente útil en los escenarios de juegos de rol, este elmeneto orienta al modelo sobre el formato o tipo de respuesta deseada. Da al modelo una dirección específica, por ejemplo, “En el estilo de Shakespeare, reescribe la siguiente frase”.
Técnicas de prompting
Para crear un prompt perfecto, a menudo hay que experimentar. A continuación tienes algunas técnicas que pueden ayudarte:
Técnicas básicas
Estos son consejos que puedes utilizar para mejorar tus prompts.
- Juegos de roles: puedes hacer que el modelo actúe como una entidad concreta, como un poeta o un cantante, permitiendo en obtener respuestas a medida. Por ejemplo, “Eres un experto en nutrición, evalúa el siguiente plan de dieta”, con este prompt puedes obtener una respuesta enfocada en la ciencia de la nutrición.
- Perfeccionamiento iterativo: puedes empezar con una pregunta amplia e irla refinándola gradualmente en función de las respuestas del modelo. Este proceso iterativo ayuda a perfeccionar la pregunta.
- Circuitos de retroalimentación: utiliza los resultados del modelo para informar y ajustar las indicaciones posteriores. Esta interacción dinámica garantiza que, con el tiempo, las respuestas del modelo se ajusten más a las expectativas del usuario.
Técnicas avanzadas
Estas son estrategias más intrincadas que requieren una comprensión más profunda del comportamiento del modelo.
- Prompting de disparo cero (Zero-Shot Prompting): en este tipo de aprendizaje, el modelo de IA depende únicamente de sus conocimientos previos y de su comprensión general del lenguaje, así como de su capacidad para razonar e inferir a partir de la información contenida en el amplio lenguaje de la pregunta. Este enfoque contrasta con el aprendizaje de pocos o muchos ejemplos (que veremos a continuación), en los que el modelo recibe un número limitado o amplio de ejemplos, respectivamente, para guiar sus respuestas.
- Promting de un disparo (One-Shot Prompting): es una técnica utilizada con modelos de IA, en la que se da al modelo una descripción de la tarea y un único ejemplo para que aprenda de ellos y genere una respuesta a un estímulo determinado. El modelo de IA utiliza esta descripción de la tarea y el ejemplo como referencia para comprender la tarea y producir un resultado adecuado.
- Prompting de pocos disparos (Few-Shot Prompting): es una técnica utilizada como modelos de IA en la que se da al modelo solo un pequeño número de ejemplos, normalmente entre 2 y 10, para que aprenda de ellos y genere una respuesta a un estímulo determinado. Estos ejemplos sirven de referencia para que el modelo comprenda mejor la tarea y genere resultados más precisos.
- Cadena de pensamiento (Chain-of-Thought): esta técnica avanzada consiste en guiar al modelo a través de una serie de pasos de razonamiento. Al dividir una tarea compleja en pasos intermedios o cadenas de razonamiento, el modelo puede lograr una mejor comprensión del lenguaje y resultados más precisos. Es como guiar a alguien paso a paso a través de un complejo problema matemático.
- Cadena lineal: la salida de cada etapa actúa como entrada de la etapa siguiente, formando así una secuencia clara, paso a paso. Se puede considerar una carrera de relevos en la que cada corredor, o prompt, espera a que el anterior termine antes de empezar.
- Cadena acumulativa: el resultado de todas las preguntas anteriores se convierte en la entrada de la siguiente pregunta. La palabra acumulativo se refiere a la idea de que cada paso se añade a una suma creciente de conocimientos o información. Se puede compara con la construcción de un pastel en capas, cada capa del pastel, resultado de cada prompt, se conserva y contribuye al producto final.
- Cadena condicional: el resultado de la instrucción anterior determina la siguiente. La palabra condicional se utiliza para resaltar la naturaleza de la toma de decisiones que implica este método. Es similar a un libro de aventuras, el lector, o el prompt, decide a qué página ir, qué paso dar, en función del resultado de la decisión anterior.
- Cadena iterativa: todas las salidas del prompt anterior se procesan como entradas para los siguientes prompts. Esto es similar a cómo se ejecutan los bucles en programación. Iterativo enfatiza la aplicación repetida de un proceso en este método. Funciona de forma similar a una línea de producción en una fábrica, cada salida de la etapa inicial (el elemento de la línea, pasa por el mismo conjunto de acciones o transformaciones (prompt).
Cómo funciona el prompting
Elaborar el mensaje inicial es solo el principio. Para aprovechar realmente la potencia de los modelos de IA Generativos y garantizar que se ajustan a la intención del usuario, es esencial refinar y optimizar las instrucciones. Este proceso iterativo es una mezcla de arte y ciencia, que requiere tanto intuición como conocimientos basados en datos.
Crear un prompt adecuado
Estas son algunas de las reglas generales para crear un prompt para las herramientas de IA:
- La claridad es la clave: asegúrate de que las instrucciones sean claras y sin ambigüedades, evita la jerga a menos que sea necesario para el contexto.
- Prueba el juego de roles: hacer que el modelo asuma un papel concreto puede dar lugar a respuestas más personalizadas.
- Utiliza restricciones: establecer límites o restricciones puede ayudar a guiar al modelo hacia el resultado deseado. Por ejemplo, “Descifra la selva amazónica en tres frases”, esto proporciona una clara restricción de longitud.
- Evita las preguntas capciosas: las preguntas capciosas pueden sesgar el resultado del modelo. Es esencial mantenerse neutral para obtener una respuesta imparcial.
Iterar y evaluar
El proceso de perfeccionamiento de los prompts es iterativo. He aquí un flujo de trabajo típico:
- Redactar el borrador inicial: basarse en la tarea y el resultado deseado.
- Probar el mensaje: utilizar le modelo de IA para generar una respuesta.
- Evaluar el resultado: comprobar si la respuesta se ajusta a la intención y cumple los criterios.
- Perfeccionar la solicitud: realizar los ajustes necesarios basándose en la evaluación.
- Repetir el proceso: continuar este proceso hasta alcanzar la calidad deseada.
Durante este proceso, también es importante considerar diversas entradas y escenarios para garantizar la eficacia de la instrucción en una amplia gama de situaciones.
Calibrar y ajustar
Además de perfeccionar el prompt en sí, también existe la posibilidad de calibrar o ajustar el modelo de IA. Se trata de ajustar los parámetros del modelo para adaptarlo mejor a tareas o conjuntos de datos específicos. Aunque se trata de una técnica más avanzada, puede mejorar significativamente el rendimiento del modelo para aplicaciones especializadas.
Apliquemos un poco de magia a los prompts
La verdad, es que no hay palabras mágicas, aunque hay algunas frases que parecen funcionar universalmente en todos los LLM para proporcionar resultados mejores o diferentes, cambiando el contexto de la respuesta. Algunas cosas posibles con las que puedes experimentar son las siguientes:
- Sé creativo y prueba todas las suposiciones que necesites: esto tenderá a eliminar algunas de las limitaciones de la practicidad en torno a las respuestas de IA, y puede ser útil si estás intentando general algo novedoso.
- Muestra tu trabajo/proporciona fuentes/ve paso a paso: la IA inventará información a la que no tenga acceso. Hay pruebas de que pedirle que muestre su trabajo, o sus fuentes, reduce un poco ese riesgo. Incluso si no lo hace, puede facilitar la comprobación del trabajo.
- Escribe un borrador y proporciona un ejemplo: si la IA se niega a hacer algo, por ejemplo si le pides que escriba tu propia novela, a veces pedirle que proporcione algo como un borrador puede hacer que produzca resultados.
El secreto es la práctica
Lo mejor que puedes hacer para aprender a escribir buenos prompts es practicar. Utiliza la IA, utilízala mucho. Comprende lo que puede hacer y lo que no. Entabla un diálogo de ida y vuelta con ella para que haga lo que tú quieres.
Prompting es una habilidad que se puede aprender y mejorar con la práctica. La mejor manera de aprender es utilizar la IA como un compañero y asistente. Experimenta con diferentes tipos de indicaciones y observa cómo responde la IA. Entabla un diálogo con la IA y hazle preguntas, retroaliméntala y rétala para que mejore. Averigua qué desencadena la creatividad de la IA y qué la limita. Pronto desarrollarás un estilo y una técnica propios que te convertirán en un apuntador más eficaz.
Y recuerda que la IA también está siempre aprendiendo, así que mantente al día de los últimos avances e innovaciones en este campo. Nunca se sabe qué nuevas posibilidades puedes descubrir.