Yolo Vision Shenzhen
Shenzhen
Iscriviti ora

Endpoint di inferenza dedicati vs inferenza condivisa per l'implementazione

Scopri quando è opportuno scegliere endpoint di inferenza dedicati sulla Ultralytics per un'implementazione scalabile e a bassa latenza dell'IA visiva rispetto all'inferenza condivisa.

Scala i tuoi progetti di visione artificiale con Ultralytics

Inizia

Di recente abbiamo presentato la Ultralytics , una soluzione end-to-end che riunisce in un unico posto l'intero flusso di lavoro della visione artificiale, dalla preparazione dei set di dati e l'addestramento dei modelli fino all'inferenza, alla distribuzione e al monitoraggio. 

Realizzata sulla base dei suggerimenti della comunità della visione artificiale, la piattaforma è stata progettata per semplificare ogni fase dello sviluppo, fornendo funzionalità integrate che supportano l'intero ciclo di vita delle applicazioni di intelligenza artificiale per la visione.

Ad esempio, una volta addestrato un modello, il passo successivo consiste nel distribuirlo in modo che possa essere utilizzato per eseguire inferenze e formulare previsioni in applicazioni reali. La piattaforma semplifica questo processo offrendo diverse opzioni di distribuzione.

È possibile esportare i modelli per eseguirli nel proprio ambiente, utilizzare l'inferenza condivisa per test rapidi oppure implementare endpoint dedicati per applicazioni scalabili e pronte per la produzione. Ciascuna di queste opzioni di implementazione consente di eseguire l'inferenza AI, ma sono progettate per fasi e casi d'uso diversi. 

Fig. 1. Ultralytics consente l'implementazione scalabile di modelli di IA per la visione a livello globale (Fonte)

L'esportazione dei modelli ti offre il pieno controllo per eseguire i modelli sulla tua infrastruttura; l'inferenza condivisa semplifica i test e la sperimentazione senza necessità di configurazione; gli endpoint dedicati sono progettati per garantire carichi di lavoro di produzione affidabili e su larga scala.

A prima vista, l'inferenza condivisa e gli endpoint dedicati possono sembrare piuttosto simili. Entrambi consentono di inviare richieste API al proprio modello e ricevere previsioni strutturate, facilitando l'integrazione dell'IA visiva nelle applicazioni.

Tuttavia, man mano che i carichi di lavoro aumentano e le applicazioni di visione artificiale iniziano a gestire richieste di inferenza in tempo reale, le differenze tra queste opzioni assumono maggiore rilevanza. In questo articolo esamineremo più da vicino l'inferenza condivisa e gli endpoint dedicati, le differenze tra le due soluzioni, quando utilizzare ciascuna di esse e perché gli endpoint dedicati diventano la scelta migliore man mano che le applicazioni crescono.

Panoramica sull'implementazione tramite inferenze condivise

L'inferenza condivisa è un modo semplice per eseguire l'inferenza AI sui propri modelli senza dover configurare alcuna infrastruttura né preoccuparsi GPU , dell'integrazione dei framework o della configurazione dell'ambiente di esecuzione. Una volta che il modello è stato addestrato o ottimizzato, è possibile utilizzarlo per effettuare previsioni direttamente tramite la piattaforma.

In questa configurazione, il tuo modello viene eseguito su risorse di calcolo condivise e multi-tenant distribuite in alcune regioni principali, quali Stati Uniti, Europa e Asia-Pacifico. Le richieste vengono indirizzate automaticamente ai servizi disponibili, quindi non è necessario configurare GPU o ambienti di runtime. Tutto viene gestito automaticamente, rendendo più facile iniziare.

Quando si utilizza l'inferenza condivisa, si inviano richieste al proprio modello tramite REST API strumenti come Python CLI, e si ricevono output JSON strutturati, quali oggetti rilevati, punteggi di affidabilità e altri dettagli relativi alle previsioni. Ciò rende estremamente semplice testare i modelli e integrarli nelle applicazioni.

