¿Qué es el few-shot prompting?

Autor(es):

Vrunda Gadesha

AI Advocate | Technical Content Author

¿Qué es el few-shot prompting?

El few-shot prompting se refiere al proceso de proporcionar a un modelo de IA algunos ejemplos de una tarea para guiar su rendimiento. Este método es especialmente útil en escenarios en los que no se dispone de amplios datos de entrenamiento.

En otras técnicas, como el zero-shot prompting, que no requiere ejemplos, o el one-shot prompting, que se basa en un solo ejemplo, el few-shot prompting utiliza múltiples ejemplos para mejorar la precisión y la adaptabilidad. Aparte de esto, otros marcos avanzados de prompt engineering como el prompting de cadena de pensamiento y el prompting de árbol de pensamiento también consumen ejemplos para obtener el output deseado y optimizar el resultado del modelo.

El aprendizaje few-shot es esencial en situaciones de IA generativa en las que recopilar grandes cantidades de datos etiquetados es un reto. Los métodos de prompting convierten la entrada de texto en un formato estructurado, lo que permite que modelos como la serie Granite de IBM, los modelos Llama de Meta y los GPT-3 y GPT-4 de OpenAI rellenen los espacios en blanco con las respuestas adecuadas, realizando tareas de forma eficaz sin extensos conjuntos de datos etiquetados[1]. Esta técnica también permite obtener el formato de salida predefinido guiando el modelo a través de ejemplos específicos, lo que garantiza la coherencia y la precisión en la estructura deseada.

En el campo en rápida evolución de la inteligencia artificial (IA), el machine learning (ML) y el procesamiento del lenguaje natural (PLN), el few-shot prompting se ha convertido en una técnica poderosa. Este método permite a los modelos realizar tareas con ejemplos limitados, lo que lo distingue de otros métodos de prompting como zero-shot y one-shot prompting. Comprender el prompting few-shot es crucial para aprovechar todo el potencial de los sistemas avanzados de IA como GPT-3/GPT-4 de OpenAI y otros modelos de lenguaje de gran tamaño (LLM) como los modelos Granite de IBM o los modelos Llama de Meta.

Ilustración del aprendizaje few-shot para la clasificación de sentimientos mediante métodos basados en instrucciones Figura 1: Ilustración del aprendizaje few-shot para la clasificación de sentimientos mediante métodos basados en instrucciones

La figura 1 ilustra un proceso de aprendizaje de pocas tomas para la clasificación de sentimientos utilizando un modelo de lenguaje grande. La instrucción proporciona ejemplos de texto etiquetado como "positivo" o "negativo". El modelo, después de ver estos ejemplos etiquetados, tiene la tarea de clasificar un nuevo fragmento de texto ("Este producto es muy rentable") como "positivo". Esto demuestra cómo el aprendizaje few-shot permite al modelo generalizar a partir de un pequeño número de ejemplos para realizar una tarea específica.

¿Cómo funciona el few-shot prompting?

El few-shot prompting funciona presentando al modelo varios ejemplos de la tarea deseada dentro de la instrucción. Esta técnica aprovecha el conocimiento preentrenado de modelos de lenguaje de gran tamaño (LLM) para realizar tareas específicas de manera eficiente, incluso con datos limitados.

Diagrama del proceso de few-shot prompting Figura 2: Funcionamiento de few-shot prompting

Consulta del usuario: el proceso comienza con una consulta del usuario, como "Este producto es muy rentable".

Almacén de vectores: todos los ejemplos se almacenan en un almacén de vectores, una base de datos optimizada para la búsqueda semántica. Cuando se recibe una consulta de usuario, el sistema realiza una coincidencia semántica para encontrar los ejemplos más relevantes del almacén de vectores.

Recuperación de ejemplos relevantes: solo se recuperan los ejemplos más relevantes y se utilizan para formar la instrucción. En este ejemplo, la generación aumentada por recuperación (RAG) se utiliza para recuperar los ejemplos de un almacén de vectores, lo que ayuda a adaptar la instrucción a la consulta específica. Aunque la RAG no es un requisito universal para el few-shot prompting, puede mejorar significativamente el proceso al garantizar que se utilicen los ejemplos más relevantes contextualmente, mejorando así el rendimiento del modelo en ciertos escenarios.

Formación de instrucciones: la instrucción construye con los ejemplos recuperados y la consulta del usuario. Por ejemplo, la instrucción podría tener este aspecto:

