架构模式确定后,接下来我们将准备您的工作站和云环境,以进行后续的实践操作。本节提供了在整个课程中将使用的命令行工具和库的必要设置说明。正确配置的环境是成功执行后续章节中分布式训练、资源编排和模型部署任务的先决条件。我们假设您拥有本地机器的管理员权限,并拥有至少一个主要云提供商(AWS、GCP 或 Azure)的活动账户,且该账户具有创建和管理计算及存储资源的权限。核心命令行工具您的本地机器将作为编排云资源的控制平面。以下工具是与容器和集群管理系统交互所必需的。Docker容器化是现代 MLOps 的根本。我们将使用 Docker 为我们的训练和推理应用构建和管理镜像。如果您尚未安装,请下载并安装适用于您操作系统的 Docker Desktop。安装后,验证 Docker 守护进程是否正在运行:docker ps此命令应无错误执行,并返回一个空的运行容器表。Kubernetes CLI (kubectl)kubectl 是与任何 Kubernetes 集群交互的主要命令行接口。您将使用它来部署应用程序、查看集群资源和管理网络配置。请按照 Kubernetes 官方文档的说明为您操作系统安装 kubectl。通过以下命令验证客户端安装:kubectl version --client这将输出客户端版本,确认可执行文件位于系统路径中。我们将在稍后配置其与基于云的集群的连接。HelmHelm 通过“charts”(预打包的资源定义集合)来管理 Kubernetes 应用程序。我们将使用 Helm 部署更复杂的系统,例如 NVIDIA Triton 推理服务器和 KubeFlow。请按照 Helm 官方网站上的说明进行安装。通过运行以下命令验证安装:helm version云提供商配置您必须安装并配置您所选云提供商的命令行接口。这可以实现对配置基础设施的编程访问,例如 Kubernetes 集群和 GPU 实例。AWS CLI对于 Amazon Web Services,请安装 AWS CLI。安装后,使用您的凭证进行配置:aws configure系统将提示您输入 AWS Access Key ID、Secret Access Key、默认区域(例如 us-east-1)和默认输出格式(例如 json)。要确认设置是否生效,请运行以下命令检查您的身份:aws sts get-caller-identityGoogle Cloud SDK (gcloud)对于 Google Cloud Platform,请安装 Google Cloud SDK,其中包括 gcloud 命令行工具。安装后,初始化 SDK:gcloud init此命令将指导您完成账户身份验证、选择项目以及配置默认区域(例如 us-central1)和可用区。通过列出您的活动项目来验证身份验证:gcloud projects listAzure CLI对于 Microsoft Azure,请安装 Azure CLI。通过运行以下命令进行身份验证:az login此命令将打开一个浏览器窗口供您登录。身份验证后,如果您有多个订阅,请设置默认订阅:az account set --subscription "Your-Subscription-Name-or-ID"通过列出您账户中可用的资源组来验证设置:az group list --output tabledigraph G { rankdir=TB; splines=ortho; node [shape=box, style="rounded,filled", fontname="Arial", fontsize=10, fillcolor="#e9ecef"]; edge [fontname="Arial", fontsize=9, color="#495057"]; subgraph cluster_local { label="您的本地工作站"; style="rounded,dashed"; fillcolor="#f8f9fa"; color="#adb5bd"; workstation [label="开发环境 (Python, IDE)", shape=cylinder, fillcolor="#dee2e6"]; docker [label="Docker Desktop", fillcolor="#a5d8ff"]; kubectl [label="kubectl", fillcolor="#bac8ff"]; helm [label="Helm", fillcolor="#bac8ff"]; cloud_cli [label="云命令行接口 (aws, gcloud, az)", fillcolor="#b2f2bb"]; workstation -> docker [style=invis]; workstation -> kubectl [style=invis]; workstation -> helm [style=invis]; workstation -> cloud_cli [style=invis]; } subgraph cluster_cloud { label="云提供商 (AWS, GCP, Azure)"; style="rounded,dashed"; fillcolor="#f8f9fa"; color="#adb5bd"; k8s [label="Kubernetes 集群 (托管或自建)", fillcolor="#d0bfff"]; gpu_nodes [label="GPU 节点池", fillcolor="#ffc9c9"]; storage [label="对象存储 (S3, GCS, Blob)", fillcolor="#ffd8a8"]; k8s -> gpu_nodes [style=invis]; } cloud_cli -> k8s [label=" API 调用"]; cloud_cli -> storage [label=" API 调用"]; kubectl -> k8s [label=" 编排"]; helm -> k8s [label=" 部署"]; label="工具交互图"; fontsize=12; }开发人员的本地工作站使用命令行工具来编排和部署应用程序到云提供商环境中的托管服务。Python 环境和核心库实践练习使用 Python 3.10 或更高版本。我们强烈建议使用专门的虚拟环境来管理依赖项并避免与系统级包发生冲突。使用 venv 创建并激活虚拟环境:python3 -m venv aii-env source aii-env/bin/activate接下来,创建一个名为 requirements.txt 的文件,并填充核心库列表。此列表包括用于深度学习、分布式训练、数据管理和云提供商交互的框架。requirements.txt:# 深度学习与分布式训练 torch>=2.0.0 torchvision torchaudio deepspeed transformers accelerate # 数据与 MLOps dvc[s3] # 或 [gcs], [azure] feast pachyderm-sdk pyarrow pandas # Kubernetes 与云 SDK kubernetes boto3 # 适用于 AWS google-cloud-aiplatform # 适用于 GCP azure-ai-ml # 适用于 Azure # 实用工具 numpy scikit-learn tqdm使用 pip 安装这些包:pip install -r requirements.txt**注意:**根据您选择的云提供商,您可能只需要 boto3、google-cloud-aiplatform 或 azure-ai-ml 中的一个。dvc 的额外依赖项([s3]、[gcs]、[azure])也应与您的提供商对应,以便进行远程存储访问。您的环境完全配置好后,现在已准备好构建和管理本课程主要的高性能系统。在下一章中,我们将使用这些工具来实现我们的第一个分布式模型训练任务。