核心内容:课程整体介绍,讲解了LLM推理的成本问题和SGLang的核心定位,课程由DeepLearning.AI与LMSys、RadixArk联合出品,讲师为RadixArk的Richard Chen。
关键知识点:
核心内容:建立推理的心智模型,讲解推理成本高的根本原因,课程整体学习路径规划,对比训练和推理的计算特性差异。
关键知识点:
核心内容:从零实现注意力机制和KV缓存,理解缓存如何消除单请求内的冗余计算,这是所有LLM推理优化的基础。
关键知识点:
代码示例:
# KV缓存核心实现逻辑
def generate_with_kv_cache(model, prompt, max_tokens=100):
# 首次处理prompt,生成初始KV缓存
tokens = tokenizer.encode(prompt)
past_key_values = None
for _ in range(max_tokens):
if past_key_values is None:
# 首次计算:处理全部token
outputs = model(tokens, past_key_values=None)
past_key_values = outputs.past_key_values
else:
# 后续计算:只处理最新的1个token,复用历史KV缓存
outputs = model(tokens[-1:], past_key_values=past_key_values)
past_key_values = outputs.past_key_values
# 选择下一个token
next_token = outputs.logits[-1].argmax().item()
tokens.append(next_token)
if next_token == tokenizer.eos_token_id:
break
return tokenizer.decode(tokens)
核心内容:讲解SGLang的RadixAttention机制,如何通过基数树实现跨请求的前缀缓存,大幅提升多用户场景下的推理吞吐量。
关键知识点:
代码示例:
# 使用SGLang实现前缀缓存的推理
import sglang as sgl
@sgl.function
def rag_qa(s, document, question):
s += f"请基于以下文档回答问题:\n{document}\n\n问题:{question}\n回答:"
s += sgl.gen("answer", max_tokens=200)
# 启动SGLang服务,自动启用RadixAttention缓存
runtime = sgl.Runtime(model_path="meta-llama/Llama-2-7b-chat-hf")
sgl.set_default_backend(runtime)
# 多个不同问题共享相同文档上下文,自动复用缓存
doc = "..." # 长文档内容
questions = ["文档的主题是什么?", "提到了哪些关键技术?", "作者是谁?"]
for q in questions:
result = rag_qa(document=doc, question=q)
print(f"问题:{q}\n回答:{result['answer']}\n")
核心内容:将缓存优化思路扩展到图像生成场景,实现扩散模型的推理加速,同样的优化原则适用于不同模态的生成任务。
关键知识点:
代码示例:
# 使用SGLang加速Stable Diffusion图像生成
import sglang as sgl
from PIL import Image
# 加载扩散模型,自动启用缓存优化
sgl.set_default_backend(sgl.Runtime(model_path="runwayml/stable-diffusion-v1-5"))
@sgl.function
def generate_image(s, prompt):
s += sgl.gen_image("image", prompt=prompt, num_steps=50)
# 生成多张相似主题的图像,自动复用公共计算
prompts = [
"一只可爱的柯基犬在草地上奔跑,阳光明媚",
"一只可爱的柯基犬在雪地里玩耍,雪花纷飞",
"一只可爱的柯基犬在海边散步,海浪拍岸"
]
for p in prompts:
result = generate_image(prompt=p)
img = Image.fromarray(result["image"])
img.save(f"corgi_{p[:10]}.png")
核心内容:讲解推理优化领域的前沿方向和开放问题,统一多模态推理引擎是未来的发展趋势。
关键知识点:
SGLang通过KV缓存和RadixAttention技术,从单请求和跨请求两个层面消除了推理过程中的冗余计算,大幅提升了LLM和扩散模型的推理效率。课程的核心思路可以总结为:识别重复计算 → 通过缓存复用 → 规模化应用到多模态场景。
这些优化技术已经在生产环境得到广泛验证,可以帮助企业降低70%以上的推理成本,同时提升用户体验,是当前大规模部署AI应用的必备技术。