Explora la vanguardia de la IA y el desarrollo web

Desarrollando el futuro: Python e IA al servicio de la innovación.

Chatbots inteligentes: Revolucionando la interacción digital con IA

Avanzando en tecnología: Desarrollo innovador impulsado por ChatGPT y AI

Inteligencia Artificial: Transformando negocios en la era digital

Análisis de datos utilizando Inteligencia Artificial Generativa con Microsoft Copilot (GPT-4)

En la actualidad, el análisis de datos se ha convertido en una herramienta indispensable para la toma de decisiones en todos los niveles de una organización. La capacidad de analizar grandes volúmenes de información y extraer insights valiosos es fundamental para mantener una ventaja competitiva en un mercado cada vez más basado en datos. La Inteligencia Artificial Generativa (IAG) emerge como una fuerza transformadora en este campo, ofreciendo nuevas posibilidades para la automatización y la generación de conocimiento a partir de datos complejos.

La IAG no solo facilita la interpretación de datos, sino que también permite la creación de contenido nuevo y relevante, como textos, imágenes y patrones de datos, que pueden ser utilizados para enriquecer el análisis y la toma de decisiones. Esta tecnología innovadora está redefiniendo el panorama del análisis de datos, permitiendo a las empresas y a los investigadores explorar y comprender sus datos de maneras que antes eran imposibles.

Con la integración de Microsoft Copilot, la IAG se posiciona en el centro de una revolución en el análisis de datos, proporcionando una interfaz intuitiva y accesible para profesionales y aficionados por igual. Copilot utiliza modelos avanzados de aprendizaje automático para interpretar consultas en lenguaje natural y generar respuestas y visualizaciones que facilitan la comprensión de los datos. Este enfoque democratiza el acceso al análisis de datos, permitiendo a un rango más amplio de usuarios aprovechar el poder de la IAG para descubrir tendencias, patrones y correlaciones en sus conjuntos de datos.

A medida que avanzamos hacia un futuro donde los datos son omnipresentes, la importancia de herramientas como Microsoft Copilot en el análisis de datos solo puede aumentar. La IAG se perfila como un componente esencial en la estrategia de cualquier organización que busque innovar y liderar en su campo, transformando el mar de datos en un océano de oportunidades.

Porqué Microsoft Copilot?

Microsoft Copilot es una herramienta avanzada de asistencia basada en inteligencia artificial que utiliza tecnologías de vanguardia para mejorar la productividad y la creatividad, basado en GPT-4. Entre las tecnologías que utiliza se encuentran:

  • Modelo de lenguaje GPT-4: Desarrollado por OpenAI, este modelo permite a Copilot entender y comunicarse en varios idiomas de manera fluida.
  • Aprendizaje automático y técnicas de lenguaje natural: Estas técnicas ayudan a Copilot a proporcionar sugerencias útiles y personalizadas en tiempo real.
  • Generación de imágenes de gráficos para el análisis de datos como histogramas, gráficos de barras, líneas, torta, etc.

Qué es la Inteligencia Artificial Generativa?

La Inteligencia Artificial Generativa (IAG) es un campo de la inteligencia artificial que se centra en la creación de contenido nuevo y original a partir de datos existentes. Utiliza algoritmos avanzados y redes neuronales para aprender de grandes conjuntos de datos y generar contenido que puede incluir texto, imágenes, música y más. La IAG puede entrenarse en diversos dominios como lenguaje humano, programación, arte, y ciencia para generar soluciones innovadoras y creativas a problemas complejos.

Qué son las Redes Neuronales Artificiales?

Las Redes Neuronales Artificiales (ANN por sus siglas en inglés), son sistemas computacionales inspirados en la red de neuronas biológicas del cerebro humano. Estas redes están diseñadas para reconocer patrones y aprender de la experiencia, lo que les permite mejorar su rendimiento en tareas específicas con el tiempo.

Una red neuronal típica está compuesta por capas de nodos o «neuronas artificiales». Cada nodo está conectado a otros y tiene un peso y un umbral asociados. Cuando la salida de un nodo supera un valor de umbral, se activa y envía datos a la siguiente capa de la red. Este proceso se repite a través de múltiples capas, lo que permite a la red realizar tareas complejas como el reconocimiento de voz o de imágenes.

