7 min de lectura

LLMs: ¿Qué son y qué oportunidades ofrecen?

¿Cuáles son las herramientas y técnicas disponibles para una ingeniería de prompts efectiva? ¿Cuáles son las fortalezas y debilidades de ChatGPT hoy en día? ¿Cómo podemos ayudarlo a mejorar? Leonid Ardaev, gerente de producto del Anywhere Club, contesta estas preguntas y comparte recursos útiles para aprender ingeniería de prompts. 

Leonid Ardaev, gerente de producto del Anywhere Club

¿Qué es un LLM o Modelo de Lenguaje a Gran Escala?

— LLM se refiere a los Modelos de Lenguaje a Gran Escala (Large Language Models) que son modelos de aprendizaje automático que operan con un gran número de parámetros. Utilizan una gran cantidad de datos y redes transformacionales para construir su estructura. Probablemente ya estás familiarizado con modelos como GPT-3, GPT-3.5 y, por supuesto, GPT-4, que OpenAI emplea en sus chatbots. Actualmente, OpenAI no revela detalles específicos acerca del volumen de información y los parámetros utilizados en GPT-4, pero hay razones para creer que es uno de los modelos más grandes disponibles.

También hay otros modelos menos populares que, sin embargo, están por detrás de OpenAI en muchas pruebas. AI21 Labs, una empresa israelí, ofrece los modelos Jurassic 1 y Jurassic 2. Además, Google Bard es un chatbot basado en el modelo PaLM-2, que recientemente se ha popularizado.

NVIDIA ha desarrollado varias tecnologías interesantes (NeMo, Picasso y BioNeMo) que están diseñadas para una amplia gama de aplicaciones, desde la generación de texto y vídeo hasta la investigación científica. Su próxima versión probablemente tendrá el mayor número de parámetros, lo que permitirá considerar más detalles al generar contenido.

La variedad de modelos de lenguaje es amplia y cada modelo tiene sus propias características, ventajas y áreas específicas de aplicación.

ChatGPT

— GPT (Generative Pre-trained Transformer) es un Modelo de Lenguaje a Gran Escala (LLM) y ChatGPT se basa en el modelo GPT diseñado para interactuar en conversaciones de lenguaje natural con humanos. ChatGPT puede mantener diálogos recordando declaraciones previas y proporcionando respuestas que se parecen a las conversaciones humanas coherentes. El modelo se entrena en grandes volúmenes de datos textuales y utiliza una arquitectura de transformación para generar respuestas.

Fortalezas de ChatGPT

  1. Ubicación de la información: En la mayoría de los casos, ChatGPT se destaca en encontrar información relevante rápidamente. A diferencia de los motores de búsqueda, que pueden tener miles de desarrolladores y aún así encuentran  dificultades para obtener información altamente importante o específica, ChatGPT maneja bien las consultas debido a su capacidad para considerar la secuencia de solicitudes y su enfoque general del procesamiento de consultas. Esto lo convierte en una herramienta útil para los proyectos de recuperación de información. LLM puede gestionar consultas complejas que puede que no estén presentes como palabras clave en el texto.

  2. Creación y resumen de texto: ChatGPT también funciona excepcionalmente bien con el texto; puede generar y resumir grandes volúmenes de éste . Puede tomar texto estructurado o no estructurado y producir resúmenes o sinopsis según la consulta.

  3. Habilidades de traducción: ChatGPT demuestra excelentes habilidades de traducción. Incluso para idiomas complejos que se leen de derecha a izquierda o de izquierda a derecha, traducirlos a otros idiomas a través del cirílico y el inglés puede ser más preciso y de mayor calidad que el uso de herramientas tradicionales como Google Translate. ChatGPT reconoce correctamente y reproduce caracteres específicos y considera detalles matizados gracias a su base de conocimiento, que abarca una inmensa cantidad de información de internet.

  4. Generación de código: ChatGPT es capaz de generar código fácilmente , incluyendo estructuras JSON, basándose en los datos proporcionados y puede determinar automáticamente dónde insertar los valores correspondientes. Por ejemplo, si le proporcionas un currículum vitae (CV) y solicitas su conversión a formato JSON sin proporcionar un contexto extenso, ChatGPT puede generar una salida estructurada con divisiones de sección y nombres de campo correctos. También se desempeña bien con tareas repetitivas si la secuencia de solicitudes está programada correctamente.

  5. Interpretación de roles: ChatGPT puede ser utilizado como tutor de inglés o para otras áreas temáticas específicas. Por ejemplo, si le pides que se haga pasar por alguien y participe en una conversación en lenguaje natural, sobresale en la interpretación del rol y puede interactuar efectivamente con el contexto. Esto permite la creación de situaciones interesantes y realistas para propósitos educativos o para la capacitación en habilidades de negociación.

