Root NationNyheterIT-nyheterIBM skapade Project CodeNet-datauppsättningen: 14 miljoner kodexempel kommer att lära AI att programmera

IBM skapade Project CodeNet-datauppsättningen: 14 miljoner kodexempel kommer att lära AI att programmera

-

Enhet IBM of Artificial Intelligence (AI) forskning presenterade en datauppsättning med 14 miljoner prover för att utveckla maskininlärningsmodeller som kan hjälpa till med programmeringsuppgifter. En datauppsättning som heter Projekt CodeNet, har fått sitt namn från ImageNet, det berömda bildarkivet som revolutionerade datorseende och djupinlärning.

Programmerare upptäcker nya problem och utforskar olika lösningar med hjälp av många mekanismer för medvetet och undermedvetet tänkande. De flesta maskininlärningsalgoritmer kräver väldefinierade uppgifter och stora mängder kommenterad data för att utveckla modeller som kan lösa samma problem.

IBM Project CodeNet
Project CodeNet är en enorm datauppsättning med ~ 14 miljoner kodexempel utspridda över dussintals programmeringsspråk.

Mycket arbete har lagts ner på att skapa datauppsättningar och riktmärken för utveckling och utvärdering av AI-för-kod-system av expertgemenskapen. Men med tanke på mjukvaruutvecklingens kreativa och öppna karaktär är det mycket svårt att skapa den perfekta datamängden för programmering. Med Project CodeNet försökte IBM-forskare skapa en multifunktionsdatauppsättning som kan användas för att träna maskininlärningsmodeller för en mängd olika uppgifter. CodeNets skapare beskriver det som "en mycket storskalig, mångsidig och högkvalitativ datauppsättning för att accelerera algoritmiska framsteg inom AI för kod."

Datauppsättningen innehåller 14 miljoner exempel på 500 miljoner rader kod skriven på 55 olika programmeringsspråk. Kodprover erhölls från nästan 4000 XNUMX inskickade uppgifter som publicerats på AIZU och AtCoder onlinekodningsplattformar. Kodexemplen innehåller både korrekta och felaktiga svar på de givna uppgifterna.

Också intressant:

En av nyckelfunktionerna i CodeNet är mängden anteckningar som läggs till i exempel. Var och en av kodningsuppgifterna som ingår i datamängden har en textbeskrivning, såväl som CPU-tid och minnesgränser. Varje kod som skickas innehåller ett dussin uppgifter, inklusive språk, datum för inlämning, storlek, körningstid, acceptans och feltyper. IBM-forskare gick också långt för att säkerställa att datamängden var balanserad över en mängd olika parametrar, inklusive programmeringsspråk, acceptans och feltyper.

IBM Project CodeNet

CodeNet är inte det enda datasetet för att träna maskininlärningsmodeller i programmeringsuppgifter. Men det finns flera egenskaper som skiljer det åt. Den första är själva storleken på datamängden, inklusive antalet prover och mångfalden av språk. Men kanske viktigare är metadatan som följer med kodexemplen. De rika annoteringarna som läggs till CodeNet gör det lämpligt för en mångsidig uppsättning uppgifter, till skillnad från andra kodningsdataset som är specialiserade på specifika programmeringsuppgifter.

Det finns flera sätt att använda CodeNet. En av dem är språköversättning. Eftersom varje kodningsuppgift i datasetet innehåller representationer av olika programmeringsspråk, kan datavetare använda den för att bygga maskininlärningsmodeller som översätter kod från ett språk till ett annat. Detta kan vara praktiskt för organisationer som vill porta gammal kod till nya språk och göra dem tillgängliga för nya generationer av programmerare.

Läs också:

Bli Medlem
Meddela om
gäst

2 Kommentarer
Nyare
De äldre Den mest populära
Inbäddade recensioner
Visa alla kommentarer
Viktor
Viktor
2 år sedan

Tradition och ärftlighet ska spela ihop med olika tänkande, med de yngsta generationerna av neuralliknande algoritmer och ML-metoder för att ställa till problem, ömsesidigt förbättra varandra

Aasd
Aasd
2 år sedan

Med tiden kommer nivån på programmerare att minska ännu mer (jämfört med nu). Det vill säga att det blir möjligt att skriva sned, sned kod på "skitspråket". Och då kommer maskinen att optimera, och du kommer så småningom att kunna få den optimerade koden från en professionell assembler-programmerare (eller ännu bättre).