dstack项目0.19.12版本发布:增强分布式计算与MPI支持
dstack是一个开源的分布式计算平台,它简化了在多节点环境中运行机器学习工作负载的复杂性。该项目通过声明式配置和自动化管理,让研究人员和工程师能够专注于算法开发,而不必担心底层基础设施的部署细节。
集群管理功能增强
简化的MPI使用体验
在0.19.12版本中,dstack针对MPI(Message Passing Interface)工作负载进行了多项优化,显著提升了分布式计算的易用性。
启动顺序与停止条件控制
新版本引入了两个关键配置参数:
-
startup_order:定义主节点和工作节点的启动顺序
any:默认值,不指定特定顺序master-first:主节点优先启动workers-first:工作节点优先启动
-
stop_criteria:确定多节点运行何时被视为完成
all-done:所有节点都完成后才视为运行结束master-done:主节点完成后即视为运行结束
这些参数特别适合MPI工作负载。例如,MPI要求在工作节点启动后才能执行mpirun命令,此时可配置startup_order: workers-first。同时,MPI工作负载通常在主节点完成后即可视为完成,因此配置stop_criteria: master-done可以避免不必要地等待工作节点退出。
自动化的MPI主机文件管理
dstack现在会自动创建MPI主机文件,并通过DSTACK_MPI_HOSTFILE环境变量暴露其路径。这使得MPI命令可以直接使用该文件,如mpirun --hostfile $DSTACK_MPI_HOSTFILE,大大简化了MPI集群的配置过程。
命令行界面改进
新版本对CLI的显示逻辑进行了优化,使其更加用户友好。原先显示的是内部状态码,对用户不够直观。现在,dstack ps和dstack apply命令的STATUS列会显示易于理解的状态信息,用户可以清楚地了解运行或作业终止的原因。
新增分布式训练示例
TRL分布式微调
新版本提供了使用TRL(Transformer Reinforcement Learning)、Accelerate和Deepspeed进行分布式微调的完整示例。这个示例展示了如何利用dstack简化分布式训练流程,特别适合大规模语言模型的微调场景。
Axolotl分布式训练
另一个新增示例展示了如何使用Axolotl框架在dstack上进行分布式训练。Axolotl是一个专注于高效微调大型语言模型的工具,这个示例为NLP研究人员提供了开箱即用的分布式训练解决方案。
技术细节优化
除了上述主要功能外,0.19.12版本还包含多项技术改进:
- 改进了
.gitignore逻辑,能够处理更多特殊情况 - 增加了
upload_code客户端的超时时间,提升大代码库上传的稳定性 - 修复了缺少
apt-get update的问题,确保软件包安装的正确性 - 优化了相对路径处理,使
dstack apply --repo命令更加可靠 - 更新了后端模板,统一代码格式化风格
这些改进共同提升了dstack平台的稳定性和用户体验,使其成为分布式机器学习工作负载的理想选择。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03