Formación de instrucciones Figura 3: Formación de instrucciones

Procesamiento de LLM: la instrucción generada se introduce en el LLM. El modelo procesa la instrucción y genera un resultado, en este caso, clasificando el sentimiento de la consulta del usuario.

Resultado: el LLM genera la clasificación, como "negativa" para el ejemplo dado.

Las investigaciones han puesto de relieve la eficacia de un enfoque de aprendizaje con pocos ejemplos que reduce la dependencia de un prompt engineering exhaustivo. A diferencia del fine-tuning tradicional, que implica ajustar los parámetros del modelo utilizando un gran conjunto de datos antes de la instrucción, el fine-tuning en la configuración few-shot se refiere al proceso de adaptar modelos preentrenados con solo unos pocos ejemplos proporcionados directamente dentro de la instrucción. Este enfoque permite al modelo aprovechar sus conocimientos preexistentes de forma más eficaz sin necesidad de entrenamiento adicional en grandes conjuntos de datos[2]. Este estudio demostró que incluso cuando se utilizan "instrucciones nulas" (instrucciones que no contienen plantillas específicas de tareas ni ejemplos etiquetados), el modelo aún podría lograr una precisión competitiva en varias tareas. Por ejemplo, una instrucción nula podría simplemente plantear una pregunta como "¿Qué sentimiento transmite el siguiente texto?" sin dar ningún ejemplo específico o instrucciones sobre cómo clasificar el sentimiento. A pesar de esta falta de estructura, el modelo puede funcionar bien, mostrando la solidez del aprendizaje few-shot.

En general, el estudio sugiere que el aprendizaje few-shot es una Estrategia muy eficaz, sobre todo cuando se utilizan instrucciones estructuradas. Aunque las instrucciones nulas pueden dar buenos resultados, añadir algunos ejemplos bien elegidos puede mejorar aún más el rendimiento del modelo, lo que lo convierte en un enfoque versátil y eficiente, especialmente en escenarios con datos etiquetados limitados [1].

Ventajas y limitaciones del few-shot prompting

El few-shot prompting es una técnica potente en el procesamiento del lenguaje natural (PLN) que permite a los modelos realizar tareas con un mínimo de ejemplos. Este enfoque tiene varias ventajas y limitaciones que influyen en su eficacia y aplicabilidad.

Ventajas

  1. Eficiencia y flexibilidad: el few-shot prompting reduce significativamente la cantidad de datos etiquetados necesarios para el entrenamiento, lo que lo hace altamente eficiente y adaptable a nuevas tareas. Al aprovechar modelos de lenguaje de gran tamaño preentrenados, el few-shot prompting puede lograr un rendimiento competitivo incluso con datos limitados. Por ejemplo, en el siguiente estudio citado, los autores demostraron que el fine-tuning de los modelos de lenguaje en un entorno de pocas tomas reduce la necesidad de un prompt engineering extenso y puede lograr una alta precisión en una amplia gama de tareas[2].
  2. Rendimiento mejorado en diversas aplicaciones: el few-shot prompting ha demostrado mejoras significativas en diversas aplicaciones, desde la clasificación de textos hasta la traducción automática y más. Por ejemplo, los autores del siguiente estudio propuesto propusieron TransPrompt, un marco de prompting transferible que captura el conocimiento de tareas cruzadas, mejorando significativamente el rendimiento en tareas de clasificación de texto de pocas tomas[3].
  3. Robustez ante diferentes instrucciones: la robustez de few-shot prompting frente a diferentes formulaciones de instrucciones es otra ventaja clave. Unified Prompt Tuning (UPT), descrito por Feihu Jin et al., enriquece las instrucciones con información específica de la tarea y dependiente de la instancia, logrando mejoras significativas en el rendimiento en diversas tareas de PLN[4].
  4. Reducción de la sobrecarga computacional: los avances recientes han hecho que el few-shot prompting sea más eficiente. Por ejemplo, Lewis Tunstall et al. introdujeron SetFit, un marco eficiente para el fine-tuning few-shot de Sentence Transformers, que logra una alta precisión con significativamente menos parámetros y un tiempo de entrenamiento reducido en comparación con los métodos existentes[5].

