Cosa sono i contenitori Azure per intelligenza artificiale?

I Servizi di Azure AI offrono diversi contenitori Docker che consentono di usare in locale le stesse API disponibili in Azure. L'uso di questi contenitori offre la flessibilità necessaria per avvicinare i Servizi di Azure AI ai dati per motivi di conformità, sicurezza o altri motivi operativi. Il supporto dei contenitori è attualmente disponibile per un subset di Servizi di Azure AI.

La containerizzazione è un approccio alla distribuzione del software in cui un'applicazione o un servizio, incluse le relative dipendenze e configurazione, viene compresso come immagine del contenitore. L'immagine del contenitore può essere distribuita in un host contenitore senza alcuna variazione o con modifiche minime. I contenitori sono isolati fra loro e dal sistema operativo sottostante, con un footprint inferiore a quello di una macchina virtuale. È possibile creare istanze dei contenitori dalle immagini per attività a breve termine. Tali istanze possono essere rimosse quando non sono più necessarie.

Funzionalità e vantaggi

  • Infrastruttura non modificabile: consentire ai team DevOps di sfruttare un set coerente e affidabile di parametri di sistema noti, pur essendo in grado di adattarsi al cambiamento. I contenitori offrono la flessibilità necessaria per eseguire il pivot all'interno di un ecosistema prevedibile ed evitare la deriva dei dati di configurazione.
  • Controllo sui dati: scegliere dove vengono elaborati i dati da Servizi di Azure AI. Ciò può essere essenziale se non è possibile inviare dati al cloud, ma è necessario accedere alle API Servizi di Azure AI. È supportata la coerenza in ambienti ibridi, tra i dati e le funzionalità di gestione, identità e sicurezza.
  • Controllo sugli aggiornamenti dei modelli: flessibilità nel controllo delle versioni e nell'aggiornamento dei modelli distribuiti nelle soluzioni.
  • Architettura portabile: consente la creazione di un'architettura di applicazione portabile che può essere distribuita su Azure, a livello locale e perimetrale. I contenitori possono essere distribuiti direttamente nel servizio Azure Kubernetes, in Istanze di Azure Container o in un cluster Kubernetes distribuito in Azure Stack. Per altre informazioni, vedere Deploy Kubernetes to Azure Stack (Distribuire Kubernetes in Azure Stack).
  • Alta velocità effettiva/bassa latenza: ai clienti vengono offerte opzioni di scalabilità per i requisiti di alta velocità effettiva e bassa latenza consentendo l'esecuzione di Servizi di Azure AI fisicamente vicino alla logica e ai dati dell'applicazione. I contenitori non raggiungono il limite di transazioni al secondo e possono offrire scalabilità sia orizzontale che verticale per gestire la domanda, se si forniscono le risorse hardware necessarie.
  • Scalabilità: con la crescente popolarità del software di orchestrazione dei contenitori, ad esempio Kubernetes, la scalabilità è all'avanguardia dei progressi tecnologici. Basandosi su una struttura cluster scalabile, lo sviluppo delle applicazioni è adatto a un’alta disponibilità.

Contenitori in Servizi di Azure AI

I contenitori di Servizi di Azure AI offrono il set seguente di contenitori Docker, ognuno dei quali contiene un subset di funzionalità dei servizi disponibili in Servizi di Azure AI: Le istruzioni e i percorsi delle immagini sono disponibili nelle tabelle seguenti.

Nota

Vedere Installare ed eseguire i contenitori di Document Intelligence per Informazioni sui documenti di Azure AI le istruzioni del contenitore e i percorsi delle immagini.

Contenitori delle decisioni

Servizio Contenitore Descrizione Disponibilità
Rilevamento anomalie Rilevamento anomalie (immagine) L'API Rilevamento anomalie permette di monitorare e rilevare le anomalie nei dati di serie temporali con l'apprendimento automatico. Generalmente disponibile

Contenitori per la lingua