Las redes neuronales son fundamentales en el campo del aprendizaje profundo (deep learning), donde se utilizan para construir modelos que pueden clasificar y predecir con gran precisión. Son herramientas poderosas en la inteligencia artificial y tienen una amplia gama de aplicaciones, desde la conducción autónoma hasta el diagnóstico médico.

Qué es un Large Language Model (LLM)?

Un Large Language Model (LLM) es un modelo de lenguaje de gran escala notable por su capacidad para realizar generación de lenguaje de propósito general y otras tareas de procesamiento de lenguaje natural, como clasificación. Los LLM adquieren estas habilidades aprendiendo relaciones estadísticas de documentos de texto durante un proceso de entrenamiento auto-supervisado y semi-supervisado que es intensivo en computación.

Estos modelos pueden ser utilizados para la generación de texto, una forma de IA generativa, tomando un texto de entrada y prediciendo repetidamente el siguiente token o palabra. Los LLM son redes neuronales artificiales y los más grandes y capaces se construyen con una arquitectura basada en transformadores solo de decodificación, aunque algunas implementaciones recientes se basan en otras arquitecturas, como variantes de redes neuronales recurrentes.

Los LLM son considerados «grandes» no solo por el tamaño de su conjunto de datos de entrenamiento sino también por la cantidad de parámetros que tienen. Estos parámetros son los pesos que el modelo aprendió durante el entrenamiento, utilizados para predecir el siguiente token en la secuencia. Por ejemplo, modelos como BERT tienen 110 millones de parámetros, mientras que modelos más recientes como GPT-3 y GPT-4 tienen decenas o cientos de miles de millones de parámetros.

Qué es un Prompt?

Un prompt es una instrucción, pregunta o texto que se utiliza para interactuar con sistemas de inteligencia artificial. Funciona como un comando que le indica al sistema qué tarea realizar. En el contexto de la IA generativa, como los modelos de lenguaje o los generadores de imágenes, los prompts son esenciales para guiar a la IA en la creación de contenido relevante y acorde a las peticiones del usuario.

Por ejemplo, si le pides a un modelo de lenguaje que genere un poema sobre el otoño, el prompt podría ser «Escribe un poema sobre la belleza del otoño». La IA entonces analizará el prompt y generará un poema que refleje la solicitud.

Los prompts deben ser claros y proporcionar suficiente contexto para que la IA pueda entender la petición y generar una respuesta adecuada. La calidad del resultado obtenido de la IA depende en gran medida de la precisión y claridad del prompt proporcionado.

Ahora si, entremos en materia.

Lo que queremos hacer con este ejercicio es demostrar la utilidad de la IA para el análisis de datos, sin necesidad de tener conocimientos de programación y con conocimientos básicos. Aprovechamos dos capacidades muy representativas de los LLMs que son: 1. capacidad de entender contexto y 2. capacidad de razonamiento, además de la capacidad de generar código de programación. Para esto tomamos los datos de las Exportaciones de Colombia, según país de destino (Fuente: DANE), en el período 2010 – 2015. La siguiente es la tabla con la información:

A lo que queremos llegar es que con base en las instrucciones y la información que le vamos a dar, el modelo nos hará un análisis de los datos con un texto escrito cono observaciones como crecimientos, tendencias, valores máximos y mínimos, además de gráficos que podrán ser, barras, lineas o tortas, segun el caso. Para esto el modelo nos pedirá que le demos el país o los países, o el año para hacer el análisis. Todo esto con una sola instrucción o prompt.

Una vez enviada la instrucción o prompt al modelo, podremos empezar a interactuar con él, para empezar nos dirá algo como esto:

Entiendo que necesitas ayuda para analizar y visualizar datos de exportaciones de Colombia. Por favor, indícame específicamente qué país o año te gustaría analizar para poder asistirte adecuadamente.

Preparando los datos para el prompt.

Los modelos LLM son muy buenos analizando información, pero para esto debemos utilizar técnicas de Ingeniería de prompts para que entienda mejor la información. Si le pasamos los datos datos en formato plano es muy probable que no obtengamos los resultados esperados.

La técnica que vamos a utlizar es identificar los datos entre etiquetas para que el modelo los puede indentificar y diferenciar. Para nuestro caso vamos a identificar el país y el año, cada dato lo vamos a poner entre etiquetas siguiendo la siguiente convención, esto lo vamos a hacer con todos los datos. Este es un ejemplo para las exportaciones a Estados Unidos:

<País>Estados Unidos</País>

