项目介绍:dstack
dstack 是一款为人工智能设计的简化版集装箱编排工具,是 Kubernetes 和 Slurm 的高效替代方案。它在云端和本地环境中,简化了人工智能工作负载的管理,加速了人工智能模型的开发、训练和部署。
功能特点
- 支持多种加速器:dstack 天然支持 NVIDIA GPU、AMD GPU 和 Google Cloud TPU。
- 便捷的云和本地支持:用户可以在任一云服务商上使用,或者在本地服务器上运行。
主要更新
- 2024/10:发布新的 0.18.17 版本,支持本地 AMD GPU 和 AWS EFA 等功能。
- 2024/08:推出 0.18.11 版本,引入 AMD 支持和加密功能。
- 2024/05:增添对 Google Cloud TPU 的支持等。
使用指南
安装步骤
用户在通过 CLI 或 API 使用 dstack 前,需要先设置 dstack 服务器。如果已有运行中的 dstack 服务器,只需配置 CLI。
- 配置后端(可选):创建配置文件
~/.dstack/server/config.yml
,配置云端账户。但如果仅在本地服务器上运行可以跳过这一步。 - 启动服务器:安装 dstack 并运行服务器。
$ pip install "dstack[all]" -U
$ dstack server
应用配置文件 ~/.dstack/server/config.yml...
管理员令牌为 "bbae0f28-d3dd-4820-bf61-8f4bb40815da"
服务器运行于 http://127.0.0.1:3000/
- 设置 CLI:配置 CLI 将其指向 dstack 服务器,输入服务器地址、用户令牌和项目名称。
$ pip install dstack
$ dstack config --url http://127.0.0.1:3000 \
--project main \
--token bbae0f28-d3dd-4820-bf61-8f4bb40815da
配置已更新至 ~/.dstack/config.yml
工作原理
-
定义配置:dstack 支持多种配置,包括开发环境、任务、服务、集群管理、数据持久化卷和网关配置。用户可以在版本库中以 YAML 文件形式定义这些配置。
-
应用配置:通过
dstack apply
CLI 命令或 API 程序自动应用配置。dstack 会自动处理包括资源提供、任务排队、自动扩展、网络管理、任务失败评估等多方面内容,无论是在云端还是本地集群上。
贡献与许可
dstack 欢迎各界贡献者。项目遵循 Mozilla 公共许可证 2.0 条款进行开放。欢迎访问项目的贡献指南以获取更多信息。
dstack 提供了简单易用的界面和强大功能,旨在为 AI 项目的开发者提供无忧的工作流环境支持,是加速 AI 应用落地的强力工具。