Large Language Models in OCI bereitstellen

Die effiziente und skalierbare Bereitstellung eines Large Language Model (LLM) ist eine anspruchsvolle und ressourcenintensive Aufgabe. Oracle Cloud Infrastructure (OCI) bietet AMD Instinct™ MI300X GPU im Bare-Metal-Angebot, auf dem LLama2 70B-Modell ausgeführt wird.
vLLM ist eine schnelle und benutzerfreundliche Bibliothek für LLM-Inferenz und -Service. PagedAttention, das für vLLM von zentraler Bedeutung ist, verbessert die Effizienz des Aufmerksamkeitsmechanismus, indem es als virtueller Speicher verwaltet wird. Es verbessert die GPU-Speicherauslastung, ermöglicht die Verarbeitung längerer Sequenzen und unterstützt das Arbeiten innerhalb der Hardwareressourcenbeschränkungen. Darüber hinaus ermöglicht vLLM eine kontinuierliche Batchverarbeitung, um den Durchsatz zu verbessern und die Latenz zu reduzieren.

In diesem Lösungs-playbook erfahren Sie, wie Sie ein LLM mit AMD Instinct™ MI300X-GPUs in OCI bereitstellen.

Lösungsworkflow

Hugging Face ist eine kollaborative Plattform und ein Hub für maschinelles Lernen, die vortrainierte KI-Modelle, Entwicklungstools und Hosting-Infrastruktur für KI-Anwendungen bereitstellt, sodass fortgeschrittenes maschinelles Lernen für Entwickler weltweit zugänglich ist.

Das folgende Workflowdiagramm zeigt, wie Modellartefakte aus der Open-Source-Library GitHub von Hugging Face abgerufen und in OCI Object Storage gespeichert werden können.


Images, die aus dem Modell erstellt wurden, können in der OCI-Registry für Modellimageverwaltung, Versionskontrolle und gesicherte Zugriffsverwaltung gespeichert werden. Das erweiterte Oracle Cloud Infrastructure Kubernetes Engine-Cluster in OCI mit AMD BM GPU-Instanz kann über eine CLI oder über die Konsole gestartet werden. Schließlich kann ein Modellinferenzendpunkt über das Netzwerk oder Internet gesichert bedient werden.

Im Folgenden werden die Drittanbieterkomponenten aufgeführt:

  • AMD Instinct™-GPUs

    AMD Instinct™ MI300X GPU mit AMD ROCm™ Open-Software-Power OCI Compute Supercluster-Instanzen namens BM.GPU.MI300X.8. AMD Instinct MI300X-GPUs und ROCm-Software unterstützen die wichtigsten OCI-KI-Workloads.

    Die Inferenzfunktionen von AMD Instinct MI300X GPUs ergänzen die umfangreiche Auswahl an leistungsstarken Bare-Metal-Instanzen von OCI, um den Overhead für virtualisiertes Computing zu beseitigen, das häufig für die KI-Infrastruktur verwendet wird.

  • Inferenzendpunkte

    Inference Endpoints bietet eine sichere Produktionslösung für die einfache Bereitstellung von Transformers-, Sentence-Transformers- und Diffusers-Modellen aus dem Hub auf einer dedizierten und von Inference Endpoints verwalteten Autoscaling-Infrastruktur.

Im Folgenden werden die OCI-Komponenten aufgeführt:

  • OCI-region

    Eine OCI-Region ist ein lokalisierter geografischer Bereich, der mindestens ein Data Centre enthält, das Availability-Domains hostet. Regionen sind unabhängig von anderen Regionen, und große Entfernungen können über Länder oder Kontinente voneinander getrennt werden.

  • Virtuelles OCI-Cloud-Netzwerk und Subnetz

    Ein virtuelles Cloud-Netzwerk (VCN) ist ein anpassbares, softwaredefiniertes Netzwerk, das Sie in einer OCI-Region einrichten. Wie herkömmliche Data Center-Netzwerke erhalten Sie über VCNs die Kontrolle über Ihre Netzwerkumgebung. Ein VCN kann mehrere nicht überschneidende CIDR-Blöcke aufweisen, die Sie nach dem Erstellen des VCN ändern können. Sie können ein VCN in Subnetze segmentieren, die sich auf eine Region oder eine Availability-Domain beschränken. Jedes Subnetz besteht aus einem Bereich zusammenhängender Adressen, die sich nicht mit anderen Subnetzen im VCN überschneiden. Sie können die Größe eines Subnetzes nach der Erstellung ändern. Ein Subnetz kann öffentlich oder privat sein.

  • OCI-Block-Volumes

    Mit Oracle Cloud Infrastructure Block Volumes können Sie Speicher-Volumes erstellen, anhängen, verbinden und verschieben sowie die Volume-Performance ändern, um Ihre Speicher-, Performance- und Anwendungsanforderungen zu erfüllen. Nachdem Sie ein Volume an eine Instanz angehängt und damit verbunden haben, können Sie es wie eine herkömmliche Festplatte verwenden. Sie können ein Volume auch trennen und an eine andere Instanz anhängen, ohne Daten zu verlieren.

  • OCI Kubernetes Engine

    Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine oder OKE) ist ein vollständig verwalteter, skalierbarer und hochverfügbarer Service, mit dessen Hilfe Sie Ihre containerisierten Anwendungen in der Cloud bereitstellen können. Sie geben die Compute-Ressourcen an, die Ihre Anwendungen benötigen, und OKE stellt sie auf OCI in einem vorhandenen Mandanten bereit. OKE automatisiert mit Kubernetes das Deployment, die Skalierung und die Verwaltung containerisierter Anwendungen über Hostscluster hinweg.

  • OCI Object Storage

    OCI Object Storage bietet Zugriff auf große Mengen an strukturierten und unstrukturierten Daten eines beliebigen Inhaltstyps, darunter Datenbankbackups, Analysedaten und umfangreiche Inhalte, wie Bilder und Videos. Sie können Daten sicher und sicher direkt aus Anwendungen oder aus der Cloud-Plattform speichern. Sie können den Storage skalieren, ohne dass die Performance oder Servicezuverlässigkeit beeinträchtigt wird.

    Verwenden Sie den Standardspeicher für "Hot Storage", auf die Sie schnell, sofort und häufig zugreifen müssen. Verwenden Sie Archivspeicherung für "Cold Storage", die Sie über lange Zeiträume beibehalten und nur selten darauf zugreifen.

  • OCI Registry

    Oracle Cloud Infrastructure Registry ist ein von Oracle verwalteter Service, mit dem Sie Ihren Workflow der Entwicklung bis hin zur Produktion vereinfachen können. Mit Registry können Sie Entwicklungsartefakte wie Docker-Images einfach speichern, teilen und verwalten.

Bevor Sie beginnen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes einrichten:

Informationen zu erforderlichen Produkten und Rollen

Für diese Lösung sind folgende Produkte erforderlich:

  • Oracle Cloud Infrastructure Compute Bare Metal mit AMD-GPU
  • Oracle Cloud Infrastructure Object Storage
  • Oracle Cloud Infrastructure Block Volumes
  • Oracle Cloud Infrastructure Kubernetes Engine
  • Oracle Cloud Infrastructure Registry

Dies sind die Rollen, die für jedes Produkt erforderlich sind.

Servicename: Rolle Erforderlich für...
Oracle Cloud Instance Launch Using Custom Image-Policy
  • Lassen Sie zu, dass die Gruppe ImageUsers instance-images in Compartment ABC prüft.
  • Lassen Sie die Gruppe ImageUsers in Compartment ABC mit target.image.id='' auf {INSTANCE_IMAGE_READ} zu.
  • Lassen Sie zu, dass die Gruppe ImageUsers Instanzen in Compartment ABC verwaltet.
  • Lassen Sie zu, dass Gruppe ImageUsers app-catalog-listing im Mandanten liest.
  • Lassen Sie zu, dass die Gruppe ImageUsers volume-family in Compartment ABC verwendet.
  • Lassen Sie zu, dass Gruppe ImageUsers virtual-network-family in Compartment XYZ verwendet.
Oracle Cloud Manage Kubernetes Cluster-Policy
  • Lassen Sie die Gruppe <group-name> in <location> auf manage cluster-family zu.
  • Lassen Sie zu, dass Gruppe acme-dev-team-pool-admins cluster-node-pools in <location> verwendet.
Um in OCI ein OKE-Cluster zu erstellen, müssen Sie entweder zu der Gruppe Administrators des Mandanten oder zu der Gruppe gehören, der eine Policy die Berechtigung CLUSTER_MANAGE erteilt.

Weitere Informationen finden Sie unter Policy-Konfiguration für Clustererstellung und -Deployment.

Oracle Cloud working with Images from Registry-Policy
  • Lassen Sie zu, dass Gruppe acme-pullers Repositorys im Mandanten liest.
  • Lassen Sie zu, dass Gruppe acme-pushers Repositorys im Mandanten verwaltet.

Informationen zu Ihren Anforderungen finden Sie unter Produkte, Lösungen und Services von Oracle.