本期的嘉宾是 vLLM 团队的李卓翰、Simon Mo、柳晓萱 Lily、游凯超,和真格基金管理合伙人戴雨森。
两年时间,vLLM 从加州大学伯克利分校的一个 Demo 项目成长为全球范围内最受欢迎的开源大模型推理加速框架。AI 技术不断突破极限,大语言模型正处于浪潮之巅。而在开发以外,模型的部署常常受到推理速度过慢、GPU 利用率过低的阻碍。vLLM 以 PagedAttention 核心算法,支持 30+ 生成式大语言模型,多种硬件厂商的适配和前沿的优化,能够做到与 Hugging Face Transformers 相比 24 倍的吞吐量。
昨天,真格基金正式宣布对 vLLM 项目进行捐赠。对于创造未来的重要基石,我们愿尽绵薄之力。本期播客,我们请来了 vLLM 项目的四位主要团队成员以及主导这次捐赠的真格基金管理合伙人戴雨森,聊聊 vLLM 背后的开源故事,以及这个项目是如何在 AI 浪潮中势如破竹的。
在本期节目里,我们聊到了 vLLM 如何在短短两年成为了炙手可热的开源大模型推理加速框架?从学界项目起始,vLLM 团队是如何精准发挥自身优势同时进行适应的?为何 vLLM 开源项目能够建立起如此活跃的技术社区生态,吸引全球人才共创?vLLM 的团队如何看待商业化,他们对作为开源项目的 vLLM 有什么愿景?相信无论你是大模型领域的技术开发者,还是对 AI 的发展与创新感兴趣,抑或是开源社区的经营者,这期节目都能带给你启发。
【本期嘉宾】
戴雨森 真格基金管理合伙人,投资了月之暗面等头部 AI 公司
李卓翰 加州大学伯克利分校博士生, vLLM 创始人之一,目前负责 vLLM 的高层设计与开源社区管理
Simon Mo 加州大学伯克利分校博士生,目前在 vLLM 承担产品经理/开源社区生态管理的角色
柳晓萱 加州大学伯克利分校博士生,目前在 vLLM 负责科研导向的设计与改进
游凯超 清华博士生,赴伯克利访问,目前在 vLLM 负责开源内容的维护管理
【本期要点】
02:07 vLLM 项目与团队的基本介绍
12:04 在 vLLM 之前,没有 LLM 推理框架尝试在多请求角度做优化
15:38 从零到一,成为最快、最好用的开源引擎
23:12 「大卫战胜哥利亚」,开源模式和代码质量是核心
30:22 开源传统塑造学界与业界「探索性+实用性」的火花碰撞
32:35 开源发布之后,vLLM 的目标不再是只是速度
35:27 一个模型火了,关于这个模型的 issue 就会疯狂增加
40:20 发论文可以有很多前提条件,但做系统需要解决所有极端情况
43:51 未来大模型会更倾向于场景驱动,探索模型效率的极限
45:52 vLLM 选择做的与选择不做的
50:50 建立起广泛的贡献者生态没有什么诀窍,就是一个一个来
58:32 要抑制自己动手的冲动,让社区慢慢成长起来
01:02:39 PMF 出现在当 PR 开始爆炸性增长而我们没精力去提供新的功能时
01:03:10 在 vLLM 做科研是一个正向迭代的过程
01:07:10 更多硬件和模型支持、更高的性能优化,vLLM 会持续构建和维护开源
01:11:43 我们很高兴能做一个非商业化的项目,让大家都能更好地商业化
01:16:57 vLLM 团队关注的新鲜开源项目与书籍分享
【相关资料】
vLLM 项目 GitHub 网址:github.com
vLLM 项目:vLLM 是大语言模型的推理与服务引擎。简单来说,vLLM 的主要功能是将训练好的模型部署到生产环境里,着重于效率与成本,让模型推理变快,让 GPU 更能物尽其用,最终让 AI 产品落地更快。技术上来讲,vLLM 是一个基于 PagedAttention 核心算法的开源项目,支持 30+ 生成式大语言模型,多种硬件厂商的适配和前沿的优化。
PagedAttention :是一种内存管理算法,它被设计用于优化大型语言模型(LLM)中的注意力(Attention)机制。PagedAttention 的核心思想是利用操作系统的分页(Paging)和虚拟内存技术来管理 Transformer 模型注意力操作里的 KV 缓存(KV Cache),使得大型语言模型在推理过程中能更有效地利用计算资源。
KV(Key-Value):在注意力机制中,输入数据被分为两部分:键(Key)和值(Value)。模型通过计算键和查询(Query)之间的相似度来确定每个值的重要性。
Paging(分页):分页是操作系统用于管理内存的一种技术。它将内存分成固定大小的页,并只加载当前需要的页到物理内存中,其他页则存储在磁盘上。当需要访问不在物理内存中的页时,操作系统会进行页面置换。
Virtual Memory(虚拟内存):虚拟内存是一种技术,允许计算机使用比物理内存更多的内存。它通过将部分数据存储在磁盘上,而不仅仅是物理内存中,来扩展可用的内存空间。
Prefix Caching(前缀缓存):一种计算机科学中的技术,用于存储昂贵函数调用的结果,并在相同的输入参数再次出现时返回缓存的结果。这种技术特别适用于那些计算成本高且频繁使用相同参数调用的函数。
Speculative Decoding(推测解码):作为 2023 年新兴的一项大语言模型推理加速技术,提出了一种类似的解决方案:通过增加每个解码步大语言模型计算的并行性,减少总的解码步数(即减少了大语言模型参数的反复读写),从而实现推理加速。
CUDA Kernel:在 CUDA 中,Kernel 是在 GPU 上执行的函数。当我们说“启动 Kernel"时,我们是指在 GPU 上调度和执行该 Kernel。
Chunked Prefill:通过把较长的用户请求输入分块处理,使得有更多的空间来处理其他的请求,减少一个较长的请求对其他请求的影响,增加整体服务的延迟的稳定性。
MoE:全称 Mixture of Experts,混合专家模型。MoE 是大模型架构的一种,其核心工作设计思路是“术业有专攻”,即将任务分门别类,然后分给多个“专家”进行解决。
Hugging Face:是一个专门为自然语言处理和深度学习提供支持和服务的开源库,由法国的一家同名公司开发。它提供了一系列强大的功能,包括模型训练、数据预处理、模型转换等,使得用户可以更加便捷地进行自然语言处理任务。
Transformers:是由 Hugging Face 开发的一个 NLP 包,支持加载目前绝大部分的预训练模型。随着 BERT、GPT 等大规模语言模型的兴起,越来越多的公司和研究者采用 Transformers 库来构建 NLP 应用。
Encoder-Decoder:一种模型,同时有 encoder(编码器)和 decoder(解码器)。
State Space(空间状态模型):用于描述这些状态表示并根据某些输入进行下一个状态预测的模型。Hugging Face链接:huggingface.co
Latent Attenttion:DeepSeek-V2 设计了一种称为 MLA(Multi-Head Latent Attention)的注意力机制。MLA 通过低秩 key-value 联合压缩,实现了比MHA更好的效果并且需要的 KV Cache 要小很多。
TensorRT-LLM:TensorRT-LLM 是一个由 NVIDIA 提供的开源库,旨在加速和优化在 NVIDIA GPU 上运行的最新大型语言模型(LLMs)的推理性能。它提供了一个综合的库,用于编译和优化 LLMs 进行推理,包括内核融合和量化、运行时优化等技术,同时提供了一个直观的 Python API 用于定义和构建新模型。项目 GitHub 网址:github.com
TGI:Huggingface Text Generation Inference(也称为 TGI)是一个用 Rust 和 Python 编写的框架,用于部署和提供大型语言模型。它是一个可用于部署和提供大预言模型的生产工具包。
ControlNet:一种神经网络,可以与预训练的扩散模型结合使用,特别是 Stable Diffusion 模型。ControlNet 可以用于生成图像的深度学习模型,通过在生成过程中引入外部控制信号来改进生成质量。2022 年, ControlNet 的项目发布者 Zhang Lvmin 张吕敏获得了第一期真 Summer 奖学金。项目 GitHub 网址:github.com
Andrej Karpathy:前 OpenAI 创始成员,曾任特斯拉人工智能和自动驾驶部门(Autopilot)负责人。
BSD(Berkeley Software Distribution):是一种类 Unix 操作系统,最早在 1977 年末由加州大学伯克利分校的计算机系统研究小组(CSRG)开发。
Postgres:加州大学伯克利分校的开源项目,后发展为 PostgreSQL,一个高度可扩展的开源对象关系数据库系统。官网链接:www.postgresql.org
RISC-V:一种开放标准的指令集架构(Instruction Set Architecture, ISA)。官网链接:riscv.org
Spark:一个开源的分布式计算系统,提供了快速且通用的引擎来处理海量数据。官网链接:spark.apache.org
Ray:一个开源的分布式计算框架,专为大规模的 AI 和机器学习应用而设计。官网链接:docs.ray.io
Unsloth:专注于大型语言模型推理加速的微调训练方向。提供了开源版本,可以显著提高训练效率,减少内存使用,并且支持 NVIDIA、Intel 和 AMD 的 GPU。Unsloth 的主要特点包括使用 OpenAI 的 Triton 语言重写所有内核。官网链接:unsloth.ai
PyTorch:一个开源的机器学习库,广泛用于计算机视觉和自然语言处理等应用。官网链接:pytorch.org
Jax:由谷歌大脑团队开发的高性能数值计算库,支持自动微分和即时编译(JIT)。官网链接:jax.readthedocs.io
【Staff】
监制:加分、Wendi、Stone
后期:Keyone Studio
【关于真格】
《此话当真》是一档由真格基金出品的泛商业类播客,真格基金投资团队将在此和各领域的领军人物一起分享最新热点和行业洞察。
真格基金创立于 2011 年,是国内最早的天使投资机构之一。自创立伊始,真格基金一直积极在人工智能、芯片与半导体、机器人与硬件、医疗健康、企业服务、新能源、跨境出海、消费生活等领域寻找最优秀的创业团队和引领时代的投资机会。
真格,你的创业第一站!
【联系我们】
公众号:真格基金(ID:zhenfund)
官网链接:www.zhenfund.com
邮箱:media@zhenfund.com
你可以通过小宇宙、苹果Podcast、喜马拉雅收听我们。
如对节目有任何的建议与期待,也欢迎大家在留言中互动~
分享几个takeaway。
1.设计是在技能之上的,用代码做设计和用画笔做设计都是设计,懂设计愿意设计,永远都是非常稀缺且重要的立足之本。
2.但是在技能不熟练的情况下,是很难体现你的设计能力的,就像体育中你的基本功不扎实,教练看不出你的天赋的。
3.而体会设计思想的重要方法就是去看最优秀的作品,程序中当然就是要多看源码,慢慢地培养自己的品味。
4.对「系统」这个词理解又深刻了许多,他一定要具有通用性,过程中一定会有权衡。而能设计出可用的系统,这本身就会贡献很大的价值。
多多coding,享受创造的过程,希望有一天也能成为像他们一样的人