
港中深提出NetLLM:首个让LLM适配网络任务的框架,一个模型搞定视口预测、码率调度和集群作业调度
本文来自香港中文大学(深圳)数据与能源学院和弗诺尔人工智能研究院,合作者包括清华大学深圳国际研究生院和芝加哥大学的研究者。通讯作者为王方鑫。
该团队提出了 NetLLM——首个系统性地将 LLM 适配到网络任务上的框架。核心思路是:用同一个 LLM(实验中用的是 Llama2-7B),不做任何模型结构的修改,就能同时解决视口预测(Viewport Prediction)、自适应码率流媒体(ABR)和集群作业调度(CJS)三类截然不同的网络任务,而且在性能上全面超越现有专用模型。
这不是把 LLM 当聊天机器人用。NetLLM 要解决的是一个更根本的问题:网络领域的研究者能不能不再为每个任务单独设计神经网络,而是像 NLP 领域那样,用一个大模型通吃所有任务?
该研究已被 ACM SIGCOMM 2024 接收。
论文链接:https://doi.org/10.1145/3651890.3672268
痛点在哪:从规则工程到模型工程,换了个坑继续挖
网络算法的发展大致走过两个阶段。
早期是「规则工程」时代。以拥塞控制算法 Copa、流媒体码率切换算法 PANDA 为代表,研究者手工设计控制规则——根据测量的队列延迟调整发送速率,根据估算的带宽切换视频码率。这些算法管用,但设计、实现、验证规则的人力成本很高。
深度学习兴起后,网络算法进入了「模型工程」时代。研究者用监督学习或强化学习训练 DNN,自动发现网络优化方案。带宽预测、流量分类用监督学习;拥塞控制、码率选择、集群调度用强化学习。DNN 的函数拟合能力确实强,效果也好。
但问题随之而来。
第一个问题是模型工程成本高。 DNN 的架构设计直接决定最终性能,所以研究重心从「写规则」变成了「设计网络结构」。更麻烦的是,不同的网络任务输入数据形态各异——视口预测要处理时间序列和图像,ABR 要处理吞吐量时序和标量缓冲区长度,集群调度要处理 DAG 图。一个模型搞不定所有任务,只能每个任务单独设计。研究者把这个困境叫做「one model for one task」。
第二个问题是泛化能力差。 在平稳网络条件下训练出来的 ABR 模型,拿到带宽剧烈波动的环境里就可能比传统规则算法还差。网络运营商看到这种情况,自然不敢在生产环境里大规模部署学习型算法。
这两个问题在 NLP、机器人等领域已经被一种方法有效缓解了:用 LLM 作为基础模型(Foundation Model)。LLM 在海量数据上预训练获得的规划、模式挖掘、问题求解等「涌现能力」,可以迁移到下游任务上——这在机器人控制、芯片设计、蛋白质结构预测上已经被验证过了。
那么,能不能把 LLM 也用在网络任务上?
三道坎:为什么直接用 LLM 不行
理想很美好,但研究者分析了实际尝试后,发现 LLM 适配网络任务面临三个核心挑战。

模态鸿沟太大。 网络任务的输入数据和自然文本差距很远——时间序列的吞吐量、DAG 图的依赖关系、视频帧的图像特征,这些都不是 LLM 原生支持的文本输入。一种直觉做法是 prompt learning,把数据转成文本提示喂给 LLM。但研究者实测发现,用 prompt learning 适配 Llama2-7B 做视口预测,MAE 比 SOTA 模型 TRACK 还高 11.1%。时间序列数据的时间变化模式在文本表示中丢失了。
回答生成效率低。 LLM 默认用语言建模头(LM head)逐 token 自回归地生成答案。这带来两个问题。一是「幻觉」:token 预测的不确定性会导致生成物理上无效的答案(比如 ABR 中选择一个根本不存在的码率)。研究者测了 Llama2 在视口预测任务上的回答有效性——做不到 100% 有效。二是延迟高:一个答案要拆成多个 token 逐步生成,Llama2 生成一个视口预测答案平均要 3.84 秒,而实际要求的响应时限是 1 秒。
适配成本太高。 对于 ABR、CJS 这类决策任务,传统 RL 训练需要 LLM 与环境反复交互收集经验。研究者测了一下,用标准 RL 微调 Llama2 做 ABR 任务,仅经验收集环节就要额外花 31.18 小时,占总训练时间的 52.27%。CJS 任务更夸张,额外 56.42 小时,占 39.25%。如果再全参数微调,光 VP 任务就需要 65.88 GB 显存和 7.9 小时训练时间。
三个模块:NetLLM 如何逐一破局
针对以上三个挑战,NetLLM 设计了三个核心模块:多模态编码器(Multimodal Encoder)解决输入模态问题,网络头(Networking Head)解决输出效率问题,数据驱动低秩网络适配方案(DD-LRNA)解决适配成本问题。

