思维之海

——在云端,寻找我的星匙。

阅《Interpreting Deep Learning-Based Networking Systems》

《Interpreting Deep Learning-Based Networking Systems》来自SIGCOMM会议,看作者是网研院的Paper。注意到题目上要对“Networking system”这个词稍加注意,结合发表人也能猜到这是(互联网)网络系统,而不是指的DNN的神经网络架构。这篇文章属于“人工智能应用于网络传输”主题中的一篇选文。通过摘要我们可以知道,深度学习通常作为一种黑箱技术存在,而本文引入了一种称为Metis的框架,通过两种典型的基于决策树、超图的方法,将DNN的模型作用转换为可解释的形式。我觉得这里引入的对局部(local)和整体(Global)的分别处理,倒是很有启发性,但是这也在某种意义上引入一种复杂性。网络体系结构的设计通常是从底层到高层(或者反过来),但是从小到大或者从大到小却是(在我看来)一种不常见的方式。

本篇源于高等计算机网络课程的阅读任务,领域为“人工智能应用于网络传输 ”。

References

Interpreting Deep Learning-Based Networking Systems

基本概念

决策树

https://en.wikipedia.org/wiki/Decision_tree

决策树非常简单。将二叉树的分支解释为决策/分类行为,即形成了决策树。

超图

https://en.wikipedia.org/wiki/Hypergraph

超图可以理解为每条边可以包含两个以上的点所构成的图。

每个边所包含的顶点个数相同且都为k个的,称为k阶超图。

CCS CONCEPTS

可以在论文中发现如下的段落:

这其实是ACM论文中作者对自己论文的分类。

在投稿阶段不用写,当收录之后再行添加。

ACM论文中的 CCS CONCEPTS 是什么意思? - 高正杰的回答 - 知乎

在ACM的”http://dl.acm.org/ccs/ccs.cfm“网页中,选择合适自己的分类,然后点击左侧的“Assign This CCS Concept”,再选择相关性高、中、低,系统就会自动生成对应的LaTeX代码。

fine-tune

迁移学习——Fine-tune

在深度学习中常常会提到fine-tune(微调)。

fine-tune是一种迁移学习(Transfer learning) 的实现方法。fine-tune通常是对靠近输出层的参数附加一定训练。

迁移学习,即把某个模型从一个领域迁移应用到另一个领域。

这些领域之间的数据分布可能会有不同。

Introduction

在此之前,基于DNN算力的网络优化问题其实已经发过不少的paper了,包括video streaming,local traffic control,parallel job scheduling,network resource management等等。论文中可以查找到相关的文献。

DNN是一种非常具有亲和性的技术,它可以与强化学习等标准的优化技术结合在一起,并产生数据驱动的自动化性能提升。

在另一方面,DNN的巨大计算量和模型内存消耗,以及本质上的巨大参数集,使得对DNN模型的理解非常困难。这其中虽然有一些对神经元的分析,但是对于大体量、差异化的DNN系统来说,这样的解释力是不足的。

主要内容

这也是主要创新点了,毕竟是重新设计了一个框架。

  • Metis框架:提供基于DNN的网络模型中两种通用类别的理解,局部系统(决策树)、全局系统(超图)。
  • Metis原型:Metis的具体实现,以及它如何理解/发掘启发信息和新知识。
  • 应用场景:提供了4个典型的网络场景,Metis可以帮助网络工作者设计、诊断、部署、随机调整等。

写作动机

作者分析了目前基于深度学习的网络系统的一些缺陷和不足,以及现有的增强可解释性的方法对其解释力不足的客观事实,这促使他们设计并实现了Metis。

