¿Más ideas y menos trabajo?

Aprende Inteligencia artificial con ayuda de la Inteligencia Artificial

Mucho se habla del potencial de la IA para reemplazar actividades humanas. Sin embargo, sabemos que los modelos disponibles están lejos de hacerlo. La pregunta que queda es entonces ¿será posible usar la IA para aprender más sobre su funcionamiento? Y ¿cómo desde las ciencias de la computación podemos utilizarla para potenciar nuestro trabajo?

CC:BY (Gilda Martini)

Inteligencia Artificial: la promesa de más ideas y menos trabajo. Desde el texto para detallar una idea, hasta los fragmentos de código que componen una gran solución informática, todo se puede consultar con algún modelo de IA. Incluso, se ha pensado como un validador de ideas, por veces como la fuente principal de consulta.

Es verdad que los modelos generativos basados en el procesamiento de miles de datos son capaces de responder a una infinidad de preguntas sin llegar a garantizar la veracidad de sus respuestas, particularmente si se ven enfrentados con interrogantes que demanden análisis.  Esto es debido a que están diseñados para relacionar información según las entradas dadas por quienes lo usan.

En el caso de las ciencias exactas, estos modelos pueden ser un poco más precisos. Eso porque la complejidad de las entradas se reduce a especificar el tipo de operación y los valores con los cuáles trabajar. Por ejemplo, las operaciones aritméticas, cálculos físicos o desarrollo de código, abriendo nuevas posibilidades para la exploración curiosa y experta.

¿Es posible aprender IA con ayuda de la IA? 

Una manera de hacer tal exploración es preguntarse como utilizar la IA para aprender sobre la misma IA. Lo primero a tener en cuenta es la necesidad de escribir prompts o preguntas que contengan la información necesaria con claridad e intentando evitar que el sistema llegue a un exceso de datos.

La información que un modelo devuelve no es más que el contenido resultante de conectar parámetros según la instrucción dada. Por ejemplo, en las próximas dos cadenas se observan énfasis que harán que una IA devuelva resultados diferentes:

  • Describe un cielo estrellado
  • Describe un cielo estrellado como lo haría un poeta

En el segundo caso, se incluye un contexto que guía el estilo de la respuesta que se debe generar.

Sabiendo que la calidad de los resultados depende de la calidad de la pregunta, se puede preguntar al mismo modelo la mejor forma de escribir un prompt.

Así, aplicando la siguiente pregunta en diferentes modelos se pueden obtener recomendaciones: ¿cómo escribir un buen prompt para pedir ayuda a la IA?
Existen diferentes (y válidas) respuestas para esa pregunta:

  • ChatGPT: Necesito ayuda para solucionar un error de sintaxis en mi código Python. Estoy intentando escribir una función que calcule la suma de una lista de números, pero estoy recibiendo un mensaje de error ‘SyntaxError: invalid syntax’. ¿Puedes ayudarme a identificar y corregir el error?
  • Gemini: Genera un código que imprima ‘Hola mundo’. Escribe un resumen de este artículo, Ayúdame a encontrar una receta para un pastel de chocolate.

Teniendo en cuenta estas recomendaciones, se puede pedir a un modelo de IA ayuda para comprender las funciones que componen un fragmento de código, un proyecto open source, un API o el ejemplo publicado en la documentación de algún método de PHP.

Desde niveles macro hasta condiciones de bajo nivel, es posible obtener de los modelos de IA generativa explicaciones, sugerencias de cambios, mejoras, refactorizar y hasta recibir soluciones a distintos problemas.

Pero, ¿puede la IA explicar un modelo de IA?

La explicación dada a un método que forma parte de un modelo de IA contendrá información de tipos de datos que ingresan, tipos de datos de salida y el proceso que hace de los mismos.

Tener un modelo funcional no es lo único que requiere una IA. Eso también depende de los datos que integran su entrenamiento, el valor de estos, diversidad y otros factores que pueden incidir en las respuestas que genere. La calidad del algoritmo y de los datos son los factores determinantes de la calidad de las respuestas.

En la práctica, se propone un ejemplo sobre el modelo de Inteligencia Artificial generativa ChatGPT. Para empezar, se puede preparar el ambiente del chat indicando el tipo de comportamiento esperado, por ejemplo: Usted es un profesional de la informática. Responda sin ambigüedades, esto da un contexto y carácter a la conversación. Siguiendo la propuesta práctica: en el sitio web de ChatGPT se encuentra la documentación técnica útil para su implementación en desarrollos propios. Se puede usar al mismo modelo de lenguaje para comprender estos fragmentos.

Al tomar un ejemplo y pedir que explique su función devolverá una explicación general al respecto.

También, se puede pedir una explicación más detallada si fuese necesario

Explique el siguiente fragmento de código:
import OpenAI from "openai"; const openai = new OpenAI(); async function main() { const completion = await openai.chat.completions.create({ messages: [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Who won the world series in 2020?"}, {"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."}, {"role": "user", "content": "Where was it played?"}], model: "gpt-3.5-turbo", }); console.log(completion.choices[0]); } main();
¿Podría darme más detalles?

Lo anterior funciona si lo que se busca es entender el funcionamiento de modelos desarrollados permitiendo una comprensión de los métodos disponibles y los datos de entrada para así modificar.

Si lo que se quiere es desarrollar un modelo de IA, lo mejor quizá sea revisar documentación, libros o foros. Otra forma de hacerlo es usando IA. Definiendo el objetivo, el resto puede ser guiado con un modelo generativo. Desde la selección de una base de datos (o la preparación de esta) hasta las funciones y métodos que deberían conformar el desarrollo.

Necesito desarrollar un modelo de Inteligencia Artificial para reconocimiento facial con Python.
Da recomendaciones sobre el tipo de base de datos y librerías que debo utilizar.

.

¿Ahora quién programa?

Con la cantidad de proyectos de código abierto y ejemplos disponibles, los modelos son capaces de proponer soluciones reflejadas en código que se pueden probar en cualquier editor de código o en cuadernos de trabajo como Jupyter . Por ejemplo, al digitar la siguiente instrucción en un modelo de IA, el resultado será un fragmento de código funcional: 

Ayúdame a desarrollar el modelo, desarrolla las primeras funciones para que pueda
probarlas en Jupyter. 

Si el resultado no es claro se puede pedir una explicación detallada que ayude a mejorar la prueba obteniendo información sobre cada función y cada operación a realizar.

Por favor, explícame

Al probar otros ejemplos dentro del mismo chat, también se observa como el modelo se ajusta al tipo de respuesta que se pidió con anterioridad, lo que explica cómo los modelos siguen aprendiendo y usando ese aprendizaje. Así cada vez dará respuestas más efectivas en menos pasos.

Ayúdame a desarrollar un modelo para traducir documentos
-Ahora, código para usar en Jupyter
Vamos a desarrollar un modelo para el reconocimiento de voz
Ayúdame a desarrollar la arquitectura del modelo

Enseñando la IA

Los modelos de Inteligencia Artificial pueden ser comparados con infantes en su etapa de aprendizaje y al igual que ellos requieren que la información y/o datos que alimentan su instrucción sean de calidad, reales y que no incluyan sesgos.

Al usar un modelo de IA generativa proporcionando detalles importantes respecto al tipo de respuesta requeridas se obtendrán resultados más exactos y menos ambiguos.

Y lo más importante: la creatividad y las ideas siguen siendo humanas. Usar IA, lejos de ser una amenaza laboral debería convertirse en una alianza para efectivizar el trabajo, reducir esfuerzo y tiempo. Y poder seguir creando y pensando desde nuestra inteligencia natural.