A volte può essere molto vantaggioso utilizzare strumenti come i compilatori in grado di modificare e compilare i modelli per prestazioni di inferenza ottimali. In questo post, esploriamo TensorRT e come utilizzarlo con Amazon Sage Maker inferenza usando Server di inferenza NVIDIA Triton. Esploriamo come funziona TensorRT e come ospitare e ottimizzare questi modelli per prestazioni ed efficienza dei costi su SageMaker. SageMaker fornisce endpoint di un singolo modello (PMI), che consentono di distribuire un singolo modello ML, o endpoint multi-modello (MME), che consentono di specificare più modelli da ospitare dietro un endpoint logico per un maggiore utilizzo delle risorse.
Per servire i modelli, Triton supporta vari back-end come motori per supportare l'esecuzione e la pubblicazione di vari modelli ML per l'inferenza. Per qualsiasi implementazione di Triton, è fondamentale sapere in che modo il comportamento del back-end influisce sui carichi di lavoro e cosa aspettarsi per avere successo. In questo post, ti aiutiamo a capire il Back-end TensorRT che è supportato da Triton su SageMaker in modo che tu possa prendere una decisione informata per i tuoi carichi di lavoro e ottenere ottimi risultati.
Immergiti nel backend di TensorRT
TensorRT ti consente di ottimizzare l'inferenza utilizzando tecniche come la quantizzazione, la fusione di livelli e tensori, l'ottimizzazione del kernel e altre su GPU NVIDIA. Adottando e compilando modelli per utilizzare TensorRT, puoi ottimizzare le prestazioni e l'utilizzo per i tuoi carichi di lavoro di inferenza. In alcuni casi, ci sono compromessi, che è tipico di tecniche come la quantizzazione, ma i risultati possono essere notevoli a vantaggio delle prestazioni, affrontando la latenza e il numero di transazioni che possono essere elaborate.
Il back-end TensorRT viene utilizzato per eseguire i modelli TensorRT. TensorRT è un SDK sviluppato da NVIDIA che fornisce una libreria di inferenza di deep learning ad alte prestazioni. È ottimizzato per le GPU NVIDIA e fornisce un modo per accelerare l'inferenza del deep learning negli ambienti di produzione. TensorRT supporta i principali framework di deep learning e include un ottimizzatore di inferenza di deep learning ad alte prestazioni e un runtime che offre inferenza a bassa latenza e throughput elevato per le applicazioni AI.
TensorRT è in grado di accelerare le prestazioni del modello utilizzando una tecnica chiamata ottimizzazione del grafico per ottimizzare il grafico di calcolo generato da un modello di deep learning. Ottimizza il grafico per ridurre al minimo l'impronta di memoria liberando memoria non necessaria e riutilizzandola in modo efficiente. La compilazione TensorRT fonde le operazioni sparse all'interno del grafico del modello per formare un kernel più grande per evitare il sovraccarico di più piccoli avvii del kernel. Con l'ottimizzazione automatica del kernel, il motore seleziona l'algoritmo migliore per la GPU di destinazione, massimizzando l'utilizzo dell'hardware. Inoltre, TensorRT utilizza i flussi CUDA per consentire l'elaborazione parallela dei modelli, migliorando ulteriormente l'utilizzo e le prestazioni della GPU. Infine, attraverso la quantizzazione, TensorRT può utilizzare l'accelerazione a precisione mista dei core Tensor, consentendo al modello di funzionare con precisione FP32, TF32, FP16 e INT8 per le migliori prestazioni di inferenza. Tuttavia, sebbene la precisione ridotta possa generalmente migliorare le prestazioni di latenza, potrebbe comportare una possibile instabilità e degradazione dell'accuratezza del modello. Nel complesso, la combinazione di tecniche di TensorRT si traduce in un'inferenza più rapida e una latenza inferiore rispetto ad altri motori di inferenza.
Il backend TensorRT per Triton Inference Server è progettato per sfruttare le potenti capacità di inferenza delle GPU NVIDIA. Per utilizzare TensorRT come back-end per Triton Inference Server, devi creare un motore TensorRT dal tuo modello addestrato utilizzando l'API TensorRT. Questo motore viene quindi caricato in Triton Inference Server e utilizzato per eseguire l'inferenza sulle richieste in arrivo. Di seguito sono riportati i passaggi di base per utilizzare TensorRT come back-end per Triton Inference Server:
- Converti il tuo modello addestrato in ONNX formato. Triton Inference Server supporta ONNX come formato del modello. ONNX è uno standard per rappresentare i modelli di deep learning, consentendone il trasferimento tra framework. Se il tuo modello non è già nel formato ONNX, devi convertirlo utilizzando lo strumento specifico del framework appropriato. Ad esempio, in PyTorch, questo può essere fatto usando il file
torch.onnx.export
metodo. - Importa il modello ONNX in TensorRT e genera il motore TensorRT. Per TensorRT, esistono diversi modi per creare un TensorRT dal tuo modello ONNX. Per questo post, usiamo il
trtexec
Strumento CLI.trtexec
è uno strumento per utilizzare rapidamente TensorRT senza dover sviluppare la propria applicazione. ILtrtexec
strumento ha tre scopi principali:- Reti di benchmarking su dati di input casuali o forniti dall'utente.
- Generazione di motori serializzati dai modelli.
- Generazione di una cache di temporizzazione serializzata dal builder.
- Carica il motore TensorRT in Triton Inference Server. Dopo che il motore TensorRT è stato generato, può essere caricato in Triton Inference Server creando un file configurazione del modello file. La configurazione del modello (
config.pbtxt
) deve includere il percorso del file del motore TensorRT e le forme di input e output del modello.
Ogni modello in a deposito di modelli deve includere una configurazione del modello che fornisca informazioni obbligatorie e facoltative sul modello. Tipicamente, questa configurazione è fornita in a config.pbtxt
file specificato come Protocollo ModelConfig. Ci sono diversi punti chiave da notare in questo file di configurazione:
- Nome – Questo campo definisce il nome del modello e deve essere univoco all'interno del repository del modello.
- piattaforma – Questo campo definisce il tipo di modello: motore TensorRT, PyTorch o qualcos'altro.
- dimensione_batch_massima – Questo specifica la dimensione massima del batch che può essere passata a questo modello. Se la dimensione batch del modello è la prima dimensione e tutti gli input e gli output del modello hanno questa dimensione batch, Triton può utilizzare la sua dosatore dinamico or dosatore di sequenze per utilizzare automaticamente il batch con il modello. In questo caso,
max_batch_size
dovrebbe essere impostato su un valore maggiore o uguale a 1, che indica la dimensione massima del batch che Triton dovrebbe utilizzare con il modello. Per i modelli che non supportano il batch o che non supportano il batch nei modi specifici che abbiamo descritto,max_batch_size
deve essere impostato su 0. - Ingresso e uscita – Questi campi sono obbligatori perché NVIDIA Triton necessita di metadati sul modello. In sostanza, richiede i nomi dei livelli di input e output della tua rete e la forma di detti input e output.
- gruppo_istanza – Determina quante istanze di questo modello verranno create e se utilizzeranno la GPU o la CPU.
- batch_dinamico - Dosaggio dinamico è una funzionalità di Triton che consente alle richieste di inferenza di essere combinate dal server, in modo che un batch venga creato dinamicamente. IL
preferred_batch_size
La proprietà indica le dimensioni del batch che il batcher dinamico dovrebbe tentare di creare. Per la maggior parte dei modelli,preferred_batch_size
non deve essere specificato, come descritto in Processo di configurazione consigliato. Un'eccezione sono i modelli TensorRT che specificano più profili di ottimizzazione per diverse dimensioni di batch. In questo caso, poiché alcuni profili di ottimizzazione possono fornire un significativo miglioramento delle prestazioni rispetto ad altri, può essere utile utilizzarlipreferred_batch_size
per le dimensioni dei batch supportate dai profili di ottimizzazione con prestazioni più elevate. È inoltre possibile fare riferimento alla dimensione del batch utilizzata in precedenza durante l'esecuzionetrtexec
. È inoltre possibile configurare il tempo di ritardo per consentire alle richieste di essere ritardate per un periodo di tempo limitato nello scheduler per consentire ad altre richieste di unirsi al batch dinamico.
Il backend TensorRT è stato migliorato per avere prestazioni significativamente migliori. I miglioramenti includono la riduzione della contesa dei thread, l'utilizzo della memoria bloccata per trasferimenti più rapidi tra CPU e GPU e l'aumento della sovrapposizione di copie di calcolo e memoria sulle GPU. Riduce anche l'utilizzo della memoria dei modelli TensorRT in molti casi condividendo i pesi tra più istanze del modello. Nel complesso, il backend TensorRT per Triton Inference Server fornisce un modo potente e flessibile per servire modelli di deep learning con inferenza TensorRT ottimizzata. Regolando le opzioni di configurazione, puoi ottimizzare le prestazioni e controllare il comportamento in base al tuo caso d'uso specifico.
SageMaker fornisce Triton tramite PMI e MME
SageMaker ti consente di distribuire entrambi singolo ed multimodello endpoint con Triton Inference Server. Triton supporta un cluster eterogeneo con GPU e CPU, che aiuta a standardizzare l'inferenza tra le piattaforme e scalare dinamicamente su qualsiasi CPU o GPU per gestire i picchi di carico. Il diagramma seguente illustra l'architettura di Triton Inference Server. Le richieste di inferenza arrivano al server tramite entrambi HTTP / REST o dal API Ce vengono quindi instradati allo scheduler per modello appropriato. Strumenti Triton più algoritmi di pianificazione e batching che possono essere configurati modello per modello. Lo scheduler di ogni modello esegue facoltativamente il batch delle richieste di inferenza e quindi passa le richieste al backend corrispondente al tipo di modello. Il back-end del framework esegue l'inferenza utilizzando gli input forniti nelle richieste in batch per produrre gli output richiesti. Gli output vengono quindi formattati e restituiti nella risposta. IL deposito di modelli è un repository basato su file system dei modelli che Triton renderà disponibili per l'inferenza.
SageMaker si occupa del traffic shaping verso l'endpoint MME e mantiene copie ottimali del modello sulle istanze GPU per il miglior rapporto qualità-prezzo. Continua a instradare il traffico verso l'istanza in cui è caricato il modello. Se le risorse dell'istanza raggiungono la capacità massima a causa dell'elevato utilizzo, SageMaker scarica i modelli meno utilizzati dal contenitore per liberare risorse per caricare i modelli utilizzati più di frequente. Gli MME SageMaker offrono funzionalità per l'esecuzione simultanea di più modelli di deep learning o ML sulla GPU, con Triton Inference Server, che è stato esteso per implementare il Contratto API MME. Gli MME consentono la condivisione di istanze GPU dietro un endpoint su più modelli e caricano e scaricano dinamicamente i modelli in base al traffico in entrata. Con questo, puoi facilmente ottenere prestazioni di prezzo ottimali.
Quando un MME SageMaker riceve una richiesta di chiamata HTTP per un particolare modello che utilizza TargetModel
nella richiesta insieme al payload, instrada il traffico all'istanza corretta dietro l'endpoint in cui è caricato il modello di destinazione. SageMaker si occupa della gestione dei modelli dietro l'endpoint. Scarica dinamicamente i modelli da Servizio di archiviazione semplice Amazon (Amazon S3) nel volume di archiviazione dell'istanza se il modello richiamato non è disponibile nel volume di archiviazione dell'istanza. Quindi SageMaker carica il modello nella memoria del container NVIDIA Triton su un'istanza con accelerazione GPU e serve la richiesta di inferenza. Il core della GPU è condiviso da tutti i modelli in un'istanza. Per ulteriori informazioni sugli MME SageMaker su GPU, vedere Esegui più modelli di deep learning su GPU con gli endpoint multimodello Amazon SageMaker.
Gli MME SageMaker possono scalare orizzontalmente utilizzando una policy di ridimensionamento automatico e fornire istanze di calcolo GPU aggiuntive in base a metriche specificate. Quando configuri i tuoi gruppi di ridimensionamento automatico per gli endpoint SageMaker, potresti prendere in considerazione SageMakerVariantInvocationsPerInstance
come criterio principale per determinare le caratteristiche di ridimensionamento dei gruppi di ridimensionamento automatico. Inoltre, a seconda che i tuoi modelli siano in esecuzione su GPU o CPU, potresti anche prendere in considerazione l'utilizzo CPUUtilization
or GPUUtilization
come criteri aggiuntivi. Per gli endpoint a modello singolo, poiché i modelli distribuiti sono tutti uguali, è abbastanza semplice impostare criteri adeguati per soddisfare i contratti di servizio. Per gli endpoint multi-modello, consigliamo di distribuire modelli simili dietro un determinato endpoint per ottenere prestazioni più costanti e prevedibili. Nei casi d'uso in cui vengono utilizzati modelli di dimensioni e requisiti diversi, potresti voler separare tali carichi di lavoro su più endpoint multi-modello o dedicare un po' di tempo all'ottimizzazione della policy di gruppo di ridimensionamento automatico per ottenere il miglior equilibrio tra costi e prestazioni.
Panoramica della soluzione
Grazie alla NVIDIA Tritone container image su SageMaker, ora puoi utilizzare il backend TensorRT di Triton, che ti consente di distribuire modelli TensorRT. IL TensorRT_backend repo contiene la documentazione e la fonte per il backend. Nelle sezioni seguenti, ti guideremo attraverso il quaderno di esempio che dimostra come utilizzare NVIDIA Triton Inference Server su MME SageMaker con la funzionalità GPU per implementare un modello di elaborazione del linguaggio naturale (NLP) BERT.
Crea l'ambiente
Iniziamo impostando l'ambiente richiesto. Installiamo le dipendenze necessarie per impacchettare la nostra pipeline di modelli ed eseguire inferenze utilizzando Triton Inference Server. Definiamo anche il Gestione dell'identità e dell'accesso di AWS (IAM) che consente a SageMaker di accedere agli artefatti del modello e a NVIDIA Triton Registro dei contenitori Amazon Elastic (Amazon ECR) immagine. È possibile utilizzare il seguente esempio di codice per recuperare l'immagine Triton ECR predefinita:
Aggiungere metodi di utilità per preparare il payload della richiesta
Creiamo le funzioni per trasformare il testo di esempio che stiamo usando per l'inferenza nel payload che può essere inviato per l'inferenza a Triton Inference Server. IL tritonclient
pacchetto, che è stato installato all'inizio, fornisce metodi di utilità per generare il payload senza dover conoscere i dettagli della specifica. Utilizziamo i metodi creati per convertire la nostra richiesta di inferenza in un formato binario, che fornisce latenze inferiori per l'inferenza. Queste funzioni vengono utilizzate durante la fase di inferenza.
Preparare il modello TensorRT
In questo passaggio, carichiamo il file modello BERT pre-addestrato e convertire in rappresentazione ONNX utilizzando l'esportatore torcia ONNX e il onnx_exporter.py
copione. Dopo aver creato il modello ONNX, utilizziamo TensorRT trtexec
comando per creare il piano del modello da ospitare con Triton. Questo viene eseguito come parte del generate_model.sh
script dalla cella seguente. Si noti che il completamento della cella richiede circa 30 minuti.
Durante l'attesa del completamento dell'esecuzione del comando, è possibile controllare gli script utilizzati in questo passaggio. Nel onnx_exporter.py
script, usiamo il torch.onnx.export
funzione per la creazione del modello ONNX:
La riga di comando nel file generate_model.sh crea il piano del modello TensorRT. Per ulteriori informazioni, consultare il Strumento da riga di comando trtexec.
Crea un repository di modelli BERT NLP TensorRT
L'utilizzo di Triton su SageMaker richiede di configurare prima un file deposito di modelli cartella contenente i modelli che vogliamo servire. Per ogni modello, dobbiamo creare una directory del modello composta dall'artefatto del modello e definire il file config.pbtxt
file per specificare la configurazione del modello che Triton utilizza per caricare e servire il modello. Per ulteriori informazioni sulle impostazioni di configurazione, fare riferimento a Configurazione del modello. La struttura del repository di modelli per il modello BERT è la seguente:
Si noti che Triton ha requisiti specifici per il layout del repository di modelli. All'interno della directory del repository del modello di livello superiore, ogni modello ha la propria sottodirectory contenente le informazioni per il modello corrispondente. Ogni directory del modello in Triton deve avere almeno una sottodirectory numerica che rappresenta una versione del modello. Qui, la cartella 1 rappresenta la versione 1 del modello BERT. Ogni modello è eseguito da un back-end specifico, quindi all'interno di ogni sottodirectory della versione devono essere presenti gli artefatti del modello richiesti da quel back-end. Qui stiamo utilizzando il backend TensorRT, che richiede il file del piano TensorRT utilizzato per la pubblicazione (per questo esempio, model.plan
). Se stessimo usando un backend PyTorch, a model.pt
file sarebbe richiesto. Per ulteriori dettagli sulle convenzioni di denominazione per i file modello, fare riferimento a File modello.
Ogni modello TensorRT deve fornire a config.pbtxt
file che descrive la configurazione del modello. Per utilizzare questo backend, devi impostare il file backend
campo del tuo modello config.pbtxt
file per tensorrt_plan
. La seguente sezione di codice mostra un esempio di come definire il file di configurazione per il modello BERT servito tramite il backend TensorRT di Triton:
SageMaker prevede che un file .tar.gz contenente ogni repository di modelli Triton sia ospitato sull'endpoint multi-modello. Per simulare l'hosting di diversi modelli simili, potresti pensare che sia sufficiente tarare il repository di modelli che abbiamo già creato e quindi copiarlo con nomi di file diversi. Tuttavia, Triton richiede nomi di modello univoci. Pertanto, prima copiamo il repository del modello N volte, cambiando i nomi delle directory del modello e il loro corrispondente config.pbtxt
File. Puoi modificare il numero di N per avere più copie del modello che possono essere caricate dinamicamente sull'endpoint di hosting per simulare l'azione di caricamento/scaricamento del modello gestita da SageMaker. Vedere il seguente codice:
Crea un endpoint SageMaker
Ora che abbiamo caricato gli artefatti del modello su Amazon S3, possiamo creare l'oggetto del modello SageMaker, la configurazione dell'endpoint e l'endpoint.
Innanzitutto, dobbiamo definire il contenitore di servizio. Nella definizione del contenitore, definire il ModelDataUrl
per specificare la directory S3 che contiene tutti i modelli che l'endpoint multi-modello SageMaker utilizzerà per caricare e servire le previsioni. Impostato Mode
a MultiModel
per indicare che SageMaker creerà l'endpoint con le specifiche del contenitore MME. Vedere il seguente codice:
Quindi creiamo l'oggetto modello SageMaker utilizzando il file create_model
boto3 API specificando il file ModelName
e definizione del contenitore:
Usiamo questo modello per creare un file configurazione dell'endpoint dove possiamo specificare il tipo e il numero di istanze che vogliamo nell'endpoint. Qui stiamo implementando un'istanza GPU NVIDIA g5.xlarge:
Con questa configurazione dell'endpoint, creiamo un nuovo endpoint SageMaker e attendiamo il completamento della distribuzione. Lo stato cambierà in InService
quando la distribuzione ha esito positivo.
Richiama il tuo modello ospitato sull'endpoint SageMaker
Quando l'endpoint è in esecuzione, possiamo utilizzare alcuni dati non elaborati di esempio per eseguire l'inferenza utilizzando JSON o binary+JSON come formato del payload. Per il formato della richiesta di inferenza, Triton utilizza lo standard della comunità KFServing protocolli di inferenza. Possiamo inviare la richiesta di inferenza all'endpoint multi-modello utilizzando il invoke_enpoint
API. Specifichiamo il TargetModel
nella chiamata di chiamata e passare il payload per ogni tipo di modello. Qui invochiamo l'endpoint in un ciclo for a cui richiedere l'endpoint caricare o scaricare dinamicamente i modelli in base alle richieste:
È possibile monitorare lo stato di caricamento e scaricamento del modello utilizzando Amazon Cloud Watch metriche e log. Gli endpoint multi-modello SageMaker forniscono metriche a livello di istanza da monitorare; per maggiori dettagli, fare riferimento a Monitora Amazon SageMaker con Amazon CloudWatch. LoadedModelCount
metrica mostra il numero di modelli caricati nei contenitori. IL ModelCacheHit
La metrica mostra il numero di chiamate al modello che sono già caricate nel contenitore per aiutarti a ottenere informazioni dettagliate a livello di invito al modello. Per verificare se i modelli vengono scaricati dalla memoria, puoi cercare le voci di log scaricate correttamente nei log CloudWatch dell'endpoint.
Il quaderno si trova in Repository GitHub.
Buone pratiche
Prima di iniziare qualsiasi sforzo di ottimizzazione con TensorRT, è essenziale determinare cosa deve essere misurato. Senza misurazioni, è impossibile fare progressi affidabili o misurare se il successo è stato raggiunto. Ecco alcune best practice da considerare quando si utilizza il backend TensorRT per Triton Inference Server:
- Ottimizza il tuo modello TensorRT – Prima di distribuire un modello su Triton con il backend TensorRT, assicurati di ottimizzare il modello seguendo TensorRT best practice guida. Ciò ti aiuterà a ottenere prestazioni migliori riducendo il tempo di inferenza e il consumo di memoria.
- Usa TensorRT invece di altri backend Triton quando possibile – TensorRT è progettato per ottimizzare i modelli di deep learning per l'implementazione su GPU NVIDIA, quindi il suo utilizzo può migliorare significativamente le prestazioni di inferenza rispetto all'utilizzo di altri backend Triton supportati.
- Usa la giusta precisione – TensorRT supporta più precisioni (FP32, FP16, INT8) e selezionare la precisione giusta per il tuo modello può avere un impatto significativo sulle prestazioni. Prendi in considerazione l'utilizzo di una precisione inferiore quando possibile.
- Usa le dimensioni dei batch che si adattano al tuo hardware – Assicurati di scegliere le dimensioni del batch che si adattano alla memoria della tua GPU e alle capacità di calcolo. L'utilizzo di dimensioni batch troppo grandi o troppo piccole può influire negativamente sulle prestazioni.
Conclusione
In questo post, abbiamo approfondito il backend TensorRT supportato da Triton Inference Server su SageMaker. Questo backend fornisce sia l'accelerazione della CPU che della GPU dei tuoi modelli TensorRT. Ci sono molte opzioni da considerare per ottenere le migliori prestazioni per l'inferenza, come le dimensioni dei batch, i formati di input dei dati e altri fattori che possono essere ottimizzati per soddisfare le tue esigenze. SageMaker ti consente di sfruttare questa funzionalità utilizzando endpoint a modello singolo per prestazioni garantite ed endpoint multi-modello per ottenere un migliore equilibrio tra prestazioni e risparmi sui costi. Per iniziare con il supporto MME per GPU, vedere Algoritmi, framework e istanze supportati.
Ti invitiamo a provare i contenitori di Triton Inference Server in SageMaker e a condividere i tuoi commenti e le tue domande nei commenti.
Informazioni sugli autori
Melania Li è un Senior AI/ML Specialist TAM presso AWS con sede a Sydney, in Australia. Aiuta i clienti aziendali a creare soluzioni sfruttando gli strumenti AI/ML all'avanguardia su AWS e fornisce indicazioni sull'architettura e l'implementazione di soluzioni di machine learning con le migliori pratiche. Nel tempo libero ama esplorare la natura all'aperto e trascorrere del tempo con la famiglia e gli amici.
James Park è un architetto di soluzioni presso Amazon Web Services. Collabora con Amazon per progettare, costruire e distribuire soluzioni tecnologiche su AWS e ha un interesse particolare per l'intelligenza artificiale e il machine learning. Nel tempo libero ama cercare nuove culture, nuove esperienze e tenersi aggiornato sulle ultime tendenze tecnologiche.
Jiahong Liu è un Solution Architect nel team di Cloud Service Provider di NVIDIA. Assiste i clienti nell'adozione di soluzioni di apprendimento automatico e intelligenza artificiale che sfruttano l'informatica accelerata NVIDIA per affrontare le loro sfide di formazione e inferenza. Nel tempo libero ama gli origami, i progetti fai-da-te e gioca a basket.
Kshitiz Gupta è un architetto di soluzioni presso NVIDIA. Gli piace educare i clienti del cloud sulle tecnologie di intelligenza artificiale GPU che NVIDIA ha da offrire e assisterli nell'accelerazione delle loro applicazioni di machine learning e deep learning. Al di fuori del lavoro, gli piace correre, fare escursioni e osservare la fauna selvatica.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoAiStream. Intelligenza dei dati Web3. Conoscenza amplificata. Accedi qui.
- Coniare il futuro con Adryenn Ashley. Accedi qui.
- Acquista e vendi azioni in società PRE-IPO con PREIPO®. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/host-ml-models-on-amazon-sagemaker-using-triton-tensorrt-models/
- :ha
- :È
- :non
- :Dove
- $ SU
- 1
- 10
- 100
- 11
- 12
- 13
- 23
- 30
- 7
- 8
- a
- capace
- WRI
- accelerare
- accelerata
- accelerando
- accesso
- precisione
- Raggiungere
- raggiunto
- operanti in
- Action
- aggiunta
- aggiuntivo
- Inoltre
- indirizzo
- indirizzamento
- Adottando
- Vantaggio
- Dopo shavasana, sedersi in silenzio; saluti;
- AI
- AI / ML
- algoritmo
- Algoritmi
- Tutti
- consentire
- consente
- lungo
- già
- anche
- Sebbene il
- Amazon
- Amazon Sage Maker
- Amazon Web Services
- an
- ed
- in qualsiasi
- api
- Applicazioni
- applicazioni
- opportuno
- architettura
- SONO
- in giro
- AS
- assist
- At
- Australia
- auto
- automaticamente
- disponibile
- evitare
- AWS
- BACKEND
- Equilibrio
- base
- basato
- basic
- base
- Pallacanestro
- BE
- perché
- stato
- prima
- iniziare
- Inizio
- dietro
- essendo
- benefico
- beneficiando
- MIGLIORE
- best practice
- Meglio
- fra
- stile di vita
- entrambi
- costruire
- costruttore
- costruito
- ma
- by
- Cache
- chiamata
- detto
- Materiale
- funzionalità
- Ultra-Grande
- che
- Custodie
- casi
- sfide
- il cambiamento
- cambiando
- caratteristiche
- dai un'occhiata
- Scegli
- cliente
- clienti
- Cloud
- Cluster
- codice
- COM
- combinazione
- combinato
- Venire
- Commenti
- comunità
- rispetto
- completamento di una
- calcolo
- Calcolare
- informatica
- Configurazione
- Prendere in considerazione
- Consistente
- consumo
- Contenitore
- Tecnologie Container
- contiene
- continua
- di controllo
- convertire
- Nucleo
- Corrispondente
- Costo
- risparmi
- creare
- creato
- crea
- Creazione
- creazione
- criteri
- cruciale
- Clienti
- dati
- Data
- decisione
- deep
- apprendimento profondo
- definisce
- ritardo
- Ritardato
- fornisce un monitoraggio
- dimostra
- schierare
- schierato
- distribuzione
- deployment
- descritta
- Design
- progettato
- dettagli
- Determinare
- determina
- sviluppare
- sviluppato
- diverso
- Dimensioni
- fai da te
- documentazione
- fatto
- Dont
- colomba
- download
- drammaticamente
- dovuto
- durante
- dinamico
- dinamicamente
- ogni
- facilmente
- bordo
- educare
- efficienza
- in modo efficiente
- sforzo
- o
- impiega
- enable
- Abilita
- consentendo
- endpoint
- motore
- Motori
- Impresa
- Ambiente
- ambienti
- pari
- essential
- essenzialmente
- esempio
- eccezione
- attenderti
- aspetta
- Esperienze
- esplora
- Fattori
- abbastanza
- famiglia
- più veloce
- caratteristica
- feedback
- campo
- campi
- Compila il
- File
- pinna
- Infine
- finire
- Nome
- in forma
- flessibile
- i seguenti
- segue
- Orma
- Nel
- modulo
- formato
- essere trovato
- Contesto
- quadri
- Gratis
- frequentemente
- amici
- da
- function
- funzioni
- ulteriormente
- fusione
- generalmente
- generare
- generato
- ottenere
- Dare
- dato
- dà
- GPU
- GPU
- grafico
- grande
- maggiore
- Gruppo
- Gruppo
- garantito
- guida
- guida
- maniglia
- Hardware
- Avere
- avendo
- he
- Aiuto
- aiuta
- suo
- qui
- Alta
- Alte prestazioni
- superiore
- il suo
- orizzontalmente
- host
- ospitato
- di hosting
- Come
- Tutorial
- Tuttavia
- HTML
- http
- HTTPS
- i
- ID
- Identità
- if
- illustra
- Immagine
- Impact
- impatti
- realizzare
- Implementazione
- attrezzi
- importare
- impossibile
- competenze
- migliorata
- miglioramento
- miglioramenti
- miglioramento
- in
- includere
- inclusi
- In arrivo
- crescente
- incremento
- indicare
- indica
- informazioni
- informati
- ingresso
- Ingressi
- intuizioni
- instabilità
- install
- installato
- esempio
- invece
- interesse
- ai miglioramenti
- invitare
- invocato
- IT
- SUO
- join
- jpg
- json
- Le
- Genere
- Sapere
- Lingua
- grandi
- superiore, se assunto singolarmente.
- Latenza
- con i più recenti
- lancia
- strato
- galline ovaiole
- disposizione
- IMPARARE
- apprendimento
- meno
- Leva
- leveraging
- Biblioteca
- Limitato
- linea
- caricare
- Caricamento in corso
- carichi
- ceppo
- logico
- Guarda
- Basso
- inferiore
- macchina
- machine learning
- Principale
- mantiene
- maggiore
- make
- gestito
- gestione
- molti
- partita
- massimizzando
- massimo
- Maggio..
- misurare
- misurazioni
- Soddisfare
- Memorie
- Metadati
- metodo
- metodi
- metrico
- Metrica
- forza
- Minuti
- ML
- Moda
- modello
- modelli
- modificare
- Monitorare
- Scopri di più
- maggior parte
- Endpoint multimodello
- multiplo
- devono obbligatoriamente:
- Nome
- nomi
- di denominazione
- Naturale
- Elaborazione del linguaggio naturale
- Natura
- Bisogno
- esigenze
- negativamente
- reti
- New
- nlp
- taccuino
- adesso
- numero
- Nvidia
- oggetto
- ottenere
- of
- offrire
- on
- ONE
- aprire
- Operazioni
- ottimale
- ottimizzazione
- OTTIMIZZA
- ottimizzati
- Ottimizza
- Opzioni
- or
- minimo
- OS
- Altro
- Altri
- nostro
- su
- all'aperto
- produzione
- al di fuori
- complessivo
- proprio
- pacchetto
- Parallel
- parte
- particolare
- passare
- Passato
- Passi
- sentiero
- Corrente di
- Eseguire
- performance
- esegue
- conduttura
- piano
- piattaforma
- Piattaforme
- Platone
- Platone Data Intelligence
- PlatoneDati
- gioco
- punti
- Termini e Condizioni
- politica
- possibile
- Post
- potente
- pratiche
- Precisione
- Prevedibile
- Previsioni
- preparazione
- precedente
- in precedenza
- prezzo
- primario
- Elaborato
- lavorazione
- produrre
- Produzione
- Profili
- Progressi
- progetti
- corretto
- proprietà
- Proto
- fornire
- purché
- fornitore
- fornisce
- fornitura
- fini
- pytorch
- Domande
- rapidamente
- aumentare
- casuale
- Crudo
- raggiungere
- riceve
- raccomandare
- Ridotto
- riduce
- riducendo
- regione
- affidabile
- deposito
- rappresentazione
- che rappresenta
- rappresenta
- richiesta
- richieste
- necessario
- Requisiti
- richiede
- risorsa
- Risorse
- risposta
- Risultati
- Ruolo
- strada
- percorsi
- rt
- Correre
- running
- s
- sagemaker
- Suddetto
- stesso
- Risparmi
- Risparmio
- Scala
- bilancia
- scala
- programmazione
- script
- sdk
- Sezione
- sezioni
- vedere
- cerca
- Selezione
- inviare
- anziano
- senso
- separato
- servire
- serve
- servizio
- Provider di servizi
- Servizi
- servizio
- set
- regolazione
- impostazioni
- alcuni
- Forma
- forme
- sagomatura
- Condividi
- condiviso
- compartecipazione
- lei
- dovrebbero
- Spettacoli
- significativa
- significativamente
- simile
- Un'espansione
- singolo
- Taglia
- Dimensioni
- piccole
- PMI
- So
- soluzione
- Soluzioni
- alcuni
- qualcosa
- Fonte
- specialista
- specifico
- specificazione
- Specifiche tecniche
- specificato
- spendere
- Standard
- iniziato
- Di partenza
- state-of-the-art
- Stato dei servizi
- costante
- step
- Passi
- conservazione
- lineare
- flussi
- La struttura
- il successo
- di successo
- tale
- Completo
- supporto
- supportato
- supporti
- sydney
- Fai
- prende
- Target
- team
- tecniche
- Tecnologie
- Tecnologia
- di
- che
- Il
- Il grafo
- le informazioni
- loro
- Li
- poi
- Là.
- perciò
- Strumenti Bowman per analizzare le seguenti finiture:
- di
- think
- questo
- quelli
- tre
- Attraverso
- tempo
- volte
- sincronizzazione
- a
- pure
- strumenti
- di livello superiore
- torcia
- traffico
- allenato
- Training
- Le transazioni
- trasferito
- trasferimenti
- Trasformare
- trasformatori
- tendenze
- tritone
- Digitare
- tipico
- tipicamente
- capire
- unico
- caricato
- us
- Impiego
- uso
- caso d'uso
- utilizzato
- utilizzando
- utilità
- utilizzare
- APPREZZIAMO
- vario
- versione
- molto
- via
- volume
- aspettare
- In attesa
- volere
- Prima
- guardare
- Modo..
- modi
- we
- sito web
- servizi web
- sono stati
- Che
- quando
- se
- quale
- volere
- con
- entro
- senza
- Lavora
- lavori
- sarebbe
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro