Una Introducción a la Ingeniería de Prompt
'Introducción a la Ingeniería de Prompt'
Introducción
El procesamiento del lenguaje natural ha sido un campo con áreas prósperas de implementación utilizando tecnologías y técnicas subyacentes. En los últimos años, y especialmente desde principios de 2022, el Procesamiento del Lenguaje Natural (PLN) y la Inteligencia Artificial Generativa han experimentado mejoras. Esto hizo que el diseño de solicitudes sea una habilidad particularmente importante para comprender y dominar los modelos de lenguaje (LMs).
Objetivos de aprendizaje
- Comprender la solicitud, el diseño de solicitudes y ejemplos
- Consejos para refinar tus solicitudes
- Elementos de las solicitudes y patrones de solicitudes
- Técnicas de solicitud
El conocimiento del diseño de solicitudes ayuda a comprender mejor las capacidades y limitaciones del uso fundamental de modelos de lenguaje grandes (LLMs, por sus siglas en inglés).
Este artículo fue publicado como parte del Data Science Blogathon.
¿Qué es el diseño de solicitudes?
El diseño de solicitudes es una práctica en el campo del procesamiento del lenguaje natural de la inteligencia artificial donde el texto describe lo que la IA debe hacer. Guiada por esta entrada, la IA genera una salida. Esto podría ser en diferentes formas con la intención de utilizar texto comprensible por los humanos en una conversación para comunicarse con los modelos. Dado que la descripción de la tarea está incrustada en la entrada, el modelo funciona de manera más flexible con posibilidades.
- MosaicML acaba de lanzar su MPT-30B bajo la licencia Apache 2.0.
- ¿Qué es Machine Learning como Servicio? Beneficios y principales plataformas de MLaaS.
- Las GPUs NVIDIA H100 establecen el estándar para la IA generativa en el primer benchmark MLPerf.
Aprende más: Diseño de solicitudes: El arte de crear solicitudes poderosas
¿Qué son las solicitudes?
Las solicitudes son una descripción detallada de la salida deseada esperada del modelo. Es la interacción entre un usuario y el modelo de IA. Esto debería brindarnos una mejor comprensión de lo que implica el diseño de solicitudes.
Ejemplo de solicitudes
Las solicitudes utilizadas en modelos de lenguaje grandes como ChatGPT y GPT-3 podrían ser consultas de texto simples. Con todo esto, la calidad se mide por la cantidad de detalles que puedas proporcionar. Estas podrían ser para resumen de texto, preguntas y respuestas, generación de código, extracción de información, etc.
Dado que los LLM se pueden utilizar para resolver problemas complejos donde se incluyen muchas instrucciones, es vital ser detallado. Veamos algunos ejemplos de solicitudes básicas:
Solicitud
Los antibióticos son un tipo de medicamento utilizado para tratar infecciones bacterianas. Funcionan matando las bacterias o impidiendo su reproducción, permitiendo que el sistema inmunológico del cuerpo combata la infección. Los antibióticos generalmente se toman por vía oral en forma de pastillas, cápsulas o soluciones líquidas, o a veces se administran por vía intravenosa. No son efectivos contra infecciones virales y su uso inapropiado puede llevar a la resistencia a los antibióticos.
Resuma lo anterior en 2 frases:
Esta salida es el resumen en un patrón de preguntas y respuestas.
Los antibióticos tratan las infecciones bacterianas al matar o prevenir su reproducción, permitiendo que el sistema inmunológico combata las infecciones. Administrados por vía oral o intravenosa, no son efectivos contra infecciones virales y pueden llevar a la resistencia a los antibióticos.
Acabamos de ver una ilustración del uso de LLMs. Las posibilidades son infinitas.
Consejos para refinar tus solicitudes
La calidad de la solicitud es crítica. Hay formas de mejorarlas y hacer que tus modelos mejoren las salidas. Veamos algunos consejos a continuación:
- Juego de roles: La idea es hacer que el modelo actúe como un sistema específico. De esta manera, se crea una interacción personalizada y se apunta a un resultado específico. Esto ahorra tiempo y complejidad, pero logra resultados tremendos. Esto podría ser actuar como un maestro, editor de código o entrevistador.
- Claridad: Esto significa eliminar la ambigüedad. A veces, al tratar de ser detallado, terminamos incluyendo contenido innecesario. Una excelente manera de lograr esto es ser breve.
- Especificación: Esto está relacionado con el juego de roles, pero la idea es ser específico y enfocado en una dirección concreta. Esto evita una salida dispersa.
- Consistencia: La consistencia implica mantener el flujo en la conversación. Mantén un tono uniforme para asegurar la legibilidad de la conversación.
Elementos de una solicitud
Estos son los atributos que conforman el esqueleto de las solicitudes. Estos pueden ser:
- Instrucción: Es una declaración que indica al modelo que realice algo.
- Contexto: El contexto es lo que direcciona al modelo hacia el problema. Si no se proporciona, puede salir completamente del contexto y dar respuestas deficientes.
- Datos de entrada: Es la entrada como una sola entidad completa.
- Indicador de salida: En el juego de roles, indica el tipo de salida que será un código. Este elemento ayuda al modelo a canalizar las salidas de manera adecuada.
Patrón de Preguntas Estándar
Veamos una descripción general de cómo se ve un formato. A continuación se muestra un ejemplo entre un usuario y el modelo con instrucciones directas.
Usuario: <Instrucción>
Modelo: <Respuesta>
Pocas muestras: Es un patrón para las instrucciones que utilizan el aprendizaje contextual. Aquí se permite la educación en contexto, lo que permite al modelo procesar ejemplos de antemano. Veremos esto con más detalle en la siguiente sección. La estructura de pocas muestras puede ser la siguiente:
<Instrucción>
<Respuesta>
<Instrucción>
<Respuesta>
<Instrucción>
<Respuesta>
<Instrucción>
En un patrón de preguntas y respuestas, tenemos:
P: <Pregunta>?
R: <Respuesta>
P: <Pregunta>?
R: <Respuesta>
P: <Pregunta>?
R: <Respuesta>
P: <Pregunta>?
R:
Técnicas de Estímulo
Existen diferentes técnicas utilizadas para redactar estímulos. Son la base.
1. Estímulo de Cero Muestras
El estímulo de cero muestras proporciona un estímulo que no forma parte del entrenamiento pero que aún funciona según lo deseado. En pocas palabras, los LLM pueden generalizar.
Ejemplo:
Estímulo :
Clasifica el texto en neutro, negativo o positivo.
Texto: Creo que la presentación fue increíble.
Sentimiento:
Resultado:
Positivo
El conocimiento del significado de “sentimiento” permite que el modelo clasifique la pregunta incluso si no se le han proporcionado una serie de clasificaciones de texto para trabajar. Puede haber una desventaja ya que no se proporcionan datos descriptivos en el texto. En ese caso, podemos usar el estímulo de pocas muestras.
2. Estímulo de Pocas Muestras/Aprendizaje en Contexto
En una comprensión elemental, el estímulo de pocas muestras utiliza algunos ejemplos (muestras) de lo que debe hacer. Esto requiere cierta comprensión a partir de una demostración para llevar a cabo la tarea. En lugar de depender únicamente de lo que se le ha entrenado, se basa en las muestras disponibles.
3. Cadena de Pensamiento (CoT)
CoT permite que el modelo logre un razonamiento complejo a través de pasos intermedios de razonamiento. Implica crear y mejorar pasos intermedios llamados “cadenas de razonamiento” para fomentar una mejor comprensión del lenguaje y generar mejores resultados. Puede ser como una combinación de estímulo de pocas muestras en tareas más complejas.
Qué Evitar al Crear Estímulos
Antes de concluir, hay algunas cosas que debemos evitar al crear estímulos:
- Sobrecarga de Información (Ambigüedad): Trata de proporcionar información breve en la medida de lo posible, ya que podría convertirse en información innecesaria y reducir la precisión de los resultados.
- Preguntas Abiertas: Se recomienda evitar hacer preguntas imprecisas o abiertas. Una pregunta vaga podría ser: ¿Puedes ayudarme a encontrar mi camino a casa? Estas preguntas son poco específicas y generales, lo que causará imprecisión y respuestas poco útiles.
- Uso Incorrecto de Restricciones: Las restricciones son límites y limitaciones sobre cómo puede desarrollarse una situación. Esto requiere proporcionar requisitos específicos. Esto podría ser para simular el rol del modelo.
Conclusión
Hemos visto una guía detallada sobre la ingeniería de estímulos, proporcionando información sobre los fundamentos y cómo funcionan en los modelos de IA. La IA ha experimentado una revolución completa en cuanto a casos de uso, con posibilidades infinitas y aplicaciones futuristas. Los estímulos pueden guiar a los modelos de IA como instrucciones humanas, revolucionando el futuro. Ejemplos como ChatGPT. Comprender los principios y pilares es crucial para un uso efectivo de la IA.
Puntos Clave
- El PLN y la IA generativa han experimentado mejoras desde 2022, lo que hace que la ingeniería de estímulos sea crucial para dominar los modelos de lenguaje.
- La ingeniería de estímulos en IA utiliza entradas de texto para descripciones, flexibilidad del modelo y comprensión de texto legible por humanos.
- Refinar los estímulos es esencial para mejorar la calidad y los resultados, utilizando el juego de roles para ahorrar tiempo y mantener la consistencia en las conversaciones para lograr un mejor flujo y legibilidad.
Preguntas frecuentes (FAQs)
Los medios mostrados en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.
We will continue to update Zepes; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- La carrera para evitar el peor escenario para el aprendizaje automático
- 8 cosas potencialmente sorprendentes que debes saber sobre los Modelos de Lenguaje Grandes (LLMs)
- Segmentación de Imágenes Eficiente utilizando PyTorch Parte 1
- Segmentación de Imágenes Eficiente Utilizando PyTorch Parte 2
- Segmentación de Imágenes Eficiente utilizando PyTorch Parte 4
- La importancia de la reproducibilidad en el aprendizaje automático
- SiMa.ai traerá el chip de inteligencia artificial más poderoso del mundo a la India.