Merlin HugeCTR(以下简称 HugeCTR)是 GPU 加速的推荐程序框架,旨在在多个 GPU 和节点之间分配训练并估计点击率(Click-through rate)。
V3.8 版本新增内容
1. 第三代 Embedding 的示例:
这个版本我们新增了一个示例笔记本,介绍了 Embedding 集合的 Python API 以及第三代 Embedding 的使用方法。
2. 用于分级参数服务器查找功能的 DLPack Python API:
这个版本我们引入了对使用 DLPack Python API 从分层参数服务器 (HPS) 查找 Embedding 的支持。新方法是 lookup_fromdlpack()。
3. 使用 Python API 从 HDFS 读取 Parquet 数据集:
现在您可以通过 DataSourceParams 来指定 Data Reader 的数据源的配置了,例如 Hadoop 分布式文件系统的 NameNode 的主机名和 NameNode 端口号。
4. 提高了日志记录的性能。
5. 层类的改进:
全连接层现已支持 3 维输入,Matrix Multiply 层现已支持 4 维输入。
6. 文档的改进:
a. 增加了导航长页面以提供更好的体验。
b. Criteo 1TB 点击日志数据集的 URL 已更新。
7. 修复的问题:
修复了 _metadata.json 配置文件内的文件名和实际数据集文件名不一致的问题。
修复了在 AUC 预热期间在多个 GPU 上运行大型模型时发生的内存崩溃问题。
修复了 ETC 笔记本中键集生成的问题。
修复了使用调试模式编译时发生的编译错误。
修复多节点训练出现重复日志的问题。
V3.9 版本新增内容
1. 第三代 Embedding 的更新:
更新了 SOK 以使用 HugeCTR 第三代 Embedding 作为开发者预览版本。
启用了基于 cuCollection的动态Embedding 模式。动态的Embedding能够在用户不配置内存使用信息时自动拓展。
2. 全新的多节点训练教程:
我们提供了一个全新的基于 HugeCTR 最新 Docker 容器使用多节点训练的实例。
3. 现已支持 MMoE 模型的离线推理并提供了 Per-class AUC 和平均 AUC 计算。
4. 对 HPS TensorFlow 插件使用的文档和实例更新:
一个新的简介文档。
新的实例笔记本。
新的API文档。
5. 修复的问题:
修复了一个训练性能受到 GPU 例程检查影响的问题。该例程检查输入的 key 是否在规定的 Embedding Table 范围内。对于可以保证输入的 key 能放在指定的 workspace_size_per_gpu_in_mb 的情况,我们提供了一种解决方法:通过设置环境变量 HUGECTR_DISABLE_OVERFLOW_CHECK=1 来关闭例程检查,以便恢复训练性能。
我们修复了一个 Softmax 层的正确性问题。
我们删除了一个未更新且不再使用的内联分析器。
已知问题
以下是目前HugeCTR存在的已知问题,我们将在之后的版本中尽快修复。
HugeCTR 使用 NCCL 在 rank 之间共享数据,并且 NCCL 可能需要共享系统内存用于 IPC 和固定(页面锁定)系统内存资源。在容器内使用 NCCL 时,建议您通过发出以下命令来增加这些资源 -shm-size=1g -ulimit memlock=-1
另见 NCCL 的 已知问题。
还有 GitHub 问题。
目前即使目标 Kafka broker 无响应,KafkaProducers 启动也会成功。为了避免与来自 Kafka 的流模型更新相关的数据丢失,您必须确保有足够数量的 Kafka brokers 启动、正常工作并且可以从运行 HugeCTR 的节点访问。
文件列表中的数据文件数量应不小于数据读取器的数量。否则,不同的 data reader worker 将被映射到同一个文件,导致数据加载不会按预期进行。
正则化器暂时不支持联合损失训练。
审核编辑:汤梓红
-
gpu
+关注
关注
28文章
4700浏览量
128679 -
python
+关注
关注
56文章
4781浏览量
84442 -
GitHub
+关注
关注
3文章
466浏览量
16382
原文标题:HugeCTR v3.8 & v3.9 发布说明
文章出处:【微信号:NVIDIA_China,微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论