FUSCO高性能MoE通信库#
FUSCO是一个高性能的分布式 All-to-All 通信库,专为 MoE(Mixture of Experts)训练和推理场景设计。 通过融合数据变换与通信过程,FUSCO 显著提升了大规模 MoE 模型的通信效率。本文档介绍了如何在 RLinf 框架下使用 FUSCO 进行加速。
安装#
参考 FUSCO 官方仓库(infinigence/FUSCO.git) 给出的安装指南。
# clone and install
git clone https://github.com/infinigence/FUSCO.git
cd FUSCO/
python setup.py install
# download the shared library
mkdir -p lib
curl -L -o lib/libfusco.so https://ghfast.top/https://github.com/infinigence/FUSCO/releases/download/v0.1/libfusco.so
快速开始#
RLinf 目前通过 Patch 方式集成 FUSCO,支持以 Megatron-LM 为后端的 MoE 训练。当训练配置满足条件时,系统会自动替换 Megatron 中的 MoEAlltoAllTokenDispatcher 类,并使用 FUSCO 的实现进行加速。 启用 FUSCO 的配置示例如下:
actor:
model:
moe_token_dispatcher_type: alltoall
expert_model_parallel_size: 2
expert_tensor_parallel_size: 1
variable_seq_lengths: false
配置说明:
moe_token_dispatcher_type: 设置为alltoallexpert_model_parallel_size: 设置为大于1expert_tensor_parallel_size: 设置为等于1variable_seq_lengths: 设置为false
满足以上条件且正确安装 FUSCO 后,RLinf 会自动启用 FUSCO。
可以通过以下命令进行测试:
FUSCO_SO_PATH=/path/to/libfusco.so \
REPO_PATH=/path/to/RLinf/ \
bash tests/e2e_tests/reasoning/run.sh \
qwen3-moe-2.5b-collocated-mg-sgl-ep-fusco-test