<Año 2010>16.764</Año 2010>

<Año 2011>21.969</Año 2011>

<Año 2012>21.833</Año 2012>

<Año 2013>18.462</Año 2013>

<Año 2014>14.224</Año 2014>

<Año 2015>10.008</Año 2015>

Darle el contexto al modelo y hacer la solicitud.

En este paso vamos a darle contexto al modelo y pedirle lo que queremos hacer. Utilizamos la etiqueta <titulo> para identificar la información y enviarsela de manera más clara. Quedaría así:

Ayúdame a analizar unos datos de una tabla llamada <titulo> Colombia, destino de las exportaciones (2010 – 2015) en millones de dólares</titulo>.

Decirle al modelo las acciones a realizar.

En este paso vamos a utlizar una técnica que consiste en decirle al modelo las acciones que debe realizar. Utilizamos las etiquetas <pais>, <año>, <pais 1> y <pais 2> como si fueran variables. Esta parte del prompt quedaría así:

Cuando yo escriba: «analiza <pais>», tu vas a realizar las siguientes acciones:

1. Escribe un texto analizando los datos de las exportaciones a <pais> en el período.
2. Genera una gráfica de barras con las exportaciones a <pais>, incluye una línea de tendencia. Los títulos deben ser en español.

Cuando yo escriba «analiza <pais 1> y <pais 2>», tu vas a realizar las siguientes acciones:

1. Escribe un texto analizando los datos de las exportaciones a <pais 1> y <pais 2> en el período.
2. Genera una gráfica de líneas con las exportaciones a <pais 1> y <pais 2>. Los títulos deben ser en español.

Cuando yo escriba «analiza año <año>, tu vas a realizar las siguientes acciones:

1. Escribe un texto analizando los datos de las exportaciones a los paises en el año <año>.
2. Genera una tabla con las exportaciones por país del año <año>
3. Genera una gráfica de torta con las exportaciones a los países en el año <año>. Los títulos deben ser en español.

Evitando que el modelo nos de información distinta a la de nuestros datos.

Debido a que el modelo ha sido entrenado con milies de millones de parámetros y con Datasets muy grandes que provienen de diversas fuentes de datos, y no queremos que el modelo trabaje con información diferente a la que nosotros le damos, en este paso vamos decirle al modelo que solo debe realizar el análisis con la información que nosostros le hemos dado. Esta parte del prompt quedaría así:

Solo debes responder si el país <pais> o el <año> está en los datos que te paso. Si el pais <pais> no está en los datos que te doy no debes realizar ningua acción y debes responder: «No hubo exportaciones a <pais> en el período»

Pasando los datos el modelo

En este paso le vamos a dar al modelo toda la información que tomará como referencia para hacer los análisis. Ponemos todo el bloque entre triple comillas dobles («»»). Esta parte del prompt quedaría así:

Estos son los datos:

