Enhed IBM of Artificial Intelligence (AI) forskning præsenterede et datasæt med 14 millioner prøver til udvikling af maskinlæringsmodeller, der kan hjælpe med programmeringsopgaver. Et datasæt ved navn Projekt CodeNet, tager sit navn fra ImageNet, det berømte billedlager, der revolutionerede computersyn og dyb læring.
Programmører opdager nye problemer og udforsker forskellige løsninger ved at bruge mange mekanismer for bevidst og ubevidst tænkning. De fleste maskinlæringsalgoritmer kræver veldefinerede opgaver og store mængder annoterede data for at udvikle modeller, der kan løse de samme problemer.
En stor indsats er blevet brugt på at skabe datasæt og benchmarks til udvikling og evaluering af AI-for-code-systemer af ekspertsamfundet. Men i betragtning af softwareudviklingens kreative og åbne karakter er det meget vanskeligt at skabe det perfekte datasæt til programmering. Med Project CodeNet forsøgte IBM-forskere at skabe et multifunktionelt datasæt, der kan bruges til at træne maskinlæringsmodeller på en række forskellige opgaver. CodeNets skabere beskriver det som "et meget stort, mangfoldigt og højkvalitetsdatasæt til at accelerere algoritmiske fremskridt inden for AI til kode."
Datasættet indeholder 14 millioner eksempler på 500 millioner linjer kode skrevet på 55 forskellige programmeringssprog. Kodeeksempler blev opnået fra næsten 4000 indsendte opgaver, der blev lagt ud på AIZU og AtCoder online kodningsplatforme. Kodeeksemplerne indeholder både rigtige og forkerte svar på de givne opgaver.
Også interessant:
- Hubble gik i sikker tilstand på grund af en softwarefejl i den indbyggede computer
- Endnu et problem for CD Projekt: Hackere truer med at lække spils kildekoder til netværket
En af nøglefunktionerne ved CodeNet er mængden af annoteringer, der er tilføjet eksempler. Hver af kodningsopgaverne inkluderet i datasættet har en tekstbeskrivelse samt CPU-tid og hukommelsesgrænser. Hver kodeindsendelse indeholder et dusin oplysninger, herunder sprog, indsendelsesdato, størrelse, eksekveringstid, accept og fejltyper. IBM-forskere gjorde også meget for at sikre, at datasættet var afbalanceret på tværs af en række parametre, herunder programmeringssprog, acceptabilitet og fejltyper.
CodeNet er ikke det eneste datasæt til træning af maskinlæringsmodeller i programmeringsopgaver. Men der er flere egenskaber, der adskiller det. Den første er selve størrelsen af datasættet, herunder antallet af prøver og mangfoldigheden af sprog. Men måske vigtigere er de metadata, der følger med kodeeksemplerne. De rige annoteringer, der er tilføjet CodeNet, gør det velegnet til et mangfoldigt sæt af opgaver, i modsætning til andre kodningsdatasæt, der specialiserer sig i specifikke programmeringsopgaver.
Dette er sind blæser.
Med GPT-3 byggede jeg en layoutgenerator, hvor du bare beskriver det ønskede layout, og det genererer JSX-koden til dig.
HVAD billede.twitter.com/w8JkrZO4lk
- Sharif Shameem (@sharifshameem) Juli 13, 2020
Der er flere måder at bruge CodeNet på. En af dem er sprogoversættelse. Fordi hver kodningsopgave i datasættet indeholder repræsentationer af forskellige programmeringssprog, kan dataforskere bruge det til at bygge maskinlæringsmodeller, der oversætter kode fra et sprog til et andet. Dette kan være praktisk for organisationer, der ønsker at overføre gammel kode til nye sprog og gøre dem tilgængelige for nye generationer af programmører.
Læs også:
- IBM introducerede verdens første 2nm-chipproduktionsteknologi
- IBM udvikler kunstig intelligens for at opfinde nye antibiotika
Tradition og arv bør spille sammen med anderledes tænkning, hvor de yngste generationer af neural-lignende algoritmer og ML-metoder til at skabe problemer, gensidigt forbedrer hinanden
Over tid vil niveauet af programmører falde endnu mere (i forhold til nu). Det vil sige, at det vil være muligt at skrive skrå, skæv kode på "shit-sproget". Og så vil maskinen optimere, og det vil være muligt at få den optimerede kode fra en professionel assembler-programmør (eller endnu bedre).