Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
Serving
提交
0c989203
S
Serving
项目概览
PaddlePaddle
/
Serving
1 年多 前同步成功
通知
186
Star
833
Fork
253
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
105
列表
看板
标记
里程碑
合并请求
10
Wiki
2
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Serving
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
105
Issue
105
列表
看板
标记
里程碑
合并请求
10
合并请求
10
Pages
分析
分析
仓库分析
DevOps
Wiki
2
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
0c989203
编写于
4月 19, 2022
作者:
S
ShiningZhang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update doc
上级
d098a23c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
19 deletion
+22
-19
doc/Offical_Docs/5-3_Serving_Configure_CN.md
doc/Offical_Docs/5-3_Serving_Configure_CN.md
+6
-1
doc/Offical_Docs/8-1_Cube_Architecture_CN.md
doc/Offical_Docs/8-1_Cube_Architecture_CN.md
+3
-3
doc/Offical_Docs/8-2_Cube_Compile_CN.md
doc/Offical_Docs/8-2_Cube_Compile_CN.md
+13
-15
未找到文件。
doc/Offical_Docs/5-3_Serving_Configure_CN.md
浏览文件 @
0c989203
...
...
@@ -449,5 +449,10 @@ op:
**三. 进阶参数配置**
更多进阶参数配置介绍,如单机多卡推理、异构硬件、低精度推理等请参考
[
Pipeline Serving 典型示例
](
)
更多进阶参数配置介绍,
可以参照下表:
如单机多卡推理、异构硬件、低精度推理等请参考
[
Pipeline Serving 典型示例
](
)
| 特性 | 文档 |
| ---- | ---- |
| 单机多卡推理|
[
Pipeline Serving
](
)
|
| 异构硬件|
[
Pipeline Serving
](
)
|
| 低精度推理|
[
Pipeline Serving
](
)
|
\ No newline at end of file
doc/Offical_Docs/8-1_Cube_Architecture_CN.md
浏览文件 @
0c989203
# 稀疏参数索引服务 Cube
在稀疏参数索引场景,如推荐、广告系统中通常会使用大规模 Embedding 表。由于在工业级的场景中,稀疏参数的规模非常大,达到 10^9 数量级。因此在一台机器上启动大规模稀疏参数预测是不实际的,因此我们引入百度多年来在稀疏参数索引领域的工业级产品 Cube,
提供分布式的稀疏参数服务
。
在稀疏参数索引场景,如推荐、广告系统中通常会使用大规模 Embedding 表。由于在工业级的场景中,稀疏参数的规模非常大,达到 10^9 数量级。因此在一台机器上启动大规模稀疏参数预测是不实际的,因此我们引入百度多年来在稀疏参数索引领域的工业级产品 Cube,
用于部署大规模的稀疏参数模型,支持模型的分布式管理和快速更新,并且支持 Paddle Serving 进行低延迟的批量访问
。
<img
src=
"images/8-1_Cube_Architecture_CN_1.png"
>
...
...
@@ -8,7 +8,7 @@
**一. cube-builder**
cube-builder 是把模型生成分片文件和版本管理的工具。由于
cube 是用于分布式的稀疏参数服务,对于分布式当中的每一个节点,需要加载不同的分片,然而生成的稀疏参数文件往往一个大文件,就需要用哈希函数将其分割为
不同的分片。与此同时,工业级的场景需要支持定期模型的配送和流式训练,因此对于模型的版本管理十分重要,这也是在训练保存模型时缺失的部分,因此 cube-builder 在生成分片的同时,也可以人为指定增加版本信息。
cube-builder 是把模型生成分片文件和版本管理的工具。由于
稀疏参数文件往往是一个大文件,需要使用哈希函数将其分割为不同的分片,并使用分布式当中的每一个节点去加载
不同的分片。与此同时,工业级的场景需要支持定期模型的配送和流式训练,因此对于模型的版本管理十分重要,这也是在训练保存模型时缺失的部分,因此 cube-builder 在生成分片的同时,也可以人为指定增加版本信息。
**二. cube-transfer**
...
...
@@ -30,7 +30,7 @@ cube-cli 是 cube-server 的客户端,用于请求 cube-server 进行对应稀
一次完整的配送流程如下:
-
将训练好的模型存放到 FileServer 中,并在传输完成后生成完成标志;
-
将训练好的模型存放到 FileServer 中,并在传输完成后生成完成标志
,这里 FileServer 可以使用 http 协议的文件传输服务
;
-
cube-transfer 监测到完成标志后,从 FileServer 中下载对应模型文件;
-
cube-transfer 使用 cube-builder 工具对稀疏参数模型进行分片;
-
cube-transfer 向 cube-agent 进行文件配送;
...
...
doc/Offical_Docs/8-2_Cube_Compile_CN.md
浏览文件 @
0c989203
# Cube 编译
## 概述
**Cube 一共有 4 个组件.**
-
Cube-Server: Cube-Server 是 C++ 程序,是 Cube 套件的核心,负责稀疏参数索引服务的查询。
-
Cube-Agent: Cube-Agent 是一段 Go 程序,负责稀疏参数配送。
-
Cube-Transfer: Cube-Transfer 是一段 Go 程序,负责接受上游原始稀疏参数模型,做分片后分发给各个 Cube-Agent。
-
Cube-Builder: Cube-Builder 是一段 C++ 程序,负责被 Cube-Transfer 调用并按配置生成相关分片。
## 编译依赖
**以下是主要组件及其编译依赖**
-
Cube-Server: Cube-Server 最重要的编译依赖是 Baidu-RPC,其提供高效快速的 RPC 协议。这个依赖库可以复用 Paddle-Serving 的配置。
-
Cube-Agent: Cube-Agent 需要 Go 环境支持,需要按照
[
编译文档
](
)安装相关
Go 依赖库。
-
Cube-Transfer: Cube-Transfer 需要 Go 环境支持,需要按照
[
编译文档
](
)安装相关
Go 依赖库。
-
Cube-Builder: Cube-Builder 依赖关系较为简单,不需要提前准备依赖项。
| 组件 | 说明 |
| :--------------------------: | :-------------------------------: |
| Cube-Server | C++程序,提供高效快速的 RPC 协议 |
| Cube-Agent | Go 程序,需要 Go 环境支持 |
| Cube-Transfer | Go 程序,需要 Go 环境支持 |
| Cube-Builder | C++程序 |
| Cube-Cli | C++组件,已集成进 C++ server 中,不需单独编译 |
## 编译方法
...
...
@@ -64,8 +58,12 @@ cmake -DPYTHON_INCLUDE_DIR=$PYTHON_INCLUDE_DIR \
-DPYTHON_EXECUTABLE=$PYTHON_EXECUTABLE \
-DSERVER=ON \
-DWITH_GPU=OFF ..
make -j
20
make -j
cd ..
```
最终我们会在
`build_cube/core/cube`
目录下看到 Cube 组件已经编译完成。
\ No newline at end of file
最终我们会在
`build_cube/core/cube`
目录下看到 Cube 组件已经编译完成,其中:
-
Cube-Server:build_cube/core/cube/cube-server/cube
-
Cube-Agent:build_cube/core/cube/cube-agent/src/cube-agent
-
Cube-Transfer:build_cube/core/cube/cube-transfer/src/cube-transfer
-
Cube-Builder:build_cube/core/cube/cube-builder/cube-builder
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录