关于在 OCI 中部署大型语言模型

高效大规模部署大型语言模型 (LLM) 是一项具有挑战性的资源密集型任务。Oracle Cloud Infrastructure (OCI) 在运行 LLama2 70B 模型的裸金属产品中提供 AMD Instinct ™ MI300X GPU
vLLM 是一个用于 LLM 推断和服务的快速且易于使用的库。PagedAttention 是 vLLM 的核心,通过将其作为虚拟内存进行管理来提高警示机制的效率。它增强了 GPU 内存利用率,允许处理较长的序列,并支持在硬件资源约束内工作。此外,vLLM 可实现连续批处理,从而提高吞吐量并减少延迟。

在此解决方案手册中,您将了解如何在 OCI 中使用 AMD Instinct ™ MI300X GPU 部署 LLM。

解决方案工作流

拥抱面是机器学习的协作平台和中心,为 AI 应用提供预训练的 AI 模型、开发工具和托管基础设施,可帮助全球开发人员访问高级机器学习。

以下工作流图显示了如何从 Hugging Face GitHub 开源库提取模型构件并将其存储在 OCI Object Storage 中。


可以将基于模型构建的映像存储在 OCI 注册表中,以进行模型映像管理、版本控制和安全访问管理。可以使用 CLI 或控制台启动 OCI 中具有 AMD BM GPU 实例的 Oracle Cloud Infrastructure Kubernetes Engine 增强集群。最后,模型推断端点可以通过网络或互联网提供安全保护。

下面列出了第三方组件:

  • AMD Instinct ™ GPU

    AMD Instinct ™ MI300X GPU ,带 AMD ROCm ™ 开放软件,为名为 BM.GPU.MI300X.8OCI Compute Supercluster 实例提供强大功能。AMD Instinct MI300X GPU 和 ROCm 软件为关键 OCI AI 工作负载提供支持。

    AMD Instinct MI300X GPU 的推断功能有助于 OCI 广泛选择高性能裸金属实例,从而消除通常用于 AI 基础设施的虚拟化计算的开销。

  • 推断端点

    Inference Endpoints 提供了一个安全的生产解决方案,可以在由 Inference Endpoints 管理的专用和自动缩放基础设施上,轻松地从 Hub 部署任何 Transformers、Sentence-Transformers 和 Diffusers 模型。

下面列出了 OCI 组件:

  • OCI 地区

    OCI 区域是一个本地化的地理区域,其中包含一个或多个托管可用性域的数据中心。区域独立于其他区域,并且很远的距离可以将它们分开(跨越国家甚至大洲)。

  • OCI 虚拟云网络和子网

    虚拟云网络 (VCN) 是您可以在 OCI 区域中设置的可定制软件定义网络。与传统数据中心网络一样,VCN 允许您控制网络环境。一个 VCN 可以具有多个不重叠的无类域间路由 (classless inter-domain routing,CIDR) 块,在创建 VCN 后可以更改这些块。您可以将 VCN 细分为多个子网,这些子网可以限定为某个区域或某个可用性域。每个子网由一系列不与 VCN 中的其他子网重叠的连续地址组成。您可以在创建子网后更改子网的大小。子网可以是公共子网,也可以是专用子网。

  • OCI 块存储卷

    借助 Oracle Cloud Infrastructure Block Volumes ,您可以创建、附加、连接和移动存储卷,并更改卷性能,以满足存储、性能和应用需求。连接卷并将其连接到实例后,您可以像常规硬盘驱动器那样使用该卷。您还可以断开卷的连接并将其附加到另一个实例,而不会丢失数据。

  • OCI Kubernetes 引擎

    Oracle Cloud Infrastructure Kubernetes EngineOCI Kubernetes EngineOKE )是一项完全托管、可扩展且高度可用的服务,可用于将容器化应用部署到云端。您可以指定应用所需的计算资源, OKE 可在现有租户的 OCI 上预配这些资源。OKE 使用 Kubernetes 跨主机集群自动部署、扩展和管理容器化应用。

  • OCI 对象存储

    OCI Object Storage 可访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及图像和视频等丰富内容。您可以安全地直接从应用或云平台内存储数据。您可以扩展存储,而不会出现性能或服务可靠性下降的情况。

    将标准存储用于您需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留且很少或很少访问的“冷”存储。

  • OCI 注册表

    Oracle Cloud Infrastructure Registry 是一项由 Oracle 管理的服务,可帮助您简化从开发到生产的工作流。通过注册表,您可以轻松存储、共享和管理开发对象,例如 Docker 映像。

使用须知

开始之前,请确保设置以下内容:

关于必需的产品和角色

此解决方案需要以下产品:

  • 搭载 AMD GPU 的 Oracle Cloud Infrastructure Compute 裸金属
  • Oracle Cloud Infrastructure Object Storage
  • Oracle Cloud Infrastructure 块存储卷
  • Oracle Cloud Infrastructure Kubernetes Engine
  • Oracle Cloud Infrastructure 注册表

这些是每个产品所需的角色。

服务名称:角色 必需 ...
Oracle Cloud Instance Launch Using Custom Image 策略
  • 允许组 ImageUsers 检查区间 ABC 中的 instance-images
  • 允许在 target.image.id='' 的区间 ABC 中将组 ImageUsers{INSTANCE_IMAGE_READ}
  • 允许组 ImageUsers 管理区间 ABC 中的实例。
  • 允许组 ImageUsers 读取租户中的 app-catalog-listing
  • 允许组 ImageUsers 在区间 ABC 中使用 volume-family
  • 允许组 ImageUsers 在区间 XYZ 中使用 virtual-network-family
Oracle Cloud Manage Kubernetes Cluster 策略
  • 允许 <location> 中的组 <group-name>manage cluster-family
  • 允许组 acme-dev-team-pool-admins<location> 中使用 cluster-node-pools
要在 OCI 中创建 OKE 集群,您必须属于租户的 Administrators 组,或者属于策略向其授予 CLUSTER_MANAGE 权限的组。

请参见 Policy Configuration for Cluster Creation and Deployment

Oracle Cloud working with Images from Registry 策略
  • 允许组 acme-pullers 读取租户中的系统信息库。
  • 允许组 acme-pushers 管理租户中的系统信息库。

观看 Oracle 产品、解决方案和服务,了解您的需求。