Root NationNotiziaGiornale informaticoIBM ha creato il set di dati Project CodeNet: 14 milioni di campioni di codice insegneranno a programmare l'IA

IBM ha creato il set di dati Project CodeNet: 14 milioni di campioni di codice insegneranno a programmare l'IA

-

Unità IBM della ricerca sull'intelligenza artificiale (AI) ha presentato un set di dati di 14 milioni di campioni per sviluppare modelli di apprendimento automatico che possono aiutare nelle attività di programmazione. Un set di dati denominato Codice progettoNet, prende il nome da ImageNet, il famoso repository di immagini che ha rivoluzionato la visione artificiale e il deep learning.

I programmatori scoprono nuovi problemi ed esplorano diverse soluzioni, utilizzando molti meccanismi del pensiero conscio e subconscio. La maggior parte degli algoritmi di apprendimento automatico richiede attività ben definite e grandi quantità di dati annotati per sviluppare modelli in grado di risolvere gli stessi problemi.

Progetto IBM CodeNet
Project CodeNet è un enorme set di dati di circa 14 milioni di esempi di codice sparsi in dozzine di linguaggi di programmazione.

Sono stati compiuti molti sforzi per creare set di dati e benchmark per lo sviluppo e la valutazione di sistemi di intelligenza artificiale per codice da parte della comunità di esperti. Ma, data la natura creativa e aperta dello sviluppo del software, è molto difficile creare il set di dati perfetto per la programmazione. Con Project CodeNet, i ricercatori IBM hanno tentato di creare un set di dati multiuso che può essere utilizzato per addestrare modelli di machine learning su una varietà di attività. I creatori di CodeNet lo descrivono come "un set di dati su larga scala, diversificato e di alta qualità per accelerare i progressi algoritmici nell'intelligenza artificiale per il codice".

Il set di dati contiene 14 milioni di esempi di 500 milioni di righe di codice scritte in 55 diversi linguaggi di programmazione. I campioni di codice sono stati ottenuti da quasi 4000 attività inviate pubblicate sulle piattaforme di codifica online AIZU e AtCoder. Gli esempi di codice includono risposte corrette e non corrette alle attività specificate.

Interessante anche:

Una delle caratteristiche principali di CodeNet è la quantità di annotazioni aggiunte agli esempi. Ciascuna delle attività di codifica incluse nel set di dati ha una descrizione testuale, oltre al tempo della CPU e ai limiti di memoria. Ogni invio di codice contiene una dozzina di informazioni, tra cui lingua, data di invio, dimensioni, tempo di esecuzione, accettazione e tipi di errore. I ricercatori IBM hanno anche fatto di tutto per garantire che il set di dati fosse bilanciato su una varietà di parametri, tra cui linguaggio di programmazione, accettabilità e tipi di errore.

Progetto IBM CodeNet

CodeNet non è l'unico set di dati per l'addestramento dei modelli di machine learning sulle attività di programmazione. Ma ci sono diverse caratteristiche che lo distinguono. Il primo è la vastità del set di dati, compreso il numero di campioni e la diversità delle lingue. Ma forse più importanti sono i metadati forniti con gli esempi di codice. Le ricche annotazioni aggiunte a CodeNet lo rendono adatto a una serie diversificata di attività, a differenza di altri set di dati di codifica specializzati in attività di programmazione specifiche.

Esistono diversi modi per utilizzare CodeNet. Uno di questi è la traduzione linguistica. Poiché ogni attività di codifica nel set di dati contiene rappresentazioni di diversi linguaggi di programmazione, i data scientist possono utilizzarla per creare modelli di machine learning che traducono il codice da una lingua all'altra. Questo può essere conveniente per le organizzazioni che vogliono portare il vecchio codice in nuovi linguaggi e renderli accessibili alle nuove generazioni di programmatori.

Leggi anche:

Iscrizione
Avvisare su
ospite

2 Commenti
Quelli più recenti
I più grandicelli Il più popolare
Recensioni incorporate
Visualizza tutti i commenti
Viktor
Viktor
2 anni fa

Le tradizioni e l'ereditarietà dovrebbero giocare insieme a pensieri diversi, con le generazioni più giovani di algoritmi neurali e metodi ML per porre problemi, migliorandosi a vicenda

Asd
Asd
2 anni fa

Nel tempo, il livello dei programmatori diminuirà ancora di più (rispetto a adesso). Cioè, sarà possibile scrivere codice obliquo e storto nella "lingua di merda". E poi la macchina ottimizzerà e sarà possibile ottenere il codice ottimizzato di un programmatore assembler professionista (o anche meglio).