acf domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131all-in-one-seo-pack domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131wp-user-avatar domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/planetac/desa.planetachatbot.com/wp-includes/functions.php on line 6131The post Diseñando prompts eficaces para la recogida de datos: estrategias y buenas prácticas first appeared on Planeta Chatbot.
]]>Así que, desde el surgimiento de la ingeniería de avisos, en este artículo, mostraremos cómo podemos usar avisos efectivos para la recolección de datos. Esto es lo que leerás aquí:
Table of contents:
Effective prompts for survey design
Prompt engineering for text annotation
– Sentiment analysis
– Named entity recognition
– Topic categorization
– Emotions classification
How prompt engineering can speed up the data extraction process
Putting it all togheter
Una forma «histórica» o «clásica» de recopilar datos son las encuestas. Responder preguntas siempre ha ayudado a personas de diversos sectores a realizar investigaciones.
Hay que decir que la metodología ha cambiado con el tiempo, pero una encuesta sigue siendo una de las formas «base» de recopilar datos y todavía ayudamos a la gente a rellenarlas de diferentes maneras: en papel, por teléfono o por correo electrónico. Incluso los creadores recopilan datos a través de encuestas en las redes sociales y por correo electrónico (¡yo soy culpable!) para mejorar sus contenidos.
Así que, dada la importancia de las encuestas, ¿por qué no mejorarlas a través de la IA? O, simplemente: ¿qué harías si tuvieras que crear una encuesta, pero no sabes por dónde empezar?
Ya lo sé. Le preguntarías a ChatGPT.
Buena solución, pero hagámosla con un método.
He aquí algunos consejos para crear prompts eficaces y siempre válidos:
Hagamos ahora algunos ejemplos puntuales de encuestas.
Podemos empezar con una encuesta de satisfacción del cliente sobre un producto concreto: «Generar preguntas de encuesta sobre la satisfacción del cliente para un producto. Las respuestas deben ser 5«.
Y obtenemos:
Aquí hay algunas preguntas de encuesta sobre la satisfacción del cliente para un producto, donde los encuestados pueden proporcionar respuestas en una escala de 1 a 5 (siendo 5 el nivel más alto de satisfacción):
1) ¿Cuál es su grado de satisfacción con la calidad general de nuestro producto?
1: Muy insatisfecho
2: Insatisfecho
3: Neutral
4: Satisfecho
5: Muy satisfecho
2) ¿Cómo calificaría el rendimiento y la fiabilidad de nuestro producto?
1: Muy deficiente
2: Deficiente
3: Regular
4: Bueno
5: Excelente
3) ¿En qué medida satisface nuestro producto sus necesidades y expectativas?
1: En absoluto
2: Algo
3: Moderadamente
4: Mayoritariamente
5: Completamente
3) ¿En qué medida satisface nuestro producto sus necesidades y expectativas?
1: En absoluto
2: Algo
3: Moderadamente
4: Mayoritariamente
5: Completamente
4) ¿Cuál es su grado de satisfacción con el servicio de atención al cliente de nuestro producto?
1: Muy insatisfecho
2: Insatisfecho
3: Neutral
4: Satisfecho
5: Muy satisfecho
5) ¿Qué probabilidades hay de que recomiende nuestro producto a otras personas?
1: Muy improbable
2: Improbable
3: Neutral
4: Probable
5: Muy probable
6) ¿Cómo calificaría la relación calidad-precio de nuestro producto?
1: Mala relación calidad-precio
2: Valor por debajo de la media
3: Valor medio
4: Buena relación calidad-precio
5: Excelente relación calidad-precio
7) ¿Cuál es su grado de satisfacción con la facilidad de uso de nuestro producto?
1: Muy insatisfecho
2: Insatisfecho
3: Neutral
4: Satisfecho
5: Muy satisfecho
8) ¿Cuál es su grado de satisfacción con las características y funcionalidades de nuestro producto?
1: Muy insatisfecho
2: Insatisfecho
3: Neutral
4: Satisfecho
5: Muy satisfecho
9) ¿Cómo calificaría la durabilidad y longevidad de nuestro producto?
1: Muy mala
2: Deficiente
3: Regular
4: Buena
5: Excelente
10) ¿Cuál es su grado de satisfacción general con nuestro producto?
1: Muy insatisfecho
2: Insatisfecho
3: Neutral
4: Satisfecho
5: Muy satisfecho
Estas preguntas te ayudarán a calibrar los niveles de satisfacción de los clientes y a identificar los puntos fuertes y las áreas de mejora de tu producto. Recuerda analizar las respuestas cuidadosamente para obtener información valiosa y tomar decisiones informadas para mejorar la satisfacción del cliente.
No soy un experto en encuestas, pero considero que las preguntas proporcionadas por ChatGPT son una buena encuesta.
Ahora una pregunta: ¿podemos hacer algo mejor? Dijimos que teníamos que ser específicos, pero, efectivamente, no lo fuimos.
Para ser más precisos, podemos introducir una pregunta como esta: «Generar preguntas de encuesta sobre la satisfacción del cliente para un producto digital que ayuda a la gente a aprender IA. Las respuestas deben ser 3«.
Y obtenemos:
Por supuesto. He aquí algunas preguntas de encuesta sobre la satisfacción de los clientes de un producto digital que ayuda a aprender IA, en las que los encuestados pueden dar respuestas en una escala de 1 a 3 (siendo 3 el nivel más alto de satisfacción):
1) ¿Está satisfecho con el contenido de nuestro producto de aprendizaje de IA?
1: No estoy satisfecho
2: Algo satisfecho
3: Muy satisfecho
2) ¿Cómo calificaría la claridad y comprensibilidad del material didáctico?
1: Poco claro y difícil de entender
2: Algo claro y comprensible
3: Muy claros y comprensibles
3) ¿Hasta qué punto nuestro producto de aprendizaje de IA ha cumplido sus expectativas?
1: No ha cumplido las expectativas
2: Cumple parcialmente las expectativas
3: Cumple totalmente las expectativas
4) ¿Cuál es su grado de satisfacción con la organización y estructura de los módulos de aprendizaje?
1: No estoy satisfecho
2: Algo satisfecho
3: Muy satisfecho
5) ¿En qué medida le resultan útiles los ejercicios prácticos y los proyectos prácticos de nuestro producto de aprendizaje de IA?
1: No son útiles
2: Algo útiles
3: Muy útil
6) ¿Cuál es su grado de satisfacción con la disponibilidad y accesibilidad del apoyo y la asistencia?
1: No estoy satisfecho
2: Algo satisfecho
3: Muy satisfecho
7) ¿Le parecen eficaces los cuestionarios y evaluaciones interactivos para reforzar su aprendizaje?
1: Poco eficaces
2: Algo eficaces
3: Muy eficaz
8) ¿Cuál es su grado de satisfacción con la interfaz de usuario y la navegación de nuestra plataforma de aprendizaje de IA?
1: No estoy satisfecho
2: Algo satisfecho
3: Muy satisfecho
9) ¿Cómo calificaría la relevancia y aplicabilidad de los conceptos y técnicas de IA que se enseñan en nuestro producto de aprendizaje?
1: No relevante o aplicable
2: Algo relevantes y aplicables
3: Muy relevantes y aplicables
10) ¿Cuál es su grado de satisfacción con la experiencia general de aprendizaje que ofrece nuestro producto de aprendizaje de IA?
1: No estoy satisfecho
2: Algo satisfecho
3: Muy satisfecho
Estas preguntas te ayudarán a evaluar los niveles de satisfacción de los clientes con tu producto y a identificar las áreas en las que se pueden realizar mejoras. El análisis de las respuestas te proporcionará información valiosa para mejorar la experiencia de aprendizaje y satisfacer eficazmente las necesidades de sus clientes.
Como podemos ver, si somos más específicos con la pregunta, la encuesta mejora. Podemos ver, de hecho, que las preguntas de las dos encuestas son similares, pero hay algunas diferencias.
Por ejemplo, consideremos la pregunta 9 debido a la primera indicación: «¿Cómo calificaría la durabilidad y longevidad de nuestro producto?«. ¿Podría relacionarse de algún modo con un producto de IA? Bueno, depende, pero quizá no. Sin embargo, la pregunta 9 del segundo intento es: «¿Cómo calificaría la relevancia y aplicabilidad de los conceptos y técnicas de IA que se enseñan en nuestro producto de aprendizaje?». Esta pregunta es mucho más directa y concisa, ¿no crees?
La anotación de datos es el proceso de etiquetar (o anotar) datos en bruto con información adicional para hacerlos utilizables para algoritmos de ML.
En concreto, la anotación de datos, en lo que respecta a los datos de texto, es el proceso de añadir anotaciones al texto para añadir estructura o información adicional. Dependiendo de la tarea y los requisitos particulares, las anotaciones pueden contener una variedad de etiquetas, incluyendo etiquetas de sentimiento, entidades con nombre, etiquetas de parte de discurso, estructura gramatical, etiquetas de intención, etiquetas de categorización y más.
La ingeniería de prompts puede ayudarnos en las tareas de anotación de datos, haciendo que el proceso de recopilación de anotaciones a partir de texto sea automatizable y rápido. De hecho, proporcionando instrucciones específicas, el modelo puede generar prompts para extraer anotaciones para el análisis de sentimientos, el reconocimiento de entidades con nombre o cualquier otra tarea de clasificación de texto.
Veamos algunos ejemplos.
El análisis de sentimientos es un subcampo del Procesamiento del Lenguaje Natural (NLP) que nos ayuda a comprender si un texto concreto tiene un sentimiento positivo, negativo o neutro. En estos casos, necesitamos un texto y queremos pedir a nuestra IA que clasifique su sentimiento.
Una pregunta puede ser algo como: «Analiza el sentimiento de la siguiente frase y etiquétala como positiva, negativa o neutra«. O «Clasifica el sentimiento de la siguiente frase en una de las categorías: positivo, negativo o neutro«.
Por ejemplo: «Analice el sentimiento de la frase dada y etiquétela como positiva, negativa o neutra» y obtenemos:
Basándose en la frase dada, el sentimiento puede clasificarse como negativo. La frase «decepción total» sugiere un fuerte sentimiento negativo, indicando que la película no cumplió las expectativas del hablante. La mención de «esperaba mucho más» refuerza aún más el sentimiento negativo, expresando una sensación de insatisfacción. Por lo tanto, la etiqueta de sentimiento para esta frase sería negativa.
El reconocimiento de entidades con nombre (NER) es el proceso de localizar y clasificar determinados tipos de información que se encuentran en los datos brutos. En concreto, es la tarea de identificar entidades, como personas, lugares y organizaciones, en un texto en lenguaje natural.
Como ya hemos señalado, los prompts deben ser precisas, concisas y lo más breves posible. En el caso de NER, tenemos que ser muy específicos, sobre todo en lo que respecta al campo de dominio.
Así, por ejemplo, algunos prompts pueden ser:
Así, por ejemplo, podemos introducir la siguiente consulta: «Encuentra y clasifica todas las ubicaciones y empresas mencionadas en el párrafo: «Apple y Facebook son considerados gigantes tecnológicos de Silicon Valley». Y obtenemos:
Aquí está la categorización de lugares y empresas mencionados en el párrafo dado:
Ubicaciones: Silicon Valley
Empresas: Apple y Facebook
En este ejemplo, «Silicon Valley» se categoriza como ubicación, mientras que «Apple» y «Facebook» se categorizan como empresas.
La categorización por temas es una forma de organizar el texto que ayuda al lector a comprender el tema principal del texto y ver cómo se desarrolla. Cuando un texto se categoriza, se divide en partes más pequeñas que son más fáciles de entender.
Por ejemplo, un texto sobre la historia del baloncesto puede clasificarse en los apartados de historia, jugadores, equipos y deportes. Las indicaciones eficientes pueden ser:
Veamos el efecto de los prompts genéricos con respecto a un específico. Por ejemplo, consideremos los dos primeros párrafos de este artículo. Una pregunta genérica podría ser:
«Por favor, clasifique el siguiente texto en los temas apropiados:
El nómada digital se ha convertido en un personaje icónico de la era moderna del trabajo a distancia. Las palabras suelen evocar la imagen de un escritor profesional o un trabajador tecnológico con un ordenador, deambulando por las calles de una pintoresca ciudad extranjera o tecleando en un café frente al mar.
Ven mundo, conocen gente nueva, trabajan en su tiempo libre. Los nómadas digitales son muchos tipos diferentes de trabajadores. Algunos son autónomos o contratistas independientes; otros son emprendedores que crean su propia empresa; y otros trabajan en puestos remotos a tiempo completo para empresas de todo el mundo.
Algunos son asalariados, mientras que otros dependen de ingresos ad hoc. En general, dicen los expertos, muchos de estos trabajadores son de cuello blanco y tienen una buena formación.»
Y obtenemos:
Posibles categorizaciones para el texto dado:
Ten en cuenta que las categorizaciones pueden variar en función del contexto y de los requisitos específicos de la tarea de categorización.
En realidad son muchos temas. Por lo tanto, utilicemos un estímulo específico como: «Determine si el siguiente texto debe clasificarse como ‘tecnología’ o ‘trabajo’, basándose en su tema principal«:
El nómada digital se ha convertido en un personaje icónico de la era moderna del trabajo a distancia. Las palabras suelen evocar la imagen de un escritor profesional o un trabajador tecnológico con un ordenador, deambulando por las calles de una pintoresca ciudad extranjera o tecleando en un café frente al mar.
Ven mundo, conocen gente nueva, trabajan en su tiempo libre. Los nómadas digitales son muchos tipos diferentes de trabajadores. Algunos son autónomos o contratistas independientes; otros son emprendedores que crean su propia empresa; y otros trabajan en puestos remotos a tiempo completo para empresas de todo el mundo.
Algunos son asalariados, mientras que otros dependen de ingresos ad hoc. En general, dicen los expertos, muchos de estos trabajadores son de cuello blanco y tienen una buena formación.»
Y así nos va:
Por su tema principal, el siguiente texto debería clasificarse como «trabajo».
Algunos son asalariados, mientras que otros dependen de ingresos ad hoc. En general, dicen los expertos, muchos de estos trabajadores son de cuello blanco y tienen una buena formación.»
Y así nos va:
Por su tema principal, el siguiente texto debería clasificarse como «laboral».
La clasificación de emociones es el arte de extraer emociones del texto, es decir, nuestro algoritmo puede etiquetar un texto según exprese sentimientos positivos o negativos.
Por ejemplo, si escribo: «Estoy contento porque hoy brilla el sol», este texto se etiquetaría como «contento».
Por tanto, unas instrucciones eficaces pueden ser:
Por ejemplo, utilicemos este artículo para hacer un ejemplo: «Clasifica el tono emocional, distinguiendo entre emociones positivas (por ejemplo, alegría) y negativas (por ejemplo, enfado), del siguiente texto:
«Es increíble saber que estoy por delante de ambos en Grand Slams, pero al mismo tiempo cada uno escribe su propia historia», dijo Djokovic, que también recuperó el número uno del mundo en París.
«Siento que cada gran campeón de su propia generación ha dejado una enorme huella y un legado».
«Tengo una fe, una confianza y una fe enormes en mí mismo y en todo lo que soy, en quién soy y en lo que soy capaz de hacer».
«Este trofeo es otra confirmación de la calidad del tenis que todavía soy capaz de producir».
Djokovic intentará empatar el récord de Court en Wimbledon, un lugar donde ya ha ganado siete veces y será el favorito para igualar el récord de títulos masculinos de Federer.
«Los Grand Slams son las mayores prioridades en la lista de control, no sólo esta temporada, sino cualquier temporada, especialmente en esta etapa de mi carrera», dijo Djokovic.
«El viaje aún no ha terminado. Si estoy ganando Slams, ¿por qué pensar siquiera en poner fin a una carrera que ya dura 20 años?».
«Sigo sintiéndome motivado e inspirado para jugar el mejor tenis en estos torneos».
«Estos son los que más cuentan en la historia de nuestro deporte».
Y lo conseguimos:
El tono emocional del texto es principalmente positivo. He aquí el desglose:
En general, el texto expresa emociones positivas como alegría, confianza, satisfacción, motivación e inspiración.
La extracción de datos es una parte fundamental de un flujo de trabajo de Data Science porque, como es comprensible, nos proporciona los datos que necesitamos analizar.
Sin embargo, aunque podamos utilizar algún lenguaje de programación para automatizar la extracción de datos, a veces el proceso no es sencillo porque podemos necesitar desarrollar mucho código. Pensemos, por ejemplo, en el proceso de extracción de datos de un archivo PDF o de un sitio web (web scraping): esto puede requerir mucho tiempo y código.
Sin embargo, hoy en día existen muchas herramientas que, dada una determinada orden, pueden extraer los datos que necesitamos de diversas fuentes.
Así, imaginemos que tenemos un PDF con una tabla como ésta:
Una pregunta eficaz puede ser: «Extrae los valores de la columna ‘Ventas’ de la siguiente tabla«.
Y obtendríamos:
Claro, aquí está la salida deseada: [«$500», «$750», «$1000»]
Otra pregunta puede ser: «Extraiga los nombres y los números de teléfono del siguiente texto:
John Doe — john.doe@example.com — (555) 123–4567
Jane White — j.white@example.com — (111) 564–0981
Sam Simons — sam-simons@example.com — (123) 467–0987
Tricia Hawking — hawking.tricia@example.com — (012) 809–111”
Y obtenemos:
Aquí están los nombres y números de teléfono extraídos del texto proporcionado:
John Doe — (555) 123–4567
Jane White — (111) 564–0981
Sam Simons — (123) 467–0987
Tricia Hawking — (012) 809–111
Así que, como de costumbre, los prompts tienen que ser específicos. De hecho, en un caso como el anterior, escribir «extraer todos los datos del texto proporcionado» daría como resultado la extracción incluso de los correos electrónicos, pero en este caso no nos interesaban.
Para una mejor comprensión, hemos separado las indicaciones en categorías, para poder hacer mejores ejemplos.
Pero la realidad es siempre más compleja que los ejemplos básicos, y puede que necesitemos clasificar el texto con referencias que estén «intercategorizadas».
Por ejemplo, consideremos este artículo. Queremos saber
Extraiga el día, la ubicación, las emociones del Primer Ministro entre feliz y triste, y el tema entre la actualidad y la crónica en el siguiente texto:
Al menos 10 personas han muerto y otras 25 están hospitalizadas tras estrellarse un autobús de bodas en una región vinícola australiana.
Los pasajeros regresaban de una boda en una bodega el domingo por la noche en Hunter Valley, un lugar popular entre los enoturistas, cuando el autocar volcó.
La policía ha acusado al conductor del autobús, de 58 años, de 10 cargos de conducción peligrosa con resultado de muerte.
La policía informó de que aún se estaba identificando a los fallecidos.
Sin embargo, no se informó de que los recién casados estuvieran en el autobús.
La comisaria de policía Karen Webb dijo que el lugar del accidente es «todavía una escena del crimen activa». «Tenemos agentes forenses procesando la escena del crimen, tenemos agentes de la unidad de investigación de accidentes, tenemos agentes de rescate [en la escena]», añadió.
El accidente se produjo sobre las 23.30 hora local [13.30 GMT] cuando, según la policía, había niebla espesa en la zona. El autobús volcó al girar en una rotonda a la salida de una autopista. Según las autoridades, el vehículo ya ha sido puesto en posición vertical.
El subcomisario interino de la policía de Nueva Gales del Sur, Tracy Chapman, declaró que los pasajeros se dirigían a Singleton «presumiblemente para alojarse». Dos de los supervivientes fueron trasladados en helicóptero. Los medios de comunicación locales informan de que al menos uno de ellos sigue en estado crítico.
El Primer Ministro australiano, Anthony Albanese, declaró que es «tan cruel, tan triste y tan injusto» que un «día alegre en un lugar tan hermoso como éste termine con una pérdida de vidas tan terrible».»
Y obtenemos:
Día y hora: Domingo por la noche
Lugar: Hunter Valley, Australia
Emociones del Primer Ministro: Triste
Tema Crónica
Las emociones del Primer Ministro expresadas en el texto son tristes. Describe el incidente como «tan cruel, tan triste y tan injusto» que un «día alegre en un lugar tan hermoso como ese acabe con una pérdida de vidas tan terrible.»
Bueno, yo diría que esto está perfectamente clasificado. Pero, como hemos visto, la pregunta es muy específica. Si preguntáramos «las emociones del Primer Ministro», por ejemplo, la respuesta no sería tan precisa.
Por lo tanto, los prompt dan resultados precisos, solo si son precisos.
En este artículo hemos visto cómo crear prompts eficaces para la recopilación de datos.
La ingeniería de prompts es una posibilidad de oro que nos brinda la IA para acelerar este proceso.
Recuerda las reglas de oro para proporcionar instrucciones breves, precisas y concisas y los resultados serán sorprendentes.
The post Diseñando prompts eficaces para la recogida de datos: estrategias y buenas prácticas first appeared on Planeta Chatbot.
]]>The post Cómo resolver problemas de dependencia de Python con Anaconda en Windows first appeared on Planeta Chatbot.
]]>The post Cómo resolver problemas de dependencia de Python con Anaconda en Windows first appeared on Planeta Chatbot.
]]>The post Construyendo visualizaciones interactivas de datos con Python: una introducción a Plotly first appeared on Planeta Chatbot.
]]>The post Construyendo visualizaciones interactivas de datos con Python: una introducción a Plotly first appeared on Planeta Chatbot.
]]>The post Liberando el potencial de las bibliotecas de Python menos conocidas first appeared on Planeta Chatbot.
]]>The post Liberando el potencial de las bibliotecas de Python menos conocidas first appeared on Planeta Chatbot.
]]>The post Introducción a la IA generativa para principiantes first appeared on Planeta Chatbot.
]]>Palabras como «DALL-E», «ChatGPT» e «IA Generativa» han invadido las redes sociales, los medios de comunicación, las charlas con colegas y todo lo relacionado con nuestro mundo en los últimos meses. Literalmente, todo el mundo habla de ello.
Pero, ¿qué es la IA generativa? ¿Por qué es diferente de la IA «normal»?
En este artículo, aclararemos el panorama general de la IA generativa. Así que, si has participado en debates pero no tienes las ideas claras sobre este tema, este artículo es definitivamente para ti.
Se trata de una explicación discursiva para entender lo básico de lo que hay detrás del mundo IA generativa. Así que no te preocupes: aquí no encontrarás ningún código. Sólo ideas y descripciones, que se presentarán de forma breve y concisa. En particular, nos centraremos en los grandes modelos del lenguaje y en los modelos de generación de imágenes.
La IA generativa es un subcampo de la IA que consiste en crear algoritmos capaces de generar nuevos datos, como imágenes, texto, código y música.
La gran diferencia entre la IA generativa y la «IA tradicional» es que la primera genera nuevos datos basándose en los datos de entrenamiento. Además, funciona con tipos de datos que la «IA tradicional» no puede.
Digámoslo de forma un poco más técnica:
Visualicemos los procesos:
En la IA tradicional, entrenamos un modelo de ML para que aprenda de los datos. Entonces, lo alimentamos con datos nuevos y no vistos y puede discriminar, haciendo predicciones o clasificaciones.
En el ejemplo presentado, hemos entrenado un modelo ML para reconocer perros a partir de imágenes.
A continuación, alimentamos el modelo ML entrenado con imágenes nuevas y no vistas de perros y será capaz de clasificar si estas nuevas imágenes representan perros o no.
Esta es la tarea típica de un algoritmo de Deep Learning, en el caso de un problema de clasificación.
En el caso de la IA generativa, en cambio, entrenamos un modelo de ML con datos procedentes de diversas fuentes utilizando una gran cantidad de datos. Después, gracias a un prompt (una consulta en lenguaje natural insertada por un usuario), el modelo nos da una salida que es similar a los datos con los que ha sido entrenado.
Siguiendo con el ejemplo, nuestro modelo se ha entrenado con una enorme cantidad de datos (de texto) que, entre otras cosas, explican qué es un perro. Entonces, si un usuario consulta el modelo preguntando qué es un perro, el modelo describirá qué es un perro en lenguaje natural.
Esta es la tarea típica que realizan herramientas como ChatGPT.
Veamos ahora algunos tipos de modelos generativos de IA.
Empecemos a sumergirnos en los distintos tipos de subcampos de la IA generativa comenzando por los modelos lingüísticos de gran tamaño (LLM). Un LLM es (según Wikipedia):
un modelo lingüístico informatizado que consiste en una red neuronal artificial con muchos parámetros (de decenas de millones a miles de millones), entrenada con grandes cantidades de texto sin etiquetar mediante aprendizaje autosupervisado o semisupervisado.
Aunque el término gran modelo lingüístico no tiene una definición formal, a menudo se refiere a modelos de deep learning con millones o incluso miles de millones de parámetros, que han sido «pre-entrenados» en un gran corpus.
Así pues, los LLM son modelos de aprendizaje profundo (Deep Learning, DL) (también conocidos como redes neuronales) entrenados con millones de parámetros en una enorme cantidad de texto (por eso los llamamos «grandes») y son útiles para resolver algunos problemas lingüísticos como:
Así pues, otra diferencia importante entre los modelos ML estándar es que, en este caso, podemos entrenar un algoritmo DL que puede utilizarse para diferentes tareas.
Me explico mejor.
Si necesitamos desarrollar un sistema que pueda reconocer perros en imágenes como las que hemos visto antes, necesitamos entrenar un algoritmo DL para resolver una tarea de clasificación que es: decirnos si las imágenes nuevas, no vistas, representan perros o no. Nada más.
En cambio, entrenar un LLM puede ayudarnos en todas las tareas que hemos descrito anteriormente. Por lo tanto, esto también justifica la cantidad de potencia de cálculo (¡y dinero!) necesaria para entrenar un LLM (¡que requiere petabytes de datos!).
Como ya sabemos, los LLM son consultados por los usuarios gracias a prompts. Ahora tenemos que distinguir entre el diseño de las instrucciones y la ingeniería de las mismas:
Por supuesto, a veces utilizamos una mezcla de ambos. Por ejemplo, podemos querer una traducción del inglés al italiano que interese a un ámbito concreto de conocimiento, como la mecánica.
Así, por ejemplo, un prompt puede ser:» Traduzca al italiano lo siguiente:
la viga está sometida a una tensión normal.
Ten en cuenta que estamos en el campo de la mecánica, por lo que ‘tensión normal’ debe estar relacionado con ella.
Porque «normal» y «tensión» pueden ser mal entendidos por el modelo (¡pero incluso por los humanos!).
Existen tres tipos de LLM:
De todos modos, considera que los modelos que se distribuyen realmente tienen características mixtas. O, al menos, pueden realizar acciones típicas de más de uno de estos tipos. Por ejemplo, si pensamos en ChatGPT podemos decir claramente que:
La generación de imágenes existe desde hace bastante tiempo, contrariamente a lo que podría creerse.
De todos modos, en los últimos tiempos ha ganado popularidad, sobre todo con herramientas como «DALL-E» o «difusión estable» que han despejado su uso, haciendo accesible esta tecnología a las masas de todo el mundo.
Podemos decir que la generación de imágenes puede dividirse en cuatro categorías:
Este es el proceso que se esconde tras los modelos de difusión:
Si has mantenido la atención hasta ahora, una pregunta debería surgir de forma natural en tu mente: «Vale, Federico, está claro. Pero me falta algo: cuando utilizo «DALL-E» inserto un prompt y sale una imagen: no hemos hablado de eso, ¿verdad?«.
No, no lo hemos hecho.
Arriba hemos hecho una breve descripción del modelo más prometedor (y actualmente, el más utilizado) para generar imágenes, pero la parte que falta es el prompt.
Hemos discutido, de hecho, cómo funcionan a alto nivel. Es decir: hemos dado una breve explicación de cómo funciona su proceso de aprendizaje.
Pero la verdadera potencia de estos modelos llega cuando se acoplan con los LLM. Este acoplamiento, de hecho, nos da la posibilidad de combinar el poder de la ingeniería de los prompt para pedir salidas a nuestros modelos.
En otras palabras: hemos combinado la posibilidad de utilizar el lenguaje natural como entrada con modelos capaces de entenderlo y generar imágenes en función de él.
¿No se trata de un superpoder?
En conclusión, podemos decir que la IA generativa es un subcampo de la IA que genera nuevos datos similares a los datos del tren.
Mientras que, por un lado, los LLM pueden generar texto a partir de los datos de entrenamiento y los modelos de generación de imágenes pueden generar nuevas imágenes a partir de las imágenes de entrenamiento, el verdadero poder de la IA generativa, al menos en el caso de las imágenes, reside en la combinación de LLM y modelos para la generación de imágenes. Esto nos da la posibilidad de crear imágenes según indicaciones como entradas.
NOTA: este artículo se ha inspirado libremente en el curso de IA Generativa impartido por Google, y algunas referencias están tomadas del mismo. Recomiendo realizar este curso, para una mejor comprensión de la IA generativa.
Original article here.
The post Introducción a la IA generativa para principiantes first appeared on Planeta Chatbot.
]]>The post Cómo empezar a programar eficazmente en la era de ChatGPT first appeared on Planeta Chatbot.
]]>name = "Bob"
age = 30
print(f"My name is {name} and I am {age} years old.")
>>>
My name is Bob and I am 30 years old.
My name is Bob and I am 30 years old.:paragraph –>
Estos son sólo algunos ejemplos para demostrar el uso de la función print(). Puedes pasar varios tipos de objetos como argumentos a la función print(), y ésta los convertirá automáticamente en una representación de cadena antes de imprimirlos.
Ahora, una pregunta: ¿qué método utilizarías?
Exacto, ¡aquí está el problema! La pregunta que hicimos era demasiado genérica, así que ChatGPT nos dio una respuesta genérica.
Otra lección: las instrucciones deben ser muy específicas. Una podría ser: «Tengo una lista con algunas cadenas en Python: ¿cómo puedo imprimirlas eficientemente?»
Estos son sólo algunos ejemplos para demostrar el uso de la función print(). Puede pasar varios tipos de objetos como argumentos a la función print(), y ésta los convertirá automáticamente en una representación de cadena antes de imprimirlos.
my_list = ['Hello', 'World', 'Python']
# Using join() to concatenate the strings in the list with a space separator
result = ' '.join(my_list)
# Printing the result
print(result)
>>>
Hello World Python
En el ejemplo anterior, el método join() une las cadenas de mi_lista utilizando un espacio ‘ ‘ como separador. A continuación, se utiliza la función print() para mostrar la cadena concatenada.
Al utilizar el método join(), se evita la sobrecarga de múltiples llamadas a la función print(), lo que resulta en una concatenación de cadenas y una impresión más eficientes.
Y aquí estamos: con una pregunta específica obtuvimos una respuesta específica.
Y ahora, ¿sabes lo que tenemos que hacer? Sí, ya sabes: si no sabemos cómo funciona, tenemos que pedir a ChatGPT más explicaciones sobre el método join(). Podemos hacerlo en el mismo chat de esta manera «¿Qué es el método ‘join()‘ y cómo funciona?»
Y aquí está la respuesta:
El método join() es un método de cadena en Python que concatena los elementos de un iterable (como una lista, tupla o conjunto) en una sola cadena usando un separador especificado. Devuelve una nueva cadena que contiene todos los elementos unidos.
La sintaxis para utilizar el método join() es la siguiente:
separator.join(iterable)
Aquí, separator es la cadena que se utilizará para unir los elementos, e iterable es la colección de elementos a unir.
Cuando se llama a join() con una cadena separadora, itera sobre los elementos del iterable y los concatena, insertando la cadena separadora entre cada par de elementos. El separador no se añade ni al principio ni al final de la cadena resultante.
He aquí un ejemplo para ilustrar cómo funciona el método join():
my_list = ['Hello', 'World', 'Python']
# Using join() to concatenate the strings in the list with a space separator
result = ' '.join(my_list)
print(result)
>>>
Hello World Python
En el ejemplo anterior, se llama al método join() sobre la cadena separadora ‘ ‘. Recorre los elementos de mi_lista y los concatena, insertando un espacio entre cada par de elementos. La cadena resultante «Hola Mundo Python» se imprime.
Vale la pena señalar que el método join() es una forma más eficiente de concatenar múltiples cadenas en comparación con el uso del operador + en un bucle. Esto se debe a que join() optimiza internamente el proceso de concatenación, resultando en un mejor rendimiento, especialmente cuando se trata de un gran número de cadenas.
Ahora, en este punto, deberías hacer otras dos cosas:
Buscar «join() Python» en Google y ver algunos otros ejemplos y leer la documentación.
Como podemos ver, ChatGPT nos dice que este método es más eficiente que utilizar el operador + con un bucle para resolver este problema. Deberías continuar el chat y pedir un ejemplo (entonces, lee la documentación que puede venir con los siguientes ejemplos).
Espero que encuentres útil este artículo sobre cómo empezar tu viaje de programación con la ayuda de ChatGPT.
Recuerda: no des nada por sentado. Úsalo para aprender, no como un oráculo. Y después de resolver tu problema, escribe un prompt específico, lee la documentación, aprende el código y, si es posible, haz prácticas con el código que obtengas como respuesta.
The post Cómo empezar a programar eficazmente en la era de ChatGPT first appeared on Planeta Chatbot.
]]>