OneEmbedding是一款专门为大规模推荐系统设计的拓展组件,具备高性能、可拓展、灵活度高等特点。其具备以下特性:
AutoProf是一个测试OneFlow和PyTorch算子性能的框架,为OneFlow提供优雅、高效地检测OneFlowAPI与PyTorchAPI是否对齐的方法,让用户可以自动比较OneFlowAPI与PyTorchAPI的性能结果。
API文档:
EP还定义了一组基础计算接口Primitive,基于Primitive接口重新实现了Kernel。相比EP提供的运行时接口,Primitive提供的接口更加灵活,不同接口之间相互独立,每一个接口表示了某种硬件设备可以提供的特定的计算能力。
Global算子支持
PyTorchcompatibleAPI更加完善。新增一系列与PyTorch0兼容的功能和接口,包括新增与PyTorch对齐的68个API,修复了84个算子与接口兼容性bug,支持用户将更多PyTorch模型一键迁移为OneFlow。
多设备适配
异常报错处理
性能
除原本的ZeRO-DP以外,ZeRO零冗余优化器可以与MP,2-D,3-D并行搭配使用,进一步节省显存开销。Graph提出了新的流水并行API,在简化流水并行配置的同时加速流水并行与3-D并行的性能。为了进一步提升Graph.debug调试效率,新增关于逻辑、lightplan物理、内存分析、Python栈信息等多维度的调试功能。
支持分层存储,动态扩容的Embedding,用户可以以较低成本扩展Embedding容量混合并行策略,能够轻松地将模型横向拓展到多机多卡的场景通信量化压缩功能,在并行场景下,对通信的数据进行量化压缩,以减少通信量,提升训练速度高效的数据流水线,将模型中没有数据依赖的部分提前执行,在时间上进行重叠支持自动混合精度训练,模型训练过程中将部分计算转换为FP16数据类型计算,在减少显存占用的同时提升训练速度,并能保证模型收敛精度针对推荐系统模型的常用操作提供一系列高性能CUDA算子支持灵活的模型构建
新增调试工具栈OneFlow-Profiler与AutoProf。
基于OneFlowv0.0和LiBaiv0.0,GPT和BERT3-D并行下的速度优化明显,在多个维度上的速度表现都超越相同配置下的Megatron-LM。
大幅完善OneFlowAPI中的异常处理流程,完善API在异常情况下的报错提示信息。
OneFlowv0.0主要包括以下新增亮点功能和优化:
OneFlow-Profiler用来在框架执行流程中收集各种性能相关信息的工具。该工具可以统计算子或系统组件的执行时间,内存显存的分配情况,同时可以记录算子对应的的输入和参数信息,这些信息可供开发者分析框架执行中开销最大的部分,以实现针对性优化。
Graph高级特性的性能更加成熟完善:
兼容性
调试工具栈
其他人都在看
所有算子对GlobalTensor的支持更加完备且高效。修复了28个GlobalTensor相关的bug,新增180个Global算子单测,用户可以更加简单且高效地用GlobalTensor进行分布式模型开发。
API文档
文章为作者独立观点,不代表股票交易接口观点