Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Ultralytics : implementazione di modelli di visione artificiale in qualsiasi regione

Scopri come distribuire i tuoi modelli di visione artificiale in qualsiasi regione utilizzando Ultralytics per un'implementazione dell'IA scalabile, veloce e flessibile.

Scala i tuoi progetti di visione artificiale con Ultralytics

Inizia

All'inizio di questa settimana, Ultralytics Ultralytics , un nuovo ambiente end-to-end progettato per accelerare la commercializzazione dei sistemi di visione artificiale (CV), ottimizzando ogni fase del flusso di lavoro dell'IA applicata alla visione, dalla preparazione dei dati e dallo sviluppo dei modelli fino alla loro implementazione.

Una delle motivazioni principali alla base dello sviluppo Ultralytics è che la realizzazione di una soluzione di visione artificiale in grado di consentire alle macchine di analizzare immagini e video, dall'idea alla sua effettiva implementazione, non si limita alla creazione di un modello solido. Una volta che un modello è stato addestrato e ha superato la fase di validazione, deve essere implementato in modo che le applicazioni possano inviare immagini, ricevere previsioni ed eseguire inferenze in modo affidabile in contesti reali.

In questa fase del ciclo di vita dell'apprendimento automatico, i modelli di visione artificiale superano la fase sperimentale e iniziano ad alimentare sistemi concreti. Anche se le fasi precedenti, quali la preparazione dei set di dati, l'annotazione, l'addestramento dei modelli e i test, procedono senza intoppi, senza un metodo affidabile per implementare i modelli, tali risultati non possono fare la differenza.

La realtà in molti progetti di visione artificiale è che l'implementazione può rappresentare una delle fasi più complesse del flusso di lavoro. 

Spesso i team devono configurare le API di inferenza, gestire le risorse di calcolo, distribuire i modelli in prossimità degli utenti per ridurre la latenza e monitorare le prestazioni una volta che i sistemi sono in produzione.

Ultralytics semplifica e automatizza questo processo offrendo diverse opzioni di implementazione, tra cui formati di esportazione dei modelli, servizi di inferenza condivisi ed endpoint dedicati in diverse regioni del mondo. Grazie all'infrastruttura gestita e al monitoraggio integrato, i team possono passare facilmente dai modelli addestrati a sistemi di visione artificiale pronti per la produzione.

Fig. 1. Panoramica sull'implementazione dei modelli tramite Ultralytics (Fonte)

In questo articolo vedremo come distribuire modelli di visione artificiale in qualsiasi regione utilizzando endpoint dedicati sulla Ultralytics . Cominciamo!

Che cos'è l'implementazione di modelli CV?

Prima di approfondire come implementare i modelli di deep learning utilizzando Ultralytics , cerchiamo di capire meglio cosa si intende esattamente per implementazione di modelli di visione artificiale.

L'implementazione di un modello di visione artificiale consiste nel rendere un modello addestrato disponibile per l'uso nel mondo reale. Anziché funzionare solo in un ambiente di addestramento, il modello viene configurato in modo che le applicazioni possano inviargli immagini o video e ricevere in cambio delle previsioni. 

Ad esempio, un modello potrebbe detect in un'immagine, eseguire la segmentazione dell'immagine, identificare articoli in un magazzino o riconoscere schemi in un filmato. Nella maggior parte dei sistemi reali, ciò avviene tramite un'API o un endpoint di inferenza. 

Un'applicazione invia un'immagine al modello, il modello la elabora e restituisce una previsione in pochi millisecondi. È proprio questo che rende possibili i modelli di visione artificiale come Ultralytics YOLO di rendere possibili le applicazioni in tempo reale.

I modelli possono essere implementati in diversi ambienti a seconda del caso d'uso. Alcuni vengono eseguiti nel cloud (tramite piattaforme cloud) e sono accessibili a numerose applicazioni, mentre altri vengono eseguiti su dispositivi periferici, come telecamere in loco, robot o sistemi integrati che richiedono previsioni locali rapide.

Opzioni di implementazione dei modelli di IA sulla Ultralytics

Sebbene Ultralytics affronti molte delle sfide che la comunità della visione artificiale deve affrontare, in particolare per quanto riguarda l'implementazione dei modelli, offre modalità flessibili per eseguire l'inferenza a seconda delle esigenze della vostra applicazione. 

Ecco una breve panoramica delle opzioni di distribuzione dei modelli disponibili sulla piattaforma:

  • Esportazione dei modelli: È possibile esportare i modelli in 17 diversi formati, tra cui ONNX, TensorRT, CoreML e TFLite, rendendo possibile l'esecuzione dei modelli in un'ampia gamma di ambienti, quali dispositivi edge come Raspberry Pi e NVIDIA , app mobili, container Docker e infrastrutture personalizzate.
  • Inferenza condivisa: la piattaforma consente di eseguire previsioni tramite un servizio di inferenza condivisa gestito, ideale per testare rapidamente i modelli 
  • Endpoint dedicati: Distribuisci facilmente i modelli come servizi indipendenti con URL API univoci in grado di funzionare in 43 regioni globali, con scalabilità automatica, monitoraggio e controlli di integrità integrati per le distribuzioni in produzione.

