Cómo Crea Código la Inteligencia Artificial

5 minuto(s)

La inteligencia artificial puede crear código rápidamente.

Pero te has preguntado alguna, vez cuál es el proceso que realiza la IA para crearlo.

En este artículo te enseñaré en profundidad, Cómo Crea Código la Inteligencia Artificial, vamos con ello.

Código generado con Inteligencia Artificial
El código generado por la IA puede ser bueno hasta cierto punto

El código que crea la inteligencia artificial es posible gracias a ciertos modelos entrenados para este fin.

Estos modelos LLM (Large Language Models) que han usado y siguen usando Aprendizaje Automático (Machine Learning) para generar código.

Etapas de la IA Para Generar Código

Nos enfocaremos en los modelos generativos GPT (Generative Pre-trained Transformer).

Separaremos el proceso en diferentes etapas a continuación.

Etapa 1: Proceso Encubierto

Aquí los transformers o transformadores son usados por el modelo GPT para gestionar determinadas secuencias de texto que el usuario envía al chat.

Los transformadores gestionan los mensajes del usuario utilizando una técnica de atención auto-regresiva.

La atención auto-regresiva utiliza la siguiente fórmula estándar:

Formula matemática de atención auto-regresiva
GTP usa esta fórmula junto con otras operaciones matemáticas

En la fórmula:

  • Q (Query): Esta es la consulta del usuario.
  • K (Key): Esta es la clave del contexto.
  • V (Value): Es el valor asociado a la Key.
  • dk (dimension key): Esta es la dimensión del vector clave.

La atención auto-regresiva hace que el modelo GPT haga una predicción del próximo token que puede ser un símbolo o palabra, ayudándose del contexto previo.

Este contexto previo es un mensaje o solicitud del usuario a la IA para que genere un determinado código.

Una vez hecha la atención auto-regresiva, la información pasa por las capas de feed-forward o red neuronal prealimentada (feed-forward en inglés).

Luego el modelo GPT entiende que el código de forma general tiene o sigue una secuencia.

Etapa uno proceso encubierto
Al día de hoy la IA se entrena con otras plataformas aparte de GitHub y Stack Overflow

Por ejemplo, las funciones, clases, variables, etc., tienen un patrón específico.

Si bien cada lenguaje de programación tiene una sintaxis independiente, en general todos siguen una misma secuencia.

Esta secuencia se denomina codificación posicional.

El análisis de esta secuencia lo hace mediante la siguiente fórmula:

Fórmula matemática de codificación posicional
La codificación posicional agrega datos sobre el orden de los tokens en la consulta a la IA

GPT usa diferentes datos de código fuente y documentos técnicos de GitHub y Stack Overflow.

Etapa 2: Creación del Código

Luego que el usuario envía una instrucción a la IA.

Por ejemplo: “Crea un código de JavaScript para validar un correo”.

GPT interpreta la instrucción del usuario como vector dimensional alto y denso.

Y analiza la estructura del código que le brindará al usuario.

Asimismo, entiende cuál es el propósito o la lógica del código.

Verifica las dependencias que tienen entre sí las funciones, variables y demás elementos del código.

Varios elementos del código (for, if, else, break, return, +, -, ==, etc.) se gestionan como tokens.

Esto se denomina granularidad de los tokens.

GTP realiza una codificación BPE (Byte-Pair Encoding) o Codificación de pares de bytes.

Es decir, hace una fragmentación del código en diferentes sub palabras para gestionar funciones y variables con nombres aleatorios.

Etapa dos creación del código
Las plataformas de IA suelen controlar el acceso de los usuarios a ciertas funciones mediante tokens

Los tokens granulados se representan de manera vectorial.

Esta representación vectorial usa la siguiente fórmula de incrustación aprendida:

Fórmula matemática de incrustacion aprendida
Con esta fórmula matemática cada token granulado se convierte en un vector denso

El modelo GPT hace una predicción del siguiente token en base al contexto recolectado.

Hace uso de cierta probabilidad condicional:

Fórmula matemática de probabilidad condicional
Pueden haber más tokens (t)

En la formula:

  • ti: Este es el token actual.
  • t1, t2,…, t1-: Estos son los tokens previos.

Paso seguido, la IA realiza la construcción del código.

Genera las estructuras clásicas de las funciones, bucles, condicionales y las optimiza.

Si el código contiene importaciones o librerías, hace las llamadas necesarias.

Hace una decodificación del código usando algoritmos de decodificación cómo Beam Search (búsqueda de haz), Greedy Search(Algoritmo voraz) y Sampling con Temperatura.

Etapa 3: Optimización del Código

En este punto, la IA itera el código creado y lo ajusta, haciéndolo más legible y eficiente.

Analiza los tipos de datos, el alcance de las variables y su identación.

En cuanto a la identación, hace un mayor trabajo cuando es código Python.

Python se caracteriza por tener sangrías definidas en su sintaxis.

Si estas sangrías no están correctamente definidas, el código puede arrojar errores de sintaxis.

Cuando el usuario envía código a GPT, este modelo se adapta al mismo.

Por ejemplo, si el usuario le pide a la IA: “Hazme este código en menos líneas”.

El análisis lo realiza usando un parser o analizador sintáctico.

Etapa tres optimización del código
El usuario debe tener cuidado al implementar el código en producción

La IA también realiza pruebas unitarias rápidamente para verificar cómo trabaja el código, antes de entregarlo al usuario.

Para optimizar el código, le hace una refactorización.

Renombra las variables y reestructura los bloques de código, haciéndolos más accesibles para el usuario.

Por último, hace una minimización de los errores en el código.

Para esto busca las variables no inicializadas, loops infinitos y operaciones redundantes.

Datos Matemáticos Clave

La IA generativa de código ha sido entrenada para reducir la pérdida de código.

Analiza el caos del código generado y lo compara con el código real.

Para esto hace uso de la siguiente fórmula:

Fórmula matemática de funciones de perdida
El símbolo ∑ significa sumatoria de valores

GPT también hace uso de técnicas de Fine tuning en ciertos datos.

La técnica se adapta al lenguaje de programación.

También realiza un control de temperaturas para gestionar la calidad del modelo.

Si la temperatura es baja (𝑡∼0.1t∼0.1), el código que genera la IA es más estructurado y fiable.

Y si, por el contrario, la temperatura es alta (𝑡∼1.0t∼1.0), el código será original, pero en ocasiones presentará ciertos errores.

Conclusión

Cómo puedes ver la IA, en espacial los modelos GPT.

Hace uso de varios procesos para generar código fiable para el usuario.

Estas tareas son realizadas en tiempos muy rápidos (milisegundos).

Y están apoyadas sobre equipos de hardware y procesamiento de última generación.