详情

首页手游攻略 YaFSDP:实践指南

YaFSDP:实践指南

佚名 2026-09-12 20:00:01

实际评估YaFSDP时,我先确认它解决的具体问题:YaFSDP:另一个完全分片的数据并行。一旦进入数据与知识处理环节,数据结构、更新策略和可追溯性会决定结果是否可信会直接影响交付,这也是我最关心的风险。落地前可以用一份规模可控且答案已知的数据集试跑,用模式兼容、增量更新、查询结果和来源追踪判断它是否真的省事。整体来看,它适合需要保留数据来路与变更记录的使用者拿来做对照测试,最终决定仍应回到真实结果和维护状态。

YaFSDP

  • 概述
  • 相对于 FSDP 的优势
  • 示例
  • 问题和疑问
  • 引用

概述

YaFSDP 是一个分片数据并行框架,旨在与 类似变压器的神经网络架构。 YaFSDP 开发并 由 Yandex 维护。

您可以在我们的博客文章中找到有关 YaFSDP 内部结构的更多信息 中型 和 哈布尔。

相对于 FSDP 的优势

YaFSDP 预训练 LLMs 的速度提高了 20%,并且在高 内存压力条件。它旨在减少通信和内存 运营开销。

YaFSDP:

FSDP:

基准测试

我们在各种预训练设置上对 YaFSDP 与 FSDP 进行了比较,包括:

  • 7B至70B参数
  • 64 至 256 台设备
  • 每个序列 2048 到 8192 个标记
型号 GPU计数 序列长度 ckpt 层数 加速 YaFSDP 迭代时间(s) FSDP 迭代时间(s)
羊驼 2 7B 64 2048 0 9.92% 0.81 0.90
羊驼 2 7B 64 4096 0 3.43% 1.16 1.21
羊驼 2 7B 64 8192 0 2.68% 2.23 2.29
羊驼 2 7B 128 2048 0 9.57% 0.87 0.97
羊驼 2 7B 128 4096 0 2.42% 1.19 1.22
羊驼 2 7B 128 8192 0 2.32% 2.25 2.31
羊驼2 13B 128 2048 0 12.10% 1.55 1.76
羊驼2 13B 128 4096 0 3.49% 2.06 2.14
羊驼 2 34B 128 2048 0 20.70% 3.39 4.27
羊驼 2 34B 256 2048 0 21.99% 3.51 4.50
羊驼 2 34B 256 4096 5 8.35% 5.33 5.81
羊驼2 70B 256 2048 10 21.48% 6.97 8.87
羊驼2 70B 256 4096 50 7.17% 11.07 11.93
羊驼3 8B 64 2048 0 11.91% 0.97 1.10
羊驼3 8B 64 4096 0 7.86% 1.36 1.48
羊驼3 70B 256 2048 20 26.60% 7.17 9.76

详情:

  • 在每次运行中,每个设备的批量大小设置为 1。
  • speedup 表示 YaFSDP 和 FSDP 运行之间的相对迭代时间减少。
  • num-ckpt-layers 指的是变压器层数 应用了激活检查点。
  • 使用具有 A100 80 GB GPUs 的主机集群来测量性能。

示例

您可以在 examples 文件夹中找到使用 堆栈进行 LLM 训练的示例:

  1. clm.md 用于因果预训练
  2. sft.md 用于监督微调

请注意,这两个示例都需要 Docker 映像,可以使用以下命令构建该映像 docker/build.sh 脚本。该图像基于 NVIDIA PyTorch image 以及一些修补过的 库。库的补丁可以在 patches 文件夹。

问题和疑问

如果您遇到任何错误或有任何疑问 ,请随时打开 GitHub 问题。

相关资讯
点击查看更多
游戏推荐
推荐专题
热门阅读
推荐下载