Aruba e Università di Pisa: machine learning e IA per l’ottimizzazione delle risorse cloud

Aruba Università di Pisa
La nuova partnership tra Aruba e l’Università di Pisa riguarda progetti sperimentali per lo sviluppo di algoritmi di predizione nell’utilizzo di cloud computing volti ad ottimizzarne prestazioni e consumo energetico.

Aruba ha annunciato una nuova collaborazione con il Dipartimento di Ingegneria dell’Informazione dell’Università degli Studi di Pisa nell’ambito dell’efficienza energetica, un tema che sta diventando sempre più importante e determinante nella progettazione di qualsiasi servizio per ovvie ragioni economiche ed ambientali, oltre che per l’attenzione al tema delle normative di riferimento, prima su tutte la EED (Energy Efficiency Directive) della Commissione UE.

L’accordo quadro di durata biennale riguarda un progetto sperimentale di machine learning e IA applicata al cloud computing, che mira a sviluppare una soluzione integrata per la gestione dei carichi su piattaforme cloud basata sulla predizione delle risorse utilizzate dalle macchine virtuali (VM). Tale predizione si dovrà basare sull’analisi di dati storici relativi alle VM e, tramite lo sviluppo di specifici algoritmi, avrà l’obiettivo di ottimizzare il consumo energetico dell’hardware, garantendo allo stesso tempo i requisiti richiesti dagli utilizzatori delle VM.

Poiché gli ambienti cloud sono generalmente utilizzati in maniera dinamica e flessibile e il loro costo è influenzato dal consumo energetico, poter ottimizzare l’utilizzo di tali risorse (modulando ad esempio in maniera predittiva il numero dell’hardware rispetto alle specifiche necessità dei clienti) può ridurre i consumi quando non necessari e, di conseguenza, offrire il servizio a dei costi più vantaggiosi.

In dettaglio, attraverso il progetto congiunto verranno sviluppati due differenti algoritmi:

Global Cloud Data Center

  • Un algoritmo di profilazione dinamica delle VM per delineare alcuni profili in base alle risorse utilizzate storicamente
  • Un algoritmo per la gestione delle VM che sfrutta i profili per gestire le loro esecuzioni sui diversi hardware che compongono la piattaforma cloud, al fine di ottimizzare il consumo energetico, garantendo le prestazioni richieste.

Il progetto consentirà di sviluppare una soluzione integrata per la gestione delle VM su piattaforma cloud basata sulla predizione dei carichi e di implementare un proof-of-concept basato su Openstack per la sperimentazione sul campo attraverso casi applicativi.

Infine, tra i benefici principali del progetto si segnalano:

  • Poter muovere in maniera predittiva e su base storica il carico tra nodi OpenStack per ottimizzare l’uso delle risorse sui nodi
  • Garantire risorse adeguate alle richieste dei clienti, ottimizzando l’utilizzo dei server dedicati al servizio senza creare limitazioni artificiali
  • Disporre di nodi di computation in stand-by nei cluster OpenStack da attivare in base alle esigenze di distribuzione del carico

“Questa partnership è un passo significativo verso l’innovazione nell’applicazione pratica del machine learning all’interno dell’ecosistema cloud e riflette il nostro impegno continuo nella collaborazione tecnologica con istituzioni accademiche di eccellenza nel panorama italiano, al fine di offrire soluzioni all’avanguardia e soddisfare le esigenze in rapida evoluzione del mercato. Siamo fiduciosi che la sinergia tra la nostra esperienza nel settore e l’expertise dell’Università di Pisa darà vita a soluzioni che plasmeranno il futuro del cloud e incentiveranno i benefici che possono derivare dall’Intelligenza Artificiale, ottimizzando l’uso dell’energia nel settore dei data center in ottica di sostenibilità a lungo termine ha commentato Daniele Migliorini, Head of Engineering di Aruba.

Aziende:
Aruba
Condividi:
 

Gemini, come provare il modello di Google su Vertex AI, anche gratuitamente

google gemini
Gemini è il nuovo modello per l'Intelligenza Artificiale proposto da Google. Estremamente interessante per la sua natura multimodal, la flessibilità di applicazione e la ricchezza di versioni proposte si presenta come un nuovo grande protagonista del settore. Mettiamolo alla prova con il linguaggio Python!

Nello scenario degli LLM (Large Laguage Model), Google ha presentato a fine 2023 un’interessante innovazione fornendo il modello di intelligenza artificiale generativa Gemini, declinato in una serie di varianti.

Tale LLM succede a LaMDA e PaLM2, entrambi basati su architettura Transformer decoder-only ed il secondo utilizzato ampiamente come motore di risposta del servizio Bard.

Novità e versioni di Gemini

Cosa distingue Gemini rispetto agli altri modelli? Perché è così tanto innovativo? Innanzitutto, è multimodale. Ciò significa che è in grado di ricevere dati in formati diversi e su questi formulare delle risposte: non si tratta quindi di un modello semplicemente testo-testo, ma può trattare testi, immagini e anche video. Inoltre, persegue gli scopi dell’attuale ricerca nel campo dell’Intelligenza Artificiale, basandosi su processi di ampie dimensioni, sia in termini di numero di parametri (fino a 540 miliardi), sia in termini di dataset su cui basa la propria fase di learning, che sembra essere non solo estremamente ampio ma anche grandemente variegato in termini di dati e formati di origine.

