Quando vuoi eseguire un modello Gemma, devi prendere due decisioni chiave: 1) quale variante di Gemma vuoi eseguire e 2) quale framework di esecuzione dell'AI utilizzerai per eseguirla. Un problema chiave nel prendere entrambe queste decisioni riguarda l'hardware disponibile per te e i tuoi utenti per eseguire il modello.
Questa panoramica ti aiuta a prendere queste decisioni e a iniziare a lavorare con i modelli Gemma. Ecco i passaggi generali per eseguire un modello Gemma:
- Scegliere un framework per l'esecuzione
- Selezionare una variante di Gemma
- Eseguire richieste di generazione e inferenza
Scegliere un framework
I modelli Gemma sono compatibili con un'ampia gamma di strumenti dell'ecosistema. La scelta di quello giusto dipende dall'hardware disponibile (GPU cloud o laptop locale) e dalla tua preferenza di interfaccia (codice Python o applicazione desktop).
Utilizza la seguente tabella per identificare rapidamente lo strumento più adatto alle tue esigenze:
| Se desideri... | Framework consigliato | I migliori per |
|---|---|---|
| Eseguire localmente con una UI di chat | - LM Studio - Ollama |
Principianti o utenti che vogliono un'esperienza simile a Gemini sul proprio laptop. |
| Esegui in modo efficiente su Edge | - Gemma.cpp - LiteRT-LM - llama.cpp - API MediaPipe LLM Inference - MLX |
Inferenza locale ad alte prestazioni con risorse minime. |
| Build/Train in Python | - Libreria Gemma per JAX - Hugging Face Transformers - Keras - PyTorch - Unsloth |
Ricercatori e sviluppatori che creano applicazioni personalizzate o modelli di ottimizzazione. |
| Esegui il deployment in produzione / Enterprise | - Google Cloud Kubernetes Engine (GKE) - Google Cloud Run - Vertex AI - vLLM |
deployment scalabile e gestito del cloud con sicurezza aziendale e supporto MLOps. |
Dettagli framework
Di seguito sono riportate le guide per l'esecuzione dei modelli Gemma classificate in base all'ambiente di deployment.
1. Inferenza locale e su computer (alta efficienza)
Questi strumenti ti consentono di eseguire Gemma su hardware di consumo (laptop, computer) utilizzando formati ottimizzati (come GGUF) o acceleratori hardware specifici.
- LM Studio: un'applicazione desktop che ti consente di scaricare e chattare con i modelli Gemma in un'interfaccia intuitiva. Non è necessario l'utilizzo di codici di programmazione.
- llama.cpp: un popolare port open source C++ di Llama (e Gemma) che funziona in modo incredibilmente veloce su CPU e Apple Silicon.
- LiteRT-LM: offre un'interfaccia a riga di comando
(CLI) per eseguire modelli
.litertlmGemma ottimizzati su computer (Windows, Linux, macOS), basati su LiteRT (in precedenza TFLite). - MLX: un framework progettato specificamente per il machine learning su Apple Silicon, perfetto per gli utenti Mac che desiderano prestazioni integrate.
- Gemma.cpp: un motore di inferenza C++ autonomo e leggero specificamente di Google.
- Ollama: uno strumento per eseguire LLM aperti in locale, spesso utilizzato per alimentare altre applicazioni.
2. Sviluppo Python (ricerca e perfezionamento)
Framework standard per gli sviluppatori di AI che creano applicazioni, pipeline o modelli di addestramento.
- Hugging Face Transformers: lo standard di settore per l'accesso rapido a modelli e pipeline.
- Unsloth: una libreria ottimizzata per il fine-tuning degli LLM. Consente di addestrare i modelli Gemma 2-5 volte più velocemente con molta meno memoria, rendendo possibile il fine-tuning sulle GPU consumer (ad es. i livelli senza costi di Google Colab).
- Keras / JAX / PyTorch: librerie di base per la ricerca sul deep learning e l'implementazione di architetture personalizzate.
3. Deployment mobile e Edge (sul dispositivo)
Framework progettati per eseguire LLM direttamente sui dispositivi degli utenti (Android, iOS, web) senza connettività a internet, spesso utilizzando NPU (Neural Processing Units).
- LiteRT-LM: il framework completamente open source per lo sviluppo di LLM on-device che offre le massime prestazioni e un controllo granulare, con supporto diretto per l'accelerazione di CPU, GPU e NPU su Android e iOS.
- API MediaPipe LLM Inference: il modo più semplice per integrare Gemma in app multipiattaforma. Offre un'API di alto livello che funziona su Android, iOS e web.
4. Deployment di cloud e produzione
Servizi gestiti per scalare l'applicazione a migliaia di utenti o accedere a una potenza di calcolo enorme.
- Vertex AI: la piattaforma AI completamente gestita di Google Cloud. Ideale per le applicazioni aziendali che richiedono SLA e scalabilità.
- Google Cloud Kubernetes Engine (GKE): per orchestrare i tuoi cluster di servizio.
- vLLM: un motore di inferenza e serving ad alto throughput ed efficiente in termini di memoria, spesso utilizzato nei deployment cloud.
Assicurati che il formato del modello Gemma di cui intendi eseguire il deployment, ad esempio il formato integrato di Keras, Safetensors o GGUF, sia supportato dal framework che hai scelto.
Seleziona una variante di Gemma
I modelli Gemma sono disponibili in diverse varianti e dimensioni, tra cui i modelli Gemma di base o core e varianti di modelli più specializzati come PaliGemma e DataGemma, nonché molte varianti create dalla community di sviluppatori di AI su siti come Kaggle e Hugging Face. Se non sai con quale variante iniziare, seleziona l'ultimo modello core Gemma ottimizzato per le istruzioni (IT) con il numero più basso di parametri. Questo tipo di modello Gemma ha requisiti di calcolo ridotti ed è in grado di rispondere a un'ampia varietà di prompt senza richiedere ulteriore sviluppo.
Quando scegli una variante di Gemma, prendi in considerazione i seguenti fattori:
- Gemma core e altre famiglie di varianti come PaliGemma, CodeGemma: Consigliamo Gemma (core). Le varianti di Gemma oltre alla versione principale hanno la stessa architettura del modello principale e sono addestrate per ottenere prestazioni migliori in attività specifiche. A meno che la tua applicazione o i tuoi obiettivi non siano in linea con la specializzazione di una variante specifica di Gemma, è meglio iniziare con un modello di base o core di Gemma.
- Instruction-tuned (IT), pre-trained (PT), fine-tuned (FT), mixed
(mix): consigliamo IT.
- Le varianti di Gemma ottimizzate per le istruzioni (IT) sono modelli che sono stati addestrati per rispondere a una serie di istruzioni o richieste nel linguaggio umano. Queste varianti del modello sono il punto di partenza migliore perché possono rispondere ai prompt senza ulteriore addestramento.
- Le varianti di Gemma preaddestrate (PT) sono modelli che sono stati addestrati per fare inferenze sul linguaggio o su altri dati, ma non sono stati addestrati a seguire le istruzioni umane. Questi modelli richiedono un addestramento o un'ottimizzazione aggiuntivi per poter svolgere le attività in modo efficace e sono destinati a ricercatori o sviluppatori che vogliono studiare o sviluppare le funzionalità del modello e della sua architettura.
- Le varianti di Gemma ottimizzate (FT) possono essere considerate varianti IT, ma in genere vengono addestrate per svolgere un'attività specifica o per ottenere buoni risultati in un benchmark specifico di AI generativa. La famiglia di varianti PaliGemma include una serie di varianti FT.
- Le varianti miste (mix) di Gemma sono versioni dei modelli PaliGemma che sono state ottimizzate con una serie di istruzioni e sono adatte all'uso generale.
- Parametri: consiglia il numero più piccolo disponibile. In generale, più parametri ha un modello, più è capace. Tuttavia, l'esecuzione di modelli più grandi richiede risorse di calcolo più grandi e complesse e in genere rallenta lo sviluppo di un'applicazione AI. A meno che tu non abbia già stabilito che un modello Gemma più piccolo non può soddisfare le tue esigenze, scegline uno con un numero ridotto di parametri.
- Livelli di quantizzazione:consigliamo la mezza precisione (16 bit), tranne per la messa a punto. La quantizzazione è un argomento complesso che si riduce a dimensioni e precisione dei dati e, di conseguenza, alla quantità di memoria che un modello di AI generativa utilizza per i calcoli e la generazione di risposte. Dopo l'addestramento di un modello con dati ad alta precisione, in genere dati in virgola mobile a 32 bit, modelli come Gemma possono essere modificati per utilizzare dati a precisione inferiore, ad esempio dimensioni di 16, 8 o 4 bit. Questi modelli Gemma quantizzati possono comunque funzionare bene, a seconda della complessità delle attività, utilizzando molte meno risorse di calcolo e memoria. Tuttavia, gli strumenti per la messa a punto dei modelli quantizzati sono limitati e potrebbero non essere disponibili nel framework di sviluppo dell'AI che hai scelto. In genere, devi ottimizzare un modello come Gemma con precisione completa, quindi quantizzare il modello risultante.
Per un elenco dei principali modelli Gemma pubblicati da Google, consulta la Guida introduttiva ai modelli Gemma e l'elenco dei modelli Gemma.
Eseguire richieste di generazione e inferenza
Dopo aver selezionato un framework di esecuzione dell'AI e una variante di Gemma, puoi iniziare a eseguire il modello e chiedere di generare contenuti o completare attività. Per saperne di più su come eseguire Gemma con un framework specifico, consulta le guide collegate nella sezione Scegliere un framework.
Formattazione dei prompt
Tutte le varianti di Gemma ottimizzate per le istruzioni hanno requisiti specifici di formattazione dei prompt. Alcuni di questi requisiti di formattazione vengono gestiti automaticamente dal framework che utilizzi per eseguire i modelli Gemma, ma quando invii i dati del prompt direttamente a un tokenizer, devi aggiungere tag specifici e i requisiti di tagging possono variare a seconda della variante di Gemma che utilizzi. Consulta le seguenti guide per informazioni sulla formattazione dei prompt delle varianti di Gemma e sulle istruzioni di sistema: