stringtranslate.com

Copiloto de GitHub

GitHub Copilot es una herramienta de finalización de código desarrollada por GitHub (propiedad de Microsoft ) y OpenAI (49% propiedad de Microsoft) que ayuda a los usuarios de los entornos de desarrollo integrados (IDE) Visual Studio Code , Visual Studio , Neovim y JetBrains completando automáticamente el código. [1] Actualmente disponible mediante suscripción para desarrolladores individuales y empresas, el software de inteligencia artificial generativa fue anunciado por primera vez por GitHub el 29 de junio de 2021 y funciona mejor para usuarios que codifican en Python , JavaScript , TypeScript , Ruby y Go . [2] En marzo de 2023, GitHub anunció planes para "Copilot X", que incorporará un chatbot basado en GPT-4 , así como soporte para comandos de voz, en Copilot. [3]

Historia

El 29 de junio de 2021, GitHub anunció GitHub Copilot para una vista previa técnica en el entorno de desarrollo de Visual Studio Code. [1] [4] GitHub Copilot se lanzó como complemento en el mercado JetBrains el 29 de octubre de 2021. [5] El 27 de octubre de 2021, GitHub lanzó el complemento GitHub Copilot Neovim como repositorio público. [6] GitHub anunció la disponibilidad de Copilot para Visual Studio 2022 IDE el 29 de marzo de 2022. [7] El 21 de junio de 2022, GitHub anunció que Copilot estaba fuera de la "vista previa técnica" y está disponible como un servicio basado en suscripción para desarrolladores individuales. [8]

GitHub Copilot es la evolución del complemento 'Bing Code Search' para Visual Studio 2013, que fue un proyecto de Microsoft Research lanzado en febrero de 2014. [9] Este complemento se integró con varias fuentes, incluidas MSDN y StackOverflow, para proporcionar alta calidad contextualmente. fragmentos de código relevantes en respuesta a consultas en lenguaje natural. [10]

Características

Cuando se le presenta un problema de programación en lenguaje natural , Copilot es capaz de generar código de solución. [11] También es capaz de describir código de entrada en inglés y traducir código entre lenguajes de programación. [11]

Según su sitio web, GitHub Copilot incluye funciones de asistencia para programadores, como la conversión de comentarios de código en código ejecutable y autocompletar para fragmentos de código, secciones repetitivas de código y métodos y/o funciones completos . [2] [12] GitHub informa que la función de autocompletar de Copilot es precisa aproximadamente la mitad de las veces; con algún código de encabezado de función de Python, por ejemplo, Copilot autocompletaba correctamente el resto del código del cuerpo de la función el 43% de las veces en el primer intento y el 57% de las veces después de diez intentos. [2]

GitHub afirma que las funciones de Copilot permiten a los programadores navegar por marcos y lenguajes de codificación desconocidos al reducir la cantidad de tiempo que los usuarios dedican a leer la documentación . [2]

Implementación

GitHub Copilot fue impulsado inicialmente por OpenAI Codex , [13] que es una versión de producción modificada del Generative Pre-trained Transformer 3 (GPT-3), un modelo de lenguaje que utiliza el aprendizaje profundo para producir texto similar al humano. [14] El modelo Codex se entrena adicionalmente con gigabytes de código fuente en una docena de lenguajes de programación.

El OpenAI Codex de Copilot está capacitado en una selección del idioma inglés, repositorios públicos de GitHub y otro código fuente disponible públicamente. [2] Esto incluye un conjunto de datos filtrado de 159 gigabytes de código Python procedente de 54 millones de repositorios públicos de GitHub. [15]

GPT-3 de OpenAI tiene licencia exclusiva para Microsoft , la empresa matriz de GitHub . [dieciséis]

En noviembre de 2023, Copilot se actualizó para utilizar el modelo GPT-4 de OpenAI . [17]


Recepción

Desde el lanzamiento de Copilot, ha habido preocupaciones con respecto a su seguridad y su impacto educativo, así como también controversias sobre las licencias en torno al código que produce. [18] [11] [19]

Controversia de licencia

Si bien el director ejecutivo de GitHub, Nat Friedman, declaró en junio de 2021 que "entrenar sistemas de aprendizaje automático con datos públicos es un uso legítimo ", [20] una demanda colectiva presentada en noviembre de 2022 calificó esto como "pura especulación" y afirmó que "ningún tribunal ha considerado la cuestión". de si 'entrenar sistemas de ML sobre datos públicos es un uso legítimo'". [21] La demanda de Joseph Saveri Law Firm, LLP cuestiona la legalidad de Copilot en varios reclamos, que van desde incumplimiento de contrato con los usuarios de GitHub hasta violación de la privacidad bajo la CCPA para compartir PII . [22] [21]

