主页

Fsdp V1 V2

GPU分配 P: Parameters G: Gradients OS: Optimizer states 一般 1:1:6 一般都和 optimizer 有关系 优化器的构造会封装parameters optimizer = optim.Adam(mode.parameters(), lr=0.001) loss.backward() -> parameters.grad optimizer.step() -> optimizer stats 更新优化器状态 momentum 一阶矩阵信息, graident 的指数平均 variance 二阶方差信息 gradient s...

阅读更多

为什么相比于SFT训练,RL训练更依赖推理引擎

在大模型的训练中,常见的 RL(Reinforcement Learning)训练框架往往对推理引擎(如 vLLM、SGLang)依赖更强,甚至会将其作为安装和运行的必选组件。 核心原因很简单:SFT 在训练时只需要一次性计算 logits(Prefill),而 RL 的 rollout 阶段必须走完整的 Prefill + Decode 推理流程 1. Prefill vs Decode 在 Transformer 推理中,我们可以把计算过程分为两种模式: 阶段 输入内容 输出内容 并行性 Prefill 一次性输入整个序列(prompt + 已知目标...

阅读更多

IB 原生 RDMA 与 以太网卡 + RoCE 对比

1. IB 原生 RDMA 方案(InfiniBand 网卡) IB = InfiniBand,是一种高速、低延迟、高带宽的数据中心互连技术,原生支持 RDMA,无需额外协议封装。 典型带宽:40Gbps、100Gbps、200Gbps 及更高。 主要应用于 高性能计算(HPC)、人工智能训练集群、分布式存储 等对延迟和吞吐极度敏感的场景。 常见 IB 网卡型号: Mellanox ConnectX-6 (CX6) Mellanox ConnectX-7 (CX7) NVIDIA BlueField 系列 DPU(带 IB 接口) 优势: 原生 RDMA:直接在节点间读写内存,绕过 CPU,延迟可达微秒级。 带宽利用率极高,吞吐稳定。 在 HPC、A...

阅读更多

云防火墙 与 WAF 产品上的区别

云防火墙(Cloud Firewall)和 WAF(Web Application Firewall)都属于网络安全产品,但防护层级和保护对象不同,经常作为互补方案同时部署。 一、云防火墙(Cloud Firewall) 定义 云防火墙是部署在云上的网络边界安全产品,相当于传统硬件防火墙的云化形态,用于保护云环境整体的网络流量。 主要功能 网络访问控制(ACL / 安全组增强) 状态检测、防入侵(IDS/IPS) DDoS 防护(部分集成) NAT、VPN 管理 跨 VPC 的东西向流量可视化与控制 出入口(南北向)及内网(东西向)防护 保护对象 云服务器实例(ECS) 子网/VPC 整体网络 非 Web 应用(数据库、SSH、...

阅读更多

lambda 与 bind ,类与模版

Lambda 底层:编译器生成闭包类 Lambda 不是模板,而是编译器生成的类 每个 lambda 表达式,编译器都会自动生成一个匿名的类(闭包类型),这个类重载了 operator()。 // 你写的 lambda auto lambda = [x, &y](int a) -> int { return x + y + a; }; // 编译器实际生成类似这样的类 class __lambda_123 { // 编译器生成的匿名类名 private: int x_; // 按值捕获的 x int& y_; // 按引用捕获的 y public: // 构造函数:初始化捕获的变量 __la...

阅读更多

boost::bind 参数量限制与现代 C++ 替代方案

boost::bind 参数量限制与现代 C++ 替代方案 问题背景 在维护老代码时,遇到了一个使用 Boost 1.63 版本的 boost::bind 的问题:发现该函数无法传入超过 9 个参数(包括 this 指针)。这个限制其实是 C++03 时代的历史遗留问题。 根本原因:C++03 的”转发问题” 在 C++03 时代,由于缺乏可变参数模板和完美转发机制,boost::bind 面临一个被称为”转发问题”(forwarding problem)的根本性限制。 转发问题的本质 C++03 中,模板函数的参数通常写成 T&(非 const 左值引用)来”原样传递”对象,但这样的写法无法接受右值(临时对象、字面量): template<class T&...

阅读更多

广告展示的”随机“选择:三种算法的深度对比

在互联网广告投放、负载均衡、A/B测试等场景中,我们经常需要按照预设权重从多个选项中进行选择。本文将深入探讨三种不同的加权随机选择算法,并通过大规模模拟实验对比它们的性能表现。 问题背景 假设我们有4个广告,权重分别为2、3、4、5,需要每次展示2个不同的广告。看似简单的需求,实际上涉及到几个关键问题: 如何确保长期展示比例符合权重设定? 如何处理”不重复选择”带来的概率分布变化? 在需要结果可重现的场景下,如何实现确定性选择? 理论分布的计算 简单权重 vs 不重复选择 首先需要理解一个重要概念:当我们进行不重复选择时,实际的概率分布会与简单权重比例有所不同。 简单权重比例(假设每次选择独立): Ad0: 2/14 = 14.29% Ad1: ...

阅读更多

GPC(General Polygon Clipper)多边形布尔运算库

概述 它最初由 Alan Murta 在曼彻斯特大学开发。 官方主页:Alan Murta’s GPC page Key operations supported: Difference (A-B) Intersection (A∩B) Exclusive-or (A⊕B) Union (A∪B) 算法特点 扫描线算法(Sweep Line): 预处理阶段 Inital Validation: 检查简单的空结果情况 使用边界框测试优化(minimax_test)识别潜在的轮廓 构建局部最小值表(LMT): 为主体(subject)和裁剪(clip)多边形构建LMT 对于...

阅读更多