DeepSpeed 是一套深度学软件套件,用于支持类模型的训练。具备密集或稀疏模型推理、高吞吐量和高压缩等特性。
DeepSpeed 概述
商标声明:本软件列表由 Bitnami 打包。所提及的相关商标归各自公司所有,使用这些商标并不意味着任何关联或背书。
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/deepspeed
希望在生产环境中使用 DeepSpeed?请尝试 VMware Tanzu Application Catalog,即 Bitnami 目录的商业版本。
自 2025 年 8 月 28 日起,Bitnami 将改进其公共目录,在新的 Bitnami Secure Images 计划下提供精选的强化、安全聚焦镜像集。作为此过渡的一部分:
这些变更旨在通过推广软件供应链完整性和最新部署的最佳实践,提高所有 Bitnami 用户的安全态势。更多详情,请访问 Bitnami Secure Images 公告。
此 Chart 使用 Helm 包管理器在 Kubernetes 集群上引导部署 DeepSpeed。
Python 已构建为可完全集成到 Python 环境中,使您能够将其与其库和主要包一起使用。
要使用发布名称 my-release 安装图表:
consolehelm install my-release oci://REGISTRY_NAME/REPOSITORY_NAME/deepspeed
注意:您需要将占位符
REGISTRY_NAME和REPOSITORY_NAME替换为 Helm 图表仓库和存储库的引用。例如,对于 Bitnami,需使用REGISTRY_NAME=registry-1.docker.io和REPOSITORY_NAME=bitnamicharts。
这些命令使用默认配置在 Kubernetes 集群上部署 DeepSpeed。参数 部分列出了可配置的参数。
提示:使用
helm list列出所有发布版本
要卸载/删除 my-release 部署:
consolehelm delete my-release
该命令将删除与图表关联的所有 Kubernetes 组件并删除发布版本。
Bitnami 图表允许为图表部署内的所有容器设置资源请求和限制。这些配置位于 resources 值中(参见参数表)。设置请求对于生产工作负载至关重要,应根据您的具体用例进行调整。
为简化此过程,图表包含 resourcesPreset 值,可根据不同预设自动设置 resources 部分。在 bitnami/common 图表 中查看这些预设。但在生产工作负载中,不建议使用 resourcesPreset,因为它可能无法完全适应您的特定需求。有关容器资源管理的更多信息,请参阅 Kubernetes ***文档。
强烈建议在生产环境中使用不可变标签。这可确保如果相同标签更新为不同镜像时,您的部署不会自动更改。
如果主容器有新版本、重大变更或严重漏洞,Bitnami 将发布更新容器的新图表。
默认情况下,图表将客户端容器(连接到 DeepSpeed 工作节点的容器)部署为 Deployment。这允许您通过 kubectl exec 进入容器并执行操作。如果希望将其部署为 Kubernetes Job,设置 client.useJob=true 值。
DeepSpeed 图表支持三种加载文件的方式,按优先级排序如下:
这意味着如果您指定了包含文件的配置映射,图表将不会检查 values.yaml 目录中定义的文件或 Git 仓库。
要使用现有配置映射,设置 source.existingConfigMap=my-config-map 参数。
要在 values.yaml 文件中添加文件,设置 source.configmap 对象包含文件。
最后,如果要克隆 Git 仓库,可使用以下参数:
consolesource.type=git source.git.repository=[***] source.git.revision=master
此图表允许使用 affinity 参数设置自定义亲和性。有关 Pod 亲和性的更多信息,请参阅 Kubernetes 文档。
作为替代方案,您可以使用 bitnami/common 图表中提供的 Pod 亲和性、Pod 反亲和性和节点亲和性预设配置。为此,设置 podAffinityPreset、podAntiAffinityPreset 或 nodeAffinityPreset 参数。
如果需要添加额外环境变量(用于高级操作,如自定义初始化脚本),可在 client、worker 等子部分中使用 extraEnvVars 属性。
yamlclient: extraEnvVars: - name: LOG_LEVEL value: error worker: extraEnvVars: - name: LOG_LEVEL value: error
或者,您可以使用包含环境变量的 ConfigMap 或 Secret。为此,使用 extraEnvVarsCM 或 extraEnvVarsSecret 值。
如果在 Milvus 所在的同一 Pod 中需要额外容器(如额外指标或日志导出器),可使用 sidecars 参数定义。
yamlsidecars: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
如果这些边车容器导出额外端口,可使用 service.extraPorts 参数(如可用)添加额外端口定义,如下例所示:
yamlservice: extraPorts: - name: extraPort port: *** targetPort: ***
注意:此 Helm 图表已包含 Prometheus 导出器的边车容器(如适用)。可在部署时添加
--enable-metrics=true参数激活这些容器。因此,sidecars参数应仅用于额外的边车容器。
如果同一 Pod 中需要额外的初始化容器,可使用 initContainers 参数定义。示例如下:
yamlinitContainers: - name: your-image-name image: your-image imagePullPolicy: Always ports: - name: portname containerPort: 1234
了解更多关于 边车容器 和 初始化容器 的信息。
要在 Kubernetes 上备份和恢复 Helm 图表部署,需要使用 Kubernetes 备份/恢复工具 Velero 备份源部署的持久卷,并将其附加到新部署。有关使用 Velero 的说明,请参阅 本指南。
Bitnami DeepSpeed 镜像可持久化数据。如果启用,默认持久化路径为 /bitnami/deepspeed/data。
图表在此位置挂载 持久卷,卷通过动态卷供应创建。
由于镜像默认以非 root 用户运行,需要调整持久卷的所有权,使容器能够写入数据。
默认情况下,图表配置为使用 Kubernetes 安全上下文自动更改卷的所有权。但此功能并非在所有 Kubernetes 发行版中都有效。
作为替代方案,此图表支持使用 initContainer 在将卷挂载到最终目标之前更改卷的所有权。
可通过设置 volumePermissions.enabled 为 true 启用此 initContainer。
| 名称 | 描述 | 值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库 | "" |
global.imagePullSecrets | 全局 Docker 仓库密钥名称数组 | [] |
global.defaultStorageClass | 持久卷的全局默认存储类 | "" |
global.storageClass | 已弃用:使用 global.defaultStorageClass 替代 | "" |
global.security.allowInsecureImages | 允许跳过镜像验证 | false |
global.compatibility.openshift.adaptSecurityContext | 调整部署的 securityContext 部分以使其与 Openshift restricted-v2 SCC 兼容:移除 runAsUser、runAsGroup 和 fsGroup,让平台使用其允许的默认 ID。可能值:auto(如果检测到运行集群为 Openshift 则应用)、force(始终执行调整)、disabled(不执行调整) | auto |
| 名称 | 描述 | 值 |
|---|---|---|
kubeVersion | 覆盖 Kubernetes 版本 | "" |
nameOverride | 部分覆盖 common.names.fullname 的字符串 | "" |
fullnameOverride | 完全覆盖 common.names.fullname 的字符串 | "" |
commonLabels | 添加到所有部署对象的标签 | {} |
commonAnnotations | 添加到所有部署对象的注解 | {} |
clusterDomain | Kubernetes 集群域名 | cluster.local |
extraDeploy | 随发布一起部署的额外对象数组 | [] |
diagnosticMode.enabled | 启用诊断模式(所有探针将被禁用,命令将被覆盖) | false |
diagnosticMode.command | 覆盖部署/有状态集中所有容器的命令 | ["sleep"] |
diagnosticMode.args | 覆盖部署/有状态集中所有容器的参数 | ["infinity"] |
| 名称 | 描述 | 值 |
|---|---|---|
image.registry | DeepSpeed 镜像仓库 | REGISTRY_NAME |
image.repository | DeepSpeed 镜像存储库 | REPOSITORY_NAME/deepspeed |
image.digest | DeepSpeed 镜像摘要,格式为 sha256:aa.... 注意:如果设置此参数,将覆盖标签 | "" |
image.pullPolicy | DeepSpeed 镜像拉取策略 | IfNotPresent |
image.pullSecrets | 指定 docker-registry 密钥名称数组 | [] |
source.type | 源代码来源:可能值:configmap、git、custom | configmap |
source.launchCommand | 在项目上运行的 deepspeed 命令 | "" |
source.configMap | 项目文件列表 | {} |
source.existingConfigMap | 包含项目文件的 configmap 名称 | "" |
source.git.repository | 包含文件的仓库 | "" |
source.git.revision | 要检出的仓库修订版 | "" |
source.git.extraVolumeMounts | 为 Git 容器添加额外卷挂载 | [] |
config.defaultHostFile | 默认生成的主机文件(仅在了解用途时编辑) | "" |
config.overrideHostFile | 用此值中的内容覆盖默认主机文件 | "" |
config.existingHostFileConfigMap | 包含 hostfile 的 ConfigMap 名称 | "" |
config.defaultSSHClient | 客户端节点的默认 SSH 客户端配置(仅在了解用途时编辑) | "" |
config.overrideSSHClient | 用此值中的内容覆盖默认 SSH 客户端配置 | "" |
config.existingSSHClientConfigMap | 包含 SSH 客户端配置的 ConfigMap 名称 | "" |
config.defaultSSHServer | 工作节点的默认 SSH 服务器配置(仅在了解用途时编辑) | "" |
config.overrideSSHServer | 用此值中的内容覆盖 SSH 服务器配置 | "" |
config.existingSSHServerConfigMap | 包含 SSH 服务器配置的 ConfigMap 名称 | "" |
config.sshPrivateKey | 客户端节点连接工作节点的私钥 | "" |
config.existingSSHKeySecret | 包含 SSH 私钥的密钥名称 | "" |
| 名称 | 描述 | 值 |
|---|---|---|
client.enabled | 启用客户端部署 | true |
client.useJob | 以 job 部署 | false |
client.backoffLimit | 设置 job 的退避限制 | 10 |
client.extraEnvVars | 添加到客户端节点的额外环境变量数组 | [] |
client.extraEnvVarsCM | 包含客户端节点额外环境变量的现有 ConfigMap 名称 | "" |
client.extraEnvVarsSecret | 包含客户端节点额外环境变量的现有 Secret 名称 | "" |
client.annotations | 客户端部署的注解 | {} |
client.command | 覆盖默认容器命令(使用自定义镜像时有用) | [] |
client.args | 覆盖默认容器参数(使用自定义镜像时有用) | [] |
client.terminationGracePeriodSeconds | 客户端终止宽限期(秒) | "" |
client.livenessProbe.enabled | 在客户端节点上启用存活探针 | true |
client.livenessProbe.initialDelaySeconds | 存活探针初始延迟秒数 | 5 |
client.livenessProbe.periodSeconds | 存活探针周期秒数 | 30 |
client.livenessProbe.timeoutSeconds | 存活探针超时秒数 |
注:此 Helm Chart 的 README 超出了 DockerHub 25000 字符的长度限制,因此已被截断。完整 README 可在 [***] 查看。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429