From 0c9892034e606b5ac956c2784d2deed86255681d Mon Sep 17 00:00:00 2001 From: ShiningZhang Date: Tue, 19 Apr 2022 15:28:12 +0800 Subject: [PATCH] update doc --- doc/Offical_Docs/5-3_Serving_Configure_CN.md | 7 ++++- doc/Offical_Docs/8-1_Cube_Architecture_CN.md | 6 ++--- doc/Offical_Docs/8-2_Cube_Compile_CN.md | 28 +++++++++----------- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/doc/Offical_Docs/5-3_Serving_Configure_CN.md b/doc/Offical_Docs/5-3_Serving_Configure_CN.md index bffe3743..fb0b65ba 100644 --- a/doc/Offical_Docs/5-3_Serving_Configure_CN.md +++ b/doc/Offical_Docs/5-3_Serving_Configure_CN.md @@ -449,5 +449,10 @@ op: **三. 进阶参数配置** -更多进阶参数配置介绍,如单机多卡推理、异构硬件、低精度推理等请参考[Pipeline Serving 典型示例]() +更多进阶参数配置介绍,可以参照下表:如单机多卡推理、异构硬件、低精度推理等请参考[Pipeline Serving 典型示例]() +| 特性 | 文档 | +| ---- | ---- | +| 单机多卡推理| [Pipeline Serving]() | +| 异构硬件| [Pipeline Serving]() | +| 低精度推理| [Pipeline Serving]() | \ No newline at end of file diff --git a/doc/Offical_Docs/8-1_Cube_Architecture_CN.md b/doc/Offical_Docs/8-1_Cube_Architecture_CN.md index 0f925806..1f98e0bc 100644 --- a/doc/Offical_Docs/8-1_Cube_Architecture_CN.md +++ b/doc/Offical_Docs/8-1_Cube_Architecture_CN.md @@ -1,6 +1,6 @@ # 稀疏参数索引服务 Cube -在稀疏参数索引场景,如推荐、广告系统中通常会使用大规模 Embedding 表。由于在工业级的场景中,稀疏参数的规模非常大,达到 10^9 数量级。因此在一台机器上启动大规模稀疏参数预测是不实际的,因此我们引入百度多年来在稀疏参数索引领域的工业级产品 Cube,提供分布式的稀疏参数服务。 +在稀疏参数索引场景,如推荐、广告系统中通常会使用大规模 Embedding 表。由于在工业级的场景中,稀疏参数的规模非常大,达到 10^9 数量级。因此在一台机器上启动大规模稀疏参数预测是不实际的,因此我们引入百度多年来在稀疏参数索引领域的工业级产品 Cube,用于部署大规模的稀疏参数模型,支持模型的分布式管理和快速更新,并且支持 Paddle Serving 进行低延迟的批量访问。 @@ -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 进行文件配送; diff --git a/doc/Offical_Docs/8-2_Cube_Compile_CN.md b/doc/Offical_Docs/8-2_Cube_Compile_CN.md index 45646eb8..97d5925e 100644 --- a/doc/Offical_Docs/8-2_Cube_Compile_CN.md +++ b/doc/Offical_Docs/8-2_Cube_Compile_CN.md @@ -1,22 +1,16 @@ # 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 -j20 +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 -- GitLab