Un altro aspetto interessante di Gemini  è che viene distribuito in tre versioni:

  • Gemini Ultra è il modello più ampio, arriva a 1,6 trilioni di parametri ed è adatto a lavori di generazione, traduzione e comprensione svolti al massimo della potenza;
  • Gemini Pro è il livello intermedio, si ferma a 100 miliardi parametri (entità comunque ragguardevole) e permette di ottenere risultati molto buoni su incarichi complessi permettendo però di essere messo al lavoro anche in ambienti locali;
  • Gemini Nano che arriva a 10 miliardi di parametri pensato per l’attivazione su dispositivi mobili.

Il modello appare quindi, sin da subito, estremamente valido e tanto flessibile come concezione da poter essere impiegato in scopi e contesti estremamente diversi.

Lavorare con Gemini Pro

Al di là delle caratteristiche, sappiamo che questi modelli vanno però messi al lavoro per potersi rendere conto delle loro capacità applicate a casi concreti. Trattandosi di un prodotto Google, è stato subito integrato nella Google Cloud Platform e noi l’abbiamo provato su Vertex AI, servizio Cloud specializzato nell’utilizzo di Intelligenza Artificiale.

Ricordiamo che nei servizi Cloud si pagano le risorse che si utilizzano pertanto i costi sono rapportabili al proprio business che cresce e soprattutto le fasi di formazione aziendale e sperimentazione spesso possono essere svolte senza grossi dispendi di capitali. Inoltre, la Google Cloud Platform offre un free tier, uno strato di servizi gratuiti per tutta l’utenza valido in ogni momento, e, non appena iscritti, si ha la possibilità di sfruttare 300 dollari di credito per le risorse cloud.

Dando uno sguardo alla documentazione di Vertex AI troviamo il listino prezzi di questo modello multimodale e lo riportiamo nella figura seguente:

GeminiProVertexAIpricing

Vediamo che viene chiaramente distinto il costo per dati in input e dati in output. Possiamo saggiare inoltre con mano cosa realmente significhi essere un modello multimodale. Infatti, come tipologia in input abbiamo tre possibili formati (video, testo, immagini) mentre in output vediamo comparire solo il testo. Anche la tariffazione è diversificata, non solo come importi ma anche come unità di misura. Infatti, le immagini in input vengono contabilizzate “a immagine” singola, il video in secondi mentre il testo (sia in input sia generato in output) in migliaia di caratteri, intesi come UTF-8 ma spazi bianchi esclusi.

Per interagire con Gemini Pro, dobbiamo passare per le sue API (Application Programming Interface) disponibili in almeno due modalità: interazione con lo storico strumento da riga di comando, curl, e libreria per il linguaggio Python, grande protagonista del mondo dell’Intelligenza Artificiale.

Noi abbiamo scelto quest’ultima via.

Provare Gemini sulla Google Cloud Platform

Dotati del nostro account Google Cloud e configurato gli aspetti di fatturazione (progetto Google legato ad un Billing account), abbiamo installato la libreria in un ambiente di lavoro dotato di Python (va bene anche l’ottimo strumento Colab):

pip3 install --upgrade --user google-cloud-aiplatform

A questo punto siamo pronti per iniziare a interagire con le API.

I passaggi sono essenzialmente i seguenti:

  1. importiamo la libreria di riferimento e le classi necessarie:
    
    import vertexai
    # impostiamo, in base al nostro account e preferenze, i valori di PROJECT_ID e REGION
    vertexai.init(project=PROJECT_ID, location=REGION)
    
    # queste sono le librerie necessarie al nostro esperimento, le si adatti al proprio
    from vertexai.preview.generative_models import (
        GenerationConfig,
        GenerativeModel
    )
    
  2. creiamo un oggetto che rappresenti il modello Gemini Pro tramite apposita costante:
    
    model = GenerativeModel("gemini-pro")
    
  3. impostiamo le configurazioni principali:
    
    config = GenerationConfig(
        temperature=0.9,
        top_p=1.0,
        top_k=32,
        candidate_count=1,
        max_output_tokens=2000,
    )
    
  4. effettuiamo la nostra richiesta che, in questo caso, sarà una domanda volta a conoscere gli alimenti caratterizzati da più fibre:
    
    responses = model.generate_content(
        "Quali alimenti contengono più fibre?",
        generation_config=config,
        stream=True,
    )
    

Passando alla scansione delle risposte nell’oggetto responses troviamo il risultato generato:

* **Frutta:** bacche, mele, pere, banane, arance, pompelmi
* **Verdure:** broccoli, cavolfiori, cavoli, carote, barbabietole, patate dolci
* **Legumi:** fagioli, lenticchie, piselli, ceci
* **Cereali integrali:** avena, riso integrale, quinoa, orzo, grano saraceno
* **Semi e noci:** semi di lino, semi di chia, semi di girasole, noci, mandorle, pistacchi
* **Altri alimenti ricchi di fibre:** crusca di grano, semi di psillio, polvere di baobab

Come possiamo vedere, l’approccio seguito è simile a quanto già visto per altre API.

La complessità del modello viene nascosta dietro poche semplici interazioni in linguaggio Python. I parametri che vediamo apparire in configurazione sono quelli che derivano dalla stessa architettura degli LLM (top_p, top_k, temperature) che, senza entrare nei dettagli, permettono di regolare la generazione di risultati bilanciando creatività e attendibilità: come si può immaginare, una serie di sperimentazioni passerebbe da una molteplicità di interazioni impostando diversamente questi parametri a parità di domanda richiesta.

 

Aziende:
Google
Condividi: