Automating programming. AI is transforming the coding of computer programs

Cita: 

The Economist [2021], "Automating programming. AI is transforming the coding of computer programs", The Economist, London, 10 de julio, https://www.economist.com/science-and-technology/2021/07/07/ai-is-transf...

Fuente: 
The Economist
Fecha de publicación: 
Sábado, Julio 10, 2021
Tema: 
La inteligencia artificial está transformando la codificación.
Idea principal: 

Generative Pre-Trained Transformer 3 (GPT-3), es un modelo de lenguaje desarrollado por Open AI, un laboratorio de inteligencia artificial (AI por sus siglas en inglés)) en San Francisco. GPT-3 se entrenó en una masa de texto sin precedentes para enseñarle la probabilidad de que cierta palabra siga a las palabras anteriores.

El acceso a GTP-3 está restringido ya que podría usarse para producir fakenews en masa o inundar redes sociales con mensajes ofensivos.

Open AI, reconoce que GPT-3 es un comerciante valioso y el laboratorio ha permitido que las empresas compren su producción para usos aprobados, incluyendo la elaboración de respuestas a preguntas mecanografiadas sobre productos y potenciar el discurso de personajes de ficción en mundos virtuales. Asimismo, GPT-3 se puede usar para escribir códigos de computadora.

GPT-3 y su predecesor GPT-2 ya están siendo usados por varias empresas para agregar AI al software que los programas usan para escribir códigos. Es decir, gran parte de lo que escriben los programadores, ya se había escrito antes.

Tabnine de Tel Aviv creó una función de finalización de la AI. Usó GPT-2 para alimentar con códigos a su software de programación, Tabnine, y ganó una especie de “conocimiento mundial”. Éste software puede detectar cuándo un usuario ha comenzado a escribir un código para manejar “órdenes de compra”. Por consiguiente, sugerirá un código para mostrar los nombres y precios de los productos, así como un código para crear campos que se completen con cantidades, pagos y datos de entrega.

Algunas secuencias de codificaciones suelen ser raras y en estos casos Tabnine, amplía su lista emergente de finalizaciones sugeridas para aumentar la probabilidad de ofrecer una útil.

De igual manera, Microsoft el 17 de junio de 2021, lanzó una nueva versión de una función de finalización de AI que se incorpora en un software de codificación llamado Visual Studio. La versión original llamada IntelliCode, fue lanzada en 2018 y se entrenó en unos pocos miles de repositorios en línea en los que se almacena el código para proyectos de programación.

El principal objetivo de todo esto es ahorrar tiempo. Kite, una empresa de San Francisco, afirma que sus productos de finalización de Inteligencia Artificial reducen el número de pulsaciones de teclas necesarias para algunas tareas a casi la mitad.

Por otro lado, los desarrolladores pasan casi tanto tiempo buscando errores en lo que han escrito.

Para entrenarlo, el Dr. Dolan-Gavitt está recopilando código etiquetado como defectuoso por GitHub, una subsidiaria de Microsoft que alberga la mayor colección de código de "fuente abierta" no propietario del mundo. Según una estimación, GitHub contiene al menos mil millones de fragmentos de código identificados como portadores de un error.

Asimismo, otro modelo de detección de errores está en desarrollo en el Instituto de Tecnología de Massachusetts (MIT, por sus siglas en inglés) cuyo objetivo es formar el modelo de reconocer no sólo los errores involuntarios, sino también vulnerabilidades insertados maliciosamente.

Sin embargo, los codificadores maliciosos a menudo los ocultan escribiendo código superfluo destinado a confundir a los revisores, por lo que Srikant también está alimentando el modelo del MIT con ejemplos de este tipo de código potencialmente revelador, que describe como "colgando" y "muerto".

El destino de esta actividad es la creación de programadores de software que puedan, tomar una idea y convertirla en código. Además, ahora las máquinas pueden escribir secuencias de código funcional más largas y varias empresas ven oportunidades en ello.

Una es una firma parisina llamada Source AI. Ésta trata de diseñar software en el que los usuarios escriben, en lenguaje natural, una solicitud de código, como algo que calcule el valor de los números en una fórmula matemática llamada secuencia de Fibonacci. Al acceder a GPT-3, el software homónimo de Source AI produce las líneas de código deseadas en una variedad de lenguajes de programación.

Asimismo, Debuild está probando la misma idea creando un software que permita a los no programadores describir, en un lenguaje sencillo, un programa que puedan crear y luego escribirlo.

Finalmente, Microsoft también está utilizando GPT-3 para impulsar lo que llama programación "sin código/código bajo".

Datos cruciales: 

1. Un sitio web creado por el Dr. Dolan-Gavitt proporciona un indicio de lo que vendrá. Llamado "Este código no existe", pide a los programadores que determinen si secciones de código de decenas de líneas de largo fueron escritas por un humano o un modelo basado en GPT-2 que él mismo ha construido. De las más de 329 200 evaluaciones realizadas, menos del 51% han sido correctas.

Nexo con el tema que estudiamos: 

Actualmente se ha estado desarrollando nueva tecnología con el fin de facilitar diversas actividades, en este caso la codificación programada. Las empresas han empezado a implementar esta tecnología para mejorar y ser más competitivas frente a otras y acaparar rentas tecnológicas.