«»»<Total exportaciones>Total exportaciones</Total exportaciones><Año 2010>39.713</Año 2010><Año 2011>56.915</Año 2011><Año 2012>60.125</Año 2012><Año 2013>58.826</Año 2013><Año 2014>54.857</Año 2014><Año 2015>36.018</Año 2015>
<País>Aladi</País><Año 2010>8.299</Año 2010><Año 2011>11.841</Año 2011><Año 2012>13.759</Año 2012><Año 2013>13.404</Año 2013><Año 2014>12.629</Año 2014><Año 2015>9.339</Año 2015>
<País>Comunidad Andina de Naciones</País><Año 2010>3.046</Año 2010><Año 2011>3.373</Año 2011><Año 2012>3.618</Año 2012><Año 2013>3.392</Año 2013><Año 2014>3.213</Año 2014><Año 2015> 2.768 </Año 2015>
<País>Mercosur</País><Año 2010>2.571</Año 2010><Año 2011>3.360</Año 2011><Año 2012>4.169</Año 2012><Año 2013>4.321</Año 2013><Año 2014>3.850</Año 2014><Año 2015>2.453</Año 2015>
<País>Unión Europea</País><Año 2010>4.400</Año 2010><Año 2011>7.752</Año 2011><Año 2012>8.001</Año 2012><Año 2013>8.174</Año 2013><Año 2014>8.322</Año 2014><Año 2015>5.375</Año 2015>
<País>Estados Unidos</País><Año 2010>16.764</Año 2010><Año 2011>21.969</Año 2011><Año 2012>21.833</Año 2012><Año 2013>18.462</Año 2013><Año 2014>14.224</Año 2014><Año 2015>10.008</Año 2015>
<País>Venezuela</País><Año 2010>1.423</Año 2010><Año 2011>1.725</Año 2011><Año 2012>2.556</Año 2012><Año 2013>2.256</Año 2013><Año 2014>1.987</Año 2014><Año 2015>1.060</Año 2015>
<País>Alemania</País><Año 2010>250</Año 2010><Año 2011>420</Año 2011><Año 2012>395</Año 2012><Año 2013>780</Año 2013><Año 2014>634</Año 2014><Año 2015>496</Año 2015>
<País>Ecuador</País><Año 2010>1.807</Año 2010><Año 2011>1.909</Año 2011><Año 2012>1.910</Año 2012><Año 2013>1.975</Año 2013><Año 2014>1.888</Año 2014><Año 2015>1.470</Año 2015>
<País>Bélgica</País><Año 2010>450</Año 2010><Año 2011>621</Año 2011><Año 2012>488</Año 2012><Año 2013>495</Año 2013><Año 2014>462</Año 2014><Año 2015>481</Año 2015>
<País>Perú</País><Año 2010>1.132</Año 2010><Año 2011>1.323</Año 2011><Año 2012>1.582</Año 2012><Año 2013>1.274</Año 2013><Año 2014>1.187</Año 2014><Año 2015>1.148</Año 2015>
<País>Japón</País><Año 2010>511</Año 2010><Año 2011>528</Año 2011><Año 2012>360</Año 2012><Año 2013>388</Año 2013><Año 2014>421</Año 2014><Año 2015>520</Año 2015>
<País>México</País><Año 2010>638</Año 2010><Año 2011>705</Año 2011><Año 2012>835</Año 2012><Año 2013>864</Año 2013><Año 2014>914</Año 2014><Año 2015>914</Año 2015>
<País>Resto de países</País><Año 2010>16.737</Año 2010><Año 2011>27.716</Año 2011><Año 2012>30.165</Año 2012><Año 2013>32.334</Año 2013><Año 2014>33.141</Año 2014><Año 2015>19.919</Año 2015>»»»

El prompt completo

Hemos visto en qué consiste nuestro  prompt y como armarlo en varios pasos. Así sería el prompt completo que le daríamos al modelo en una sola instrucción:

Ayúdame a analizar unos datos de una tabla llamada <titulo> Colombia, destino de las exportaciones (2010 – 2015) en millones de dólares</titulo>.

Cuando yo escriba: «analiza <pais>», tu vas a realizar las siguientes acciones:

1. Escribe un texto analizando los datos de las exportaciones a <pais> en el período.
2. Genera una gráfica de barras con las exportaciones a <pais>, incluye una línea de tendencia. Los títulos deben ser en español.

Cuando yo escriba «analiza <pais 1> y <pais 2>», tu vas a realizar las siguientes acciones:

1. Escribe un texto analizando los datos de las exportaciones a <pais 1> y <pais 2> en el período.
2. Genera una gráfica de líneas con las exportaciones a <pais 1> y <pais 2>. Los títulos deben ser en español.

Cuando yo escriba «analiza año <año>, tu vas a realizar las siguientes acciones:

1. Escribe un texto analizando los datos de las exportaciones a los paises en el año <año>.
2. Genera una tabla con las exportaciones por país del año <año>
3. Genera una gráfica de torta con las exportaciones a los países en el año <año>. Los títulos deben ser en español.

Solo debes responder si el país <pais> o el <año> está en los datos que te paso. Si el pais <pais> no está en los datos que te doy no debes realizar ningua acción y debes responder: «No hubo exportaciones a <pais> en el período»

Estos son los datos:

