Cómo crear aplicaciones inteligentes con IA

8 min.
Un chat entre usuario y asistente virtual

Para crear aplicaciones inteligentes con IA es necesario saber cómo funciona la IA y cuál es la mejor forma de utilizarla. En este artículo explicamos la IA y aportamos ideas sobre cómo crear aplicaciones personalizadas.

Descubrirá las posibilidades de la IA. Aprenderá cuáles son las limitaciones y cómo superarlas. Y quizá tenga ideas sobre cómo utilizar las aplicaciones de IA en su trabajo.

Para inspirarle le mostraremos algunos ejemplos de integración de LLM en diferentes aplicaciones al final de este artículo.

¿Qué es la IA?

IA son las siglas de Inteligencia Artificial, que se refiere a la simulación de procesos de inteligencia humana por parte de máquinas, especialmente sistemas informáticos. Normalmente, cuando hablamos de la IA nos referimos a las aplicaciones GPT.

GPT son las siglas de Generative Pretrained Transformers y se refiere a un tipo que utiliza una arquitectura de transformadores. Se trata de una arquitectura de modelo de aprendizaje profundo que se utiliza principalmente para tareas de procesamiento del lenguaje natural.

¿Cómo funcionan los grandes modelos de lenguaje?

Los modelos GPT se entrenan con grandes cantidades de datos de texto y son capaces de generar textos similares a los humanos a partir de la información que reciben. Debido a la gran cantidad de datos con los que se entrenan estos modelos, también se denominan Large Language Models (Los modelos de lenguaje de gran tamaño) o LLM.

El término "pretrained" del acrónimo GPT se refiere al hecho de que estos modelos se entrenan inicialmente en una gran cantidad de datos de texto utilizando técnicas de aprendizaje no supervisado. Durante esta fase de preentrenamiento, el modelo aprende a predecir la palabra siguiente en una secuencia de texto dado el contexto precedente. Esto permite al modelo captar una amplia gama de patrones lingüísticos y semánticos.

El término "generative" en el acrónimo GPT significa que estos modelos pueden generar textos coherentes y contextualmente relevantes a partir de una instrucción (un prompt) o un conjunto de datos (input) que se les proporcione. Para ello, utilizan los conocimientos adquiridos durante el preentrenamiento para predecir la siguiente palabra o secuencia de palabras más probable en función del conjunto de datos introducido.

Pre-prompting de LLM con datos personalizados

Cuando quiera crear una aplicación de IA, piense en el LLM como un software que puede "hablar", es decir, que puede crear frases gramaticalmente correctas, que tienen una alta probabilidad de tener sentido.

Por supuesto, un modelo de este tipo sólo puede hablar de lo que "sabe", es decir, de aquello con lo que ha sido entrenado.

¿Cómo se entrenan los LLM? ¿Es posible hacerlo sin ayuda?

Entrenar un modelo lingüístico de gran tamaño puede ser una tarea compleja y requerir muchos recursos. Para ello se necesitan potentes recursos informáticos, incluidas GPU y una infraestructura de entrenamiento descentralizada. Entrenar modelos con millones o miles de millones de parámetros es caro y requiere mucho tiempo.

También se necesitan grandes cantidades de datos de texto de alta calidad procedentes de diversas fuentes, y la recopilación y preprocesamiento de estos conjuntos de datos suele requerir un esfuerzo significativo para garantizar la calidad y diversidad de los datos.

Sin embargo, si se dispone de infraestructura, recursos, tiempo y datos suficientes, el entrenamiento suele realizarse mediante una combinación de técnicas de aprendizaje supervisado y no supervisado. Como resultado, se descubren las relaciones lógico-semánticas existentes entre los elementos de un conjunto de datos y se utilizan para generar respuestas a los datos introducidos.

Entrenamiento de un gran modelo lingüístico (LLM)

De todos modos, existen muchos modelos de propósito general preentrenados que pueden utilizarse en lugar de entrenar un modelo propio. Los más famosos son los de OpenAI y Mistral AI.

Normalmente, es mucho más eficaz utilizar un modelo preentrenado en su aplicación que entrenar un modelo con sus propios datos.

¿Cuál es la mejor forma de aprovechar los LLM existentes?

Los grandes modelos lingüísticos sólo pueden "hablar" sobre temas (datos) con los que han sido entrenados.

Para responder a preguntas sobre temas diferentes, hay que pasar estos datos al modelo antes de formular la pregunta. Este proceso se denomina "in-context learning".

"In-context learning" de un gran modelo lingüístico (LLM)

Para que su IA pueda hablar de un tema concreto, tiene que pasar la información relevante al modelo antes de interactuar con él.

Además de pasar datos a un Modelo de Lenguaje Grande, normalmente se pasan instrucciones a un modelo de datos que describen cómo debe responder el modelo.

Ejemplos de estas instrucciones son la tonalidad que quiere que tenga o restringir los temas a los que debe responder su aplicación.

¿Cuántos datos pueden procesar los LLM?

En teoría, los LLM pueden procesar un número ilimitado de datos. Los datos que se proporcionan a los LLM se denominan "tokens".

Existen modelos que pueden procesar un gran número de tokens. Sin embargo, cuantos más datos se proporcionan al modelo, mayor es la complejidad para calcular respuestas coherentes. 

Por lo tanto, los modelos que procesan datos más complejos reaccionan más lentamente y su funcionamiento es más costoso que el de los modelos que sólo procesan datos más sencillos.

Cuanto más fácil sea la tarea para el LLM, más rápido podrá responder y se obtendrán mejores resultados.

