Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

I vantaggi dell'approccio Black Box di Vizier

By Joshua FoxAug 7, 20234 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

Solo un consigliere

"Vizier" (visir) è il titolo del consigliere del re, derivato dall'arabo وزير wazīr attraverso il persiano e il turco. Il visir consiglia, ma non decide, la politica del sovrano. Ed è esattamente così che funziona l'ottimizzazione black-box di Vizier: non esegue le prove di ottimizzazione al posto Suo. I servizi di hyperparameter tuning offerti da GCP e AWS, al contrario, fanno tutto in autonomia. Lei fornisce un intervallo di iperparametri — ad esempio il learning rate che varia con continuità da 0 a 1, oppure il minimum child weight come parametro intero da 1 a 3. Crea il client del tuner di iperparametri e poi avvia il processo richiamando una funzione come fit(), senza doversene più occupare. Quella funzione resta in esecuzione per un certo tempo, magari qualche ora, e internamente esegue più iterazioni di addestramento, scegliendo via via iperparametri diversi. Al termine, il tuner restituisce il miglior modello che è riuscito a trovare.

Il processo di ottimizzazione Black Box è fuori dal Suo controllo e per Lei è invisibile. (Almeno per quanto riguarda l'API: di norma sono presenti sistemi di monitoraggio.)

Nota: "Black Box" significa che le prove sono invisibili a Vizier. Vizier non sa nulla dell'addestramento ML né dell'A/B test. Non sa nulla dei gradienti, né degli alti e bassi della funzione che viene ottimizzata all'interno di ogni prova.

Per Lei, invece, queste prove sono completamente "white-box": il controllo è nelle Sue mani.

Vantaggi

Un servizio di hyperparameter tuning sembra più semplice di Vizier, e in effetti Google ha costruito Vertex AI AutoML e i propri hyperparameter tuner nell'AI Platform (la denominazione precedente del brand) proprio sopra un motore basato su Vizier. Ma l'approccio Black Box, in cui si interagisce direttamente con Vizier, ha vantaggi precisi.

Controllo

Con la Black Box Optimization si ottiene un maggiore controllo.

Le prove rientrano in genere nella Sua area di competenza. Gli sviluppatori del Suo sito ne conoscono ogni dettaglio; i Suoi data scientist padroneggiano le specificità degli algoritmi di ML. Lei ha riflettuto a fondo su come ottenere il massimo dai Suoi sistemi al minor costo possibile. Con Vizier mantiene il pieno controllo dell'addestramento ML vero e proprio: quale infrastruttura o quali API usare, quante e quali GPU o TPU, e così via.

Può persino ignorare i suggerimenti di Vizier e usare parametri propri. Naturalmente, di solito conviene seguire i suggerimenti: dopotutto è per questo che si interpella Vizier. Tuttavia, se Le capita di leggere di un nuovo algoritmo per il Suo ML, oppure se i product manager vogliono testare una nuova variante non prevista nell'A/B testing del sito, può procedere e provarla. Anche quando esegue la prova con parametri propri, può comunque fornire parametri e metriche a Vizier, che ne imparerà esattamente come fa quando si utilizzano i suoi suggerimenti.

Scalabilità

Vizier si occupa solo della parte "facile" dell'ottimizzazione su più prove. Non si fa carico del lavoro pesante dell'ML, che può richiedere molto hardware specializzato. Allo stesso modo, non si fa carico del lavoro pesante dell'A/B testing di un sito web o della gestione di una fabbrica. Questo lo rende scalabile: è Lei a gestire l'addestramento effettivo o l'altro processo da ottimizzare, ovvero la parte più onerosa dell'intero workflow, e può quindi applicare le best practice più adatte alla Sua configurazione specifica. (Nella Figura 1 qui sotto, le Sue macchine di addestramento sono gli "Evaluation workers" sotto la REST API di Vizier.)

Nel frattempo, Vizier attiva in modo scalabile dei worker dedicati a generare suggerimenti o a indicare quando fermarsi. Poiché il suo stato è memorizzato in un database e non all'interno del contesto di una singola esecuzione di ottimizzazione, è in grado di ripristinarsi in caso di guasto. E dato che i worker dei suggerimenti si occupano soltanto di iperottimizzazione, e non del Suo "lavoro pesante", Vizier può scalarli in modo efficiente.

Figura 1. Diagramma dell'architettura (basato sullo schema del paper di ricerca. )

Multi-obiettivo

La maggior parte dei processi di ottimizzazione, e la maggior parte degli hyperparameter tuner, punta a massimizzare un'unica metrica. Anche per Vertex AI Vizier questo è l'utilizzo più comune. Tuttavia, può capitare di voler ottimizzare più metriche contemporaneamente. In un A/B test per un sito web, potrebbe voler massimizzare insieme il fatturato e il tempo di permanenza sul sito. Oppure potrebbe gestire un mercato a due lati, in cui vuole offrire condizioni vantaggiose agli acquirenti senza rinunciare a far massimizzare i profitti ai venditori.

Come semplice esempio per illustrare il concetto, può dare un'occhiata a questo Notebook di esempio di Google, che massimizza due funzioni trigonometriche degli stessi due parametri di input.

Figura 2. Non esiste un unico punto ottimale per entrambe le funzioni.

È evidente che non esiste un unico punto in cui entrambe le metriche siano massimizzate; per questo Vertex AI Vizier individua la frontiera di Pareto, ovvero una linea oltre la quale non è possibile migliorare una metrica senza peggiorare l'altra: l'ottimo non è un punto, ma un confine.

Prossimo articolo: flessibilità e i primi notebook ML di Vizier

Vizier è un sistema lineare, che può (e in genere dovrebbe) essere usato con le impostazioni predefinite. È però possibile anche affinarne ulteriormente le capacità. Nel prossimo articolo Le mostreremo come farlo e forniremo alcuni esempi di codice.