Poiché si tratta di un sistema condiviso, è progettato per lo sviluppo, il collaudo e un utilizzo leggero. È particolarmente indicato per la convalida delle previsioni e la realizzazione di integrazioni preliminari. Allo stesso tempo, le prestazioni possono variare a seconda del carico di sistema e l'utilizzo è limitato a 20 richieste al minuto per chiave API, rendendolo meno adatto a carichi di lavoro di produzione ad alta produttività.

Nel complesso, l'inferenza condivisa è particolarmente indicata nelle prime fasi di sviluppo, quando l'obiettivo principale è comprendere e migliorare il modello prima di passare ad applicazioni su scala più ampia.

Distribuisci i modelli a livello globale utilizzando endpoint dedicati

Gli endpoint dedicati sono servizi di inferenza a tenant singolo in cui i modelli di IA per la visione vengono eseguiti su risorse di calcolo isolate. Anziché condividere l'infrastruttura, ogni endpoint dispone di un proprio ambiente di esecuzione con risorse configurabili, quali CPU memoria, garantendo un maggiore controllo sulle prestazioni.

Quando si distribuisce un modello come endpoint dedicato, gli viene assegnato un URL API univoco e utilizza la chiave API dell'utente per l'autenticazione, facilitando così l'integrazione nelle applicazioni. Questi endpoint possono essere distribuiti in 43 regioni globali, consentendo di eseguire l'inferenza più vicino agli utenti e ridurre la latenza.

Fig. 2. È possibile implementare endpoint dedicati in 43 regioni globali (Fonte)

Uno dei principali vantaggi è l'autoscaling. Gli endpoint si adattano automaticamente in base alle richieste in arrivo, aumentando la capacità per gestire un traffico più intenso e riducendola quando la domanda diminuisce. Con l'opzione "scale-to-zero" abilitata di default, gli endpoint possono spegnersi quando inattivi e riavviarsi quando necessario, contribuendo a ottimizzare l'utilizzo delle risorse.

In altre parole, gli endpoint dedicati sono progettati per i carichi di lavoro di produzione. Garantiscono una bassa latenza costante, una maggiore velocità di elaborazione e una maggiore affidabilità rispetto all'inferenza condivisa. 

Inoltre, gli endpoint dedicati non hanno limiti di velocità. Le richieste vengono inviate direttamente al tuo endpoint, quindi la quantità di traffico che puoi gestire dipende dalla tua configurazione e dal tuo ridimensionamento, piuttosto che da limiti fissi.

Inoltre, grazie alle funzionalità integrate di monitoraggio, registrazione dei log, controlli di integrità e al comportamento prevedibile in fase di esecuzione e all'avvio, è facile track e garantire implementazioni stabili su tutti i piani. Nel piano Free, gli avvii a freddo richiedono in genere dai 5 ai 45 secondi, mentre gli endpoint del piano Pro rimangono "caldi", garantendo prestazioni di inferenza più veloci e prevedibili.

In poche parole, gli endpoint dedicati sono ideali per le applicazioni di intelligenza artificiale visiva in tempo reale che richiedono un'inferenza affidabile, scalabile e ad alte prestazioni.

Inferenza condivisa vs endpoint dedicati: differenze fondamentali

Ecco un confronto più dettagliato tra l'inferenza condivisa e gli endpoint dedicati:

  • Latenza: in ambienti condivisi la latenza può variare a causa della condivisione delle risorse, mentre gli endpoint dedicati garantiscono risposte più costanti e a bassa latenza.
  • Regioni: l'inferenza condivisa è disponibile in alcune regioni (Stati Uniti, UE, AP), mentre gli endpoint dedicati supportano l'implementazione in 43 regioni in tutto il mondo.
  • Scalabilità: nella deduzione condivisa la scalabilità non è configurabile, mentre gli endpoint dedicati si adattano automaticamente in base al traffico in entrata.
  • Limiti di frequenza: l'inferenza condivisa è soggetta a limiti di frequenza (20 richieste o chiamate API al minuto per chiave API), mentre gli endpoint dedicati non hanno limiti di frequenza imposti dalla piattaforma.
  • Prezzi: l'inferenza condivisa è inclusa senza costi aggiuntivi per le fasi di test e sviluppo, mentre gli endpoint dedicati offrono maggiore controllo e scalabilità; il costo dipende dalla configurazione delle risorse e dalle esigenze di implementazione.

Perché gli endpoint dedicati sono più adatti ai carichi di lavoro in produzione

Man mano che le applicazioni di intelligenza artificiale e apprendimento automatico passano dalla fase di test all'utilizzo pratico, prestazioni, scalabilità e affidabilità diventano fondamentali. Ecco perché gli endpoint dedicati offrono chiari vantaggi rispetto all'inferenza condivisa.

Con gli endpoint dedicati, il tuo modello pre-addestrato o personalizzato viene eseguito sulle proprie risorse di elaborazione, quindi le prestazioni non risentono dell'attività degli altri utenti. Ciò contribuisce a mantenere una latenza bassa e costante, aspetto fondamentale per le applicazioni in tempo reale come l'analisi video e i sistemi di monitoraggio.

Fig. 3. Panoramica sull'implementazione tramite un endpoint di inferenza dedicato (Fonte)

Si pensi, ad esempio, a un sistema di analisi dei dati nel settore della vendita al dettaglio che elabora le immagini in tempo reale provenienti dalle telecamere di diversi punti vendita. Grazie alla distribuzione di endpoint in 43 regioni in tutto il mondo, l'elaborazione dei dati può avvenire più vicino a ciascun punto vendita, riducendo la latenza e migliorando i tempi di risposta. 

Con l'inferenza condivisa, in cui le risorse sono condivise e le regioni sono limitate, le prestazioni possono variare nei periodi di maggiore traffico.

Gli endpoint dedicati sono inoltre in grado di gestire volumi di traffico più elevati e di adattarsi automaticamente in base alla domanda. Grazie alle funzionalità integrate di monitoraggio, registrazione dei log e controllo dello stato di integrità, garantiscono prestazioni più prevedibili, rendendoli la soluzione ideale per carichi di lavoro di IA su larga scala e continui.

Il ruolo dell'inferenza condivisa nel flusso di lavoro dell'IA visiva

Mentre analizzi le differenze tra l'inferenza condivisa e gli endpoint dedicati, ti starai forse chiedendo quale sia il ruolo dell'inferenza condivisa nel flusso di lavoro complessivo della visione artificiale.

Rivediamo l'esempio relativo all'analisi dei dati nel settore della vendita al dettaglio. Prima di implementare una soluzione di visione artificiale in più punti vendita, i team devono in genere testarne le prestazioni su dati reali e perfezionarla sulla base di tali risultati.

L'inferenza condivisa semplifica questo processo consentendo di inviare immagini campione o fotogrammi video provenienti dalle telecamere del negozio e di esaminare rapidamente le previsioni senza dover configurare alcuna infrastruttura. Ciò risulta particolarmente utile per testare il comportamento del modello, correggere le previsioni errate e convalidare i risultati in diverse condizioni, come ad esempio variazioni dell'illuminazione o della disposizione del negozio.

Grazie a questo processo iterativo, i team possono migliorare l'accuratezza e l'affidabilità del modello prima di passare alla fase di produzione. Una volta che il modello ha dimostrato di funzionare correttamente in questi scenari di test, può essere implementato su endpoint dedicati per l'utilizzo in tempo reale in più sedi.

L'inferenza condivisa può rivelarsi efficace anche per applicazioni con un utilizzo limitato o sporadico. Ad esempio, un piccolo negozio al dettaglio potrebbe utilizzarla per analizzare occasionalmente il flusso di clienti o esaminare l'attività dei clienti in determinati momenti, senza bisogno di un'implementazione su larga scala. In questi casi, offre un modo semplice ed economico per eseguire l'inferenza su richiesta.

Casi d'uso reali degli endpoint dedicati

Man mano che le applicazioni di intelligenza artificiale vanno oltre la fase di test, la scelta dell'architettura di implementazione inizia a influire direttamente sulle prestazioni, sulla scalabilità e sull'esperienza utente. Gli endpoint dedicati trovano ampio impiego in diversi settori industriali poiché garantiscono prestazioni stabili, bassa latenza e la capacità di gestire carichi di lavoro su larga scala.

