Acerca del despliegue de modelos de lenguaje grandes en OCI

Implementar un modelo de lenguaje grande (LLM) de manera eficiente y a escala es una tarea desafiante y que requiere muchos recursos. Oracle Cloud Infrastructure (OCI) ofrece GPU AMD Instinct™ MI300X en una oferta con hardware dedicado que ejecuta el modelo LLama2 70B.
vLLM es una biblioteca rápida y fácil de usar para la inferencia y el servicio de LLM. PagedAttention, que es central para vLLM, mejora la eficiencia del mecanismo de atención gestionándolo como memoria virtual. Mejora el uso de la memoria de la GPU, permite el procesamiento de secuencias más largas y admite el trabajo dentro de las restricciones de recursos de hardware. Además, vLLM permite el procesamiento continuo por lotes para mejorar el rendimiento y reducir la latencia.

En este manual de soluciones, aprenderá a desplegar un LLM mediante GPU AMD Instinct™ MI300X en OCI.

Flujo de trabajo de solución

Hugging Face es una plataforma y un centro de colaboración para el aprendizaje automático que proporciona modelos de IA preentrenados, herramientas de desarrollo e infraestructura de alojamiento para aplicaciones de IA, lo que hace que el aprendizaje automático avanzado sea accesible para desarrolladores de todo el mundo.

En el siguiente diagrama de flujo de trabajo se muestra cómo los artefactos de modelo se pueden extraer de la biblioteca de código abierto GitHub de Hugging Face y almacenarse en OCI Object Storage.


Las imágenes creadas a partir del modelo se pueden almacenar en OCI Registry para la gestión de imágenes del modelo, el control de versiones y la gestión de acceso seguro. El cluster mejorado de Oracle Cloud Infrastructure Kubernetes Engine en OCI con una instancia de GPU BM de AMD se puede iniciar mediante una CLI o desde la consola. Finalmente, un punto final de inferencia de modelo se puede servir seguro a través de la red o Internet.

A continuación, se enumeran los componentes de terceros:

  • GPU AMD Instinct™

    GPU AMD Instinct™ MI300X con software abierto AMD ROCm™ alimenta las instancias de supercluster de OCI Compute denominadas BM.GPU.MI300X.8. Las GPU AMD Instinct MI300X y el software ROCm impulsan las cargas de trabajo de IA de OCI más críticas.

    Las capacidades de inferencia de las GPU AMD Instinct MI300X se suman a la amplia selección de instancias con hardware dedicado de alto rendimiento de OCI para eliminar la sobrecarga de los recursos informáticos virtualizados que se suelen utilizar para la infraestructura de IA.

  • Puntos finales de inferencia

    Inference Endpoints ofrece una solución de producción segura para implementar fácilmente cualquier modelo de Transformers, Sentence-Transformers y Diffusers desde el Hub en una infraestructura dedicada y de escala automática gestionada por Inference Endpoints.

