Presentando SafeCoder

Introducing SafeCoder

Oggi siamo entusiasti di annunciare SafeCoder, una soluzione di assistenza al codice creata per le aziende.

Lo scopo di SafeCoder è sbloccare la produttività nello sviluppo software per le aziende, fornendo un sistema di programmazione in coppia completamente conforme e auto-ospitato. In parole di marketing: “il tuo GitHub Copilot in locale”.

Prima di approfondire, ecco cosa devi sapere:

  • SafeCoder non è un modello, ma una soluzione commerciale completa end-to-end
  • SafeCoder è costruito con la sicurezza e la privacy come principi fondamentali: il codice non esce mai dalla VPC durante l’addestramento o l’inferenza
  • SafeCoder è progettato per l’auto-ospitaggio da parte del cliente sulla propria infrastruttura
  • SafeCoder è progettato affinché i clienti possiedano il proprio Modello di Linguaggio di Ampie Dimensioni per il Codice

Perché SafeCoder?

Le soluzioni di assistenza al codice basate su Modelli di Linguaggio di Ampie Dimensioni (LLMs), come GitHub Copilot, offrono un notevole aumento di produttività. Per le aziende, la possibilità di ottimizzare i LLMs sul codice dell’azienda per creare LLMs proprietari migliora l’affidabilità e la pertinenza delle completamenti, creando un ulteriore aumento di produttività. Ad esempio, il LLM di assistenza al codice interno di Google riporta un tasso di accettazione dei completamenti del 25-34% grazie all’addestramento su un codice interno.

Tuttavia, affidarsi a LLM di codice closed-source per creare assistenti di codice interni espone le aziende a problemi di conformità e sicurezza. Prima durante l’addestramento, poiché l’ottimizzazione di un LLM di codice closed-source su una base di codice interna richiede l’esposizione di questa base di codice a un terzo. E poi durante l’inferenza, poiché i LLMs ottimizzati sono suscettibili di “fughe” di codice dal loro insieme di dati di addestramento durante l’inferenza. Per soddisfare i requisiti di conformità, le aziende devono distribuire LLMs di codice ottimizzati all’interno della propria infrastruttura, il che non è possibile con LLMs closed-source.

Con SafeCoder, Hugging Face aiuterà i clienti a creare i propri LLMs di codice, ottimizzati sul proprio codice proprietario, utilizzando modelli e librerie open source all’avanguardia, senza condividere il codice con Hugging Face o altri terzi. Con SafeCoder, Hugging Face fornisce una soluzione di inferenza per LLM di codice containerizzata e accelerata hardware, da implementare direttamente dal cliente all’interno della propria infrastruttura sicura, senza che i dati di input e completamento lascino il proprio ambiente IT sicuro.

Da StarCoder a SafeCoder

Al centro della soluzione SafeCoder si trova la famiglia di LLM di codice StarCoder, creata dal progetto BigCode, una collaborazione tra Hugging Face, ServiceNow e la comunità open source.

I modelli StarCoder offrono caratteristiche uniche ideali per una soluzione auto-ospitata aziendale:

  • Risultati di completamento codice all’avanguardia – vedi i benchmark nel paper e nella classifica valutativa di codice multilingue
  • Progettati per prestazioni di inferenza: un modello con 15 miliardi di parametri con ottimizzazioni per il codice, attenzione multi-query per una riduzione dell’occupazione di memoria e attenzione flash per scalare fino a 8.192 token di contesto.
  • Addestrati sullo Stack, un insieme di dati di codice open source ed eticamente acquisito che contiene solo codice con licenza commercialmente consentita, con un meccanismo di opt-out per gli sviluppatori fin dall’inizio, perfezionato attraverso intensi sforzi di rimozione e deduplicazione di dati PII.

Nota: Sebbene StarCoder sia l’ispirazione e il modello che alimenta la versione iniziale di SafeCoder, un vantaggio importante nell’utilizzare modelli open source per la soluzione LLM è che può adattarsi ai modelli open source più recenti e avanzati disponibili. In futuro, SafeCoder potrebbe offrire altri modelli open source commercialmente consentiti simili, costruiti su insiemi di dati etici e trasparenti, come base per l’ottimizzazione.

Privacy e sicurezza come principi fondamentali

Per qualsiasi azienda, la base di codice interna rappresenta una delle sue proprietà intellettuali più importanti e preziose. Un principio fondamentale di SafeCoder è che la base di codice interna del cliente non sarà mai accessibile a terzi (compreso Hugging Face) durante l’addestramento o l’inferenza.

Nella fase iniziale di configurazione di SafeCoder, il team di Hugging Face fornisce contenitori, script ed esempi per lavorare a stretto contatto con il cliente al fine di selezionare, estrarre, preparare, duplicare e deidentificare i dati della base di codice interna in un set di dati di addestramento da utilizzare in un contenitore di addestramento fornito da Hugging Face, configurato per l’infrastruttura hardware disponibile al cliente.

Nella fase di implementazione di SafeCoder, il cliente implementa i contenitori forniti da Hugging Face sulla propria infrastruttura per esporre endpoint privati interni all’interno della propria VPC. Questi contenitori sono configurati per la configurazione hardware esatta disponibile per il cliente, inclusi GPU NVIDIA, GPU AMD Instinct, CPU Intel Xeon, acceleratori AWS Inferentia2 o Habana Gaudi.

Conformità come principio fondamentale

Dato che il quadro normativo intorno ai modelli di apprendimento automatico e ai set di dati è ancora in fase di stesura in tutto il mondo, le aziende globali devono assicurarsi che le soluzioni che utilizzano minimizzino i rischi legali.

Fonti di dati, governance dei dati, gestione dei dati protetti da copyright sono solo alcune delle aree di conformità più importanti da considerare. BigScience, il cugino maggiore e ispirazione di BigCode, ha affrontato queste aree all’interno di gruppi di lavoro prima che fossero ampiamente riconosciute dal progetto di legge AI EU Act, e come risultato è stato valutato come il più conforme tra i fornitori di modelli fondamentali in uno studio CRFM di Stanford.

BigCode ha ampliato questo lavoro implementando tecniche innovative per il dominio del codice e costruendo The Stack con la conformità come principio fondamentale, come il filtraggio delle licenze commercialmente permissive, i meccanismi di consenso (gli sviluppatori possono facilmente scoprire se il loro codice è presente e richiedere di essere esclusi dal set di dati) e una documentazione estesa e strumenti per ispezionare i dati sorgente e miglioramenti del set di dati (come la deduplicazione e la rimozione delle informazioni personali identificabili).

Tutti questi sforzi si traducono nella minimizzazione dei rischi legali per gli utenti dei modelli di StarCoder e per i clienti di SafeCoder. E per gli utenti di SafeCoder, questi sforzi si traducono in funzionalità di conformità: quando gli sviluppatori di software ricevono completamenti automatici del codice, queste suggerimenti vengono verificati rispetto a The Stack, quindi gli utenti sanno se il codice suggerito corrisponde al codice esistente nel set di dati sorgente e quale licenza è associata. I clienti possono specificare quali licenze preferiscono e rendere evidenti tali preferenze ai propri utenti.

Come funziona?

SafeCoder è una soluzione commerciale completa, inclusi servizio, software e supporto.

Allenamento del proprio modello SafeCoder

StarCoder è stato allenato in più di 80 linguaggi di programmazione e offre prestazioni all’avanguardia su diversi benchmark. Per offrire suggerimenti di codice migliori specificamente per un cliente di SafeCoder, iniziamo l’interazione con una fase di allenamento facoltativa, in cui il team di Hugging Face lavora direttamente con il team del cliente per guidarli attraverso i passaggi per preparare e creare un set di dati di codice di allenamento e per creare il proprio modello di generazione del codice mediante raffinamento, senza mai esporre il proprio codice a terze parti o a Internet.

Il risultato finale è un modello adattato ai linguaggi di codice, agli standard e alle pratiche del cliente. Attraverso questo processo, i clienti di SafeCoder apprendono il processo e creano un flusso di lavoro per creare e aggiornare i propri modelli, garantendo l’assenza di dipendenza da un unico fornitore e mantenendo il controllo delle proprie capacità di intelligenza artificiale.

Implementazione di SafeCoder

Nella fase di configurazione, i clienti di SafeCoder e Hugging Face progettano e forniscono l’infrastruttura ottimale per supportare la concorrenza richiesta al fine di offrire un’ottima esperienza per gli sviluppatori. Hugging Face quindi costruisce contenitori di inferenza di SafeCoder che sono accelerati dall’hardware e ottimizzati per la capacità di throughput, da implementare dal cliente sulla propria infrastruttura.

L’inferenza di SafeCoder supporta diversi tipi di hardware per offrire ai clienti una vasta gamma di opzioni: GPU NVIDIA Ampere, GPU AMD Instinct, Habana Gaudi2, AWS Inferentia 2, CPU Intel Xeon Sapphire Rapids e altro ancora.

Utilizzo di SafeCoder

Una volta che SafeCoder è implementato e i suoi endpoint sono attivi all’interno della VPC del cliente, gli sviluppatori possono installare plugin IDE compatibili con SafeCoder per ottenere suggerimenti di codice durante il lavoro. Oggi, SafeCoder supporta popolari IDE, tra cui VSCode, IntelliJ e altri plugin che verranno forniti dai nostri partner.

Come posso ottenere SafeCoder?

Oggi, annunciamo SafeCoder in collaborazione con VMware alla conferenza VMware Explore e rendiamo SafeCoder disponibile ai clienti enterprise di VMware. Lavorando con VMware, ci assicuriamo che l’implementazione di SafeCoder sull’infrastruttura cloud, on-premise o ibrida dei clienti VMware sia un successo. Oltre all’utilizzo di SafeCoder, VMware ha pubblicato un’architettura di riferimento con esempi di codice per consentire il raggiungimento del valore più velocemente possibile durante l’implementazione e il funzionamento di SafeCoder su infrastruttura VMware. L’architettura di riferimento AI privata di VMware facilita alle organizzazioni l’utilizzo rapido di progetti open source popolari come ray e kubeflow per implementare servizi di intelligenza artificiale accanto ai loro set di dati privati, lavorando con Hugging Face per garantire che le organizzazioni mantengano la flessibilità per sfruttare le ultime e migliori modelli open source. Tutto ciò senza compromettere il costo totale di proprietà o le prestazioni.

“La nostra collaborazione con Hugging Face su SafeCoder è perfettamente allineata all’obiettivo di VMware di consentire ai clienti di scegliere soluzioni mantenendo la privacy e il controllo dei propri dati aziendali. Infatti, abbiamo utilizzato SafeCoder internamente per mesi e abbiamo ottenuto risultati eccellenti. E la nostra collaborazione con Hugging Face è solo all’inizio, sono entusiasta di portare la nostra soluzione ai nostri centinaia di migliaia di clienti in tutto il mondo”, afferma Chris Wolf, Vice Presidente di VMware AI Labs. Per saperne di più sull’intelligenza artificiale privata e sulla differenziazione di VMware in questo settore emergente, clicca qui.


Se sei interessato a SafeCoder per la tua azienda, ti preghiamo di contattarci qui: il nostro team ti contatterà per discutere le tue esigenze!