«»»<Total exportaciones>Total exportaciones</Total exportaciones><Año 2010>39.713</Año 2010><Año 2011>56.915</Año 2011><Año 2012>60.125</Año 2012><Año 2013>58.826</Año 2013><Año 2014>54.857</Año 2014><Año 2015>36.018</Año 2015>
<País>Aladi</País><Año 2010>8.299</Año 2010><Año 2011>11.841</Año 2011><Año 2012>13.759</Año 2012><Año 2013>13.404</Año 2013><Año 2014>12.629</Año 2014><Año 2015>9.339</Año 2015>
<País>Comunidad Andina de Naciones</País><Año 2010>3.046</Año 2010><Año 2011>3.373</Año 2011><Año 2012>3.618</Año 2012><Año 2013>3.392</Año 2013><Año 2014>3.213</Año 2014><Año 2015> 2.768 </Año 2015>
<País>Mercosur</País><Año 2010>2.571</Año 2010><Año 2011>3.360</Año 2011><Año 2012>4.169</Año 2012><Año 2013>4.321</Año 2013><Año 2014>3.850</Año 2014><Año 2015>2.453</Año 2015>
<País>Unión Europea</País><Año 2010>4.400</Año 2010><Año 2011>7.752</Año 2011><Año 2012>8.001</Año 2012><Año 2013>8.174</Año 2013><Año 2014>8.322</Año 2014><Año 2015>5.375</Año 2015>
<País>Estados Unidos</País><Año 2010>16.764</Año 2010><Año 2011>21.969</Año 2011><Año 2012>21.833</Año 2012><Año 2013>18.462</Año 2013><Año 2014>14.224</Año 2014><Año 2015>10.008</Año 2015>
<País>Venezuela</País><Año 2010>1.423</Año 2010><Año 2011>1.725</Año 2011><Año 2012>2.556</Año 2012><Año 2013>2.256</Año 2013><Año 2014>1.987</Año 2014><Año 2015>1.060</Año 2015>
<País>Alemania</País><Año 2010>250</Año 2010><Año 2011>420</Año 2011><Año 2012>395</Año 2012><Año 2013>780</Año 2013><Año 2014>634</Año 2014><Año 2015>496</Año 2015>
<País>Ecuador</País><Año 2010>1.807</Año 2010><Año 2011>1.909</Año 2011><Año 2012>1.910</Año 2012><Año 2013>1.975</Año 2013><Año 2014>1.888</Año 2014><Año 2015>1.470</Año 2015>
<País>Bélgica</País><Año 2010>450</Año 2010><Año 2011>621</Año 2011><Año 2012>488</Año 2012><Año 2013>495</Año 2013><Año 2014>462</Año 2014><Año 2015>481</Año 2015>
<País>Perú</País><Año 2010>1.132</Año 2010><Año 2011>1.323</Año 2011><Año 2012>1.582</Año 2012><Año 2013>1.274</Año 2013><Año 2014>1.187</Año 2014><Año 2015>1.148</Año 2015>
<País>Japón</País><Año 2010>511</Año 2010><Año 2011>528</Año 2011><Año 2012>360</Año 2012><Año 2013>388</Año 2013><Año 2014>421</Año 2014><Año 2015>520</Año 2015>
<País>México</País><Año 2010>638</Año 2010><Año 2011>705</Año 2011><Año 2012>835</Año 2012><Año 2013>864</Año 2013><Año 2014>914</Año 2014><Año 2015>914</Año 2015>
<País>Resto de países</País><Año 2010>16.737</Año 2010><Año 2011>27.716</Año 2011><Año 2012>30.165</Año 2012><Año 2013>32.334</Año 2013><Año 2014>33.141</Año 2014><Año 2015>19.919</Año 2015>»»»

Interactuando con Copilot: El resultado.

Una vez le enviemos el prompt al modelo podemos empezar a interactuar con él. Para esto el modelo nos pedirá que le demos un país o año para analizar. Para esto, de acuerdo a nuestro prompt si queremos que nos haga un análisis de las Exportaciones a Estados Unidos en todo el perídod debemos decirle «analiza Estados unidos», si queremos que nos compare dos países debemos decirle «analiza Estados Unidos y Venezuela» y si queremos un análisis por año debemos decirle «analiza 2015». Para empezar el nos dirá algo como esto:

«Entiendo que necesitas ayuda para analizar y visualizar datos de exportaciones de Colombia. Por favor, indícame específicamente qué país o año te gustaría analizar para poder asistirte adecuadamente.»

Este es el resultado que nos da Copilot cuando le pedimos el análisis de las Exportaciones a Estados Unidos diciéndole «analiza Estados Unidos»

Este es el resultado que nos da Copilot cuando le pedimos el análisis de las Exportaciones a Estados Unidos y Venezuela, diciéndole «analiza Estados Unidos y Venezuela».

Este es el resultado que nos da Copilot cuando le pedimos el análisis de las Exportaciones a todos los países en 2010, diciéndole «Analiza 2010».