三个模块的设计遵循一个统一原则:冻结 LLM 的预训练参数,只训练新增的轻量模块。这样一来,同一个 LLM 可以通过加载不同的低秩矩阵和网络头来服务不同的网络任务,互不干扰。
多模态编码器:把网络数据翻译成 LLM 能懂的语言
多模态编码器的工作分两步:先提取特征,再对齐到 token 空间。

特征提取这一步,NetLLM 没有从零设计编码器。它直接复用了现有研究中被验证有效的编码方案:ViT 编码图像,1D-CNN 编码时间序列和序列数据,全连接层处理标量,GNN 处理 DAG 图信息。这些编码器本身是前人宝贵的研究成果,没必要重新发明。
但提取出来的特征维度和 LLM 的 token 空间不一定对齐。比如 ViT 输出 768 维,而 Llama2 要求输入 4096 维。所以 NetLLM 设计了一组可训练的线性投影层,自动学习从特征空间到 token 空间的映射,输出类 token 的嵌入向量。投影后还做了层归一化,保证训练稳定性。
效果很直接:相比 prompt learning 方案,多模态编码器让视口预测的 MAE 平均降低了 19.7%。
网络头:一次推理直接出答案,拒绝逐 token 预测
LM head 逐 token 生成答案的方式在网络场景下有天然的效率瓶颈。NetLLM 的做法很干脆:把 LM head 摘掉,换成任务专属的网络头。

网络头本质上是一个轻量的线性投影层,把 LLM 的输出特征直接映射到任务特定的答案空间。比如在 ABR 任务中,网络头输出的是各候选码率的概率分布——选概率最大的那个就行。由于输出被限制在合法的离散候选集内,答案天然是有效的,幻觉问题被彻底消除。而且只需要一轮推理就能出结果,生成延迟大幅降低。
DD-LRNA:数据驱动的低秩适配,把成本打下来
DD-LRNA 分两块:数据驱动适配流程和低秩适配。
数据驱动适配流程解决的是 RL 任务中 LLM 与环境交互太贵的问题。传统 RL 需要 LLM 反复与环境交互收集经验,DD-LRNA 的思路是:用现有的非 LLM 网络算法(比如 Decima、GENET)预先跑一遍环境,收集一个经验池作为离线数据集,然后在这个数据集上用数据驱动的方式微调 LLM。经验池只收集一次,不需要周期性刷新。
具体来说,对于一个 RL 轨迹 (包含累积回报 、状态 和动作 ),DD-LRNA 把回报、状态的各个分量、动作的各个分量都视为不同的模态,分别通过多模态编码器处理后输入 LLM。训练目标是让 LLM 学会在给定回报和状态条件下生成对应的动作序列——本质上是在建模回报的条件分布。
低秩适配解决的是全参数微调太贵的问题。DD-LRNA 冻结 LLM 的全部预训练参数,为每层权重矩阵 引入两个低秩矩阵 和 ,用 近似参数更新。这些低秩矩阵只占总参数量的 0.31%,但带来了 60.9% 的 GPU 显存降低和 15.1% 的训练时间减少。对 ABR 任务,数据驱动流程减少了 51.1% 的训练时间;对 CJS 任务,减少了 37.7%。
冻结 LLM 参数还有一个附带好处:不同的网络任务可以共享同一个 LLM 基座,各自训练独立的低秩矩阵副本。预训练知识不会被覆盖。

