Han Wenbo

Focus on technology, trends, and their intertwined politics.

  • GPUDirect RDMA 直接绕开 CPU 和主机内存

    今天看为什么公司的h20 使用 vLLM 跑 DeepSeek 的时候,比 sglang 慢,引入了另一个兴趣点。我去翻了下 vLLM 文档,看到一段“Enable GPUDirect RDMA”。意思是:如果网卡支持 RDMA,网卡可以直接读写 GPU 的显存(VRAM),中间不必绕 CPU 和主机内存那一圈。我顺着这个点去查了下资料:本质上是走 PCIe 的 peer-to-peer 通道,把 NIC 和 GPU 放到一个“直通车”上,减少内存拷贝与 CPU 介入。这个机制在文档里写得很清楚,甚至还强调了前提条件(比如设备要在同一个 PCIe root complex 下等)。

  • ChatGPT5 系统提示词

    一共内置了5个系统级别的工具,分别是

    1 bio:长期记忆工具,把用户重要信息写进系统提示,跨对话牢记。

    2 canmore:画布级文本文档,支持代码高亮、实时预览(即 Canvas功能,在 Claude 里对应的是 Artifacts。

    3 image_gen:文生图&图生图,支持风格转换、透明背景、多尺寸输出。

    4 python:沙箱 Jupyter 环境,执行代码、绘图、生成文件,数据持久化。

    5 web:实时检索网络,获取最新资料与本地信息。

  • 奖励系统的种类

    在RewardBench中,分了Seq. Classifier,Custom Classifiers,DPO,Random,Generative5种类型的奖励模型,我比较知道的是Sequence Classifiers 和Generative,今天也主要记录这两者。

  • R1 系列模型 Chat Template 变更分析与下游解决方案

    DeepSeek-R1-系列开源模型文件 tokenizer_config.json 的 chat_template 对应的 Jinja 模板 发生了改变。具体来说,原来的 {’<|Assistant|>’}}{% endif %} 变成了 {'<|Assistant|><think>\\n'}}{% endif %}。造成的结果是,本地部署 DeepSeek-R1-系列模型时,输出仅有 </think>,而没有 ,也就是说 标签现在位于提示词中,而不是生成的内容中。

  • vLLM中的并行技术:张量并行(TP)与流水线并行(PP)解析

    今天看到有人用vLLM 0.7.1部署r1,TP size 8,PP size 2,忽然想到平时都是用TP,基本上没有用PP,也看到科学空间群里的有人调研使用的命令。然后在公众号,知乎查到的关于TP和PP的说法很多都是错误的,使用perplexity.ai才在reddit和个人网站搜到一些有用的资料,备份复习重温一下吧。

    image-20250210182840768

  • 用多重背包算法解决大模型长距离依赖和数字约束遗忘问题

    最近在做医疗诊断+食谱生成的一个项目,遇到了一个棘手难题:数值敏感度不足,长距离依赖和约束遗忘。 我们需要利用大模型根据患者病情自动生成个性化食谱,首先生成一日营养目标摄入总量,然后生成早餐,中餐,晚餐各个食材的设定目标,结果是各个食材营养摄入总和总是超过总量预设值。LLM虽能生成流畅食谱,却难以精确控制营养素摄入量,为解决此问题,我们提出将食谱生成转化为多重背包问题,利用动态规划算法,在满足每日营养目标(背包容量)的约束下,选择最优菜品组合(价值最大化)。通过检索和约束优化,替代LLM的直接生成。