0%

记录一下做题目结构化时遇到的几个问题。

最开始很容易把它理解成 prompt 问题:只要在提示词里写清楚“请按 JSON 返回”,模型就应该输出一个合法 JSON。后来发现不是这样。JSON 本身只是格式,真正麻烦的是训练数据、模型输出、后处理、校验逻辑和业务消费端要对同一份结构有相同理解。

阅读全文 »

记录几次 LLM 服务里遇到的静默失败问题。

线上出问题时,最容易处理的反而是明确失败:进程 crash、HTTP 500、显存 OOM,或者日志里有异常栈。

麻烦的是另一类问题:请求不返回,但服务没挂;客户端已经断开,GPU 还在跑;流式响应发到一半,没有 [DONE];服务端返回了错误,SDK 却看不到错误原因。

这些问题表面上属于不同模块:vLLM 调度、FastAPI 流式接口、Java SDK、多进程工具调用、训练集群健康检查。放在一起看,其实都和“请求状态没有说清楚”有关。

我把这类问题叫做“大模型服务的静默失败”。

阅读全文 »

EAGLE-3 的自回归草稿器卡在了“速度”和“质量”的对立里:想让草稿更准,就得加深模型;模型越深,串行生成的代价越大。DFlash 的回答很直接:用块扩散模型替换自回归草稿器,单次前向传播并行生成整个 block,让草稿成本与投机长度彻底脱钩。相比 EAGLE-3,加速约 2.5×,平均接受长度提升约 2.2×

阅读全文 »

Transformer 的 FFN 层看起来只是一个简单公式,但过去七年真正一路演进的其实是两件事:激活函数怎么选,MLP 结构怎么组织。

这两条线分别从 ReLU、GELU、SwiGLU 和从密集 FFN、MoE 稀疏路由一路推进,最后在 DeepSeek-V3、Mixtral 这类模型里汇合成今天的形态:专家内部用 SwiGLU,外部用路由决定激活哪些专家。

阅读全文 »

训练深度神经网络有一个反复出现的噩梦:网络越深,训练越难。梯度消失、梯度爆炸、收敛慢、对初始化极度敏感——这些问题在 2015 年之前几乎是绕不过去的墙。归一化层的故事,就是一代代研究者在这堵墙上凿出一条路的故事。

阅读全文 »

从 SGD 出发,经过 Momentum、Adam、AdamW,一直走到 2024 年的 Muon——这条演进路线的背后,其实是一个反复被追问的同一个问题:怎么让梯度下降既走得快,又走得对?

阅读全文 »

从 2017 年 Transformer 的正弦位置编码出发,经过 RoPE,ALiBi,NoPE,PI,YaRN,一直走到 2025 年的 DroPE——这条演进路线的背后,其实是一个反复被追问的同一个问题:怎么让模型既知道位置,又不被位置限制住?

从第一性原理出发,把每一步改进背后的动机和局限都讲清楚,最终理解 DroPE 的核心洞察:位置编码只是训练时的“脚手架”,不是模型推理时的必需品。

阅读全文 »