Si se hace un procesamiento previo del conjunto datos introducidos y se reduce la información de forma que sólo se proporcionen al LLM los datos relevantes, se pueden crear aplicaciones de IA mucho más eficientes.

Para crear aplicaciones inteligentes de IA es fundamental contar con una buena ingeniería

Para que las tareas para sus aplicaciones sean sencillas y rápidas, es necesario procesar los datos de entrada y salida de forma inteligente.

Una práctica habitual es dividir una tarea de IA en varias subtareas más fáciles de procesar.

Esto se explica mejor con un ejemplo. Piense en una aplicación que imite a una agencia de viajes.

  • La primera tarea del agente de viajes sería averiguar a dónde y cuándo quiere viajar una persona.
  • La segunda tarea sería encontrar (recoger datos) actividades relevantes para el destino y el periodo de tiempo.
  • La tercera tarea sería consultar al cliente para seleccionar la mejor de las actividades disponibles.

Las tareas anteriores pueden realizarse a través de una aplicación. Las tareas uno y tres pueden ser realizadas por una IA si se le dan las instrucciones y los datos adecuados. La tarea dos sería una tarea normal de recogida de datos.

Este enfoque suele denominarse la Generación Mejorada por Recuperación (Retrieval Based Augmentation, RAG) y es una práctica habitual para que las aplicaciones de IA puedan operar con grandes conjuntos de datos (por ejemplo, una base de datos de turismo).

Gráfico ilustrativo de cómo crear cadenas de chat LLM

Optimización de datos para un chatbot de IA multilingüe

Uno de nuestros clientes es "Insel Mainau", una famosa isla de flores del lago de Constanza, en el sur de Alemania. En su página web publican un calendario en el que se puede consultar qué flores florecen cada mes en la isla.

El texto está en alemán y si calculamos el número de tokens de las subpáginas de los 12 meses, obtenemos más de 20.000 tokens. Este número equivale a unos 60.000 caracteres, lo que equivale a unas 13.000 palabras. Es demasiado contenido para los modelos de IA tradicionales y procesar esta cantidad de datos sería demasiado costoso.

Por lo tanto, redujimos el contenido resumiéndolo y eliminando todas las palabras innecesarias. Con este procedimiento conseguimos que el número de tokens de las 12 páginas fuera inferior a 4.000.

Texto original para el mes de marzo

Was blüht im März auf der Insel Mainau?
Im März freuen wir uns auf der Insel Mainau über das Comeback der Krokusse, Narzissen und Kamelien. Doch nicht nur das, denn auch die ersten Schmetterlinge haben bereits ihre Flügel entfaltet und tanzen munter durch die Lüfte.
Seit 1973 ist die Orchideenschau im Palmenhaus der traditionelle Auftakt der blühenden Höhepunkte auf der Insel Mainau. Über 3.000 exotische Orchideen-Schönheiten in ihrer erstaunlichen Vielfalt an Formen und Farben werden ausgestellt. Entdecken Sie die lebendigen Farben von Phalaenopsis-, Vanda- und Cattleya-Orchideen sowie botanische Raritäten, die von unseren Gärtnern kunstvoll arrangiert werden.
...
Tokens: 1,080
Caracteres: 3504

Texto reducido para el mes de marzo

März
Insel Mainau erblüht vielfältigen Farbenspiel. Krokusse, Narzissen Kamelien bringen Frühling zurück, begleitet ersten flatternden Schmetterlingen. Traditionelle Orchideenschau Palmenhaus zeigt 3.000 exotische Orchideen faszinierenden Formen Farben. Märzenbecher kündigen weißen Blüten Ende Winters, Kamelien rosafarbenen, roten weißen Tönen Ufergarten blühen. 
...
Tokens: 297
Caracteres: 927

Como puede ver en el ejemplo para el mes de marzo, el texto se ha reducido considerablemente. Además, el texto reducido ya no tiene sentido para los humanos. Sin embargo, para una IA esto no tiene importancia, ya que simplemente predice palabras basándose en los datos de entrada utilizando sus patrones previamente entrenados.

Cuando se proporcionan datos a un modelo lingüístico amplio, es recomendable eliminar todas las palabras innecesarias e incluso enviar texto ininteligible, ya que el modelo no necesita estos datos para producir respuestas coherentes.

Para la versión demo dimos instrucciones al LLM para que respondiera de forma amistosa y alegre para imitar la tonalidad del sitio web. Aunque los datos se transmiten en alemán, se puede interactuar con ellos tanto en alemán como en inglés.

Más sobre las aplicaciones de IA personalizadas

Chatbot de IA que responde en alemán

Chatbot de IA que responde en inglés

Pruebe las aplicaciones de IA en nuestro sitio web

Puede visitar nuestro sitio web de demostración de IA para probar la mencionada aplicación por sí mismo. En el sitio web de demostración también encontrará otras aplicaciones de IA que hemos creado. Descubra lo que es posible con la IA!

¿Quiere crear sus propias aplicaciones de IA?

Si quiere crear su propia aplicación de IA, podemos ayudarle a planificar su proyecto.

Planificar el proyecto 

Otros artículos destacados

Knowledge base

Por qué elegir el software de código abierto vs. propietario

Software de código abierto vs. software propietario

Nos suelen preguntar qué es un software de código abierto y por qué las empresas lo prefieren al...

6 min.
Knowledge base

Gestión de proyectos PMV en el desarrollo web

Tres círculos superpuestos mostrando el concepto de enfoque MVP

En 1xINTERNET utilizamos el enfoque PMV (Producto Mínimo Viable) para el desarrollo de proyectos web...

6 min.