Ecco alcuni casi d'uso comuni che illustrano come gli endpoint dedicati possano essere impiegati in applicazioni reali:

  • Vendita al dettaglio e analisi video: una catena di negozi può utilizzare la visione artificiale per track i movimenti track , identificare i prodotti più popolari e monitorare l'attività del negozio in tempo reale. Gli endpoint dedicati garantiscono un'elaborazione veloce e coerente in più punti vendita, anche nelle ore di punta.
  • Produzione e controllo qualità: su una linea di produzione, i modelli sono in grado di detect o anomalie mentre i prodotti si muovono lungo il sistema. Endpoint dedicati supportano l'inferenza continua in tempo reale, aiutando i team a individuare tempestivamente i problemi e a mantenere la qualità dei prodotti senza rallentare le operazioni.
  • Sanità e imaging medico: gli operatori sanitari e i laboratori diagnostici possono affidarsi a modelli di visione artificiale per analizzare immagini mediche quali radiografie o scansioni. Endpoint dedicati garantiscono prestazioni affidabili e costanti, fondamentali quando si gestiscono dati sensibili e diagnosi in cui il tempo è un fattore critico.
  • Automazione dei magazzini e della logistica: i grandi magazzini utilizzano spesso più sistemi identici, come nastri trasportatori e linee di smistamento, che di fatto fungono da repliche della stessa configurazione. I modelli di visione artificiale possono monitorare ciascuna replica per detect quali inceppamenti o pacchi smistati erroneamente. Gli endpoint dedicati garantiscono un'inferenza coerente su tutte le repliche in tempo reale.

Passaggio dall'inferenza condivisa agli endpoint dedicati

Uno dei principali vantaggi della Ultralytics è la facilità con cui è possibile passare dall'inferenza condivisa a endpoint dedicati man mano che l'applicazione cresce. Anziché cambiare strumento o ricostruire la configurazione, è possibile passare a una distribuzione pronta per la produzione all'interno dello stesso ambiente.

Dopo aver testato il modello con l'inferenza condivisa, il passaggio a un endpoint dedicato rappresenta un passo successivo molto semplice. È possibile distribuire lo stesso modello su un endpoint, scegliere la regione e le risorse di calcolo preferite e aggiornare l'URL dell'endpoint nell'applicazione. L'integrazione complessiva rimane sostanzialmente la stessa, quindi non ci sono cambiamenti, o quasi, nel modo in cui si inviano le richieste o si gestiscono le risposte.

Fig. 4. Visualizzazione di un URL di endpoint dedicato sulla Ultralytics (Fonte)

Ciò significa che puoi passare dall'ambiente di test a quello di produzione con pochi clic. Man mano che il carico di lavoro aumenta o la tua applicazione richiede prestazioni più costanti, puoi passare a endpoint dedicati senza interrompere il flusso di lavoro esistente.

Per ulteriori informazioni sulla distribuzione dei modelli tramite endpoint dedicati sulla Ultralytics , consulta la documentazione ufficiale Ultralytics .

Punti chiave

L'inferenza condivisa è un ottimo punto di partenza per i test e la sperimentazione, ma i carichi di lavoro in produzione richiedono maggiore coerenza e scalabilità. Man mano che le applicazioni crescono, gli endpoint dedicati garantiscono le prestazioni e l'affidabilità necessarie per supportare l'utilizzo in contesti reali. Ciò li rende la scelta migliore per la maggior parte delle implementazioni in produzione.

Entra a far parte della nostra comunità ed esplora il nostro repository GitHub per saperne di più sui modelli di visione artificiale. Scopri le applicazioni come l'intelligenza artificiale in agricoltura e la visione artificiale nella robotica sulle nostre pagine dedicate alle soluzioni. Dai un'occhiata alle nostre opzioni di licenza e inizia a utilizzare l'intelligenza artificiale per la visione. 

Costruiamo insieme il futuro dell'intelligenza artificiale!

Inizia il tuo viaggio con il futuro del machine learning