无限可能的想象力

认真做事,用心写代码

从游戏 AI 到大模型 RL:一份 Replay Buffer 架构设计的深度复盘与行业对照

从游戏 AI 到大模型 RL:一份 Replay Buffer 架构设计的深度复盘与行业对照 本文以一个真实的、面向 MOBA 5v5 大规模自对弈 RL 训练的 Replay Buffer 设计为样本,从第一性原理(First Principles)出发对其 8 项关键设计逐一剖析;并以 IMPALA、SEED RL 两代经典分布式架构作为行业对照,延伸到大模型时代 Replay ...

强化学习推理尾延迟全栈根因分析(下):抽象边界反思与SHM通信深度解析

摘要:本文是”强化学习推理尾延迟全栈根因分析”系列的下篇。在上篇和中篇分别完成应用/系统层和微架构/虚拟化层的分层诊断后,本文从方法论层面反思抽象边界的承诺与失效,完成逻辑自检与因果链验证,并深入解析共享内存(SHM)与 Socket 通信在 CPU/Socket/NUMA 三层抽象中的系统性关系——这是整个系列中技术密度最高的内容,揭示了两种通信方式的本质差异及其在不同部署环境下的工...

强化学习推理尾延迟全栈根因分析(中):微架构、虚拟化与解决方案

摘要:本文承接上篇对应用层和系统层的诊断,深入微架构层(CPU Cache 一致性、MESI 协议、内存带宽)和虚拟化层(VMware拓扑欺骗、co-scheduling 互锁),揭示尾延迟的真正物理根因——不是代码缺陷或参数调优不足,而是主动穿透抽象的紧密依赖与抽象泄漏的交叉放大:应用层为性能主动穿透 Ray/Linux 抽象,而虚拟化层承诺失信使优化基础被破坏,两者叠加产生 4 个...

强化学习推理尾延迟全栈根因分析(上):现象、架构与系统层诊断

本文围绕强化学习训练采样模块中观测到的推理尾延迟现象,通过穿透应用层(Ray + SHM 通信)和系统层(Linux NUMA / CPU 亲和性)进行根因分析。 摘要 本文围绕强化学习训练采样模块中观测到的推理尾延迟现象(p999_deschedule_ms 在 VMware + rt_runtime_us=500000 下飙升至 400-470ms,而同一 VMware 环境...

vllm是如何支持大模型分布式推理?

LLM 只能逐个采样并生成新 token,并且每个新 token 的生成过程都依赖于该序列中所有先前的 token,具体来说是它们的key和value vectors。 在这个顺序生成过程中,已有 token 的key和value向量通常会被缓存以用于生成未来的 token,这称为 KV 缓存。 请注意,一个 token 的 KV 缓存依赖于其所有之前的 token。这意味着出现在序列中...

Pytorch DeviceMesh

DeviceMesh想要解决什么样的问题。 DeviceMesh 是管理进程组(或 NCCL )的更高级别的抽象。它允许用户轻松创建节点间和节点内进程组,而无需担心如何为不同的子进程组正确设置rank, 并且它有助于轻松管理这些分布式进程组。init_device_mesh()函数可用于创建新的 DeviceMesh,其网格可描述设备拓扑。 DeviceMesh 可用于描述整个集群中的设...

Pytorch DDP分布式数据并行训练

通过理解DDP分布式数据并行策略,来了解上层的算法和底层的计算之间是如何进行交互的 pytorch的并行策略实现对应三种不同的实现 torch/nn/parallel/distributed.py: DistributedDataParallel torch/distributed/fsdp:FSDP torch/distributed/pipelining:流水线并行,模型...

Pytorch Elastic 分布式训练架构

分布式训练系统 分布式训练需要使用由多台服务器组成的计算集群(Computing Cluster)完成。而集群的架构也需要根据分布式系统、大语言模型结构、优化算法等综合因素进行设计。 分布式训练集群属于高性能计算集群(High Performance Computing Cluster,HPC),其目标是提供海量的计算能力。 在由高速网络组成的高性能计算上构建分布式训练系统,主要有两种常见...

Torchelastic agent和user worker之间故障转移约定

本文翻译自pytorch源码中torch.distributed.elastic包: github地址 Torchelastic agent 和 user worker故障转移合约: TL;DR;: TE(torchelastic) 期望 user workers 在 5 分钟内完成漂移(drift) 最好将 DDP app 设计为所有workers都失败,而不是单个...

kubeflow分布式训练:training-operator的设计以及实现

本文简单介绍了kubeflow的整体架构,重点关注模型训练training-operator; 以PytorchJob为例,介绍CRD(Custom Resource Definition)的设计以及实现 kubeflow 简介 Kubeflow 是一个开源项目社区和生态系统,旨在解决机器学习 (ML) 生命周期中的每个阶段 ,并支持主流的开源工具和框架。Kubeflow 使 K...