Debilidades de ChatGPT

  1. Incapacidad para proporcionar juicios evaluativos: A ChatGPT le falta la capacidad de proveer evaluaciones subjetivas como "bueno" o "malo" o para mostrar un tono emocional en sus respuestas. OpenAI ha implementado mecanismos para tratar de limitar la generación de respuestas que podrían considerarse inapropiadas o incorrectas desde un punto de vista ético.

  2. “Alucinaciones”: Dado que ChatGPT está entrenado en información públicamente disponible que puede contener errores o inexactitudes, existe el riesgo de que el modelo genere respuestas incorrectas o inexactas. Si el modelo recibe datos incorrectos, puede producir una combinación en respuesta que parezca legítima, pero que en realidad sea incorrecta. Esto es especialmente notable en preguntas lógicas o tareas que requieren cálculos matemáticos. Es importante abordar las respuestas del modelo con precaución y evaluarlas antes de aceptarlas como verdad.

  3. Posibilidad de errores factuales en la generación de texto: Aunque el modelo puede generar texto de alta calidad, no siempre es una fuente de información precisa.

  4. Tendencias sesgadas: Dado que el modelo está entrenado en un gran cuerpo de datos públicos, puede mostrar preferencias o sesgos hacia respuestas más probables. Esto puede resultar en que el modelo se adhiera persistentemente a un punto de vista particular sobre una pregunta, incluso si no es preciso. Esto se debe a que el modelo genera respuestas basadas en los datos disponibles. Es importante verificar y comprobar las respuestas del modelo.

  5. Atención al detalle, especialmente con prompts largos: El modelo gratuito GPT3.5-turbo, que alimenta a ChatGPT, puede retener alrededor de 4,000 tokens o aproximadamente 3,000 palabras en su memoria a corto plazo. El modelo de pago GPT4 es capaz de procesar hasta 32,000 tokens. Si un prompt es demasiado largo, el modelo puede perder algunos detalles y cometer errores en su respuesta. Prestar atención al detalle y controlar el tamaño del prompt puede ayudar a mitigar tales problemas.

Por supuesto, ChatGPT tiene muchas más restricciones en este momento y cuándo se eliminarán es cuestión de tiempo. Por ahora, debes recordar las limitaciones e intentar trabajar con ellas.

Reglas básicas para compilar prompts