Limitaciones

  1. Dependencia de la calidad de la instrucción: la calidad y el diseño de la instrucción afectan significativamente al rendimiento de few-shot prompting. La creación de instrucciones eficaces a menudo requiere una ingeniería cuidadosa y experiencia en el dominio. Los autores Timo Schick y otros investigadores destacaron la variabilidad en el rendimiento debido a la calidad de las instrucciones, enfatizando la necesidad de un manejo inteligente de múltiples instrucciones para lograr resultados confiables[6].
  2. Complejidad computacional: los modelos de lenguaje de gran tamaño utilizados en el few-shot prompting requieren recursos computacionales sustanciales. Esto puede ser una barrera para muchas organizaciones, limitando la accesibilidad de estos modelos. Morteza Bahrami et al. señaló que los modelos con un gran número de parámetros requieren un hardware potente, lo que puede ser una limitación para su adopción generalizada[1].
  3. Desafío de la generalización: generalizar las instrucciones en diversas tareas y conjuntos de datos sigue siendo un desafío importante. Aunque el few-shot prompting puede funcionar bien en tareas específicas, garantizar un rendimiento constante en aplicaciones diversas requiere técnicas avanzadas. Por ejemplo, el estudio realizado por Feihu Jin y otros autores abordó este problema en el razonamiento numérico aprovechando grandes cantidades de datos de entrenamiento para mejorar la generalización en el aprendizaje basado en instrucciones[4].
  4. Capacidades limitadas de zero-shot: si bien el few-shot prompting destaca con ejemplos mínimos, su rendimiento en entornos de disparo cero puede ser menos fiable. El estudio sobre los avances en NER introdujo QaNER, un método basado en instrucciones para el reconocimiento de entidades nombradas que aborda las limitaciones de las capacidades zero-shot mejorando la solidez de las instrucciones[7].

Por lo tanto, el few-shot prompting ofrece beneficios sustanciales en términos de eficiencia, flexibilidad y rendimiento en diversas aplicaciones. Sin embargo, su dependencia de la calidad de las instrucciones, la complejidad computacional, los desafíos en la generalización y las limitadas capacidades zero-shot ponen de relieve las áreas en las que se necesitan más avances para maximizar su potencial.

Casos de uso

El few-shot prompting ha demostrado ser una herramienta versátil y potente con una serie de ejemplos en diversas aplicaciones, aprovechando los puntos fuertes de los modelos de lenguaje de gran tamaño para realizar tareas complejas con ejemplos limitados. Es popular entre los casos de uso creativos de la IA generativa, como la creación de contenidos o el aprendizaje en contexto. Estos son algunos casos de uso notables explicados en detalle:

Análisis de sentimiento
El few-shot prompting es especialmente útil en el análisis de sentimiento, en el que los modelos clasifican el sentimiento de un texto con datos etiquetados limitados. La integración de few-shot prompting con la coincidencia semántica, como se muestra en la figura 2, es un ejemplo. Permite a los modelos clasificar con precisión los sentimientos basándose en ejemplos relevantes de un almacén de vectores[1].

Reconocimiento de acciones en vídeos
El few-shot prompting también se ha aplicado al reconocimiento de acciones en vídeos. Yuheng Shi et al. introdujeron la instrucción de conocimiento, que aprovecha el conocimiento de sentido común de recursos externos para instruir modelos de visión-lenguaje. Este método clasifica eficazmente las acciones en vídeos con una supervisión mínima, logrando un rendimiento de vanguardia y reduciendo significativamente la sobrecarga de entrenamiento[8].

Generación de diálogos fundamentados
En la generación de diálogos fundamentados o chatbots, el few-shot prompting refuerza los modelos de diálogo integrando fuentes de información externas. Este estudio demostró que los métodos de few-shot prompting podrían mejorar significativamente el rendimiento de los modelos de diálogo, haciéndolos más coherentes y contextualmente relevantes[9].

Reconocimiento de entidades nombradas (NER)
El few-shot prompting puede mejorar las tareas de reconocimiento de entidades nombradas proporcionando ejemplos que ayudan al modelo a reconocer y clasificar entidades dentro del texto. El autor del siguiente estudio citado desarrolló un método de aprendizaje few-shot basado en instrucciones y consciente de entidades para tareas de respuesta a preguntas, que puede adaptarse a tareas NER, mejorando significativamente el rendimiento del modelo[10].

Tareas de generación de código
El few-shot prompting también es aplicable a tareas relacionadas con el código, como la generación de aserciones de prueba y la reparación de programas. En su estudio, Noor Nashid et al. desarrollaron una técnica que recupera automáticamente demostraciones de código para crear instrucciones efectivas, mostrando mejoras sustanciales en la precisión de las tareas[11].