Distribuzione tramite endpoint dedicati

Uno dei modi più scalabili per eseguire modelli pre-addestrati o modelli di visione artificiale personalizzati in ambiente di produzione sulla Ultralytics è tramite endpoint dedicati. Un endpoint dedicato consente di distribuire un modello addestrato come servizio autonomo, in modo che le applicazioni possano inviargli immagini e ricevere previsioni tramite un'API.

Invece di eseguire un modello solo in un ambiente di addestramento o in un notebook locale, la sua distribuzione come endpoint lo rende accessibile alle applicazioni reali. Ad esempio, un sistema di magazzino potrebbe inviare immagini di pacchi per il rilevamento di oggetti, una telecamera intelligente potrebbe analizzare i fotogrammi video oppure un sistema robotico potrebbe utilizzare le previsioni per guidare le azioni.

Ogni endpoint dedicato funziona come un servizio a tenant singolo, il che significa che l'infrastruttura su cui gira il modello non è condivisa con altri utenti. Ciò garantisce prestazioni più prevedibili e semplifica il monitoraggio del comportamento del modello in produzione.

Comprendere il funzionamento degli endpoint dedicati all'inferenza

Si può considerare un endpoint dedicato come un servizio ospitato per il proprio modello. Ultralytics fornisce un URL di endpoint univoco che funge da punto di accesso per le applicazioni. 

Quando un'applicazione invia una richiesta a quell'URL, include un'immagine e parametri facoltativi quali le soglie di affidabilità o le dimensioni dell'immagine, oltre a una chiave API per l'autenticazione.

Il servizio esegue l'inferenza sull'immagine utilizzando il modello dell'utente e restituisce le previsioni in una risposta strutturata. Questa configurazione consente agli sviluppatori di integrare modelli di visione artificiale in sistemi reali utilizzando strumenti web standard. 

Le applicazioni possono inviare richieste utilizzando Python, JavaScript, cURL o altri client HTTP, facilitando così l'integrazione dei modelli con dashboard, sistemi robotici o applicazioni cloud. Poiché l'endpoint funziona in modo indipendente, è in grado di supportare anche il ridimensionamento, il monitoraggio e l'implementazione su scala globale, aiutando i team a sviluppare sistemi di visione artificiale affidabili per l'ambiente di produzione.

L'implementazione multiregione migliora l'inferenza in tempo reale

Uno dei principali vantaggi degli endpoint dedicati sulla Ultralytics è la possibilità di distribuire i modelli in 43 regioni in tutto il mondo. Queste regioni coprono diverse aree del globo, tra cui il Nord America, il Sud America, l’Europa, l’Asia-Pacifico, il Medio Oriente e l’Africa.

Fig. 2. Ultralytics supporta 43 regioni in tutto il mondo (Fonte)

L'implementazione dei modelli in regioni più vicine al luogo in cui vengono eseguite le applicazioni contribuisce a ridurre la latenza, ovvero il tempo necessario a un'applicazione per inviare un'immagine e ricevere una previsione. Inoltre, consente alle organizzazioni di soddisfare i requisiti in materia di riservatezza e residenza dei dati, mantenendo l'elaborazione dei dati più vicina al luogo in cui questi hanno origine. 

La bassa latenza è fondamentale per molte applicazioni di visione artificiale che si basano sull'inferenza in tempo reale, come i sistemi robotici, i dispositivi dell'Internet delle cose (IoT), le linee di ispezione industriale e le infrastrutture delle città intelligenti.

Ad esempio, se un'applicazione viene utilizzata principalmente in Europa, l'implementazione del modello in una regione europea può migliorare notevolmente i tempi di risposta rispetto all'esecuzione del modello in una regione lontana. 

Come effettuare l'implementazione in qualsiasi regione con Ultralytics

L'implementazione di un modello in una regione specifica è semplice e richiede solitamente solo un paio di minuti. La piattaforma si occupa della configurazione dell'infrastruttura, consentendo agli sviluppatori di concentrarsi sull'integrazione del modello nelle loro applicazioni. Vediamo insieme i passaggi da seguire.

Passaggio 1: Addestrare o caricare un modello

Prima di procedere alla distribuzione, è necessario disporre di un modello addestrato all'interno del proprio progetto. Può trattarsi di un modello addestrato direttamente sulla Ultralytics , di un modello caricato dopo essere stato addestrato altrove oppure di un modello clonato da un progetto della community presente nella scheda "Esplora", dove i progetti pubblici condivisi da altri utenti possono essere copiati sul proprio account con un solo clic.

Una volta che il modello è pronto, apri la pagina del modello all'interno del tuo progetto per continuare.

Passaggio 2: Aprire la scheda "Distribuzione"

