por WILL KNIGHT
Los programas como GPT-3 pueden componer texto convincente. Algunas personas están utilizando la herramienta para automatizar el desarrollo de software y buscar errores.
PUEDE TOMAR años para aprender a escribir bien el código de computadora. SourceAI, una startup de París, cree que la programación no debería ser tan importante.
La compañía está afinando una herramienta que usa inteligencia artificial para escribir código basado en una breve descripción de texto de lo que debería hacer el código. Dígale a la herramienta de la compañía que “multiplique dos números dados por un usuario”, por ejemplo, y generará una docena de líneas en Python para hacer precisamente eso.
Las ambiciones de SourceAI son un signo de una revolución más amplia en el desarrollo de software. Los avances en el aprendizaje automático han hecho posible automatizar una creciente variedad de tareas de codificación, desde completar automáticamente segmentos de código y ajustar algoritmos hasta buscar código fuente y localizar errores molestos.
La automatización de la codificación podría cambiar el desarrollo de software, pero las limitaciones y los puntos ciegos de la IA moderna pueden introducir nuevos problemas. Los algoritmos de aprendizaje automático pueden comportarse de manera impredecible y el código generado por una máquina puede albergar errores dañinos a menos que se analice detenidamente.
SourceAI, y otros programas similares, tienen como objetivo aprovechar GPT-3, un poderoso programa de lenguaje de IA anunciado en mayo de 2020 por OpenAI , una empresa de San Francisco centrada en realizar avances fundamentales en IA. Los fundadores de SourceAI estuvieron entre los primeros cientos de personas en obtener acceso a GPT-3. OpenAI no ha publicado el código para GPT-3, pero permite que algunos usuarios accedan al modelo a través de una API.
GPT-3 es una enorme red neuronal artificial entrenada en enormes cantidades de texto extraído de la web. No capta el significado de ese texto, pero puede capturar patrones en el lenguaje lo suficientemente bien como para generar artículos sobre un tema determinado, resumir un escrito de manera sucinta o responder preguntas sobre el contenido de los documentos.
“Al probar la herramienta, nos dimos cuenta de que podía generar código”, dice Furkan Bektes, fundador y director ejecutivo de SourceAI. “Fue entonces cuando tuvimos la idea de desarrollar SourceAI”.
No fue el primero en darse cuenta del potencial. Poco después del lanzamiento de GPT-3, un programador demostró que podía crear aplicaciones web personalizadas , incluidos botones, campos de entrada de texto y colores, mezclando fragmentos de código que se habían alimentado. Otra empresa, Debuild , planea comercializar la tecnología.
SourceAI tiene como objetivo permitir que sus usuarios generen una gama más amplia de programas en muchos idiomas diferentes, ayudando así a automatizar la creación de más software. “Los desarrolladores ahorrarán tiempo en la codificación, mientras que las personas sin conocimientos de codificación también podrán desarrollar aplicaciones”, dice Bektes.
Otra empresa, TabNine , utilizó una versión anterior del modelo de lenguaje de OpenAI, GPT-2, que OpenAI ha lanzado, para construir una herramienta que ofrece autocompletar una línea o una función cuando un desarrollador comienza a escribir.
Algunos gigantes del software también parecen interesados. Microsoft invirtió mil millones de dólares en OpenAI en 2019 y acordó licenciar GPT-3. En la conferencia Build del gigante del software en mayo, Sam Altman, cofundador de OpenAI, demostró cómo GPT-3 podía autocompletar el código para un desarrollador. Microsoft se negó a comentar sobre cómo podría usar la inteligencia artificial en sus herramientas de desarrollo de software.
Brendan Dolan-Gavitt , profesor asistente en el Departamento de Ingeniería y Ciencias de la Computación de la Universidad de Nueva York, dice que los modelos de lenguaje como GPT-3 probablemente se utilizarán para ayudar a los programadores humanos. Otros productos usarán los modelos para “identificar posibles errores en su código mientras lo escribe, buscando cosas que sean ‘sorprendentes’ para el modelo de lenguaje”, dice.
Sin embargo, el uso de IA para generar y analizar código puede ser problemático. En un artículo publicado en línea en marzo, los investigadores del MIT demostraron que un programa de inteligencia artificial entrenado para verificar que el código se ejecute de manera segura puede engañarse haciendo algunos cambios cuidadosos, como sustituir ciertas variables, para crear un programa dañino. Shashank Srikant, un estudiante de doctorado involucrado en el trabajo, dice que no se debe confiar demasiado en los modelos de IA. “Una vez que estos modelos entran en producción, las cosas pueden ponerse feas con bastante rapidez”, dice.
“Una vez que estos modelos entran en producción, las cosas pueden ponerse feas con bastante rapidez”
SHASHANK SRIKANT, ESTUDIANTE DE DOCTORADO DEL MIT
Dolan-Gavitt, profesor de la NYU, dice que la naturaleza de los modelos de lenguaje que se utilizan para generar herramientas de codificación también plantea problemas. “Creo que usar modelos de lenguaje directamente probablemente terminaría produciendo código con errores e incluso inseguro”, dice. “Después de todo, están capacitados en código escrito por humanos, que a menudo tiene errores e inseguridad”.
Dolan-Gavitt creó This Code Does Not Exist, un sitio web que pide a los visitantes que juzguen si un fragmento de código fue escrito por un humano o por una versión especializada de GPT-2. Ahora está desarrollando código generado por IA para producir errores para probar software de seguridad.
Los científicos informáticos han estudiado formas de generar código automáticamente durante décadas, pero la IA moderna ha despertado un nuevo interés en las posibilidades.
En abril de 2019, investigadores de Facebook publicaron detalles de Aroma , una herramienta que utiliza el aprendizaje automático para identificar fragmentos de código que son funcionalmente similares, algo que podría ayudar a los desarrolladores a escribir programas más rápidamente y evitar errores. Un equipo de DeepMind mostró un programa de inteligencia artificial en octubre de 2020 que puede diseñar versiones más eficientes de algoritmos escritos por humanos. Intel tiene un proyecto llamado Machine Inferred Code Similarity que usa IA para determinar qué hace un fragmento de código, lo que podría ayudar a automatizar la creación de programas complejos. El aprendizaje automático también ha surgido como una forma de automatizar parte del trabajo necesario para crear y ajustar otros algoritmos de aprendizaje automático.
Queda por ver qué tan bien funciona realmente la herramienta de SourceAI. Todavía no hay una demostración pública de la tecnología, pero Bektes, el fundador, dice que para comandos simples funciona del 80 al 90 por ciento del tiempo. Parece seguro de que podría cambiar algunos aspectos del desarrollo de software. “Los estudiantes lo usarán para hacer sus tareas rápidamente”, bromea.
Fuente: https://www.wired.com/story/ai-latest-trick-writing-computer-code/