Servizio Contenitore Descrizione Disponibilità
LUIS LUIS (immagine) Carica un modello Language Understanding sottoposto a training o pubblicato, noto anche come app LUIS, in un contenitore Docker e fornisce l'accesso alle stime di query dagli endpoint dell'API del contenitore. È possibile raccogliere i log di query dal contenitore e caricarli nel portale LUIS per migliorare l'accuratezza delle stime dell'app. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio di linguaggio Estrazione frasi chiave (immagine) Estrae le frasi chiave per identificare i punti principali. Ad esempio, per il testo di input "Il cibo era delizioso e il personale era meraviglioso", l'API restituisce i punti rilevanti del discorso, ovvero "cibo" e "personale meraviglioso". Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio di linguaggio Rilevamento lingua testo (immagine) Per un massimo di 120 lingue, rileva la lingua in cui è scritto il testo di input e crea un report relativo a un codice lingua singolo per ogni documento inviato nella richiesta. Il codice lingua è associato a un punteggio che indica il livello di attendibilità. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio di linguaggio Analisi del sentiment (immagine) Analizza testo non elaborato per indicazioni su una valutazione positiva o negativa. Questa versione dell'analisi del sentiment restituisce etichette del sentiment (ad esempio positivo o negativo) per ogni documento e frase al suo interno. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio di linguaggio Analisi del testo per la salute (immagine) Estrarre ed etichettare informazioni mediche da un testo clinico non strutturato. Generalmente disponibile
Servizio di linguaggio Riconoscimento di entità denominate (immagine) Estrarre entità denominate dal testo. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio di linguaggio Rilevamento delle informazioni personali (PII) (immagine) Rilevare e redigire entità di informazioni personali dal testo. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Servizio di linguaggio Riconoscimento entità denominata personalizzata (immagine) Estrarre dal testo entità denominate usando un modello personalizzato creato usando i propri dati. Generalmente disponibile
Servizio di linguaggio Riepilogo (immagine) Riepilogare il testo da varie origini. Anteprima pubblica.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Translator Traduttore (immagine) Tradurre il testo in diverse lingue e dialetti. Disponibile a livello generale. Limitato: richiedere l'accesso.
Questo contenitore può essere eseguito anche in ambienti disconnessi.

Contenitori per la voce

Service Contenitore Descrizione Disponibilità
API servizio Voce Riconoscimento vocale (immagine) Esegue la trascrizione del parlato continuo in tempo reale in testo. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
API servizio Voce Riconoscimento vocale personalizzato (immagine) Trascrive il riconoscimento vocale in tempo reale continuo in un testo usando un modello personalizzato. Disponibile a livello generale
Questo contenitore può essere eseguito anche in ambienti disconnessi.
API servizio Voce Sintesi vocale neurale (immagine) Converte il testo in una sintesi vocale naturale usando una tecnologia di rete neurale profonda, consentendo una sintesi vocale più naturale. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
API servizio Voce Identificazione della lingua per il servizio Voce (immagine) Determina la lingua dell'audio parlato. Anteprima

Contenitori per la visione

Servizio Contenitore Descrizione Disponibilità
Visione di Azure AI Lettura OCR (immagine) Il contenitore Lettura OCR consente di estrarre testo stampato e scritto a mano da immagini e documenti con il supporto per i formati di file JPEG, PNG, BMP, PDF e TIFF. Per altre informazioni, vedere la documentazione dell'API Lettura. Disponibile a livello generale.
Questo contenitore può essere eseguito anche in ambienti disconnessi.
Analisi spaziale Analisi spaziale (immagine) Analizza video in streaming in tempo reale per comprendere le relazioni spaziali tra le persone, il loro movimento e le interazioni con gli oggetti in ambienti fisici. Anteprima

Inoltre, alcuni contenitori sono supportati nell'offerta di risorse multiservizio di Servizi di Azure AI. È possibile creare una singola risorsa Servizi di Azure AI e usare la stessa chiave di fatturazione su più servizi supportati per i servizi seguenti:

  • Visione di Azure AI
  • LUIS
  • Servizio Lingua

Prerequisiti

Per usare i contenitori di Servizi di Azure AI, è necessario soddisfare i prerequisiti seguenti:

