记录一下做题目结构化时遇到的几个问题。
最开始很容易把它理解成 prompt 问题:只要在提示词里写清楚“请按 JSON 返回”,模型就应该输出一个合法 JSON。后来发现不是这样。JSON 本身只是格式,真正麻烦的是训练数据、模型输出、后处理、校验逻辑和业务消费端要对同一份结构有相同理解。
记录一下做题目结构化时遇到的几个问题。
最开始很容易把它理解成 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 的核心洞察:位置编码只是训练时的“脚手架”,不是模型推理时的必需品。
在 OpenAI 举办的 Parameter Golf 挑战中,参赛者面临着极为苛刻的条件:
模型产物大小严格限制在 16MB 以内,且必须在 8xH100 GPU 上 10 分钟内完成训练。
本文从基础的量化开始,介绍 TurboQuant(arXiv:2504.19874)的核心设计。
分享一套自用的 ETF 组合投资策略,基于动量、低相关性和均线趋势保护,用 Python 实现自动化选股和风控。