Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MindSpore
docs
提交
b2b6d099
D
docs
项目概览
MindSpore
/
docs
通知
5
Star
3
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b2b6d099
编写于
7月 28, 2020
作者:
C
cristoval
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add summary
上级
e2739ce5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
0 deletion
+11
-0
tutorials/source_zh_cn/advanced_use/parameter_server_training.md
...ls/source_zh_cn/advanced_use/parameter_server_training.md
+11
-0
未找到文件。
tutorials/source_zh_cn/advanced_use/parameter_server_training.md
浏览文件 @
b2b6d099
...
...
@@ -15,6 +15,17 @@
<a
href=
"https://gitee.com/mindspore/docs/blob/master/tutorials/source_zh_cn/advanced_use/parameter_server_training.md"
target=
"_blank"
><img
src=
"../_static/logo_source.png"
></a>
## 概述
Parameter Server(参数服务器)是分布式训练中一种广泛使用的架构,相较于同步的AllReduce训练方法,Parameter Server具有更好的灵活性、可扩展性以及节点容灾的能力。具体来讲,参数服务器既支持同步SGD,也支持异步SGD的训练算法;在扩展性上,将模型的计算与模型的更新分别部署在Worker和Server两类进程中,使得Worker和Server的资源可以独立地横向扩缩;另外,在大规模数据中心的环境下,计算设备、网络以及存储经常会出现各种故障而导致部分节点异常,而在参数服务器的架构下,能够较为容易地处理此类的故障而不会对训练中的任务产生影响。
在MindSpore的参数服务器实现中,采用了开源的
[
ps-lite
](
https://github.com/dmlc/ps-lite
)
作为基础架构,基于其提供的远程通信能力以及抽象的Push/Pull原语,实现了同步SGD的分布式训练算法,另外结合Ascend中的高性能集合通信库HCCL,MindSpore还提供了Parameter Server和AllReduce的混合训练模式,支持将部分权重通过参数服务器进行存储和更新,其余权重仍然通过AllReduce算法进行训练。
在ps-lite的架构设计中,一共包含三个独立的组件,分别是Server、Worker和Scheduler,作用分别是:
-
Server:保存模型的权重和反向计算的梯度值,并使用优化器通过Worker上传的梯度值对模型进行更新。
-
Worker:执行网络的正反向计算,正向计算的梯度值通过Push接口上传至Server中,并把Server更新好的模型下载到Worker本地。
-
Scheduler:用于建立Server和Worker的通信关系。
## 准备工作
以LeNet在Ascend 910上使用Parameter Server,并且配置单Worker,单Server训练为例:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录