实验结果:一个 LLM 打三个任务,全面超越
研究者选了三个有代表性的网络任务来评估 NetLLM:视口预测(VP,监督学习)、自适应码率流媒体(ABR,强化学习)、集群作业调度(CJS,强化学习)。基线方面,VP 对比 TRACK(SOTA 学习型算法)和线性回归、速度预测(规则算法);ABR 对比 GENET(SOTA 学习型算法)和 BBA、MPC(规则算法);CJS 对比 Decima(SOTA 学习型算法)和 FIFO、Fair(规则算法)。基础模型默认用 Llama2-7B。

在同分布测试环境下,NetLLM 适配的 Llama2 全面超越所有基线。 视口预测的 MAE 降低 10.1%–36.6%,ABR 的 QoE 提升 14.5%–36.6%,CJS 的作业完成时间降低 6.8%–41.3%。以 CJS 任务为例,NetLLM 的第 90 百分位 JCT 是 97.3 秒,而 Decima 是 109.3 秒,FIFO 是 187.5 秒。
学习型算法整体优于规则算法,这符合预期——DNN 的函数拟合能力确实强。但 LLM 比专用 DNN 还要强,原因在于 LLM 凭借大量参数和大规模预训练,获得了更强的模式挖掘和长期规划能力。而且 NetLLM 用的是同一个 LLM,没做任何模型结构的修改。
泛化:在未见过的环境下依然稳健

研究者进一步在不同于训练设置的环境下测试了泛化性能。相比学习型算法基线,NetLLM 在 VP 上 MAE 降低 1.7%–9.1%,ABR 上 QoE 提升 3.9%–24.8%,CJS 上 JCT 降低 2.5%–6.8%。
一个有意思的发现是:在 ABR 任务的未见过环境中,GENET 有时还不如规则算法 MPC。当测试视频与训练视频不同时,GENET 无法有效优化码率选择;当测试带宽波动比训练时更剧烈时,GENET 会在带宽紧缺时选错高码率,导致重缓冲时间最长。这说明专用 DNN 在分布偏移下确实脆弱。相比之下,NetLLM 适配的 Llama2 在三个 QoE 因子之间保持了更好的平衡。
深入分析:预训练知识才是关键
研究者做了一个消融实验来理解 LLM 为什么能在网络任务上发挥作用。他们把 Llama2 的预训练权重随机初始化(抹掉预训练知识),从头训练——性能在三个任务上都断崖式下降。这说明虽然 LLM 是在文本语料上预训练的,但它习得的模式挖掘、规划等涌现能力具有跨域通用性。
另一方面,保留预训练权重但去掉低秩矩阵(不学领域知识),性能也会下降,但幅度小一些。两层知识缺一不可。
关于模型选择,研究者还测试了 OPT、Mistral、LLaVa 等不同基础模型,都能通过 NetLLM 超越基线。但多模态的 LLaVa 反而不如单模态的 Llama2,说明 LLaVa 在图文融合预训练中获得的知识并不能直接迁移到网络领域。
模型规模方面,参数量超过 1B 的模型适配效果就不错。OPT-1.3B 只需 7 GB 显存、单次推理约 0.04 秒,对于很多网络任务来说已经够用了。
总结
NetLLM 的贡献可以概括为以下几点:
- 首次系统性地分析了 LLM 适配网络任务的三大挑战(模态鸿沟、生成效率、适配成本),并通过实验验证了直觉方案的不足
- 提出三个核心模块(多模态编码器、网络头、DD-LRNA),实现了「一个模型通吃多个网络任务」的设计理念
- 在三个代表性网络任务上验证了有效性,性能全面超越专用 SOTA 算法,泛化能力也更强
从更广的视角看,NetLLM 的意义在于提出了一个可持续的网络算法设计范式——从为每个任务定制专用 DNN,转向用同一个 LLM 基座适配不同任务。当然,NetLLM 不是终点。如何进一步降低 7B 模型的部署开销(量化、剪枝、蒸馏)、如何解释 LLM 在网络任务中的内部决策机制,这些都是值得继续探索的方向。