GitHub admite que una pequeña proporción del resultado de la herramienta puede copiarse palabra por palabra, lo que ha generado temores de que el código resultante no sea lo suficientemente transformador como para ser clasificado como uso legítimo y pueda infringir los derechos de autor del propietario original. [18] En junio de 2022, Software Freedom Conservancy anunció que pondría fin a todos los usos de GitHub en sus propios proyectos, [23] acusando a Copilot de ignorar las licencias de código utilizadas en los datos de entrenamiento. [24] En un mensaje de atención al cliente, GitHub declaró que "entrenar modelos de aprendizaje automático con datos disponibles públicamente se considera un uso legítimo en toda la comunidad de aprendizaje automático", [21] pero la demanda colectiva calificó esto de "falso" y además señaló que "Independientemente del nivel de aceptación de este concepto en 'la comunidad de aprendizaje automático', según la ley federal, es ilegal". [21]

Libros blancos de la FSF

El 28 de julio de 2021, la Free Software Foundation (FSF) publicó una convocatoria financiada para la presentación de libros blancos sobre cuestiones filosóficas y legales relacionadas con Copilot. [25] Donald Robertson, Gerente de Licencias y Cumplimiento de la FSF, afirmó que "Copilot plantea muchas [...] preguntas que requieren un examen más profundo". [25] El 24 de febrero de 2022, la FSF anunció que había recibido 22 artículos sobre el tema y, mediante un proceso de revisión anónima, eligió 5 artículos para destacar. [26]

Preocupaciones sobre la privacidad

El servicio Copilot está basado en la nube y requiere comunicación continua con los servidores de GitHub Copilot. [27] Esta arquitectura opaca ha alimentado preocupaciones sobre la telemetría y la extracción de datos de pulsaciones de teclas individuales. [28] [29]

Preocupaciones de seguridad con el uso directo de la salida del modelo sin supervisión ni pruebas

Un artículo aceptado para su publicación en el Simposio IEEE sobre Seguridad y Privacidad en 2022 evaluó la seguridad del código generado por Copilot para las 25 enumeraciones de debilidades de código principales de MITRE (por ejemplo, secuencias de comandos entre sitios, recorrido de ruta) en 89 escenarios diferentes y 1689 programas. [19] Esto se hizo a lo largo de los ejes de diversidad de debilidades (su capacidad para responder a escenarios que pueden conducir a varias debilidades del código), diversidad de indicaciones (su capacidad para responder a la misma debilidad del código con una variación sutil) y diversidad de dominios (su capacidad para generar especificaciones de hardware de nivel de transferencia de registros en Verilog ). [19] El estudio encontró que en estos ejes en múltiples idiomas, el 39,33% de las sugerencias principales y el 40,73% del total de sugerencias condujeron a vulnerabilidades de código. Además, descubrieron que pequeños cambios no semánticos (es decir, comentarios) realizados en el código podrían afectar la seguridad del código. [19]

Preocupaciones educativas

Un artículo de febrero de 2022 publicado por la Association for Computing Machinery evalúa el impacto que Codex, la tecnología utilizada por Github Copilot, puede tener en la educación de los programadores novatos. [11] El estudio utiliza preguntas de evaluación de una clase de introducción a la programación en la Universidad de Auckland y compara las respuestas del Codex con el desempeño de los estudiantes. [11] Los investigadores descubrieron que Codex, en promedio, obtuvo mejores resultados que la mayoría de los estudiantes; sin embargo, su rendimiento disminuyó en preguntas que limitaban las funciones que se podían usar en la solución (por ejemplo, condicionales , colecciones y bucles ). [11] Dado este tipo de problema, "sólo dos de las 10 soluciones [del Codex] produjeron el resultado correcto, pero ambas [...] violaron [la] restricción". El documento concluye que el Codex puede resultar útil para ofrecer una variedad de soluciones a los alumnos, pero también puede dar lugar a una dependencia excesiva y al plagio. [11]

Ver también

Referencias

  1. ^ ab Gershgorn, Dave (29 de junio de 2021). "GitHub y OpenAI lanzan una nueva herramienta de IA que genera su propio código". El borde . Consultado el 6 de julio de 2021 .
  2. ^ abcde "GitHub Copilot · Su programador de pares de IA". Copiloto de GitHub . Consultado el 7 de abril de 2022 .
  3. ^ "GitHub Copilot obtiene un nuevo asistente similar a ChatGPT para ayudar a los desarrolladores a escribir y corregir código". El borde . 22 de marzo de 2023 . Consultado el 5 de septiembre de 2023 .
  4. ^ "Presentamos GitHub Copilot: su programador de pares de IA". El blog de GitHub . 29 de junio de 2021 . Consultado el 7 de abril de 2022 .
  5. ^ "GitHub Copilot - Complemento IntelliJ IDE | Marketplace". Mercado JetBrains . Consultado el 7 de abril de 2022 .
  6. ^ Copilot.vim, GitHub, 7 de abril de 2022 , consultado el 7 de abril de 2022
  7. ^ "GitHub Copilot ahora disponible para Visual Studio 2022". El blog de GitHub . 29 de marzo de 2022 . Consultado el 7 de abril de 2022 .
  8. ^ "GitHub Copilot está disponible de forma general para todos los desarrolladores". El blog de GitHub . 21 de junio de 2022 . Consultado el 21 de junio de 2022 .
  9. ^ Lardinois, Frederic (17 de febrero de 2014). "Microsoft lanza el complemento Smart Visual Studio para la búsqueda de fragmentos de código". TechCrunch . Consultado el 5 de septiembre de 2023 .
  10. ^ "Búsqueda de código de Bing". Investigación de Microsoft . 11 de febrero de 2014 . Consultado el 5 de septiembre de 2023 .
  11. ^ abcdefg Finnie-Ansley, James; Denny, Pablo; Becker, Brett A.; Luxton-Reilly, Andrew; Prather, James (14 de febrero de 2022). "Los robots están llegando: explorando las implicaciones del Codex OpenAI en la programación introductoria". Conferencia de Educación en Computación de Australasia . AS '22. Nueva York, NY, EE.UU.: Asociación de Maquinaria de Computación. págs. 10-19. doi : 10.1145/3511861.3511863 . ISBN 978-1-4503-9643-1. S2CID  246681316.
  12. ^ Sobania, Dominik; Schweim, Dirk; Rothlauf, Franz (2022). "Una encuesta completa sobre síntesis de programas con algoritmos evolutivos". Transacciones IEEE sobre computación evolutiva . 27 : 82–97. doi :10.1109/TEVC.2022.3162324. ISSN  1941-0026. S2CID  247721793.
  13. ^ Krill, Paul (12 de agosto de 2021). "OpenAI ofrece API para el modelo GitHub Copilot AI". InfoMundo . Consultado el 7 de abril de 2022 .
  14. ^ "OpenAI lanza GPT-3, el modelo más grande hasta ahora". Revista Analytics India . 3 de junio de 2020 . Consultado el 7 de abril de 2022 .
  15. ^ "OpenAI anuncia códice de IA de generación de código de parámetros de 12 mil millones". InfoQ . Consultado el 7 de abril de 2022 .
  16. ^ "OpenAI le da a Microsoft acceso exclusivo a su modelo de lenguaje GPT-3". Revisión de tecnología del MIT . Consultado el 7 de abril de 2022 .
  17. ^ https://github.blog/changelog/2023-11-30-github-copilot-november-30th-update/
  18. ^ abcd Pearce, Hammond; Ahmad, Baleegh; Bronceado, Benjamín; Dolan-Gavitt, Brendan; Karri, Ramesh (16 de diciembre de 2021). "¿Dormido frente al teclado? Evaluación de la seguridad de las contribuciones de código de GitHub Copilot". arXiv : 2108.09293 [cs.CR].
  19. ^ Nat Friedman [@natfriedman] (29 de junio de 2021). "En general: (1) capacitar a los sistemas de ML sobre datos públicos es un uso legítimo" ( Tweet ). Archivado desde el original el 30 de junio de 2021 . Consultado el 23 de febrero de 2023 , vía Twitter .
  20. ^ abcd Butterick, Matthew (3 de noviembre de 2022). "Litigio de GitHub Copilot" (PDF) . githubcopilotlitigation.com . Bufete de abogados José Saveri. Archivado desde el original el 3 de noviembre de 2022 . Consultado el 12 de febrero de 2023 .
  21. ^ Vincent, James (8 de noviembre de 2022). "La demanda que podría reescribir las reglas de los derechos de autor de la IA". El borde . Consultado el 7 de diciembre de 2022 .
  22. ^ "Renuncia a GitHub: ¡ha llegado el momento!". Conservación de la libertad del software . Consultado el 8 de septiembre de 2022 .
  23. ^ "Si el software es mi copiloto, ¿quién programó mi software?". Conservación de la libertad del software . Consultado el 8 de septiembre de 2022 .
  24. ^ ab "Convocatoria de libros blancos financiada por la FSF sobre cuestiones filosóficas y legales en torno a Copilot". Fundación de Software Libre. 28 de julio de 2021 . Consultado el 11 de agosto de 2021 .
  25. ^ "Publicación de los libros blancos financiados por la FSF sobre cuestiones relacionadas con Copilot". Fundación de Software Libre. 24 de febrero de 2022.
  26. ^ "GitHub Copilot: su programador de pares de IA". GitHub . Consultado el 18 de octubre de 2022 .
  27. ^ "CoPilot: privacidad y minería de datos". GitHub . Consultado el 18 de octubre de 2022 .
  28. ^ Stallman, Richard . "¿A quién sirve realmente ese servidor?". gnu.org . Consultado el 18 de octubre de 2022 .

enlaces externos