Retail

Ricerca visiva più veloce e intelligente basata su GPU

Obiettivo

Bing implementa la tecnologia NVIDIA per accelerare il rilevamento degli oggetti e fornire risultati pertinenti in tempo reale.

Cliente

Bing, Ricerca da Microsoft

Partner

Ricerca visiva

Tecnologia

GPU NVIDIA cuDNN, NVIDIA Tesla K40s, NVIDIA Tesla M60

Ricerca visiva: una causa degna

La ricerca visiva è vista come la prossima grande frontiera della ricerca e Bing di Microsoft ha sfruttato la potenza delle GPU NVIDIA per renderla realtà. Allo stesso tempo, hanno sfruttato la toolchain di profilazione NVIDIA® CUDA® e cuDNN per rendere il sistema più economico. Ma la ricerca visiva su larga scala non è una cosa semplice: fornire risultati pertinenti all'istante quando gli utenti passano il mouse sugli oggetti all'interno delle foto richiede calcoli massicci da parte di algoritmi addestrati a classificare, rilevare e abbinare le immagini all'interno delle immagini.

Bing: Rilevamento di gruppo di oggetti

Bing: Rilevamento di gruppo di oggetti

La ricerca visiva è considerata la prossima grande frontiera della ricerca e Bing di Microsoft ha sfruttato la potenza delle GPU NVIDIA per renderla realtà. Allo stesso tempo, hanno sfruttato la toolchain di profilazione NVIDIA® CUDA® e cuDNN per rendere il sistema più economico. Ma la ricerca visiva su larga scala non è una cosa semplice: fornire risultati pertinenti all'istante quando gli utenti passano il mouse sugli oggetti all'interno delle foto richiede calcoli massicci da parte di algoritmi addestrati a classificare, rilevare e abbinare le immagini all'interno delle immagini.
Vale anche la pena.

"Un'immagine vale più di mille parole", ha detto Yan Wang, ingegnere senior di Bing.
"Quando hai un'immagine, sei molto più vicino a ciò che stai cercando".

Prima, tuttavia, c'era una lunga attesa per ciò che si stava cercando. Nel 2015, Bing ha introdotto funzionalità di ricerca di immagini che hanno permesso agli utenti di disegnare caselle intorno a sotto-immagini o di fare clic su caselle di sotto-immagini già rilevate dalla piattaforma; potevano quindi utilizzare quelle immagini come base di una nuova ricerca.

Bing cercava una soluzione abbastanza veloce da tenere il passo con le aspettative degli utenti. Hanno trasferito la piattaforma di rilevamento degli oggetti dalle CPU alle macchine virtuali della serie Azure NV che eseguivano acceleratori GPU NVIDIA Tesla® M60. Così facendo, Bing ha ridotto la latenza di rilevamento degli oggetti da 2,5 secondi sulla CPU a 200 millisecondi. Ulteriori ottimizzazioni con NVIDIA cuDNN hanno ridotto quella latenza a 40 millisecondi, ben al di sotto della soglia per un'esperienza utente eccellente sulla maggior parte delle applicazioni.

Bing: Ricerca Camicia da donna

Bing: Ricerca Camicia da donna

Creare un'esperienza superiore

Il risultato del passaggio alle GPU NVIDIA è stato istantaneo, con una latenza di inferenza ridotta immediatamente di 10 volte. Ma gli ingegneri di Bing non si sono fermati qui.

Hanno incorporato la libreria di deep learning accelerata dalla GPU NVIDIA cuDNN nel loro codice e hanno aggiornato la modalità driver dal modello di driver display di Windows al cluster di calcolo Tesla, facendo scendere la latenza a 40 millisecondi per un miglioramento totale delle prestazioni di 60 volte. Per rilevare più categorie di oggetti su un'immagine, sono passati da un processo veloce a due fasi di R-CNN a un processo di "rilevamento a colpo singolo" a uno stadio. Questo ha accelerato la funzionalità 10 volte e consente il rilevamento di oltre 80 categorie di immagini.

Il team di Bing sfrutta anche un modello di attivazione di filtro e il key-value store di Microsoft ObjectStore per limitare la quantità di dati necessari per elaborare e memorizzare i risultati per l'uso futuro. Questo li aiuta a risparmiare oltre il 90 percento dei costi, rendendo più economicamente fattibile il servizio rispetto al volume di richieste che ricevono quotidianamente.

L'esperienza utente offerta da Bing Visual Search riflette questi sforzi extra. Dalla pagina di ricerca di Bing, un utente può selezionare "ricerca di immagini", digitare il testo o caricare un'immagine e quindi selezionare gli hotspot automaticamente rilevati sull'immagine o disegnare una casella sulle parti di interesse per attivare risultati della ricerca quasi istantanei. Disegnando una casella sopra, ad esempio, una borsa, genera numerose opportunità di acquisto di borse, complete di prezzi.

Dal lato dello sviluppo e della distribuzione, il passaggio alle GPU NVIDIA ha consentito al team di Bing di essere più agile e aumentare il tasso di apprendimento e innovazione. Con le CPU, dopo ogni cambiamento sostanziale, occorrerebbero mesi per eseguire modelli aggiornati sull'intero set di dati di miliardi di immagini. Con le GPU, questo processo è ora istantaneo, rendendo pratico l'aggiornamento dei modelli frequentemente e fornendo più funzionalità agli utenti di Bing.

“Una foto vale più di mille parole. Quando hai un’immagine, sei molto più vicino a ciò che stai cercando.”

Yan Wang
Ingegnere senior, Bing

Creare un'esperienza superiore

Momento rivoluzionario per la ricerca visiva

Il rilevamento degli oggetti in tempo reale e la ricerca visiva sono ora possibili, rendendo Bing Visual Search un momento rivoluzionario. Con la possibilità di elaborare modelli più profondi e complessi, Bing Visual Search può supportare più categorie di oggetti rilevabili. E gli aggiornamenti più veloci per i modelli di back-end liberano Bing dall'aumentare la posta sul fronte dello sviluppo.

"Ridurrà drasticamente il nostro ciclo di innovazione e produzione da oltre un mese su ogni aggiornamento a quasi istantaneo", ha detto Wang.

Il potenziale impatto di Bing Visual Search potrebbe essere trasformativo per i rivenditori online, che saranno in grado di portare i loro prodotti direttamente alle ricerche dei consumatori piuttosto che aspettare che le ricerche li trovino. Ma non ci vuole molto per immaginare cosa Bing Visual Search possa fare anche per altri settori, come viaggi e istruzione.

Ad esempio, un utente incantato da una foto di una spiaggia potrebbe immediatamente abbinare quella foto a una posizione reale e prenotare una vacanza. Oppure uno studente d'arte potrebbe scattare una foto di un dipinto in un museo e identificare istantaneamente altri dipinti che potrebbero aver influenzato o essere influenzati dal dipinto in questione. Le possibilità sono infinite.

Un processo di aggiornamento del modello più veloce riduce drasticamente il nostro ciclo di innovazione e produzione da oltre un mese a ogni aggiornamento a quasi istantaneamente.”

Yan Wang
Ingegnere senior, Bing