Estos casos de uso demuestran la amplia aplicabilidad y eficacia de few-shot prompting en diferentes campos y tareas, mostrando su potencial para impulsar la innovación y la eficiencia en las aplicaciones de IA y PLN.

El few-shot prompting representa un salto significativo en la IA y el PLN, ofreciendo eficiencia, flexibilidad y rendimiento mejorado con pocos ejemplos. A medida que la tecnología evolucione, desempeñará un papel crucial en diversas aplicaciones, impulsando la innovación y la eficiencia en múltiples campos.

AI Academy

Conviértase en un experto en IA

Obtenga los conocimientos necesarios para priorizar las inversiones en IA que impulsan el crecimiento empresarial. Dé sus primeros pasos hoy mismo con nuestra AI Academy gratuita y lidere el futuro de la IA en su organización.

Soluciones relacionadas
IBM watsonx Orchestrate

Diseñe asistentes y agentes de IA escalables con facilidad, automatice tareas repetitivas y simplifique procesos complejos con IBM watsonx Orchestrate.

Explore watsonx Orchestrate
Soluciones de inteligencia artificial

Ponga la IA a trabajar para su negocio con la experiencia líder del sector y el portfolio de soluciones de IA de IBM.

Explore las soluciones de IA
Consultoría y servicios de inteligencia artificial

Los servicios de IA de IBM® Consulting ayudan a reinventar la forma de trabajar de las empresas con IA para la transformación.

Explore los servicios de IA
Dé el siguiente paso

Gracias a la IA, IBM Concert descubre información crucial sobre sus operaciones y ofrece recomendaciones de mejora personalizadas para cada aplicación. Descubra cómo Concert puede hacer avanzar su negocio.

  1. Explorar el concierto
  2. Explore las soluciones de automatización de procesos empresariales
Notas a pie de página
  1. Morteza Bahrami, M. M. (14 de febrero de 2023). Few-shot Learning with Prompting Methods. 6ª Conferencia Internacional sobre Reconocimiento de Patrones y Análisis de Imágenes (IPRIA),. 1-5. https://ieeexplore.ieee.org/document/10147172.
  2. Robert L Logan IV, I. B. (24 de junio de 2021). Cutting Down on Prompts and Parameters: Simple Few-Shot Learning with Language Models. 2824-2835. https://aclanthology.org/2022.findings-acl.222/.
  3. Chengyu Wang, J. W. (2021). TransPrompt: Towards an Automatic Transferable Prompting Framework for Few-shot Text Classification. 2792-2802. https://aclanthology.org/2021.emnlp-main.221/.
  4. Feihu Jin, J. L. (4 de junio de 2023). Unified Prompt Learning Makes Pre-Trained Language Models Better Few-Shot Learners. ICASSP 2023 - 2023 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). 1-5. https://ieeexplore.ieee.org/document/10095738.
  5. Lewis Tunstall, N. R. (22 de septiembre de 2022). Efficient Few-Shot Learning Without Prompts. https://arxiv.org/abs/2209.11055.
  6. Timo Schick, H. S. (2021). Exploiting Cloze-Questions for Few-Shot Text Classification and Natural Language Inference. En Actas de la 16th Conference of the European Chapter of the Association for Computational Linguistics: Main Volume. PP. 255–269. En línea. Association for Computational Linguistics.
  7. Andy T. Liu, W. X.-W. (3 de marzo de 2022). QaNER: Prompting Question Answering Models for Few-shot Named Entity Recognition. https://arxiv.org/abs/2203.01543.
  8. Yuheng Shi, X. W. (22 de noviembre de 2022). Knowledge Prompting for Few-shot Action Recognitionhttps://doi.org/10.48550/arXiv.2211.12030.
  9. Chujie Zheng, M. H.(14 de septiembre de 2021). Exploring Prompt-based Few-shot Learning for Grounded Dialog Generation. https://arxiv.org/abs/2109.06513.
  10. Yi Chen, X. S. (26 de mayo de 2023). Few-shot Question Answering with Entity-Aware Prompt. Actas de la 2023 4th International Conference on Computing, Networks and Internet of Things. https://dl.acm.org/doi/10.1145/3603781.3603812.
  11. Noor Nashid, M. S. (1 de mayo de 2023). Retrieval-Based Prompt Selection for Code-Related Few-Shot Learning. IEEE/ACM 45th International Conference on Software Engineering (ICSE). 2450-2462. https://ieeexplore.ieee.org/document/10172590.