在网络组做科研时,被分配了一个算法优化问题
“能不能证明一下,在某些条件下,这个improvement最多也只有这个”
- 问题的上限是什么,哪些事情不可能发生
- 不关心理论上限,只关心能否继续提高
- 意识到自己不喜欢理论,更喜欢突破限制
- 把热情和精力花在自己想做的那件事上
- 不参与大家都关心的"特奖"竞争
- 永远是中游,但在好的环境中
导师: 让学生在会议室黑板上讲自己想做什么
“老师听了半天之后,他让我讲的这个过程是因为他觉得我只有听你讲,才能知道你想做什么,或者你喜欢什么样的东西。”
能看出学生喜欢什么,然后按这个方向给任务
创造问题、告诉别人问题为什么重要,而不是解决问题- 项目脉络清晰:多个项目之间有清晰的脉络和关系
- 盯住重点:每个项目都知道重点在哪里
- 引导方向:能让学生抬头看"那棵树在哪里"
“学生可能在草坪上东走西走,老师告诉你那棵树,你得往那树跑。”
放弃的能力
这种魄力不是每个人都有的
| 时间 | 选择 |
|---|---|
| 路由器相关研究 | 说停就停,开始做 P2P |
| P2P 研究最高潮 | 说停就停,开始做 Big Data |
| Big Data 最高潮 | 说停就停,开始做 AI Serving |
- 不看领域是否火热,只看接下去 5 年什么最重要
科研方向的演进
- 2010-2015 年:
大数据和云计算 - 2016-2017 年:AI(视觉等应用)
- 现在:大模型时代
- 当时不选 AI 的原因:2011-2012 年
AlexNet刚出来,大家还在用 SVM 和 Regression,深度学习不被认可
视频流媒体研究
- 2008 年:北京奥运会网络直播,专门为此搭建一套系统
2010年拐点:- Netflix、Hulu、HBO、BBC、YouTube 等意识到可以通过网络直接传内容给用户
- 宽带用户数量大幅增加
- 媒体公司都需要
Video Streaming Strategy
“就像现在每个公司都有 AI strategy 一样”
- 当时的技术限制:
- 没有专门为流媒体做的系统
- 只能用 HTTP(所有网络运营商都支持)
- HTTP 是为网页设计的,没人认为可以用来做 video streaming
第一个研究项目
任务:反向工程(reverse engineering)各公司的流媒体协议
- 内容:熬夜数周,分析网络包,看协议内容是什么
- 意义:知道大家共同碰到的问题是什么、面临什么挑战的人
第二个研究项目
利用视频数据测量网络状况
- 洞察:每次用户看视频,不只是传输视频,同时在测量网络质量
- 方法:将全世界的视频播放数据统一起来,告诉我们网络条件长什么样
- 创新点:第一个用
大数据方法优化 Internet 级别的应用
"做第一条狗"的科研哲学
张辉老师在新生讲座上讲的故事:
- 画三只一模一样的狗
- 第一只狗:前面可能是骨头,也可能是坑
- 后面的狗:看到第一只狗的结果,绕开走或跟着吃
“你需要做最好的 research,就做第一条狗。但第一条狗可能掉坑里,也可能吃到骨头。好的研究是要担一点风险的。”
CDN 在不同时代的作用
| 时代 | 技术 | 解决的问题 |
|---|---|---|
| Web 时代 | CDN | 网页内容分发 |
| 视频时代 | CDN | 视频内容分发 |
| 大数据时代 | Parallel distributed file system | 大数据存储 |
| AI 时代 | KV Cache | 模型记忆管理 |
四次工业界经历
- 三次在微软研究院(写 paper)
- 一次在张辉老师公司做产品(写播放器)
在公司做产品的最大收获
- 任务:写 Adobe 的播放器,用没人知道的编程语言
- 张辉老师的指导:实习期间不要想 research,就做产品
- 收获:
- 全校做网络视频传输的 PhD 中,唯一知道 video player 里面到底发生什么的人
- 知道哪些优化支持、哪些不支持
- 知道哪些优化有效果、哪些不可能有效果
- 知道哪些工程问题是暂时解决不了的、什么时候可以解决
- 知道不同厂商的 video player 的公有问题
关于去工业界的建议
核心态度:以工程师心态融入,不要带研究员的偏见
为什么要融入:
- 只有混进去,才能看到里面到底发生了什么
- 天天看工程师在吵什么事情,才知道什么时候难、什么时候容易
学术界的问题:
- 非常容易变成"把 book 的人"
- A 说这个问题重要,B 也说重要,就觉得重要
- 可能根本没见过问题长什么样
真正有价值的问题:
- 第一线工程师不会写 paper
- 只有站在那个地方,才能看到这些问题
- 实习结束后回去想想,能不能写论文
“一个计算机的话,它应该是一个工程科学。”
🫧KV Cache 与大模型记忆
- 现象:存储价格上涨,供需不平衡
- 原因:AI 时代,大家都关注算力,忽略了存储的需求
- 驱动:KV Cache 是模型运行时生成的数据,对存储压力非常大
KV Cache 的本质
定义:Transformer 架构中模型自己生成的内部记忆
- “模型自己的记忆(模型的内部数据)会成为比人可以看懂的数据更重要的数据类型。”
- 任何应用规模大到一定比例的人都用,就必须有一个数据层让数据分发更有效
KV Cache = 给大模型看的视频
| 对比 | 视频(给人看) | KV Cache(给大模型看) |
|---|---|---|
| 创作方式 | 人脑生成 | 模型自己生成 |
| 人类理解 | 能看懂 | 人类看不懂 |
| 效率 | 比看书更高效 | 模型可以立刻理解内容 |
| 维度 | 三维呈现 | 高维张量 |
- 为什么重要:
模型交互产生庞大的 KV Cache 数据- 每次继续交互都需要这些数据
- 需要
类似 CDN 的数据层来加速
推理的重要性
“训练一次,你之后会用无限长的时间。你绝大多数时间都不是在训练里面,是在推理上面,都花在给人用上面”
推理才是 bone neck,不是训练
创业
- 预测:
模型记忆会成为最重要的数据类型 - 开源:LMCache(KV Cache 管理框架)
- 公司:Tensormesh
- 融资:2000 多万美金
- 时机:transformer 架构跑通后,科学家发现 KV Cache 太大
- 历史:
视频流媒体时代,CDN 变得重要;AI 时代,模型记忆管理变得重要
我更希望去和自己卷我自己喜欢做的事
职业建议与思考
关于读博选导师
两种好导师类型:
| 类型 | 代表人物 | 特点 |
|---|---|---|
| 给予热情 | 刘斌老师 | 纯粹做研究,给学生自由 |
| 激发热情 | 张辉老师 | 因材施教,让学生做喜欢的事 |
“这两种对学生都非常好。一种是给予热情,另一种是让你自己产生热情。”
关于 Ion Stoica 的成功要素
- 有 Vision:不是 student-driven,是 vision-driven
- 持续思考:不停想接下去 5 年什么最重要
- 魄力:
想清楚后把之前所有东西清掉,全身心投入
关于做研究
- 不要太早:当第一个吃螃蟹的人可能被夹到
- 担风险:好的研究需要承担一点风险
- 不跟风:不要别人说什么重要就认为什么重要
建议
“如果去 industry 做 intern,以不带研究的思维去,你根本不知道什么问题。你会看到什么样有意思的事情,不要带着你研究者的偏见去。”
| 话题 | 句 |
|---|---|
| 选择 | “我更希望去和自己卷我自己喜欢做的事儿” |
| 放弃 | “这种放弃的能力好强大。” |
| 研究 | “好的研究是要担一点风险的。” |
| 工业界 | “你要把自己变成他们的议员,混进去才能看到里面发生了什么。” |
| 科研哲学 | “你需要做最好的 research,就做第一条狗。” |
| 本质 | “一个计算机的话,它应该是一个工程科学。” |