hugs 文档
在 Google Cloud 上运行 HUGS
并获得增强的文档体验
开始使用
在 Google Cloud 上运行 HUGS
Hugging Face 生成式 AI 服务,也称为 HUGS,可以通过 Google Cloud Marketplace 产品在 Google Cloud 中部署。
此次合作将 Hugging Face 庞大的预训练模型库及其文本生成推理 (TGI) 解决方案带给 Google Cloud 客户,使得在 Google Cloud 基础设施内无缝集成最先进的大型语言模型 (LLM) 成为可能。
HUGS 提供了对 Hugging Face Hub 中精选并经过人工基准测试的、性能最佳且最新的开放 LLM 集合的访问,这些模型被整合到 TGI 优化的容器应用程序中,允许用户在 GCP 或本地环境中部署第三方 Kubernetes 应用程序。
借助 HUGS,开发人员可以轻松地使用 GCP 基础设施查找、订阅和部署 Hugging Face 模型,利用 NVIDIA GPU 在经过优化的零配置 TGI 容器上的强大功能。
在 GCP Marketplace 上订阅 HUGS
前往 HUGS Google Cloud Marketplace 列表页面
按照页面上的说明在 Google Cloud 中订阅该产品。在撰写本文时(2024 年 10 月),步骤如下:
- 点击 `Purchase`,然后进入下一页。
- 通过选择正确的方案、账单账户并确认条款来配置订单。然后点击 `Subscribe`。
您应该会看到一条消息:“Your order request has been sent to Hugging Face”。旁边有一个按钮“Go to Product Page”。点击它。
要了解您是否已订阅,您可以查看产品页面上的“Purchase”按钮或“Configure”按钮是否启用,这表示您或您组织中的其他人已经为您的账户请求了访问权限。
在 Google Cloud GKE 上部署 HUGS
本示例展示了如何在 Google Cloud GKE 上部署 HUGS 容器和模型。
本示例假设您拥有一个 Google Cloud 账户,已经安装并设置了 Google Cloud CLI,并且已经使用具有在 Google Cloud Marketplace 中订阅产品、创建和管理 IAM 权限以及 Google Kubernetes Engine (GKE) 等资源的必要权限登录了您的账户。
当通过 UI 在 Google Cloud 上部署 HUGS 时,您可以选择一个现有的 GKE 集群或创建一个新的集群。如果您想创建一个新的,可以按照这里的说明进行操作。此外,您还需要定义:
Namespace(命名空间):部署 HUGS 容器和模型的命名空间。
App Instance Name(应用实例名称):HUGS 容器的名称。
Hugs Model Id(Hugs 模型 ID):从 Hugging Face Hub 中选择您想要部署的模型。您可以在这里找到所有支持的模型。
GPU Number(GPU 数量):您可用并希望用于部署的 GPU 数量,请务必查看支持的模型矩阵以了解哪些模型需要 GPU。
GPU Type(GPU 类型):您 GKE 集群中可用的 GPU 类型。
Reporting Service Account(报告服务账户):用于报告的服务账户。
接下来,点击 `Deploy` 并等待部署完成。这大约需要 10-15 分钟。
如果您想更好地了解不同的部署选项,例如为 Meta Llama 3.1 8B Instruct 配置 1 个 NVIDIA L4 GPU,您可以查看支持的模型矩阵。
向 HUGS 应用程序发送请求
每个 HUGS 应用程序都包含有关如何检索 Ingress IP 地址和端口以向应用程序发送请求的说明。HUGS 部署是 HELM chart 的部署,其中包括我们的模型容器、市场代理 (sidecar)、一个卷和一个 Ingress 负载均衡器,以使应用程序可以从集群外部访问。
或者,您也可以通过 `openai` 使用 Messages API。在这里了解更多关于推理的信息。
为 HUGS 创建一个 GPU GKE 集群
要在 Google Cloud 上部署 HUGS,您需要一个支持 GPU 的 GKE 集群。以下是创建集群的逐步指南:
为您的集群配置设置环境变量。
export PROJECT_ID="your-project-id" # Your Google Cloud Project ID which is subscribed to HUGS
export CLUSTER_NAME="hugs-cluster" # The name of the GKE cluster
export LOCATION="us-central1" # The location of the GKE cluster
export MACHINE_TYPE="g2-standard-12" # The machine type of the GKE cluster
export GPU_TYPE="nvidia-l4" # The type of GPU to use
export GPU_COUNT=1 # The number of GPUs to use
- 创建 GKE 集群。
gcloud container clusters create $CLUSTER_NAME \
--project=$PROJECT_ID \
--zone=$LOCATION \
--release-channel=stable \
--cluster-version=1.29 \
--machine-type=$MACHINE_TYPE \
--num-nodes=1 \
--no-enable-autoprovisioning
- 向集群添加一个 GPU 节点池。
gcloud container node-pools create gpu-pool \
--cluster=$CLUSTER_NAME \
--zone=$LOCATION \
--machine-type=$MACHINE_TYPE \
--accelerator type=$GPU_TYPE,count=$GPU_COUNT,gpu-driver-version=default \
--num-nodes=1 \
--enable-autoscaling \
--min-nodes=1 \
--max-nodes=1 \
--spot \
--disk-type=pd-ssd \
--disk-size=100GB
- 配置 kubectl 以使用新集群。
gcloud container clusters get-credentials $CLUSTER_NAME --zone=$LOCATION
您支持 GPU 的 GKE 集群现在已准备好进行 HUGS 部署。您可以按照上一节中所述,使用 Google Cloud Marketplace 继续部署 HUGS。
有关创建和管理 GKE 集群的更详细信息,请参阅官方 Google Kubernetes Engine 文档或在 GKE 标准节点池中运行 GPU。