基于深度学习的网络系统的缺陷

  • 过于复杂的结构(Incomprehensible structure)
    • 数以亿计的节点
    • 难以优化、维护或重构
    • 最新的DNN模型正在变得越来越庞大
  • 部署资源消耗大(Heavyweight to deploy)
    • DNN在资源消耗和决策延迟上没有优势
    • 网络系统通常是有限资源且需要低时延的
    • 很多实际应用只能给出“best-effort”的结果,而不是DNN的最优结果
  • 缺少调参方法论(Nonadjustable policies)
    • 实际场景的迁移通常需要调整模型参数
    • 网络管理者缺少对DNN的理解,只能随机调参,效率低下,甚至会带来严重的性能下降

现有增强可解释性的方法的不足

  • 解释目的不同(Different interpretation goal)
    • 机器学习领域更关心DNN内部的ML模型的机制
    • 网络领域更关系输入和输出之间的联系
      • 理解DNN中从输入到输出的映射
  • 差异化的网络系统(Diverse networking systems)
    • DL-based网络系统有不同的应用场景,并采用着不同的DNN模型
    • 理解这些模型用单一的解释方法很难做到
      • 例如,LEMNA只能解释RNN的行为,而无法应该到GNN上
  • 非标准的状态/行为空间(Non-standard state and action spaces)
    • 现有的解释法通常设计在easy-encoded的状态/行为空间
      • 例如,图像分类的解释法是基于 grid-based RGB encoding 来设计的
    • 网络系统根本上总是在和非标准的状态/行为空间打交道
      • 例如,RouteNet接受一个拓扑图作为输入,并输出一个变长的路由路径
      • 需要对网络系统单独设计特殊的理解方法

In response, to interpret DL-based networking systems, Metis introduces a decision tree-based method together with a hypergraph-based method for different systems.

Metis

Metis是一个希腊神,他提供wisdom和consultation。

下面这幅图描述了Metis的整体意图。可以看到图中最上面是具体的任务场景,中间是训练得到的深度模型,但是这种模型缺乏可解释性。最下面一层,通过引入Metis,深度模型被分解为决策树和超图两种模型,解释性增强。

Metis将网络传输系统分为两个视界(层次)来处理:

  • Local systems:局部收集信息,为单个实例/实体做决策
    • End-based congestion control
    • Client-based video streaming
    • On-switch flow scheduling
  • Global systems:在网络中聚合、调度多个实例,并制定宏观方案
    • Cluster job scheduling
    • SDN routing optimization
    • Network function (NF) placement

以上这些scenario在之前的论文工作中都已经有相应的案例实现了。

Local systems

Local systems方面,Metis引入了基于决策树的转化方法。这样做的起因是因为目前存在的启发式local system通常都是基于简单的规则式决策模型,而且通常具有简单的逻辑。

转化的决策树通常需要由DNN来产生,这被称为一个“Teacher-Student”过程。也就是说,我们需要得到的决策树是基于DNN生成的输入输出来训练的。这种方法直接产生的决策树,通常为了拟合DNN而具有了过多的分支。因此,Metis中引入了两个手段来“prune the branches”(剪枝)。

  • 借助DNN生成的数据的分布,提前降低决策树的决策空间
  • 一个特殊设计的重采样算法,可以让DNN引导决策树获得最好的效果

在这样的机制下,实践中Metis的决策树具有可读性特征,而且在性能上只比原来的DNN下降了2%。

Global systems

Global systems方面,Metis引入了超图作为解决方案。大多数网络系统要么有基于图形式的数据结构的输入,要么就是在两个元素之间建立映射,而这样两类关系都可以用超图来表示。

比如,routing paths(路由路径)是一条网络上的路径,这在超图中等效为一条“hyperedge”。

通过超图,Metis设计了优化问题来计算超图内部每个部分的重要程度。例如,找寻网络中的关键路径(finding critical routing decisions to the overall performance)。

有了重要性程度的度量以后,网络工作人员就可以更加清晰地理解基于深度学习的网络系统的行为。因为他们能够定性(甚至部分定量)地知道这些决策将有怎么样的效果和影响。

当然Metis还设计了更加concrete的评估。

决策树

