Panoramica dell'AI generativa

Questo documento descrive le funzionalità di intelligenza artificiale (AI) generativa supportate da BigQuery ML. Queste funzionalità ti consentono di eseguire attività di IA in BigQuery ML utilizzando modelli di base pre-addestrati di Vertex AI. Le attività supportate includono:

Per accedere a un modello Vertex AI ed eseguire una di queste funzioni, crea un modello remoto in BigQuery ML che rappresenti l'endpoint del modello Vertex AI. Dopo aver creato un modello remoto sul modello Vertex AI che vuoi utilizzare, accedi alle sue funzionalità eseguendo una funzione BigQuery ML sul modello remoto.

Questo approccio ti consente di utilizzare le funzionalità di questi modelli Vertex AI per analizzare i dati di BigQuery utilizzando SQL.

Flusso di lavoro

Puoi utilizzare modelli remoti rispetto ai modelli Vertex AI e modelli remoti rispetto ai servizi Cloud AI insieme alle funzioni BigQuery ML per eseguire analisi dei dati complesse e attività di IA generativa.

Il seguente diagramma mostra alcuni flussi di lavoro tipici in cui potresti utilizzare queste funzionalità insieme:

Diagramma che mostra i flussi di lavoro comuni per i modelli remoti che utilizzano modelli Vertex AI o servizi Cloud AI.

AI generativa

Puoi utilizzare i modelli linguistici di grandi dimensioni (LLM) per svolgere attività come il riassunto e la generazione di testo. Ad esempio, puoi riassumere un report lungo o analizzare il sentiment nei feedback dei clienti. Puoi utilizzare i modelli linguistici di visione (VLM) per analizzare contenuti visivi come immagini e video per attività come la trascrizione di video e le domande e risposte visive. Puoi utilizzare i modelli multimodali per eseguire le stesse attività degli LLM e dei VLM, oltre ad altre attività come la trascrizione audio e l'analisi dei documenti.

Per eseguire attività di AI generativa, puoi creare un riferimento a un modello preaddestrato di Vertex AI creando un modello remoto e specificando il nome del modello per il valore ENDPOINT. I seguenti modelli Vertex AI sono supportati:

  • gemini-1.5-flash
  • gemini-1.5-pro
  • gemini-1.0-pro
  • gemini-1.0-pro-vision (Anteprima)
  • text-bison
  • text-bison-32k
  • text-unicorn

Sono supportati anche i modelli Claude di Anthropic (anteprima).

Per fornire feedback o richiedere assistenza per i modelli in anteprima, invia un'email all'indirizzo bqml-feedback@google.com.

Quando crei un modello remoto che fa riferimento a uno dei seguenti modelli, se vuoi puoi scegliere di configurare contemporaneamente la ottimizzazione supervisionata:

  • gemini-1.5-pro-002
  • gemini-1.5-flash-002
  • gemini-1.0-pro-002 (Anteprima)

Dopo aver creato il modello, puoi utilizzare la funzione ML.GENERATE_TEXT per interagire con il modello:

  • Per i modelli remoti basati su modelli gemini-1.0-pro, text-bison, text-bison-32k o text-unicorn, puoi utilizzare la funzione ML.GENERATE_TEXT con un prompt fornito in una query o da una colonna in una tabella standard.
  • Per i modelli remoti basati sul modello gemini-1.0-pro-vision, puoi utilizzare la funzione ML.GENERATE_TEXT per analizzare i contenuti di immagini o video da una tabella di oggetti con un prompt fornito come argomento della funzione.
  • Per i modelli remoti basati sui modelli gemini-1.5-flash o gemini-1.5-pro, puoi utilizzare la funzione ML.GENERATE_TEXT per analizzare contenuti di testo, immagini, audio, video o PDF da una tabella di oggetti con un prompt fornito come argomento della funzione oppure puoi generare testo da un prompt fornito in una query o da una colonna di una tabella standard.

Puoi utilizzare grounding e attributi di sicurezza quando utilizzi i modelli Gemini con la funzione ML.GENERATE_TEXT, a condizione che tu stia utilizzando una tabella standard per l'input. La funzionalità di grounding consente al modello Gemini di utilizzare informazioni aggiuntive di internet per generare risposte più specifiche e oggettive. Gli attributi di sicurezza consentono al modello Gemini di filtrare le risposte restituite in base agli attributi specificati.

Tutta l'inferenza avviene in Vertex AI. I risultati vengono archiviati in BigQuery.

Per scoprire di più, prova a generare del testo con la funzione ML.GENERATE_TEXT.

Incorporamento

Puoi utilizzare l'embedding per identificare elementi semanticamente simili. Ad esempio, puoi utilizzare l'embedding del testo per identificare la somiglianza tra due testi. Se i frammenti di testo sono semanticamente simili, i rispettivi incorporamenti si trovano vicini nello spazio vettoriale dell'incorporamento.

Puoi utilizzare i modelli BigQuery ML per creare i seguenti tipi di embedding:

  • Per creare incorporamenti di testo, puoi creare un riferimento a uno dei modelli di embedding text-embedding o text-multilingual-embedding di Vertex AI creando un modello remoto e specificando il nome dell'LLM per il valore ENDPOINT.
  • Per creare embedding multimodali, che possono incorporare testo, immagini e video nello stesso spazio semantico, puoi creare un riferimento all'LLM multimodalembedding di Vertex AI creando un modello remoto e specificando il nome dell'LLM per il valore ENDPOINT.
  • Per creare embedding per i dati strutturati di variabili casuali indipendenti e con distribuzione identica (IID), puoi utilizzare un modello di analisi delle componenti principali (PCA) o un modello di autoencoder.
  • Per creare embedding per i dati utente o sugli articoli, puoi utilizzare un modello di factorizzazione della matrice.

Dopo aver creato il modello, puoi utilizzare la funzione ML.GENERATE_EMBEDDING per interagire con esso. Per tutti i tipi di modelli supportati, ML.GENERATE_EMBEDDING funziona con i dati nelle tabelle standard. Per i modelli di embedding multimodali, ML.GENERATE_EMBEDDING funziona anche con i contenuti visivi nelle tabelle di oggetti. Per i modelli remote, tutta l'inferenza avviene in Vertex AI. Per gli altri tipi di modelli, tutta l'inferenza avviene in BigQuery. I risultati vengono archiviati in BigQuery.

Per scoprire di più, prova a creare incorporamenti di testo, incorporamenti di immagini e incorporamenti di video con la funzione ML.GENERATE_EMBEDDING.

Per un embedding di testo più piccolo e leggero, prova a utilizzare un modello di TensorFlow preaddestrato, come NNLM, SWIVEL o BERT.

Per informazioni su come scegliere il modello migliore per il tuo caso d'uso di embedding, consulta Scegliere un modello di embedding del testo.

Passaggi successivi