Accedi alla scheda "Distribuzione" del modello. Questa sezione della piattaforma ti consente di configurare e avviare le distribuzioni.

In quella pagina troverai una tabella delle regioni e una mappa interattiva che mostra le località di distribuzione disponibili in tutto il mondo. La piattaforma misura la latenza dalla tua posizione e ordina le regioni di conseguenza per aiutarti a scegliere quella più adatta.

Fig. 3. Regioni ordinate in base alla latenza sulla Ultralytics (Fonte)

Passaggio 3: Scegli una regione di distribuzione

Scegli una regione in base alla posizione dei tuoi utenti o delle tue applicazioni. Distribuire il modello più vicino alla fonte delle richieste può ridurre notevolmente i tempi di risposta.

Passaggio 4: Distribuire l'endpoint

Dopo aver selezionato la regione e confermato la configurazione, è possibile fare clic su "Deploy".

La piattaforma prepara quindi l'ambiente di distribuzione, scarica l'immagine del modello, avvia il servizio ed esegue un controllo dello stato di salute per verificare che l'endpoint sia pronto. Questo processo richiede in genere da uno a due minuti.

Una volta completata l'implementazione, la piattaforma genera un URL di endpoint univoco che le applicazioni possono utilizzare per inviare richieste di inferenza.

Fig. 4. Esempio di endpoint implementato (Fonte)

Passaggio 6: Inizia a inviare richieste di inferenza

Una volta avviato l'endpoint, le applicazioni possono iniziare a inviare immagini al modello utilizzando REST API fornito e una chiave API inserita nell'intestazione Authorization. L'endpoint elabora ogni richiesta e restituisce previsioni quali oggetti rilevati, riquadri di delimitazione o altri risultati specifici per l'attività.

Per ulteriori dettagli sulla distribuzione dei modelli, consulta la documentazione ufficiale Ultralytics .

Monitoraggio delle prestazioni e delle metriche dei modelli per gli endpoint distribuiti

Una volta implementato un modello di visione artificiale, il monitoraggio delle sue prestazioni diventa una parte fondamentale per garantire l'affidabilità e la robustezza del sistema. Anche un modello ben addestrato deve essere monitorato in produzione per assicurarsi che continui a rispondere rapidamente, a gestire correttamente le richieste in arrivo e a fornire previsioni accurate.

Ultralytics offre strumenti di monitoraggio integrati che consentono ai team di monitorare le prestazioni degli endpoint distribuiti. La pagina "Deploy" della piattaforma funge da dashboard di monitoraggio, fornendo una panoramica centralizzata di tutti gli endpoint attivi e delle metriche chiave che aiutano track lo stato di salute e l'utilizzo track .

Ecco alcune delle metriche che puoi monitorare utilizzando la piattaforma:

  • Latenza P95: questa metrica misura il tempo di risposta lato server al 95° percentile per le richieste di inferenza. Fornisce informazioni sulla durata della maggior parte delle richieste di inferenza e individua eventuali rallentamenti delle prestazioni.
  • Tasso di errore: rappresenta la percentuale di richieste che non sono andate a buon fine o che hanno restituito errori nell'intervallo di monitoraggio selezionato. Il monitoraggio dei tassi di errore consente ai team detect rapidamente detect relativi alle distribuzioni o alle richieste in entrata.
  • Richieste totali: questa metrica indica il numero totale di richieste di inferenza elaborate dagli endpoint distribuiti nel periodo di tempo selezionato (ad esempio, nelle ultime 24 ore). Aiuta i team a comprendere i livelli di traffico e la frequenza con cui vengono utilizzati i loro modelli.

Oltre a questi parametri, la piattaforma offre anche controlli di integrità degli endpoint e registri di distribuzione. I controlli di integrità indicano se un endpoint risponde correttamente, mentre i registri forniscono informazioni dettagliate sulle richieste recenti e sull'attività di sistema.

Punti chiave

L'implementazione dei modelli di visione artificiale è un passo fondamentale per trasformare i modelli addestrati in sistemi in grado di alimentare applicazioni nel mondo reale. Con Ultralytics , i team possono implementare facilmente i modelli tramite endpoint dedicati in 43 regioni in tutto il mondo, eseguire inferenze in tempo reale tramite API e monitorare le prestazioni da un unico ambiente. Combinando opzioni di implementazione flessibili, monitoraggio integrato e un'infrastruttura scalabile, la piattaforma aiuta gli sviluppatori a passare più rapidamente dai modelli di machine learning addestrati ad applicazioni di visione artificiale affidabili.

Entra a far parte della nostra community in crescita! Esplora il nostro repository GitHub per saperne di più sull'AI. Se stai cercando di sviluppare soluzioni di computer vision, consulta le nostre opzioni di licenza. Scopri i vantaggi della computer vision nel settore sanitario e come l'AI nella logistica sta facendo la differenza!

Costruiamo insieme il futuro dell'intelligenza artificiale!

Inizia il tuo viaggio con il futuro del machine learning