Social Data Consulting

Github Copilot – 馃槷 驴Remplazara a los promadores? 馃捇

Ya habras escuchado de esta nueva IA de OpenAI llamada GitHub Copilot que puede generar lineas y hasta funciones de codigo en muchos lenguajes de programaci贸n. Esto esta causando un poco de preocupaci贸n en la industria, pero 驴Llegara esto a remplazar a los programadores 馃槷? 驴Q煤e tan poderosa es esta herramienta? y 驴c贸mo funciona? Es lo que se resolvera en este post.

OpenAI

Primero comezaremos brevemente por describir la compa帽ia. OpenAI es una compa帽ia de investigaci贸n en inteligencia artificial sin fines de lucro(por el momento). A lo largo de su historia ha estado anunciando tecnologia muy sorpredente basada en IA como el controlador de caracteres de rosotros(Glow), el completado de imagenes(Image GPT), el generador de imagenes por texto(Dall-e), GPT-3 y muchos otros m谩s los puedes revisar en la pagina de proyectos de OpenAI.

OpenAI es una compa帽铆a de investigaci贸n de inteligencia artificial sin fines de lucro que tiene como objetivo promover y desarrollar inteligencia artificial amigable de tal manera que beneficie a la humanidad en su conjunto.

Wikipedia

Es una tecnologia muy interesante las mencionadas anteriormente y m谩s aun, la penultima, GPT-3 que genera texto a partir de otro texto ingresado por el usuario. Lo sorprendente es que el texto generado es muy parecido a lo que un humano hubiera producido. Puede generar texto comprensible, servir de chatbot, traductor, buscador y parecidos. Y si deseas asombrarte conversando con GPT-3 puedes instalarte AIChanells App.

Github Copilot

La pregunta qu茅 pasaria 驴si entrenamos una IA con “todo” del conocimiento de la web? pues obtenemos GPT-3 una sorprendete IA, que tambien puede generar codigo, pero no es tan aceptable. Y 驴si entrenamos un modelo con “todo” el codigo disponible en internet? Pues en colaboracion con Github, empresa de Microsoft, OpenAI pudo entrenar a OpenAI Codex con cientos o talvez miles de repositorios publicos para que sea capaz de generar codigo apartir de un comentario, nombre de funcion, doc string o nombre de variables. Este modelo entiende el contexto del codigo para generar lineas y hasta funciones completas de codigo para un amplio conjunto de lenguajes de programaci贸n, en especial Python, JavaScript, TypeScript, Ruby y Go. 隆Es facinante! Funciona muy bien en ingles, debido al set de entrenamiento y aunque no es muy efectivo en espa帽ol tambien puede generar codigo 驴Porque es m谩s efectivo en ingles? Pues debido a la cantidad de proyectos de codigo en ingles en el dataset de entrenamiento.

OpenAI Codex tiene un amplio conocimiento de c贸mo las personas usan el c贸digo y es significativamente m谩s capaz que GPT-3 en la generaci贸n de c贸digo, en parte porque fue entrenado en un conjunto de datos que incluye una concentraci贸n mucho mayor de c贸digo fuente p煤blico. GitHub Copilot funciona con un amplio conjunto de marcos y lenguajes, pero esta vista previa t茅cnica funciona especialmente bien para Python, JavaScript, TypeScript, Ruby y Go.

Nat Friedman , CEO de Github

No vueles solo

驴C贸mo funciona?

Para la fecha se puede probar como extesion de visual studio code y esta limitado a una lista de espera. Una vez instalada y habilitada desde el editor de Visual Studio Code se puede escribir un comentario o el nombre de la funcion, por ejemplo, queremos obtener los tweets de Twitter de un usuario, y definimos el nombre de la funcion “fetch_tweets_from_user” Github Copilot analizara el codigo y dara sugerencias de codigo de acuerdo, en este caso, al nombre de la funcion. Como si fuera un autocompletado muchisimo m谩s inteligente.

Cuando hacemos la consulta a Github Copilot este recibe parte de nuestro codigo para ser analizado y devuelve las sugerencias, si usted usa el codigo generado Github Copilot entendera que esa sugerencia fue util, de esta manera mejorara la “lista” de sugerencias que pueda hacer. 驴El codigo generado es un copia y pega del conjunto de entrenamiento (archivos de codigo)? Realmente el codigo sugerido es una creacion adaptado apartir de lo que aprendio, tan solo el 0.1% de veces la sugerencia es codigo textualmente del conjunto de entrenamiento, y esto ocurre por dos razones: No se dio suficiente contexto para que Copilot pueda hacer una buena sugerencia o en muchos archivos diferentes de entrenamiento se utilizo ese mismo codigo. Imaginate que escuchas una canci贸n, a la primera vez no te la aprenderas de memoria, pero si escuchas la misma canci贸n lo haras. De forma similar OpenAI Codex si en distintos archivos aparece el mismo codigo entonces se le considerara relevante o “standart”, por ejemplo la licencia de GNU contenida en muchos proyectos de codigo. Cabe mencionar que cuando se entreno a OpenAI Codex se le mostro el archivo de codigo una unica vez.

how it works
Flujo del funcionamiento de Github Copilot

Realmente Github Copilot funciona muy bien generando codigo, a pesar de estar en modo beta. 驴Esto puede ser la proxima revoluci贸n de la tecnolog铆a? 驴Remplazara a los programadores? Son muy buenas preguntas. A partir de los buenos resultados de la versi贸n beta, OpenAI Codex da la impresion que hara el trabajo m谩s rapido, lo que podria reducir el n煤mero de programadores requeridos para un proyecto y probablemente los programadores novatos van a tener que saber mucho m谩s de lo habitual para postular a su primer trabajo (apresiacion personal). Mencionar tambien, que el codigo sugerido por Github Copilot debe ser revisado como culaquier otro codigo (no es magia), la misma documentaci贸n lo sugiere, tanto para validar funcionamiento o bugs. Es verdad que GithubCopilot tiene la idea de ayudarte como copiloto, pero no sera qu茅 nosotros somos el copiloto y OpenAI Codex el piloto? 驴Si GithubCopilot me sugiere el codigo…el credito es de 茅l? Segun la documentaci贸n el credito es tuyo. Otra preocupaci贸n seria 驴C贸mo sabre si mis alumnos estan presentando codigo que ellos hicieron? y pueden haber otras cuestiones validas. Finalmente, la tecnologia avanza y eso es normal. Hacer un copia y pega brusco sin entender el codigo, no sera suficiente en un corto plazo. Si estamos en constante aprendizaje el trabajo no te va a faltar. 驴Qu茅 tan bueno sera la mejora de OpenAI Codex en posteriores versiones?

Share via
Copy link
Powered by Social Snap