Metis想用新的解释法将DNN模型转化为更加简单的模型。这样的备选的简单模型实际上有很多,比如(super)线性回归、决策树等。

选择决策树的原因如下:

  • 决策树的结构功能与网络系统的策略相似,都是基于规则的策略
  • 决策树有很强的表达能力和置信度,因为它们是非参数的,能够表达非常复杂的策略
  • 决策树在网络系统中非常轻量,有利于资源消耗和决策时延

决策树的决策过程是一个透明的过程,我们能够轻易地理解决策的结果。

转换方法

采用“teacher-student”训练法。 以下是转换中的关键步骤:

  • 迹聚合(Traces collection)
    • DNN的所有可能状态/行为对(pair),非常庞大,并且不能表现网络系统中的概率分布。
    • 放权给DNN网络,让决策树充分追踪DNN中的trajectory
  • 重采样(Resampling)
    • Local systems常常优化一组策略而不是单个行为
      • 不同的网络系统行为可能对优化目标有不同程度的重要性
      • 决策树算法针对所有的单个行为进行优化
    • 基于RL强化学习的DNN网络系统可以优化一组策略
      • 转化这样的系统为决策树,然后根据advantage function来重采样
  • 剪枝(Pruning)
    • 过分庞大的决策树模型也会影响网络运作者的理解
    • CCP(Cost Complex Pruning)
      • CCP设计了一个损失函数来控制剪枝后决策树的准确度和复杂度
  • 部署(Deployment)
    • 网管终于可以同时享受DNN所带来的性能提升和决策树所带来的可解释性辣

超图

超图使得我们可以在统一的框架下,对多种global systems进行描述。

下图是SDN中路由超图的一个示例:

可以看到,一条路由路径在超图中就表现为一条超边(亦即一个顶点集)。

超图的表示能力

论文中实证性地提供了global system需要的两个核心特征,只要具备两个特征中的任意一个,便可以将global systems转化为超图模型,并使用Metis来理解它。

  • 图结构的输入/输出(Graph-structured inputs or outputs)
    • 显然,图结构是超图的一个子集,所以这样的系统可以非常自然地采用超图。
  • 二元映射(Bivariate mapping)
    • 如果一个global system设定了一种在两个变量之间的映射,那么这两个变量和映射就可以被转化为相应的顶点和超边。
      • 在实际中,许多资源分配系统都维护了一种从资源到需求的映射关系

论文中发现,许多global systems都含有上述特征中的至少一个。

关键路径搜索

论文中设计了一种比较复杂的平衡算法来实现确认某个连接对输出的重要程度。

没细看了。

实现

Pensieve实现

Pensieve is a deep RL-based ABR system to optimize bitrates with network observations such as past chunk throughput, buffer occupancy.

AuTO实现

AuTO is a flow scheduling system to optimize flow completion time (FCT) based on deep RL.

RouteNet 实现

We train the model on the traffic dataset of the NSFNet topology provided by RouteNet.

实验

在实验部分,作者做了一系列各方面的测试。比如,系统的理解,模型的设计指导,DUBUG能力测试,轻量部署,随机调整,还有对Metis的深入分析等等。

这些内容以及appendix的内容都比较多。来不及看了。。

展望

这篇文章中,Metis只是一个原型机。这意味着Metis还有很大的改进空间,以及更加广泛的应用场景。

比如,文章中只介绍了4个实际的应用,帮助网络工作者设计、诊断、部署、随机调整等。我们可以去思考一些新的应用方式。

对深度学习模型的理解是一种目前急需解决的事情。Metis的设计虽然在网络系统领域一定程度地解决了DNN模型的可解释性问题,但是它是通过回避DNN,转化为决策树的方式做到的。Metis的方法并不能够真正意义上解决深度学习模型的可解释问题。因此,可解释性的研究,或者说,基于深度学习网络的可解释性研究,还需要一些其它的未知的手段。

并且在论文中也提到了,Metis甚至不能够解释所有的网络系统(因为需要两个要点中的至少一个)。