GitHub uzsāka Copilot maŔīnmācÄ«Å”anās sistēmu, kas Ä£enerē kodu

GitHub paziņoja par viedā palÄ«ga GitHub Copilot testÄ“Å”anas pabeigÅ”anu, kas spēj Ä£enerēt standarta konstrukcijas, rakstot kodu. Sistēma tika izstrādāta kopā ar OpenAI projektu, un tajā tiek izmantota OpenAI Codex maŔīnmācÄ«Å”anās platforma, kas ir apmācÄ«ta lielam avota kodu klāstam, kas tiek mitināts publiskajās GitHub krātuvēs. Pakalpojums ir bezmaksas populāru atvērtā pirmkoda projektu uzturētājiem un studentiem. Citu kategoriju lietotājiem piekļuve GitHub Copilot tiek apmaksāta (10 USD mēnesÄ« vai 100 USD gadā), bet bezmaksas izmēģinājuma versija tiek nodroÅ”ināta 60 dienas.

Kodu Ä£enerÄ“Å”ana tiek atbalstÄ«ta programmÄ“Å”anas valodās Python, JavaScript, TypeScript, Ruby, Go, C# un C++, izmantojot dažādus ietvarus. Ir pieejami moduļi, lai integrētu GitHub Copilot ar Neovim, JetBrains IDE, Visual Studio un Visual Studio Code izstrādes vidēm. Spriežot pēc testÄ“Å”anas laikā savāktās telemetrijas, pakalpojums ļauj Ä£enerēt diezgan augstas kvalitātes kodu - piemēram, 26% no GitHub Copilot piedāvātajiem ieteikumiem izstrādātāji pieņēma tādus, kādi tie ir.

GitHub Copilot atŔķiras no tradicionālajām koda pabeigÅ”anas sistēmām ar spēju Ä£enerēt diezgan sarežģītus kodu blokus, lÄ«dz pat gatavām funkcijām, kas sintezētas, ņemot vērā paÅ”reizējo kontekstu. GitHub Copilot pielāgojas tam, kā izstrādātājs raksta kodu, un ņem vērā programmā izmantotos API un ietvarus. Piemēram, ja komentārā ir JSON struktÅ«ras piemērs, kad sākat rakstÄ«t funkciju Ŕīs struktÅ«ras parsÄ“Å”anai, GitHub Copilot piedāvās gatavu kodu, un, rakstot regulārus atkārtotu aprakstu sarakstus, tas Ä£enerēs atlikuÅ”o. pozÄ«cijas.

GitHub uzsāka Copilot maŔīnmācÄ«Å”anās sistēmu, kas Ä£enerē kodu

GitHub Copilot spēja Ä£enerēt gatavus kodu blokus ir izraisÄ«jusi strÄ«dus saistÄ«bā ar iespējamiem copyleft licenču pārkāpumiem. Veidojot maŔīnmācÄ«Å”anās modeli, tika izmantoti reāli avota teksti no atvērtā pirmkoda projektu krātuvēm, kas atrodas GitHub. Daudzi no Å”iem projektiem tiek nodroÅ”ināti ar copyleft licencēm, piemēram, GPL, kas prasa, lai atvasināto darbu kods tiktu izplatÄ«ts saskaņā ar saderÄ«gu licenci. Ievietojot esoÅ”o kodu, kā ieteica Copilot, izstrādātāji var netÄ«Å”i pārkāpt tā projekta licenci, no kura kods tika aizgÅ«ts.

Vēl nav skaidrs, vai maŔīnmācÄ«Å”anās sistēmas radÄ«to darbu var uzskatÄ«t par atvasinātu. Rodas arÄ« jautājumi par to, vai uz maŔīnmācÄ«Å”anās modeli attiecas autortiesÄ«bas un, ja jā, tad kam Ŕīs tiesÄ«bas pieder un kā tās ir saistÄ«tas ar tiesÄ«bām uz kodu, uz kura modelis ir veidots.

No vienas puses, Ä£enerētie bloki var atkārtot teksta fragmentus no esoÅ”ajiem projektiem, bet, no otras puses, sistēma atjauno koda struktÅ«ru, nevis kopē paÅ”u kodu. Saskaņā ar GitHub pētÄ«jumu tikai 1% gadÄ«jumu Copilot ieteikumā var bÅ«t ietverti koda fragmenti no esoÅ”ajiem projektiem, kas ir garāki par 150 rakstzÄ«mēm. Vairumā gadÄ«jumu atkārtojumi rodas, ja Copilot nevar pareizi noteikt kontekstu vai piedāvā standarta risinājumus problēmai.

Lai novērstu esoŔā koda aizstāŔanu, Copilot ir pievienots Ä«paÅ”s filtrs, kas neļauj krustoties ar esoÅ”ajiem projektiem. IestatÄ«Å”anas laikā izstrādātājs var aktivizēt vai atspējot Å”o filtru pēc saviem ieskatiem. Starp citām problēmām pastāv iespēja, ka sintezētais kods var atkārtot kļūdas un ievainojamÄ«bas, kas atrodas modeļa apmācÄ«Å”anai izmantotajā kodā.

Avots: opennet.ru

Pievieno komentāru