— La ingeniería de prompts es un aspecto importante de la interacción con el modelo de ChatGPT. Para obtener una respuesta precisa y correcta, necesitas formular cuidadosamente un prompt. Un prompt para un modelo no puede ser el mismo que para un humano. Una persona puede interpretar señales no verbales y comprender intenciones implícitas. El modelo no tiene esta capacidad. Requiere un contexto suficiente y una comprensión clara de la tarea. Si el modelo no recibe esta información, aún devolverá una respuesta, pero es probable que la respuesta no coincida con las expectativas y la solicitud del usuario.

  1. La regla clave para recordar es ser suficientemente específico al formular prompts. Proporciona detalles específicos y probabilidades para obtener respuestas precisas del modelo. Si el prompt carece de información suficiente o proporciona datos no verificados, el modelo puede dar respuestas o sugerencias no respaldadas basándose en la información disponible. Cuando le proporcionamos al modelo información más precisa, puede proporcionar respuestas más razonadas e informadas basándose en el contexto.

  2. Es importante tener en cuenta que los modelos tienen configuraciones ajustables al trabajar con ellos a través de plataformas como Playground u otros entornos en la nube que utilizan el motor de OpenAI. Un ejemplo es el parámetro "temperatura", que determina la variabilidad de las respuestas del modelo. Una "temperatura" alta permite al modelo generar respuestas diversas y creativas teniendo en cuenta las probabilidades de coincidir con la consulta. ChatGPT es conocido por operar con una "temperatura" fija de 0.7, lo que implica variabilidad en las respuestas del bot a la misma pregunta. Disminuir la "temperatura" hace que el modelo sea más predecible y estable, pero puede limitar la variabilidad de la respuesta. Por lo tanto, es importante considerar la elección de la temperatura, especialmente cuando se busca una respuesta fija y precisa.

  3. Cuando se trabaja con ChatGPT, es beneficioso desglosar los prompts largos en partes pequeñas, especialmente para análisis comparativos o tareas complejas. Esto ayuda a evitar la pérdida de contexto y ayuda a obtener resultados más precisos. Puedes dividir la tarea en varias subtareas, procesarlas por separado y luego comparar los resultados obtenidos de cada una. Ten en cuenta las limitaciones en  tamaño del prompt para cada modelo. Si se supera el límite, la parte del prompt que exceda el límite será "olvidada" por el modelo.

  4. Fomentar el "pensamiento": ChatGPT puede aprender a través de la interacción. Proporcionar al modelo una pequeña cantidad de contexto y una clara comprensión de lo que está bien o mal ayuda a recordar esa información y aumenta la probabilidad de generar respuestas en el formato esperado. Este enfoque es adecuado para abordar problemas más complejos y proporciona mayor confianza en los resultados obtenidos. Proporcionar ejemplos también ayuda a entrenar al modelo.

Herramientas y técnicas para una ingeniería de prompts efectiva

  1. Dyno IDE y Wale IDE (Entornos de Desarrollo Integrado): Estas herramientas permiten probar y controlar los resultados de las consultas a través de la API de OpenAI, así como usar pequeños conjuntos de datos para incorporar variables en un bucle de consultas. Usando estos IDEs, puedes generar múltiples respuestas con diferentes configuraciones, como la temperatura y la longitud de la respuesta. Al comparar y analizar los resultados, puedes elegir la respuesta más adecuada. Estos entornos son útiles para probar y optimizar los prompts.

  2. Playground integrado en OpenAI:  Playground de OpenAI ofrece la capacidad de personalizar las consultas y utilizar características adicionales para lograr resultados consistentes.

  3. DocsGPT: Un modelo basado en OpenAI, DocsGPT te permite utilizar archivos como contexto para generar respuestas. DocsGPT puede responder preguntas usando información de los archivos subidos. Es una herramienta conveniente para construir chatbots de referencia basados en LLM.

  4. Además, existe una extensión de navegador que permite a ChatGPT obtener datos de internet. Con la ayuda de esta extensión, ChatGPT puede acceder a motores de búsqueda y proporcionar respuestas basadas en la información obtenida de  internet.

El uso de herramientas te ayuda a probar y ajustar tus prompts para encontrar las mejores opciones y obtener los resultados que deseas.

Recursos útiles para aprender ingeniería de prompts

— Hay muchos recursos adicionales que puedes utilizar para aprender más acerca de la ingeniería de prompts y aplicarlas en la práctica:

1. Los cursos HRGPT y de ingeniería de prompts se pueden encontrar en la plataforma de LinkedIn Learning. Proporcionan una explicación profesional y más profunda de estos conceptos. Algunos ejemplos son:  

Obtén una licencia de LinkedIn Learning en cuatro pasos

2. El recurso Learn Prompting proporciona recursos útiles para aprender más acerca del proceso de prompts.

3. Varios IDEs (Entornos de Desarrollo Integrados) ofrecen características ricas y se están actualizando constantemente, proporcionando un contexto útil y herramientas para la creación eficiente de prompts. También se integran con varios lenguajes de programación y marcos para resolver problemas específicos.