本教程介绍如何在多节点 Slurm 集群上微调 Gemma 3 大语言模型 (LLM),该集群使用两个 A4 虚拟机 (VM) 实例。在本教程中,您将执行以下操作:
创建一个自定义映像
配置 RDMA 网络。
运行分布式微调作业。为了实现高效的多节点训练,您可以使用具有完全分片数据并行 (FSDP) 功能的 Hugging Face Accelerate 库。
本教程适用于机器学习 (ML) 工程师、平台管理员和运维人员,以及对使用 Slurm 作业调度功能处理微调工作负载感兴趣的数据和 AI 专家。
目标
使用 Hugging Face 访问 Gemma 3。
准备环境。
创建 A4 Slurm 集群。
准备工作负载。
运行微调作业。
监控作业。
清理。
费用
在本文档中,您将使用 Google Cloud的以下收费组件:
- Compute Engine
- Google Kubernetes Engine (GKE) Enterprise edition
- Filestore
- Cloud Storage
- Cloud Logging
如需根据您的预计使用量来估算费用,请使用价格计算器。
准备工作
-
安装 Google Cloud CLI。
-
配置 gcloud CLI 以使用您的联合身份。
如需了解详情,请参阅使用联合身份登录 gcloud CLI。
-
如需初始化 gcloud CLI,请运行以下命令:
gcloud init -
选择或创建项目所需的角色
- 选择项目:选择项目不需要特定的 IAM 角色,您可以选择已获授角色的任何项目。
-
创建项目:如需创建项目,您需要拥有 Project Creator 角色 (
roles/resourcemanager.projectCreator),该角色包含resourcemanager.projects.create权限。了解如何授予角色。
-
创建 Google Cloud 项目:
gcloud projects create PROJECT_ID
将
PROJECT_ID替换为您要创建的 Google Cloud 项目的名称。 -
选择您创建的 Google Cloud 项目:
gcloud config set project PROJECT_ID
将
PROJECT_ID替换为您的 Google Cloud 项目名称。
启用所需的 API(如果尚未启用):
启用 API 所需的角色
如需启用 API,您需要拥有
serviceusage.services.enable权限。如果您创建了项目,则可能已经通过 Owner 角色 (roles/owner) 获得了此权限。否则,您可以通过 Service Usage Admin 角色 (roles/serviceusage.serviceUsageAdmin) 获得此权限。了解如何授予角色。gcloud services enable compute.googleapis.com file.googleapis.com logging.googleapis.com cloudresourcemanager.googleapis.com servicenetworking.googleapis.com
-
向您的用户账号授予角色。对以下每个 IAM 角色运行以下命令一次:
roles/compute.admin, roles/iam.serviceAccountUser, roles/file.editor, roles/storage.admin, roles/serviceusage.serviceUsageAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
替换以下内容:
PROJECT_ID:您的项目 ID。USER_IDENTIFIER:您的用户 账号。如需查看示例,请参阅 在 IAM 政策中表示员工池用户。ROLE:您向用户账号授予的 IAM 角色。
- 为您的 Google Cloud 项目启用默认服务账号:
gcloud iam service-accounts enable PROJECT_NUMBER-compute@ \ --project=PROJECT_ID
将 PROJECT_NUMBER 替换为您的项目编号。如需查看项目编号,请参阅 获取现有项目。
- 向默认服务账号授予 Editor 角色 (
roles/editor):gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:PROJECT_NUMBER-compute@" \ --role=roles/editor
- 为您的用户账号创建本地身份验证凭据:
gcloud auth application-default login
- 为项目启用 OS Login:
gcloud compute project-info add-metadata --metadata=enable-oslogin=TRUE
- 登录或创建 Hugging Face 账号。
使用 Hugging Face 访问 Gemma 3
如需使用 Hugging Face 访问 Gemma 3,请按以下步骤操作:
创建 Hugging Face
read访问令牌。 依次点击您的个人资料 > 设置 > 访问令牌 > +创建新令牌复制并保存
read访问令牌值。您将在本教程的后面部分用到它。
安装 Cluster Toolkit
如需详细了解如何使用 gcluster 和管理集群,请参阅 Cluster Toolkit 概览。
准备 Cluster Toolkit 版本:
下载版本:
定义
gcluster路径:
准备环境
如需准备环境,请按照以下步骤操作:
设置默认环境变量: