Informazioni sulla distribuzione di modelli di linguaggio di grandi dimensioni in OCI

L'implementazione di un Large Language Model (LLM) in modo efficiente e su larga scala è un compito impegnativo e a uso intensivo di risorse. Oracle Cloud Infrastructure (OCI) offre GPU AMD Instinct™ MI300X nell'offerta Bare Metal che esegue il modello LLama2 70B.
vLLM è una libreria veloce e facile da usare per l'inferenza e la gestione di LLM. PagedAttention, che è centrale per vLLM, migliora l'efficienza del meccanismo di attenzione gestendolo come memoria virtuale. Migliora l'utilizzo della memoria GPU, abilita l'elaborazione di sequenze più lunghe e supporta il funzionamento all'interno dei vincoli delle risorse hardware. Inoltre, vLLM consente il batch continuo per migliorare il throughput e ridurre la latenza.

In questa soluzione playbook, scopri come distribuire un LLM utilizzando le GPU AMD Instinct™ MI300X in OCI.

Flusso di lavoro soluzione

Hugging Face è una piattaforma collaborativa e un hub per il machine learning che fornisce modelli AI pre-addestrati, strumenti di sviluppo e infrastruttura di hosting per le applicazioni AI, rendendo il machine learning avanzato accessibile agli sviluppatori di tutto il mondo.

Il diagramma di workflow riportato di seguito mostra come è possibile estrarre gli artifact del modello dalla libreria open source GitHub Hugging Face e memorizzarli in OCI Object Storage.


Le immagini create dal modello possono essere memorizzate nel registro OCI per la gestione delle immagini del modello, il controllo delle versioni e la gestione sicura degli accessi. Il cluster avanzato Oracle Cloud Infrastructure Kubernetes Engine in OCI con istanza GPU AMD BM può essere avviato utilizzando un'interfaccia CLI o dalla console. Infine, un endpoint di inferenza del modello può essere servito protetto sulla rete o su Internet.

Di seguito sono elencati i componenti di terze parti.

  • GPU AMD Instinct™

    GPU AMD Instinct™ MI300X con AMD ROCm™ open software alimenta le istanze di Supercluster OCI Compute denominate BM.GPU.MI300X.8. Le GPU AMD Instinct MI300X e il software ROCm alimentano i carichi di lavoro AI OCI più importanti.

    Le funzionalità di inferenza delle GPU AMD Instinct MI300X si aggiungono all'ampia selezione di istanze Bare Metal ad alte prestazioni di OCI per rimuovere il carico di lavoro della computazione virtualizzata comunemente utilizzata per l'infrastruttura AI.

  • Endpoint di inferenza

    Gli endpoint di inferenza offrono una soluzione di produzione sicura per distribuire facilmente qualsiasi modello di trasformatori, trasformatori di frasi e diffusori dall'hub su un'infrastruttura dedicata e di ridimensionamento automatico gestita dagli endpoint di inferenza.

Di seguito sono elencati i componenti OCI.

  • Area OCI

    Un'area geografica OCI è un'area geografica localizzata che contiene uno o più data center, che ospitano domini di disponibilità. Le regioni sono indipendenti da altre regioni e vaste distanze possono separarle (tra paesi o addirittura continenti).

  • Rete e subnet cloud virtuale OCI

    Una rete cloud virtuale (VCN, virtual cloud network) è una rete personalizzabile e definita dal software impostata in un'area OCI. Come le reti di data center tradizionali, le reti VCN ti danno il controllo sul tuo ambiente di rete. Una VCN può avere più blocchi CIDR (Classless Inter-Domain Routing) non sovrapposti che è possibile modificare dopo aver creato la VCN. È possibile segmentare una VCN in subnet, che possono essere definite in un'area o in un dominio di disponibilità. Ogni subnet è costituita da un intervallo contiguo di indirizzi che non si sovrappongono alle altre subnet nella VCN. È possibile modificare le dimensioni di una sottorete dopo la creazione. Una subnet può essere pubblica o privata.

  • Volumi a blocchi OCI

    Con Oracle Cloud Infrastructure Block Volumes, puoi creare, collegare, connettere e spostare volumi di storage e modificare le prestazioni dei volumi per soddisfare i requisiti di storage, prestazioni e applicazioni. Dopo aver collegato e connesso un volume a un'istanza, puoi utilizzare il volume come un normale disco rigido. Puoi anche disconnettere un volume e collegarlo a un'altra istanza senza perdere dati.

  • Motore Kubernetes OCI

    Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine o OKE) è un servizio completamente gestito, scalabile e ad alta disponibile da utilizzare per distribuire le applicazioni containerizzate nel cloud. È possibile specificare le risorse di computazione richieste dalle applicazioni e OKE le esegue il provisioning su OCI in una tenancy esistente. OKE utilizza Kubernetes per automatizzare l'implementazione, il ridimensionamento e la gestione di applicazioni containerizzate tra cluster di host.

  • Memorizzazione degli oggetti OCI

    Lo storage degli oggetti OCI fornisce l'accesso a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi backup del database, dati analitici e contenuti avanzati come immagini e video. Puoi memorizzare in tutta sicurezza i dati direttamente dalle applicazioni o dall'interno della piattaforma cloud. È possibile ridimensionare lo storage senza subire alcun deterioramento a livello di prestazioni o affidabilità del servizio.

    Utilizza lo storage standard per lo storage "caldo" a cui devi accedere in modo rapido, immediato e frequente. Utilizzare lo storage di archivio per lo storage "a freddo" che si conserva per lunghi periodi di tempo e a cui si accede raramente o raramente.

  • OCI Registry

    Oracle Cloud Infrastructure Registry è un servizio gestito da Oracle che ti consente di semplificare il tuo flusso di lavoro dallo sviluppo alla produzione. Registry semplifica la memorizzazione, la condivisione e la gestione degli artifact di sviluppo, come le immagini Docker.

Operazioni preliminari

Prima di iniziare, assicurarsi di impostare quanto segue:

Informazioni sui prodotti e i ruoli richiesti

Questa soluzione richiede i seguenti prodotti:

  • Computazione Oracle Cloud Infrastructure Bare Metal con GPU AMD
  • Oracle Cloud Infrastructure Object Storage
  • Oracle Cloud Infrastructure Block Volumes
  • Oracle Cloud Infrastructure Kubernetes Engine
  • Oracle Cloud Infrastructure Registry

Questi sono i ruoli necessari per ogni prodotto.

Nome servizio: ruolo Obbligatorio per...
criterio Oracle Cloud Instance Launch Using Custom Image
  • Consentire al gruppo ImageUsers di esaminare instance-images nel compartimento ABC.
  • Consentire al gruppo ImageUsers di passare a {INSTANCE_IMAGE_READ} nel compartimento ABC in cui target.image.id=''.
  • Consentire al gruppo ImageUsers di gestire le istanze nel compartimento ABC.
  • Consentire al gruppo ImageUsers di leggere app-catalog-listing nella tenancy.
  • Consentire al gruppo ImageUsers di utilizzare volume-family nel compartimento ABC.
  • Consentire al gruppo ImageUsers di utilizzare virtual-network-family nel compartimento XYZ.
criterio Oracle Cloud Manage Kubernetes Cluster
  • Consentire il gruppo <group-name> a manage cluster-family in <location>.
  • Consentire al gruppo acme-dev-team-pool-admins di utilizzare cluster-node-pools in <location>.
Per creare un cluster OKE in OCI, è necessario appartenere al gruppo Administrators della tenancy o appartenere a un gruppo a cui un criterio concede l'autorizzazione CLUSTER_MANAGE.

Vedere Configurazione dei criteri per la creazione e la distribuzione del cluster.

criterio Oracle Cloud working with Images from Registry
  • Consentire al gruppo acme-pullers di leggere i repository nella tenancy.
  • Consentire al gruppo acme-pushers di gestire i repository nella tenancy.

Consulta i prodotti, le soluzioni e i servizi Oracle per ottenere ciò di cui hai bisogno.