A continuación, se muestran los componentes de OCI:

  • Región OCI

    Una región de OCI es un área geográfica localizada que contiene uno o más centros, denominados dominios de disponibilidad. Las regiones son independientes de otras regiones y pueden haber grandes distancias que las separan (entre países o incluso continentes).

  • Red virtual en la nube y subred de OCI

    Una red virtual en la nube (VCN) es una red personalizable y definida por software que se configura en una región de OCI. Al igual que las Redes de los Centros de Datos Tradicionales, las Redes Virtuales le proporcionan el control sobre su entorno de red. Una VCN puede tener varios bloques de CIDR no superpuestos que puede cambiar después de crear la VCN. Puede segmentar una VCN en subredes, las cuales se pueden acotar a una región o a un dominio de disponibilidad. Cada subred está formada por un rango contiguo de direcciones que no se solapan con las demás subredes de la VCN. Puede cambiar el tamaño de una subred después de la creación. Una subred puede ser pública o privada.

  • Volúmenes en bloque de OCI

    Con Oracle Cloud Infrastructure Block Volumes, puede crear, asociar, conectar y mover volúmenes de almacenamiento, y cambiar el rendimiento de los volúmenes para que se ajusten a sus requisitos de almacenamiento, rendimiento y aplicación. Después de asociar y conectar un volumen a una instancia, puede utilizar el volumen como si se tratara de una unidad de disco duro normal. También puede desconectar un volumen y asociarlo a otra instancia sin tener que perder datos.

  • OCI Kubernetes Engine

    Oracle Cloud Infrastructure Kubernetes Engine (OCI Kubernetes Engine o OKE) es un servicio totalmente gestionado, escalable y de alta Disponibilidad que puede utilizar para desplegar aplicaciones de contenedores en la nube. Especifique los recursos informáticos que necesitan sus aplicaciones y OKE los aprovisiona en OCI en un arrendamiento existente. OKE utiliza Kubernetes para automatizar el despliegue, la ampliación y la gestión de aplicaciones en contenedores en clusters de hosts.

  • OCI Object Storage

    OCI Object Storage proporciona acceso a grandes cantidades de datos estructurados y no estructurados de cualquier tipo de contenido, incluidas copias de seguridad en bases de datos, datos analíticos y contenido enriquecido como imágenes y vídeos. Puede almacenar datos de forma segura directamente desde las aplicaciones o desde la plataforma en la nube. Puedes ampliar el almacenamiento sin experimentar ninguna degradación del rendimiento o la fiabilidad del servicio.

    Utilice el almacenamiento estandar para el almacenamiento "caliente" al que debe acceder de forma rápida, inmediata y frecuente. Utilice este tipo de almacenamiento para el almacenamiento "frío" que conserva durante largos períodos de tiempo y a los a los que rara vez accede.

  • OCI Registry

    Oracle Cloud Infrastructure Registry es un servicio gestionado por Oracle que permite simplificar el flujo de trabajo del desarrollo a la producción. Registry facilita su almacenamiento, uso compartido y gestión de artefactos de desarrollo, como imágenes de Docker.

Antes de empezar

Antes de comenzar, asegúrese de configurar lo siguiente:

Acerca de los productos y roles necesarios

Esta solución requiere los siguientes productos:

  • Hardware dedicado de Oracle Cloud Infrastructure Compute con GPU AMD
  • Oracle Cloud Infrastructure Object Storage
  • Oracle Cloud Infrastructure Block Volumes
  • Oracle Cloud Infrastructure Kubernetes Engine
  • Oracle Cloud Infrastructure Registry

Estos son los roles necesarios para cada producto.

Nombre de servicio: Rol Necesario para...
Política Oracle Cloud Instance Launch Using Custom Image
  • Permita que el grupo ImageUsers inspeccione instance-images en el compartimento ABC.
  • Permita que el grupo ImageUsers sea {INSTANCE_IMAGE_READ} en el compartimento ABC, donde target.image.id=''.
  • Permita que el grupo ImageUsers gestione instancias en el compartimento ABC.
  • Permita que el grupo ImageUsers lea app-catalog-listing en el arrendamiento.
  • Permita que el grupo ImageUsers utilice volume-family en el compartimento ABC.
  • Permita que el grupo ImageUsers utilice virtual-network-family en el compartimento XYZ.
Política Oracle Cloud Manage Kubernetes Cluster
  • Permita que el grupo <group-name> sea manage cluster-family en <location>.
  • Permita que el grupo acme-dev-team-pool-admins utilice cluster-node-pools en <location>.
Para crear el cluster de OKE en OCI, debe pertenecer al grupo Administrators del arrendamiento o pertenecer a uno al que una política otorgue el permiso CLUSTER_MANAGE.

Consulte Configuración de políticas para creación y despliegue de clusters.

Política Oracle Cloud working with Images from Registry
  • Permita que el grupo acme-pullers lea los repositorios del arrendamiento.
  • Permitir que el grupo acme-pushers gestione repositorios en el arrendamiento.

Consulte Productos, soluciones y servicios de Oracle para obtener lo que necesita.