GitHub lance le système d'apprentissage automatique Copilot qui génère du code

GitHub a annoncé avoir terminé les tests de l'assistant intelligent GitHub Copilot, qui peut générer des constructions génériques lors de l'écriture de code. Le système a été développé en collaboration avec le projet OpenAI et utilise la plate-forme d'apprentissage automatique OpenAI Codex, formée sur un large éventail de codes sources hébergés dans des référentiels publics GitHub. Le service est gratuit pour les mainteneurs de projets open source populaires et pour les étudiants. Pour les autres catégories d'utilisateurs, l'accès à GitHub Copilot est payant (10 $ par mois ou 100 $ par an), mais un accès d'essai gratuit est fourni pendant 60 jours.

La génération de code est prise en charge dans les langages de programmation Python, JavaScript, TypeScript, Ruby, Go, C# et C++ à l'aide de divers frameworks. Des modules sont disponibles pour intégrer GitHub Copilot avec Neovim, les IDE JetBrains, Visual Studio et Visual Studio Code. A en juger par la télémétrie collectée lors du processus de test, le service permet de générer du code d'une qualité suffisamment élevée - par exemple, 26% des recommandations proposées dans le GitHub Copilot ont été acceptées par les développeurs telles quelles.

GitHub Copilot se distingue des systèmes traditionnels de complétion de code par la capacité à former des blocs de code assez complexes, jusqu'à des fonctions toutes faites synthétisées en tenant compte du contexte actuel. GitHub Copilot s'adapte à la façon dont un développeur écrit du code et prend en compte les API et les frameworks utilisés dans le programme. Par exemple, s'il y a un exemple de structure JSON dans le commentaire, lorsque vous commencerez à écrire une fonction pour analyser cette structure, GitHub Copilot proposera du code prêt à l'emploi, et lors de l'écriture d'énumérations de routine de descriptions répétées, il formera le reste postes.

GitHub lance le système d'apprentissage automatique Copilot qui génère du code

La capacité de GitHub Copilot à générer des blocs de code prêts à l'emploi a conduit à une controverse sur la violation potentielle des licences de copyleft. Lors de la formation du modèle d'apprentissage automatique, des textes sources réels provenant des référentiels de projets ouverts hébergés sur GitHub ont été utilisés. Beaucoup de ces projets sont livrés sous des licences copyleft, telles que la GPL, qui exigent que le code des œuvres dérivées soit livré sous une licence compatible. Coller du code existant fourni par Copilot peut involontairement violer la licence du projet auquel le code a été emprunté.

Il n'est pas encore clair si un travail généré par un système d'apprentissage automatique peut être considéré comme un dérivé. Des questions se posent également quant à savoir si un modèle d'apprentissage automatique est soumis au droit d'auteur et, dans l'affirmative, qui détient ces droits et comment ils se rapportent aux droits sur le code sur lequel le modèle est construit.

D'une part, les blocs générés peuvent répéter des passages de texte de projets existants, mais d'autre part, le système recrée la structure du code, et ne copie pas le code lui-même. Selon une étude GitHub, seulement 1 % des recommandations suggérées par Copilot incluent des extraits de code de projets existants de plus de 150 caractères. Dans la plupart des situations, les réexécutions se produisent lorsque Copilot ne parvient pas à déterminer correctement le contexte ou à fournir des solutions génériques à un problème.

Pour empêcher la substitution de code existant, un filtre spécial a été ajouté à Copilot qui ne permet pas le chevauchement avec des projets existants. Lors de la configuration, le développeur peut activer ou désactiver ce filtre à sa discrétion. Entre autres problèmes, on note la possibilité que le code synthétisé puisse répéter les erreurs et les vulnérabilités présentes dans le code utilisé pour entraîner le modèle.

Source: opennet.ru

Ajouter un commentaire