Han Wenbo

Focus on technology, trends, and their intertwined politics.

  • 奖励系统的种类

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

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

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

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

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

    image-20250210182840768

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

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

    Read more…
  • 古籍、AI 与我的家族历史:兼论中外大模型在古文识别中的表现

    几年前,我得到了一份珍贵的古籍家谱,在我手里待了 30 分钟,这是一本写着我从哪里来的古籍。 高中三年真正培养了我阅读古文的能力,而这种能力将使我受益终身。 趁着我的古文阅读水平还在,我决定借助大模型的力量,将他们翻译出来。

    我发现大模型的能力真的参差不齐,美国的大模型识别中文古文的能力让我大吃一惊,比国内任意一家的能力都要好。 我会在文末放出各自的翻译截图,我分别测试了8家大模型,分别是: 国外的:Gemini,Claude,OpenAI ,国内的:通义千问,kimi,deepseek,智谱AI,豆包。

    我心目中的对于古籍识别排序的能力排名是这样的:

    Gemini > > 通义千问 > Claude-3.5-Sonnet= gpt-4o= kimi > deepseek v3 = GLM > > 豆包

    Gemini 最好,通义千问是接下来的佼佼者。 其他Claude-3.5-Sonnet,gpt-4o,kimi,deepseek v3都是基本还能看下去,但是deepseek v3不懂得古文是从右到左的。 GLM识别重复特别多,但是能识别出里边的内容,豆包就好像是完全在想象。

    识别出的内容我放在了附录里。

    Read more…
  • 纯文本、Markdown、YAML和JSON四种提示词样式对模型输出的影响实证

    我之前的项目实践总是把所有的提示词都设计成Markdown格式,因为我认为这样不仅对大模型友好,对我使用Typora编辑特别长的提示词也十分友好,而且直到现在GPT官方示例也是这样做的。

    后来看到宝玉分享的V0提示词,我的直觉告诉我应该试一试XML ,因为我用的提示词生成工具(dify一个内置功能)都是使用这个格式。后来我也频繁使用XML格式,但是到底哪个更好呢?我觉得这篇实证论文挺有参考意义的,因为它给了我使用JSON格式尝试的可能,可惜的是没有XML格式的对比。

    Read more…