Motore Docker: il motore Docker deve essere installato localmente. Docker offre pacchetti per la configurazione dell'ambiente in macOS, Linux e Windows. In Windows Docker deve essere configurato per supportare i contenitori Linux. I contenitori Docker possono anche essere distribuiti direttamente nel servizio Azure Kubernetes o in Istanze di Azure Container.

Docker deve essere configurato per consentire ai contenitori di connettersi ai dati di fatturazione e inviarli ad Azure.

Familiarità con Registro contenitori di Microsoft e Docker: è opportuno avere una conoscenza di base dei concetti relativi a Registro contenitori di Microsoft e Docker, tra cui registri, repository, contenitori e immagini dei contenitori, nonché dei comandi docker di base.

Per una panoramica dei concetti fondamentali relativi a Docker e ai contenitori, vedere Docker overview (Panoramica di Docker).

Singoli contenitori possono prevedere anche requisiti specifici, tra cui quelli relativi a server e allocazione di memoria.

Sicurezza contenitori di Servizi di Azure AI

La sicurezza deve essere uno degli obiettivi principali ogni volta che si sviluppano applicazioni. L'importanza della sicurezza è un parametro del successo. Quando si progetta una soluzione software che include contenitori di Azure per intelligenza artificiale, è fondamentale comprendere le limitazioni e le funzionalità disponibili. Per altre informazioni sulla sicurezza di rete, vedi Configurare reti virtuali di Servizi di Azure AI.

Importante

Per impostazione predefinita, non esiste alcuna sicurezza nell'API contenitore Servizi di Azure AI. Il motivo risiede nel fatto che spesso il contenitore verrà eseguito come parte di un pod protetto dall'esterno tramite un bridge di rete. Tuttavia, è possibile che gli utenti costruiscano la propria infrastruttura di autenticazione per approssimare i metodi di autenticazione usati durante l'accesso ai Servizi di Azure AI basati sul cloud.

Il diagramma seguente illustra l'approccio predefinito e non sicuro:

Sicurezza dei contenitori

Come esempio di approccio alternativo e sicuro, i fruitori di contenitori di Azure per intelligenza artificiale potrebbero aumentare un contenitore con un componente frontale, mantenendo privato l'endpoint del contenitore. Si consideri uno scenario in cui si usa Istio come gateway di ingresso. Istio supporta l'autenticazione HTTPS/TLS e del certificato client. In questo scenario, il front-end Istio espone l'accesso al contenitore, presentando il certificato client preventivamente approvato da Istio.

Nginx è un'altra scelta popolare nella stessa categoria. Sia Istio che Nginx fungono da mesh di servizi e offrono funzionalità aggiuntive, tra cui il bilanciamento del carico, il routing e il controllo della frequenza.

Rete di contenitori

I contenitori di Azure per intelligenza artificiale sono necessari per inviare informazioni di misurazione a scopo di fatturazione. La mancata abilitazione dei vari canali di rete su cui si basano i contenitori di Azure per intelligenza artificiale impedirà il funzionamento del contenitore.

Aggiungere all'elenco elementi consentiti domini e porte di servizi di Azure AI

L'host deve aggiungere all'elenco elementi consentiti la porta 443 e i domini seguenti:

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

Disabilitare la Deep Packet Inspection

La Deep Packet Inspection (DPI, ispezione approfondita dei pacchetti) è un tipo di elaborazione dati che controlla in dettaglio i dati inviati tramite una rete di computer e in genere esegue azioni bloccando, reindirizzando o registrandolo di conseguenza.

Disabilitare la DPI nei canali sicuri creati dai contenitori di Azure per intelligenza artificiale nei server Microsoft. In caso contrario, il contenitore non funzionerà correttamente.

Esempi per gli sviluppatori

Gli esempi per gli sviluppatori sono disponibili nel repository GitHub.

Passaggi successivi

Informazioni sulle ricette dei contenitori che è possibile usare con Servizi di Azure AI.

Installare ed esplorare le funzionalità fornite dai contenitori in Servizi di Azure AI: