第21届HotNets于2022年11月14日-11月15日在美国得克萨斯州奥斯汀召开。本次会议共收到104篇投稿,接收32篇论文,录取率为30.77%。
SNG的同学们按照会议日程对论文内容进行了分期评述,本期介绍session5的论文。
Alexander Dietmuler, Siddhant Ray, Romain Jocab, Laurent Vanbever (ETH Zurich)
本文解释并探索了将机器学习中的Transformer模型应用于网络任务的可能性,并对应用时所面临的几个挑战进行了分析,相应地提出了一个简单的模型:NTT(Network Traffic Transformer),论证了Transformer在网络领域的应用前景。
背景
由于网络总是动态变化的,想要对其进行建模是十分困难的,且网络任务也是复杂繁多的(如拥塞控制、流量优化、路由等),难以尽数满足。如今的手段大多是对某个特定的任务与数据集进行建模,应用受限,工作重复且费时费力。而随着Transformer的提出,其预训练与微调的模式在计算机事觉(CV)与自然语言处理(NLP)中广泛应用,并展现了强大的泛化能力。而类比于单词,分组数据(数据头、延迟等)能一定程度地体现网络的状态,因此,如能像NLP当中使用Transformer学习到单词的上下文特征一样,也能学到网络的特征的话,那么也将能在网络领域中训练出一个类似的具有极佳泛化能力的模型。
实现
简单的将Transformer应用于网络中的效果并不理想,本文对应用时应解决的问题:如何设计网络下的Transformer架构?什么样的预训练任务更有利于提高模型泛化能力?怎样才使模型学到充足的网络特征?分别作出了分析,并给出了初步解决办法。
1.特征抽取的学习。分组包含大量的数据特征(如包头字段),而往往只有选取了有效的特征进行学习,才能获得更好的效果。因此,本文使模型本身对分组特征进行自适应选择和学习,即将分组数据和网络反馈同时作为输入,学得其表示。
2.分组序列的聚合。由于分组的传输可能与相隔时间较远的分组有关,不仅要学到短期也要学到长期的分组序列,就要增加学习序列的长度,然而这也将极大地增加计算复杂度。因此,本文通过对不同时段的分组进行压缩(时间越久远,压缩次数越多),在提高序列长度的基础上,尽可能保持序列细节。
3.学习任务的选择。选取合适的任务进行预训练,将能使其应用于更多的下游网络任务。本文选取了一个更易受不同网络情境影响的任务(端到端延迟)进行训练,达到了较不错的效果。
个人观点
本文主要是阐述了Transformer应用于网络的可能性,并对几个应用中的关键问题如选取哪些特征来学习、如何学得长序列的表示以及训练任务的选取,作出分析并给出了初步解决办法,论述了其应用前景。
Zied Ben Houidi, Raphael Azorin, Massimo Gallo, Alessandro Finamore, Dario Rossi (Huawei Technologies Co. Ltd)
本文提出利用网络数据中的相关性来学习其正确的表示形式,以此来解决网络中的机器学习问题。为了更好地利用网络数据中的实体(如IP地址,名称等),本文使用语言模型来学习实体表示,这种实体编码可以有效增强传统的基于数量的特征学习。
背景
深度学习能够从复杂的非结构化数据中学习良好的表示形式,如NLP中的RNN网络对顺序文本的学习、计算机视觉中的CNN对空间相关性的学习。因此,为了充分利用机器学习的潜力,我们有必要关注在网络数据中的表示学习。但由于网络数据多模式的复杂性(包括多元时间序列、流、系统日志、拓扑、路由事件等),我们必须重新考虑输入数据的表示学习策略,用于从输入数据中提取知识。而网络数据可以分为两种类型:数量(如数据包数,字节等)和实体(如IP地址,事件名称等)。与自然语言类似,网络实体在网络日志中出现的顺序和上下文通常不是任意的,因此可以使用适当的语言模型从中学习嵌入。
实现
本文将这种网络数据二分法称为实体-数量双模态,包括四个步骤,即预训练、样本选择、训练和推理。
1.预训练:利用大量的未标记数据来从不同的数据类型中学习相关的表示,数量和实体被输入到最合适的表示学习管道中。
2.样本选择:与网络相关的ML任务可能有各种各样的输入样本。例如,如果目标是将IP地址(或流)分类为恶意的或良性的,那么输入示例应该是IP地址(或流)的特征向量表示。输入样本也可以是一个流的前N个包,或者一个流的序列等。一旦定义了输入样本,就通过组合相应的数量(或其表示)和学习到的实体表示来创建固定大小的向量表示。
3.训练:当完成预训练和样本选择时,训练一个下游的ML任务是相当简单的。在一个无监督的用例中,可以简单地对向量表示进行集群化,在监督分类用例中,可以将标签与表示关联来训练分类器。
4.推理:使用学习到的模型来执行推理。
实验
文中使用两个用例:点击流识别和无线局域网中的移动预测,说明了嵌入网络实体的优点。在第一个用例中,使用了在Alexa网站排名前1000的网页中下载10次的流量作为数据集,结果表明,基于实体的编码优于基于数量的编码,并且与仅使用单词嵌入相比,字符嵌入增加了预测准确度。
在第二个用例中,使用一个5天的真实网络数据集,包含大约2k个移动终端和80个不同AP的240k个移动事件。结果显示,使用数量+实体的嵌入作为输入,比只使用数量嵌入的精确率和召回率都要高。
个人观点
本文提出了一个具有开创性的方法:使用语言模型来学习网络数据中的实体嵌入,然而,网络数据比文中所述的要更加复杂,例如,由于实体经常表现出复杂的关系,可以用时间演化的图来表示这种关系,图神经网络和图嵌入技术也许是追求多模态的另一个必要的部分。
Franck Le, Mudhakar Srivatsa, Raghu Ganti (IBM); Vyas Sekar (Carnegie Mellon University)
这篇文章来自IBM的研究者。本文从自然语言处理领域(NLP)中的基础模型收到启发:基础模型可以减少了所需标记数据的数量,甚至消除了对标记数据的需求,而且还显著提高了广泛下游任务的性能。进而提出基础模型也可以应用到计算机网络领域,可以对网络流量分析和管理产生类似的深远影响。
背景
基础模型描述了当前构建人工智能系统的范式转变背后的一类模型,就是在大量无标签数据上训练的神经网络,然后进行最小的微调使得模型适应广泛的下游任务。预训练阶段是计算量最大的阶段,它以自我监督的方式在未标记的数据上进行,只有微调阶段需要少量的标记实例。其中,自然语言处理领域最经典的基础模型就是BERT (Bidirectional Encoder Representations from Transformers) :在预训练阶段,模型从原始文本中提取一般有用的特征,捕捉语义信息的词语的数字表示,以及它们背后的关系知识。并在有标签的文本上进行微调,从而使得模型在11个下游任务(如分类、相似性和转述、推理)上达到最先进的性能。
基于此,研究者观察到:网络流量分析和管理与NLP和其他基础模型已经非常成功的领域有一些共同的特性:(1)下游任务的相似性;(2)丰富的无标签数据;(3)丰富的语义内容。但与此同时,基础模型在网络领域的应用也存在如下挑战:(1)从网络数据中提取一般有用的模式。首先,我们观察到有几十个流行的已部署的网络协议(如TCP、UDP、HTTP、SMTP、NTP、SIP、RTSP、DHCP、DNS等),它们之间和它们之间有丰富的语义关系。我们是否可以定义一个单一的跨协议表示法来捕捉这些语义关系,并能大大改善各种网络任务的性能。同时,标记化(tokenization)、上下文(context)和预训练任务(pre-training tasks 都需要研究者在网络数据中寻找这些概念的对应物。(2)公共的可用数据集。(3)处理罕见和未见过的事件。(4)可解释性。
可行性分析
针对不同的网络下游任务开发了特定的机器学习解决方案,包括针对拥塞控制,自适应比特率流,数据中心规模的自动流量优化,作业调度,资源管理,网络规划、数据包分类、性能预测、拥塞预测、性能估计、恶意软件检测和半自动生成协议实现规范文本。而这些解决方法底层设计都是分类、异常检测、生成器和强化学习,这些领域基础模型的应用已经非常成功了。
本文研究者总结了目前一些探索网络领域基础模型潜力的工作结果。例如NetBERT:在计算机网络工作的文本语料库上训练了一个BERT模型,但该研究将基础模型应用于与网络有关的文本,而不是网络数据。NorBERT:最近探索网络数据上应用基础模型的工作,并把模型用于识别物联网设备的制造商,和识别物联网设备的类型这两个下游任务上。
应对挑战的策略分析
(1) 提取具有一般性的模式。其中,关于常见的表示,一种自然的想法是第一步是让我们学习单一网络协议中的共同表征,然后将基础模型扩展到捕捉多方、多协议应用的多语言领域。而符号化是文本预处理的一个重要步骤。它将一段文本(如短语、句子、段落)分割成更小的单位,称为标记(Token)。BERT使用WordPiece这种基于子词的标记化算法。由于数据包痕迹通常被视为字节序列,没有明确的分隔符,如空白和标点符号,因此网络数据应该如何标记?一种方法是应用基于字符的标记器。另一种方法是识别网络协议(语言),并根据协议格式(例如,4字节的IP地址,2字节的端口号,1字节的TCP标志,HTTP字段等)进行标记。至于词嵌入(Word embeddings),这是masked prediction的结果之一,可以在各种下游任务中找到应用。至于预训练任务的选择,鉴于网络特定的下游任务和网络数据的特点,可能需要定义新的网络特定的训练任务。例如,查询-回答是计算机网络中常见的事务,可能需要新的训练任务来捕捉查询和回答之间的关系的性质。在DNS中,答案可以被看作是层次树中查询的子项。此外,网络字段可能由不同的结构组成,例如顺序不重要的集合。一个例子是DNS的答案字段,其中多个值可能会被返回给一个查询。这样的结构(如列表、集合)可以反映出其成员之间更强的相似性。
(2) 虽然网络数据很丰富,而且可以很容易地收集自己的数据,但对泄露敏感内容的担心限制了它们的公开发布。为了解决公共网络数据的缺乏,研究人员建立了小型私人实验室,使用各种设备,收集他们的流量,并公开发布数据包捕获。然而,网络社区能否提供更多的网络数据,并定义基准以促进研究?合成数据包追踪器可能是缓解隐私问题的一个解决方案,并在网络数据上训练基础模型。基准可以由一打网络下游任务组成,包括设备分类、流量分类、性能预测、拥堵预测、恶意软件检测。
(3) 机器学习很少被部署在运营网络环境中进行异常检测。作者认为,”机器学习工具的优势在于发现与之前所见类似的活动”,而不是发现 “新型攻击”。然而,最近开发了专门用于检测分布外实例的方法可用来解决上述挑战。
(4) 可解释性对于验证模型和提高用户对模型的信任至关重要。因此,大量的研究工作致力于了解模型预测结果背后的原因。然而,用于网络下游任务的机器学习解决方案通常与特定领域的输入一起工作,我们认为可能需要专门为应用于网络的基础模型开发的可解释性方法。例如,如果网络数据在字符级别被标记化,我们如何能得出有意义的解释?为了与计算机视觉进行类比,超级像素的概念(即具有类似颜色和基本属性的相邻像素集)已经允许更有意义的特征和解释。
展望
为了研究基础模型在网络中的应用,并解决上述挑战,一种方法可以包括首先定义一组有限的网络下游任务。随着训练数据和基准的发布,再搜索者可以探索不同的方法来有效地提取网络数据的一般有用模式(例如,字符级标记化与协议级标记化,预训练任务),并改善模型在基准上的表现。然后,可以扩大网络下游任务的范围;还可以探索更多新的预训练任务。然后还可以对可解释性方法进行研究,以更好地理解应用于网络的基础模型。
个人观点
这篇工作创新地提出将类似BERT的基础模型应用到计算机网络领域,并分析了可行性和相应挑战,也对目前存在的困难提出了自己的观点和看法。但是对于这些想法的可行性和正确性缺少分析,缺乏相关实验支持。
版权声明和个人见解说明
本文中所有的图片截取自论文正文,版权属于作者与ACM。
对每篇论文的“个人观点”仅仅是一人之见,希望能抛砖引玉,请大家多多发表意见。