GitHub lanceerde het Copilot machine learning-systeem dat code genereert

GitHub kondigde de voltooiing aan van het testen van de intelligente assistent GitHub Copilot, die standaardconstructies kan genereren bij het schrijven van code. Het systeem is ontwikkeld in samenwerking met het OpenAI-project en maakt gebruik van het OpenAI Codex machine learning-platform, getraind op een groot aantal broncodes die worden gehost in openbare GitHub-repository's. De service is gratis voor beheerders van populaire open source-projecten en studenten. Voor andere categorieën gebruikers wordt toegang tot GitHub Copilot betaald ($ 10 per maand of $ 100 per jaar), maar er wordt gratis proeftoegang geboden voor 60 dagen.

Het genereren van code wordt ondersteund in de programmeertalen Python, JavaScript, TypeScript, Ruby, Go, C# en C++ met behulp van verschillende frameworks. Er zijn modules beschikbaar om GitHub Copilot te integreren met de ontwikkelomgevingen van Neovim, JetBrains IDE's, Visual Studio en Visual Studio Code. Afgaande op de telemetrie die tijdens het testen is verzameld, kunt u met de service code van redelijk hoge kwaliteit genereren - 26% van de aanbevelingen die in GitHub Copilot worden voorgesteld, werden bijvoorbeeld door de ontwikkelaars geaccepteerd zoals ze zijn.

GitHub Copilot verschilt van traditionele systemen voor het voltooien van code in zijn vermogen om tamelijk complexe codeblokken te genereren, tot kant-en-klare functies die zijn gesynthetiseerd rekening houdend met de huidige context. GitHub Copilot past zich aan de manier aan waarop de ontwikkelaar code schrijft en houdt rekening met de API’s en frameworks die in het programma worden gebruikt. Als er bijvoorbeeld een voorbeeld van een JSON-structuur in een commentaar staat, zal GitHub Copilot kant-en-klare code aanbieden wanneer u begint met het schrijven van een functie om deze structuur te parseren, en bij het schrijven van routinematige lijsten met herhalende beschrijvingen zal het de resterende posities.

GitHub lanceerde het Copilot machine learning-systeem dat code genereert

Het vermogen van GitHub Copilot om kant-en-klare codeblokken te genereren heeft geleid tot controverse in verband met mogelijke schendingen van copyleft-licenties. Bij het vormen van het machine learning-model werd gebruik gemaakt van echte bronteksten uit open source-projectopslagplaatsen op GitHub. Veel van deze projecten worden geleverd onder copyleft-licenties, zoals de GPL, die vereisen dat de code van de afgeleide werken onder een compatibele licentie wordt verspreid. Door bestaande code in te voegen, zoals voorgesteld door Copilot, kunnen ontwikkelaars onbewust de licentie schenden van het project waarvan de code is geleend.

Het is nog niet duidelijk of werk dat door een machinaal leersysteem wordt gegenereerd, als afgeleid kan worden beschouwd. Er rijzen ook vragen over de vraag of een machine learning-model auteursrechtelijk beschermd is en, zo ja, wie de eigenaar is van deze rechten en hoe deze zich verhouden tot de rechten op de code waarop het model is gebouwd.

Enerzijds kunnen de gegenereerde blokken tekstpassages uit bestaande projecten herhalen, maar anderzijds herschept het systeem de structuur van de code in plaats van de code zelf te kopiëren. Volgens een GitHub-onderzoek kan een Copilot-aanbeveling slechts 1% van de tijd codefragmenten van bestaande projecten bevatten die langer zijn dan 150 tekens. In de meeste situaties treden herhalingen op wanneer Copilot de context niet correct kan bepalen of standaardoplossingen voor een probleem biedt.

Om vervanging van bestaande code te voorkomen, is er een speciaal filter aan Copilot toegevoegd dat geen kruispunten met bestaande projecten toestaat. Bij het instellen kan de ontwikkelaar dit filter naar eigen inzicht activeren of uitschakelen. Naast andere problemen bestaat de mogelijkheid dat de gesynthetiseerde code fouten en kwetsbaarheden herhaalt die aanwezig zijn in de code die wordt gebruikt om het model te trainen.

Bron: opennet.ru

Voeg een reactie