Finalmente qualcosa da Google nel completamento del codice
Google ha descritto come i ricercatori hanno combinato apprendimento automatico e motori semantici per sviluppare un nuovo completamento del codice ML semantico ibrido basato su Transformer

 
Microsoft ha ” Copilot “, Amazon ha ” Code Whisperer ” e Google ha appena lanciato uno dei propri assistenti di codifica per aiutare a migliorare la produttività degli sviluppatori al termine di una collaborazione di ricerca di due anni tra Google Core, Google Brain e Google Research. 

In un post sul blog , Google ha spiegato in dettaglio come i ricercatori hanno combinato l’apprendimento automatico (ML) e i motori semantici (SE) per sviluppare il completamento del codice di apprendimento automatico semantico ibrido basato su Transformer. 

 
Disponibile per gli sviluppatori Google ora

Attualmente, l’assistente di codifica è stato reso disponibile solo agli sviluppatori interni di Google. Finora, non vi è alcuna indicazione da parte di Google che tali strutture possano essere messe a disposizione di non Googler, ma la possibilità rimane. I ricercatori hanno quindi confrontato questo completamento del codice ML semantico di oltre 10.000 sviluppatori Google con un gruppo di controllo. I risultati sono stati ritenuti impressionanti. Secondo Google, il team ha riscontrato una riduzione del 6% del tempo di iterazione della codifica e del 7% dei cambi di contesto quando sono stati esposti al completamento di ML a riga singola.


(Fonte immagine: Google )

Completamento del codice di apprendimento automatico semantico ibrido

Nel post del blog, Google approfondisce anche i dettagli su come dovrebbe funzionare la procedura ibrida. 

Il codice è stato rappresentato con token di sottoparole e un vocabolario SentencePiece ei ricercatori hanno utilizzato modelli di trasformatori codificatori-decodificatori in esecuzione su TPU per fare previsioni di completamento. “Le sequenze vengono generate con una ricerca del raggio o l’esplorazione dell’albero sul decoder”, spiega Google.
Quando il codificatore sta digitando l’IDE, i completamenti del codice vengono richiesti da ML insieme a SE nel backend. Google riporta che mentre i motori semantici prevedono un singolo token, i modelli di machine learning prevedono più token. Anche se i ricercatori considerano solo il primo token. 
Seguendo questi passaggi, i ricercatori considerano i primi tre suggerimenti ML che sono contenuti anche nei suggerimenti SE e aumentano il loro rango in cima. Infine, i risultati riclassificati vengono visualizzati come suggerimenti per il codificatore nell’IDE.

Come terzo passaggio, i ricercatori utilizzano motori semantici per condurre rapidi controlli di correttezza semantica entro un determinato budget di latenza. Quindi, utilizzano alberi di sintassi astratti memorizzati nella cache per consentire una comprensione strutturale “completa”, spiega Google. 
Risultati sulla produttività degli sviluppatori di GitHub Copilot

Copilot è stato uno dei principali punti salienti della tecnologia nel 2021. Di recente, Microsoft ha annunciato la disponibilità generale di GitHub Copilot a tutti gli sviluppatori per 10 USD al mese o 100 USD all’anno. GitHub Copilot trae contesto da commenti e codice per suggerire istantaneamente singole righe e intere funzioni. È alimentato da Codex di OpenAI. 

In precedenza, il CEO di Github, Thomas Dohmke, ha elogiato Copilot affermando che nei file in cui Copilot è abilitato, quasi il 40% del codice è scritto da GitHub Copilot nei linguaggi di codifica più diffusi. Dohmke ritiene che questo valore dovrebbe aumentare in futuro. 

Nel luglio 2022, GitHub ha pubblicato un rapporto su come Copilot ha contribuito ad aumentare la produttività degli sviluppatori. Ha analizzato i dati dei sondaggi raccolti da oltre 2.000 sviluppatori negli Stati Uniti per ricercare il contributo che Copilot aveva dato per migliorare la produttività di questi sviluppatori. 

GitHub afferma che il sondaggio si è concentrato su tre domande principali: se gli sviluppatori ritenessero che Copilot migliorasse la loro produttività, se quella sensazione potesse essere misurata in qualsiasi misurazione oggettiva dell’utilizzo e se una misurazione specifica riflettesse la sensazione di maggiore produttività degli sviluppatori meglio di altre.


(Fonte immagine: GitHub)

GitHub ha osservato che il tasso di accettazione dei completamenti era molto più alto per coloro che avevano riportato i maggiori guadagni di produttività. È stato riscontrato che gli sviluppatori non hanno assegnato molto valore alla rielaborazione del suggerimento, a condizione che GitHub Copilot abbia fornito loro un punto di partenza adeguato. Per maggiori dettagli, fare riferimento a questo documento di GitHub.

“GitHub Copilot offre agli sviluppatori le parti, ma lascia loro il compito di assemblare e progettare il prodotto finito”, aggiunge Albert Ziegler, ingegnere ML dello staff di GitHub. 

Il recente lancio di Code Whisperer ha creato molte anticipazioni sull’impatto che dovrebbe avere sulla produttività degli sviluppatori universali.

Tutti vogliono rilasciare un assistente di codifica ora 

Di recente, la generazione del codice è una delle aree di interesse chiave per le grandi tecnologie insieme ad altre aree come i modelli linguistici di grandi dimensioni e la generazione da testo a immagine. Ci sono stati numerosi rilasci rapidi negli strumenti di assistente alla codifica delle principali aziende tecnologiche globali. 

Intorno all’annuncio della disponibilità generale di Copilot, Amazon ha lanciato il suo “Code Whisperer”. All’epoca, Vasi Philomin, vicepresidente di Amazon per i servizi di intelligenza artificiale, ha sottolineato che Code Whisperer non era un’imitazione del “Copilot” di GitHub ed era nella pipeline di Amazon da anni. 

Seguendo l’esempio, il gigante del software CRM “Salesforce” ha anche rivelato il suo CodeGen che affermava di possedere la capacità di trasformare i prompt in inglese in codice eseguibile. Salesforce ha affermato che gli utenti sarebbero in grado di risolvere semplici problemi di codifica con poca o nessuna esperienza di codifica con CodeGen. Allo stesso modo, anche il laboratorio di ricerca sull’intelligenza artificiale di proprietà di Google, “DeepMind”, ha sviluppato Alphacode con la capacità di scrivere programmi per computer.

Di Sreejani Bhattacharyya da analyticsindiamag.com

Di ihal