面试题:RAG 检索增强生成:文档怎么切块、向量索引怎么建、混合检索怎么排、幻觉怎么治?
这是「每日一题」专栏的第十三篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 Feed 流系统设计,今天按轮换回到 AI/LLM 方向,聊上一篇预告的题:RAG 检索增强生成。
模型微调与模型蒸馏 — 概念、方法与选型
微调和蒸馏是聊开源模型时绕不开的两个词,但经常被混为一谈。一句话区分:微调改变「模型会什么」,蒸馏改变「模型有多大」——微调是拿你的数据继续训练,让模型适配你的任务;蒸馏是让大模型当老师,把能力压缩进小模型。本文讲清两者的本质、方法和选型。
开源 LLM 部署方案全景 — 从本地 Ollama 到生产级 vLLM 集群
开源 LLM 怎么部署,取决于你手里有什么算力、要服务多少人。本文不讨论引擎内部机制(选型见推理引擎选型),只给端到端部署方案:按算力场景分四档,每档给可跑命令、显存预算和踩坑。
LobeChat 自托管部署指南 — Docker 一条命令接 DeepSeek
LobeChat 是当前最流行的开源 AI 聊天前端之一,界面漂亮、功能齐全,支持聚合多家大模型供应商。自己部署一台的好处很实在:对话数据不出自己的服务器,模型按需切换,还省了订阅费。本文给出一条命令的 Docker 部署方案,直接接 DeepSeek——国内直连、便宜、够用。
分布式训练工程课:3D 并行、ZeRO/FSDP 与通信开销的账怎么算
先给结论:大模型训练并行只有三件事——显存放不下、算力不够用、通信不能成为瓶颈。数据并行(DP)摊算力、张量并行(TP)摊单层显存、流水线并行(PP)摊层数,ZeRO/FSDP 是数据并行的显存优化形态,实际生产(GPT-3、Llama、Qwen 系列)都是把它们叠成 3D/4D 并行来用。选型的本质是一道通信开销的算术题:每步训练要搬多少字节,你的互联带宽扛不扛得住。
上一篇讲了参数高效微调 LoRA/QLoRA,那是"少训点参数"的路线;这篇是"多卡一起训"的路线,两者互补。集群怎么调度 GPU 见K8s GPU 调度。
面试题:设计一个 Feed 流系统:关注关系怎么存、推拉模式怎么选、百万粉丝的大 V 怎么扛?
这是「每日一题」专栏的第十二篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 Cache-Aside 缓存一致性,今天按轮换来到系统设计方向,聊上一篇预告的题:Feed 流系统设计。
投机解码(Speculative Decoding):小模型猜、大模型验,解码提速 2-3 倍且输出分布不变
自回归解码是 memory-bound 的:小 batch 下每生成一个 token 都要把全部权重从 HBM 读一遍,GPU 算力大部分时间在空转。投机解码(Speculative Decoding)的思路反直觉但极其优雅——让一个便宜的小模型先猜 γ 个 token,大模型一次前向并行验证,猜对的直接收下,猜错的用拒绝采样修正。论文级收益 2-2.5 倍,工程实现(Medusa/EAGLE/DeepSeek MTP)能到 3-4 倍,而且输出分布与原生解码严格一致,不是近似。
面试题:先更新数据库还是先删缓存?Cache-Aside 到底哪里会出错、怎么保证最终一致?
这是「每日一题」专栏的第十一篇。每天一道面试题,后端 + AI 混合路线,从原理到代码一次讲清。上一篇讲了 模型量化,今天按轮换回到后端/分布式方向,聊上一篇预告的题:Cache-Aside 缓存一致性。
LLM 推理引擎选型:vLLM、SGLang、TensorRT-LLM、TGI 到底怎么选?
推理引擎选型是 LLM 服务化里最容易被低估的架构决策。同样的模型、同样的 GPU,换一个引擎吞吐可能差 2-3 倍;但反过来,厂商 benchmark 里好看的引擎,落到你的真实负载上可能反而更慢。这篇文章把 vLLM、SGLang、TensorRT-LLM、TGI 四个主流引擎放在一起对比,从调度机制、前缀缓存、结构化输出、量化、MoE 支持五个维度拆,最后给选型决策表和生产踩坑记录。