CN114818454A - 模型训练方法、数据处理方法、电子设备和程序产品 - Google Patents
模型训练方法、数据处理方法、电子设备和程序产品 Download PDFInfo
- Publication number
- CN114818454A CN114818454A CN202110126721.7A CN202110126721A CN114818454A CN 114818454 A CN114818454 A CN 114818454A CN 202110126721 A CN202110126721 A CN 202110126721A CN 114818454 A CN114818454 A CN 114818454A
- Authority
- CN
- China
- Prior art keywords
- reinforcement learning
- learning model
- data
- training
- simulated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000003672 processing method Methods 0.000 title abstract description 14
- 230000002787 reinforcement Effects 0.000 claims abstract description 138
- 238000004590 computer program Methods 0.000 claims abstract description 17
- 238000011156 evaluation Methods 0.000 claims description 40
- 238000012545 processing Methods 0.000 claims description 31
- 230000009471 action Effects 0.000 claims description 22
- 238000003860 storage Methods 0.000 claims description 21
- 238000004088 simulation Methods 0.000 claims description 7
- 239000003795 chemical substances by application Substances 0.000 description 33
- 238000010586 diagram Methods 0.000 description 26
- 238000013459 approach Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000009975 flexible effect Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5009—Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Medical Informatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- Environmental & Geological Engineering (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例涉及模型训练方法、数据处理方法、电子设备和计算机程序产品。该方法包括:获取与模拟网络环境相关联的存储信息;以及使用模拟数据,基于针对模拟网络环境包括的、各自具有高速缓冲存储器的多个节点中的节点的模拟数据读取请求来训练强化学习模型。使用本公开的技术方案,可以通过使用强化学习模型来在动态环境中确定满足预定标准的数据高速缓存方案,从而能够同时解决高速缓冲存储器分配和替换问题,不仅能够以较少的成本开销来提高确定数据高速缓存方案的准确性和效率,也能够提高使用高速缓存系统的用户的用户体验。
Description
技术领域
本公开的实施例总体上涉及计算机技术,具体地涉及模型训练方法、数据处理方法、电子设备和计算机程序产品,可用于高速缓冲存储器管理领域。
背景技术
以信息为中心的网络(ICN)是一种使因特网基础结构脱离以主机为中心的范例的方法。同时,以信息为中心的网络也带来了关于高速缓冲存储器管理、内容寻址、路由等的新挑战。在以信息为中心的网络中存在两个基本特征:(1)内容通过名称而被访问;以及(2)高速缓存在网络中是通用的。
传统上,在管理以信息为中心的网络中的高速缓存系统这一问题上主要有两个问题需要考虑:第一是高速缓冲存储器替换,第二是高速缓冲存储器分配。从单个节点的视点来看,如何选择针对每个网络节点的高速缓冲存储器替换方法,即,策略应当管理关于哪些对象应当被高速缓存的它们应当被高速缓存的持续时间的决策,并且如果高速缓冲存储器已满则关于从高速缓冲存储器驱逐那些做出决定。关于高速缓冲存储器分配。从整个网络的视点来看,如何在所有网络节点之间最佳地分配数据,即,该策略决定哪个节点应当被用来高速缓存所期望的内容。除了上述问题之外,以信息为中心的网络的拓扑有时可能会更改,这使得很难使用传统的基于规则的方法自适应地解决这一问题。基于规则的方法是静态的,并且无法适应工作负载中的变化,从而导致高速缓冲存储器在次优状态中操作,因此会使用高速缓冲存储器管理产品的用户的用户体验。
发明内容
本公开的实施例提供了模型训练方法、电子设备和计算机程序产品。
在本公开的第一方面中,提供了一种模型训练方法。该方法包括:获取与模拟网络环境相关联的存储信息,模拟网络环境包括各自具有高速缓冲存储器的多个节点,存储信息指示每个节点的高速缓冲存储器的使用情况;以及使用模拟数据,基于针对多个节点中的节点的模拟数据读取请求来训练强化学习模型,强化学习模型包括与模拟网络环境相对应的环境,强化学习模型包括与多个节点相对应的智能体,与存储信息相对应的状态,与候选数据高速缓存方案相对应的动作,以及与候选数据高速缓存方案针对模拟数据读取请求的性能评价相对应的奖励,强化学习模型被训练以使得强化学习模型中的性能评价满足预定性能评价要求,以用于针对输入数据确定数据高速缓存方案。
在本公开的第二方面中,提供了一种数据处理方法。该方法包括:接收输入数据;以及使用根据本公开的第一方面而得到强化学习模型,针对输入数据确定数据高速缓存方案。
在本公开的第三方面中,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令当由至少一个处理单元执行时,使得设备执行动作,动作包括:获取与模拟网络环境相关联的存储信息,模拟网络环境包括各自具有高速缓冲存储器的多个节点,存储信息指示每个节点的高速缓冲存储器的使用情况;以及使用模拟数据,基于针对多个节点中的节点的模拟数据读取请求来训练强化学习模型,强化学习模型包括与模拟网络环境相对应的环境,强化学习模型包括与多个节点相对应的智能体,与存储信息相对应的状态,与候选数据高速缓存方案相对应的动作,以及与候选数据高速缓存方案针对模拟数据读取请求的性能评价相对应的奖励,强化学习模型被训练以使得强化学习模型中的性能评价满足预定性能评价要求,以用于针对输入数据确定数据高速缓存方案。
在本公开的第四方面中,提供了一种电子设备。该电子设备包括:至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令,指令当由至少一个处理单元执行时,使得设备执行动作,动作包括:接收输入数据;以及使用根据本公开的第三方面而得到强化学习模型,针对输入数据确定数据高速缓存方案。
在本公开的第五方面中,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行使得机器执行根据本公开的第一方面所描述的方法的任意步骤。
在本公开的第六方面中,提供了一种计算机程序产品。该计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行使得机器执行根据本公开的第一方面所描述的方法的任意步骤。
提供发明内容部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的实施例的关键特征或必要特征,也无意限制本公开的实施例的范围。
附图说明
通过结合附图对本公开的示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开的示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100的示意图;
图2示出了根据本公开的实施例的模拟网络环境200的示意图;
图3示出了根据本公开的实施例的强化学习模型300的示意图;
图4示出了根据本公开的实施例的模型训练方法400的流程图;
图5示出了根据本公开的实施例的数据处理方法500的流程图;
图6示出了根据本公开的实施例的平均高速缓冲存储器命中率比较600的示意图;
图7示出了根据本公开的实施例的链路负载比较700的示意图;以及
图8示出了可以用来实施本公开的实施例的示例设备800的示意性框图。
在各个附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以按照各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“包括”及其变形表示开放性包括,例如,“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
以信息为中心的网络在某种程度上减轻了不堪重负的工作负载,带来了5G等新技术。高速缓存机制是以信息为中心的网络的核心思想之一,其确实为网络带来了很多好处。然而,与此同时,也带来了一些新的问题。尽管已经开发了一些算法来解决这些问题,但是它们无法以自适应、集成的方式解决它们。
具体而言,以信息为中心的网络旨在改变当前因特网体系结构的关注点。先前的体系结构着重于在两台机器之间创建对话。这在命名系统中很明显,在命名系统中,URL通过DNS解析来指示要与之通信以便接收数据或执行操作的机器。以信息为中心的网络体系结构的目标是将关注点从连接到另一台机器转移到取读数据。在以信息为中心的网络中,数据变得独立于位置、应用、存储和传输方式,从而支持网络中的高速缓存和复制。
高速缓冲存储器存储数据的子集,并且充当提供对客户端的快速数据访问的层,同时减少源服务器上的流量压力。高速缓冲存储器可以位于例如智能电话存储器的设备本地、例如内容递送网络CDN的网络的边缘,被托管在例如Redis的数据库服务器附近或前述的混合。
在某种程度上,以信息为中心的网络通过转移关注点解决了一些问题,但也提出了一些新问题。例如,在递送内容时,应当选择哪个节点来高速缓存这一内容,这涉及高速缓冲存储器分配。在选择要存储内容的节点后,出现第二个问题。第二个问题涉及这些高速缓存节点的大小受到限制,尤其是被部署在客户端设备上的高速缓存节点。当高速缓冲存储器超过它的最大容量时,应当使用高速缓冲存储器逐出算法来决定要逐出哪些元素,这涉及高速缓存替换。
然而,在传统的高速缓冲存储器管理产品中,基于规则的方法难以自适应地解决前述问题。由于基于规则的方法是静态的,并且无法适应工作负载中的变化,从而导致高速缓冲存储器在次优状态中操作,并且难以适应网络拓扑和网络参数的变化,也无法容易地用于新的网络,因此会使用高速缓冲存储器管理产品的用户的用户体验。
为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个问题,本公开的实施例提出了一种启发式建模方法以使用强化学习方法来解决发生在高速缓存过程中的问题,该方法关于集成和自适应是有效的。总体而言,在本公开的实施例中,主要关注于如何通过使用强化学习方法来在动态环境中使得可以确定满足预定标准的数据高速缓存方案,该方案能够同时解决高速缓冲存储器分配和替换问题。在本公开的实施例中所提出的针对高速缓存策略设计问题的强化学习解决方案可以被称为强化学习高速缓存系统(reinforcement learning caching system,RLCaS)。
图1示出了可以在其中实现本公开的某些实施例中的模型训练方法的模型训练环境100的示意性框图。根据本公开的实施例,模型训练环境100可以是云环境。
如图1中所示,模型训练环境100包括计算设备110。在模型训练环境100中,包括模拟网络环境以及用于训练强化学习模型130的模拟数据和模拟数据读取请求的训练相关数据120作为计算设备110的输入被提供给计算设备110。根据本公开的实施例,训练相关数据120还可以包括与模拟网络环境相关联的存储信息、模拟网络环境中所包括的多个节点的拓扑信息以及模拟网络环境中的数据传输信息等。
计算设备110可以与强化学习模型130进行交互,例如,计算设备110可以将训练相关数据120中的至少一部分提供给强化学习模型130,从强化学习模型130接收由强化学习模型130基于训练相关数据120和模拟数据读取请求而确定的数据高速缓存方案,以及通过确定由强化学习模型130确定的数据高速缓存方案是否能够鳗鱼预定要求来向强化学习模型130发出停止训练的指令。
根据本公开的实施例,用于训练强化学习模型130的模拟数据和模拟数据读取请求也可以不被包括在训练相关数据120中,而是可以由被计算设备110提供给强化学习模型130或者强化学习模型130本身包括的生成器按照预定要求或者随机地生成。
图2示出了根据本公开的实施例的模拟网络环境200的示意图。如图2中所示,模拟网络环境200包括内容服务器210,可以被统称为节点220的多个节点220-1、220-2、220-3和220-4,以及请求数据的、可以被统称为客户端230的客户端230-1和230-2。应当理解,模拟网络环境200还可以包括更多的内容服务器210、更多的节点和更多的客户端。节点220中包括高速缓冲存储器,当客户端230向模拟网络环境200中的节点220中的某个节点请求数据时,如果在这一节点中没有高速缓存这一数据,则需要将这一数据从内容服务器210读取到这一节点,以用于由客户端230读取。根据本公开的实施例,节点220可以包括路由器。
为了使客户端230针对这一数据的后续读取请求可以被更快速地响应,模拟网络环境200可以在节点220中的至少一个节点中高速缓存这一数据。然而,究竟在哪些节点中高速缓存这一数据是一个困难的问题。在传统方案中,可以采取诸如使副本无处不在(leave copy everywhere,LEC)、移动副本完成(move copy done,MCD)和使副本向下(leave copy down,LCD)等方案。
在使副本无处不在方案中,在每个节点中高速缓存相同的数据,从而使得客户端可以在发出数据读取请求时获得最为快速的响应。然而,这种方案需要较大的高速缓冲存储器空间,并且当数据被改变时,每个节点中的高速缓冲存储器中的数据都需要被刷新,因此导致刷新流量较大。
在移动副本完成方案中,仅在例如被读取过数据的一个节点的高速缓冲存储器中高速缓存数据,从而使得可以极大地节省高速缓冲存储器空间。然而,这种方案显然会导致非常低的数据读取命中率。
在使副本向下方案中,当客户端230在某个节点上读取数据命中时,仅在从内容服务器210到这一节点的路径中、这一节点的直接邻居节点中高速缓存数据。这种方案相对于前两种方案而言是一种折中方案,其即不会导致需要过大的高速缓冲存储器空间,也不会导致过低的数据读取命中率。然而,由于在这种方案中,确定用于高速缓存内容的节点的方式过于单一死板,因而导致难以提供较佳的数据高速缓存方案。
仅从加快数据读取的角度而言,期望能够在客户端230向模拟网络环境200中的某个节点请求读取数据时,有较大概率所请求的数据已经被高速缓存在这个节点的高速缓冲存储器中,同时在模拟网络环境200中并未在过多的节点的高速缓冲存储器中高速缓存这一数据。
如前所示,在使用高速缓存系统时,也需要考虑高速缓冲存储器替换的问题。在传统方案中,可以基于以下例如规则来处理这一问题:先入先出(first in first out,FIFO),最近最少使用(least recently used,LRU),最不经常使用(least frequentlyused,LFU)。
然而,这些方法并不灵活,并且不适用于动态环境。同时,这些方法显然是基于规则的,这同样意味着它们只能达到次优状态,并且无法针对不同的工作负载进行调整。
图3示出了根据本公开的实施例的强化学习模型300的示意图。强化学习(RL)是机器学习的一种子类型,它学习如何动态地在任何设置中操作。它已经在各种问题中被成功地应用,这些问题诸如控制复杂的机器人、玩电脑游戏等。如前所述,由于动态的环境,强化学习成为了这样的条件中的一个不错的选择。使用强化学习,系统学习针对个体系统及其观察到的流量模式而被定制的理想高速缓存策略,而无需关于数据的任何事先假设。
然而,传统技术中没有一个集成的解决方案可以同时解决这两个问题。而且,尽管某些模型开始向它们的模型添加强化学习,但是还没有针对这一问题的纯强化学习解决方案,并且当前的混合方法不够灵活,尤其是在网络的拓扑变化时。
关于强化学习,由于强化学习的普遍性,它在许多学科中都得到了研究,这些学科例如博弈论、控制论、运筹学、信息论、基于模拟的优化等。一般而言,强化学习是一个顺序决策过程,在这一过程中,智能体通过与环境的交互学习最佳策略。
如图3中所示,强化学习模型300中包括智能体310和环境320。从环境320指向智能体310的箭头330表示从环境320向智能体310提供状态,从智能体310指向环境320的箭头340表示从智能体310向环境320提供由智能体310动作,并且从环境智320指向智能体310的箭头350表示从环境320向智能体310提供的奖励。
智能体310的目标是最大化未来奖励的预期总和,这通过对例如状态-动作转换的多个步骤进行训练并且选择返回最大折扣期望奖励函数的动作而被完成。本公开的实施例所提出的方法的目的是建立集成的系统。根据本公开的实施例,在这样的系统中将考虑更多因素,此时可以基于灵活的奖励算法来反映多个场景的不同需求。例如,有时高速缓存节点中可能没有太多空间,因此最重要的要求是考虑空间,然后是针对效率的要求。在这种情况中,将给予与空间有关的奖励更多的权重,并且因此将给予与效率有关的奖励更少的权重。
根据本公开的实施例,强化学习算法可以被分为两个类别,分别是基于模型的和无需模型的。在无需模型的算法中,智能体没有系统的先验知识,而是在实际环境中执行操作以了解其对环境的影响。因此,无需模型的算法不需要开发人员的任何输入,非常灵活,并且易于设置。相反,基于模型的算法学习环境的模型,然后智能体从与结果模型的交互学习。该模型针对智能体提供更多的模拟步骤,从而使智能体可以更快地朝向最佳策略收敛。然而,基于模型的方式对于设计非常具有挑战性,因为模型必须准确地反映真实环境。因此,在本公开的后续描述的实施例中,出于在实践中利用这一系统的简单性选择使用无需模型的强化学习算法,并且使用加权的奖励系统以反映在某些情况中的要求。
回到图1,在图1所示的模型训练环境100中,向计算设备110输入训练相关数据120以及计算设备110与强化学习模型130之间的交互可以通过网络来进行。此外,在本公开的实施例中,以计算设备110为例进行说明,并且计算设备110可以包括任何实体或者虚拟的中央处理单元、专用处理单元以及专有加速器等。然而,本公开的保护范围并不限于此,而是可以适用于能够提供输入输出处理能力的各种计算元件、单元、模块或者系统等。
应当理解,示例环境100仅仅是示例性而不是限制性的,并且其是可扩展或者可限缩的。例如,示例环境100中可以包括更多的计算设备110,并且可以向计算设备110提供更多的训练相关数据120作为输入,计算设备110也可以与更多的强化学习模型130进行交互,从而使得可以满足更多用户同时利用更多的计算设备110,甚至利用更多的训练相关数据120来同时或者非同时地训练强化学习模型130的需求。
以下以图1中所包括的计算设备110,训练相关数据120以及强化学习模型130为例来说明图4和图5中所示出的模型训练方法200和数据处理方法500。
图4示出了根据本公开的实施例的模型训练方法400的流程图。方法400可以由图1中所示的计算设备110来实现,也可以由其他适当的设备来实现。应当理解,模型训练方法400还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的实施例的范围在此方面不受限制。
在框402,计算设备110获取与模拟网络环境相关联的存储信息。根据本公开的实施例,框402中所涉及的模拟网络环境可以是图2中所示出的模拟网络环境200。如图2中所示,模拟网络环境200包括多个节点220,并且每个节点220具有可以用于高速缓存客户端试图从模拟网络环境200读取的模拟数据的高速缓冲存储器。与模拟网络环境200相关联的存储信息可以指示每个节点220的高速缓冲存储器的使用情况,包括每个节点220中的高速缓冲存储器的大小以及已被使用的部分等信息。
根据本公开的一些实施例,计算设备110还可以获取模拟网络环境200中的节点的拓扑信息。根据本公开的另一些实施例,计算设备110还可以获取模拟网络环境200中的节点的拓扑信息以及模拟网络环境200中的数据传输信息,例如,节点间的数据传输的延时、带宽等信息。
在框404,计算设备110使用用于模拟在模拟网络环境200被读取的数据的模拟数据,基于针对模拟网络环境200包括的多个节点中的节点的模拟数据读取请求来训练强化学习模型。根据本公开的实施例,框404中所涉及的强化学习模型可以是图3中所示出的强化学习模型300。在强化学习模型300中,包括与模拟网络环境200相对应的环境320,与模拟网络环境200中的多个节点220相对应的智能体310,与关联于模拟网络环境200的存储信息相对应的状态330,与模拟网络环境200中的候选数据高速缓存方案相对应的动作340,以及与候选数据高速缓存方案针对模拟数据读取请求的性能评价相对应的奖励350。
根据本公开的实施例,在强化学习模型300中也可以包括与模拟网络环境200中的多个节点220相对应的多个智能体310。例如,每个节点对应于一个智能体。在这些实施例中,可以通过智能体之间的附加信息交互来在智能体之间共享与各自的状态和操作等相关的信息,并且可以有助于实现更加细粒度的、以节点为对象来研究强化学习模型300。
根据本公开的实施例,在框404,强化学习模型300被训练以使得强化学习模型300中的性能评价满足预定性能评价要求,此时计算设备110可以指示强化学习模型300停止训练,或者强化学习模型300可以自动停止训练。在经过训练之后,强化学习模型300可以针对输入数据确定数据高速缓存方案,所确定的数据高速缓存方案具有较高的性能评价。输入数据例如可以包括存储在模拟网络环境200的内容服务器210中的,要由客户端230读取的数据。由于这一数据可以通过被输入强化学习模型300的形式来使得强化学习模型300被训练,因此在本公开的实施例中可以被称为输入数据。
根据本公开的实施例,用于训练强化学习模型130的模拟数据和模拟数据读取请求可以从强化学习模型130中的环境320被接收,并且其可以是由被计算设备110提供给强化学习模型130或者强化学习模型130本身包括的生成器按照预定要求或者随机地生成的。
根据本公开的一些实施例,当在框402计算设备110获取了模拟网络环境200中的节点的拓扑信息时,强化学习模型130包括与存储信息和节点的拓扑信息相对应的状态330。根据本公开的另一些实施例,当在框402计算设备110获取了模拟网络环境200中的节点的拓扑信息以及模拟网络环境200中的数据传输信息时,强化学习模型130包括与存储信息、节点的拓扑信息和数据传输信息相对应的状态330。
如前所述,强化学习模型300中的状态330可以对应于关联于模拟网络环境200的存储信息。因此,在本公开的实施例中,存储信息也可以被称为状态空间。对于状态空间,如果将单个节点作为智能体,则状态空间应当比较简单。例如,可能状态空间的大小可以是2*2*2k,其中第一2指示节点是否要被用于高速缓存数据,第二2指示目前所处于的阶段,例如在分配阶段还是替换阶段,并且k指示离散的高速缓存空间,例如将高速缓冲存储器空间分成k个块,并且使用1来表示第k个块已被用于高速缓存数据,并且使用0来表示第k个块未被使用。同样,如果将整个系统视为一个智能体,则状态空间的大小应为2*kn,其中2指示目前所处于的阶段,例如在分配阶段还是替换阶段,n指示模拟网络环境200中有n个节点,k表示将每个节点的高速缓冲存储器空间分为k个部分。
例如,如果智能体是节点,并且它有4MB的高速缓冲存储器空间用于缓存数据,那么可能的状态330可以是101110,其中第一个1指示处于替换阶段,第一个0指示节点将不被用于高速缓存数据,后面的1110指示高速缓冲存储器空间中的前3MB已被占用,而最后1MB尚未被使用。
又例如,如果将模拟网络环境200中的所有节点220视为一个智能体,并且模拟网络环境200中有2个节点,每个节点有2MB的高速缓冲存储器空间可以用于缓存,那么可能的状态330可以是0010001,其中第一个0指示处于分配阶段,而后的01指示节点1将不被用于高速缓存数据,并且节点2将被用于高速缓存数据,而后的00指示节点1的高速缓冲存储器空间均为空,并且最后的01指示节点2的第二个MB已经被占用。
值得注意的是,当智能体处于替换阶段时,与是否应使用节点来高速缓存数据的表示有关的所有位都应为0,因为在这一阶段中没有任何节点将被用来高速缓存数据。
根据本公开的实施例,与强化学习模型300中的动作340相对应的数据高速缓存方案包括以下至少一项:要被高速缓存模拟数据或者输入数据的高速缓冲存储器;以及要从该高速缓冲存储器被清除的已高速缓存的数据,其中要被高速缓存模拟数据或者输入数据的高速缓冲存储器的剩余可用空间不足。
如前所述,强化学习模型300中的动作340可以对应于模拟网络环境200中的候选数据高速缓存方案。因此,在本公开的实施例中,候选数据高速缓存方案也可以被称为动作空间。
在分配阶段,如果选择使用每个作为智能体来训练模型,动作空间仅包括执行2个操作,是否高速缓存,如果智能体是具有n个节点的模拟网络环境200,则动作空间包括2n个可能的动作来确定使用那些节点来进行高速缓存。例如,如果模拟网络环境200中有2个节点,则可能的动作空间是10,这指示选择节点1来高速缓存空间,并且这次不使用节点0。
在替换阶段,如果选择使用具有k MB的存储器的节点作为智能体来训练模型,则动作空间包括2k个可以采取的动作,例如,如果k为2,则可能采取的动作可以被表示为10,这意味着前一个MB用于高速缓存数据,而后一个MB不使用。如果智能体是具有n个节点的整个模拟网络环境200,并且每个节点都有k MB空间,那么动作空间包括nk个可以采取的动作。例如,如果k为2,n为2,则可能采取动作可以被表示为1001,其中前面的10表示节点1的高速缓存情况,后面的01表示节点2的高速缓存情况。
根据本公开的实施例,如果在模拟网络环境200中引入进一步的内容,则前述状态空间和动作空间的内容可以被相应地改变,例如,可以基于客户端的需求、计算资源的限制或者其他内容来改变状态空间和动作空间的内容。
根据本公开的实施例,训练强化学习模型300包括获取初始数据高速缓存方案以及基于初始数据高速缓存方案来训练强化学习模型300。例如,在对强化学习模型300进行训练前,可以先获取之前被确定的、适用于模拟网络环境200或者类似模拟网络环境的初始数据高速缓存方案,并且基于初始数据高速缓存方案来训练强化学习模型300,从而使得可以减少训练强化学习模型300所需的时间,并且可以通过训练强化学习模型300得到更优选的数据高速缓存方案。
根据本公开的实施例,训练强化学习模型300包括获取针对数据高速缓存方案的限制以及基于限制来训练强化学习模型300。例如,在对强化学习模型300进行训练前,可以先获取用户定义的例如用户偏好的对针对数据高速缓存方案的限制,这些限制例如可以包括用户更倾向于将数据高速缓存在哪些节点中以及在替换阶段可以优先清除哪些类型的数据等。通过在训练强化学习模型300时引入这些限制,可以使得训练得到的数据高速缓存方案能够体现用户的个性化要求。
根据本公开的实施例,训练强化学习模型300包括训练强化学习模型300,使得经训练的强化学习模型300中的性能评价优于预定候选数据高速缓存方案针对模拟数据读取请求的性能评价。例如,可以先获取之前被确定的、适用于模拟网络环境200或者类似模拟网络环境的初始数据高速缓存方案作为候选数据高速缓存方案,确定这一候选数据高速缓存方案针对模拟数据读取请求的性能评价,并且通过确定经训练的强化学习模型300中的性能评价优于预定候选数据高速缓存方案针对模拟数据读取请求的性能评价来确定强化学习模型300中的性能评价满足预定性能评价要求。
根据本公开的实施例,性能评价可以由性能评价得分指示,性能评价得分包括多个子性能评价的子性能评价得分的加权和,并且训练强化学习模型300包括训练强化学习模型300,使得经训练的强化学习模型300中的性能评价得分高于预定性能评价得分。例如,子性能评价可以包括平均高速缓冲存储器命中率、平均链路延迟、平均带宽使用等。此外,可以例如基于模拟网络环境200的具体参数和用户偏好来对这些子性能评价的得分进行加权求和,更为关注的子性能评价可以被加权更高,从而使得训练得到的数据高速缓存方案能够更好地体现针对倾向的子性能评价的偏好。
根据本公开的实施例,性能评价可以由性能评价得分指示,性能评价得分包括多个子性能评价的子性能评价得分的加权和,并且训练强化学习模型300包括使用经训练的强化学习模型300,基于与经训练的强化学习模型300中的多个性能评价得分中的最高性能评价得分对应的候选数据高速缓存方案来确定数据高速缓存方案。例如,经训练的强化学习模型300可以在训练过程中例如在某个时间段中提供一定数量的候选数据高速缓存方案,此时可以将与对应于这些候选数据高速缓存方案的多个性能评价得分中的最高性能评价得分对应的候选数据高速缓存方案确定为要使用的数据高速缓存方案,从而使得可以在多个数据高速缓存方案中选择出最优的数据高速缓存方案。此外,也可以不考虑时间段的因素,而是仅在由强化学习模型300提供了一定数量的候选数据高速缓存方案之后,在这些候选数据高速缓存方案中选择出最优的数据高速缓存方案。
根据本公开的实施例,在一个示例中,在训练强化学习模型300时可以使用Q学习。例如,可以将模拟网络环境200的拓扑信息和诸如存储信息的节点特征输入到图形卷积神经网络中,并且图形卷积神经网络作为特征提取器提取每个节点的输出,这些输出而后被级联并且输入到全连接神经网络中,而后全连接神经网络可以输出针对每个动作的Q值,这一Q值可以与前述性能评价得分相关联或者是前述性能评价得分。
图5示出了根据本公开的实施例的数据处理方法500的流程图。方法500可以由图1中所示的计算设备110来实现,也可以由其他适当的设备来实现。应当理解,模型训练方法500还可以包括未示出的附加步骤和/或可以省略所示出的步骤,本公开的实施例的范围在此方面不受限制。
在框502,计算设备110接收输入数据。根据本公开的实施例,计算设备110也可以并不直接接收输入数据,而是接收对于被存储在模拟网络环境200的内容服务器210中的,要由客户端230读取的输入数据的指示。
在框504,计算设备110使用根据模型训练方法400而得到强化学习模型300,针对输入数据确定数据高速缓存方案。例如,计算设备110可以针对输入数据来确定应当将输入数据高速缓存在模拟网络环境200中的哪些节点中的高速缓冲存储器中,以及在将输入数据高速缓存在这些高速缓冲存储器时,需要从这些高速缓冲存储器清除哪些数据,或者从这些高速缓冲存储器的那些部分或者比率清除数据。
以上参考图1到图5描述了根据本公开的实施例的设备和/或方法可以在其中被实施的示例环境100、根据本公开的实施例的模拟网络环境200、根据本公开的实施例的强化学习模型300、根据本公开的实施例的模型训练方法400以及根据本公开的实施例的数据处理方法500的相关内容。应当理解,上述描述是为了更好地展示本公开的实施例中所记载的内容,而不是以任何方式进行限制。
应当理解,本公开的实施例以及各个附图中所采用的各种元件的数目和物理量的大小仅为举例,而并不是对本公开的实施例的保护范围的限制。上述数目和大小可以根据需要而被任意设置,而不会对本公开的实施例的正常实施产生影响。
通过以上参考图1到图5的描述,根据本公开的实施例的技术方案,提出了一种强化学习高速缓存系统(RLCaS),从而以综合的方式解决了如上所述的以信息为中心的网络中的高速缓存系统中的问题。具体而言,根据本公开的实施例的技术方案相对于传统方案具有诸多优点
例如,使用本公开的技术方案,由于完全采用强化学习,因此与手动组合相比,可以无缝地组合前面提到的两个问题,并且提供作为端到端解决方案的集成解决方案。同时,基于规则和基于机器学习的先前的研究主要关注在高速缓存策略设计过程中出现的高速缓存分配和替换这两个问题之一,而通过本公开的技术方案则可以考虑这两种情况来设法找到相对的最佳策略。
又例如,使用本公开的技术方案,可以实现强化学习模型中的灵活的奖励。在传统方案中,没有万能的系统解决方案可以提供所有好处,例如、效率、简单性、可扩展性、安全性、私密性、适应性等等等等,这意味着人们总是需要在工程设计中平衡不同的权衡。根据本公开的技术方案,在设计智能体的奖励时,可以基于目标自适应地添加或者删除奖励,还可以改变奖励的权重以调整目标的重要性。
又例如,使用本公开的技术方案,可以实现灵活的行动空间。根据本公开的实施例,动作可以是现有的范式,也可以是完全随机的,从而可以满足更多需求。
又例如,使用本公开的技术方案,可以无需环境模型。根据本公开的实施例,不需要事先对以信息为中心的网络的环境进行准确的建模,因此不需要进行任何假设。
又例如,使用本公开的技术方案,可以容易地适应新环境。强化学习模型在整个模拟过程期间都在不断地进行训练,并且训练的方向始终是增强定义的奖励。因此,智能体可以轻松地应对拓扑差异,并且甚至可以避免在训练过程期间发生的其他变化。
又例如,使用本公开的技术方案,可以在训练时无需预先的数据集。由于训练数据不一定总是合适的,因此不用预先生成训练数据。此外,定义的智能体可以在全新的环境中学习策略。
以下结合两个比较示例来描述根据本公开的实施例的数据处理方法与传统方案的技术效果对比。
图6示出了根据本公开的实施例的平均高速缓冲存储器命中率比较600的示意图。在图6中,实线表示根据传统方案使用最近最少使用(LRU)和使副本向下(LCD)方案时的平均高速缓冲存储器命中率,虚线表示使用根据本公开的实施例的数据处理方法时的平均高速缓冲存储器命中率。图6中的横坐标表示训练次数,其单位可以是一轮(epoch)训练,纵坐标表示统计出的平均高速缓冲存储器命中率,其中0.2表示命中率为20%,以此类推。可以看到,在经过一定次数的训练之后,使用根据本公开的实施例的数据处理方法与使用最近最少使用(LRU)和使副本向下(LCD)方案的传统方案相比可以实现明显更高的平均高速缓冲存储器命中率。
图7示出了根据本公开的实施例的平均链路负载比较700的示意图。在图7中,实线表示根据传统方案使用最近最少使用(LRU)和使副本向下(LCD)方案时的平均链路负载,虚线表示使用根据本公开的实施例的数据处理方法时的平均链路负载。图7中的横坐标表示训练次数,其单位可以是一轮(epoch)训练,纵坐标表示统计出的平均链路负载,其单位为兆比特每秒(MBPS)。可以看到,在经过一定次数的训练之后,使用根据本公开的实施例的数据处理方法与使用最近最少使用(LRU)和使副本向下(LCD)方案的传统方案相比可以实现明显低的平均链路负载。
图8图示出了可以用来实施本公开的实施例的示例设备800的示意性框图。根据本公开的实施例,图1中的计算设备110可以由设备800来实施。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可以存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的例如方法400和方法500的各个过程和处理可由处理单元801执行。例如,在一些实施例中,方法400和方法500可以被实现为计算机软件程序,其被有形地包含于例如存储单元808的机器可读介质中。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法400和方法500的一个或多个动作。
本公开的实施例可以涉及方法、设备、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的实施例的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是、但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的作为非穷举的列表的更具体的示例包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、例如通过光纤电缆的光脉冲的通过波导或其他传输媒介传播的电磁波、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开的实施例的操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以例如利用因特网服务提供方来通过因特网连接连接到外部计算机。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的实施例的各个方面。
这里参照根据本公开的实施例的方法、设备/系统和计算机程序产品的流程图和/或框图描述了本公开的实施例的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (22)
1.一种模型训练方法,包括:
获取与模拟网络环境相关联的存储信息,所述模拟网络环境包括各自具有高速缓冲存储器的多个节点,所述存储信息指示每个节点的高速缓冲存储器的使用情况;以及
使用模拟数据,基于针对所述多个节点中的节点的模拟数据读取请求来训练强化学习模型,所述强化学习模型包括与所述模拟网络环境相对应的环境,所述强化学习模型包括与所述多个节点相对应的智能体,与所述存储信息相对应的状态,与候选数据高速缓存方案相对应的动作,以及与所述候选数据高速缓存方案针对所述模拟数据读取请求的性能评价相对应的奖励,所述强化学习模型被训练以使得所述强化学习模型中的所述性能评价满足预定性能评价要求,以用于针对输入数据确定数据高速缓存方案。
2.根据权利要求1所述的方法,其中所述模拟数据读取请求从所述强化学习模型中的所述环境被接收。
3.根据权利要求1所述的方法,其中获取所述存储信息包括:
获取所述存储信息和所述多个节点的拓扑信息;并且
所述强化学习模型包括与所述存储信息和所述拓扑信息相对应的所述状态。
4.根据权利要求1所述的方法,其中所述数据高速缓存方案指示以下至少一项:
要被高速缓存所述模拟数据的高速缓冲存储器;以及
要从所述高速缓冲存储器被清除的已高速缓存的数据,其中要被高速缓存所述模拟数据的高速缓冲存储器的剩余可用空间不足。
5.根据权利要求1所述的方法,其中训练所述强化学习模型包括:
获取初始数据高速缓存方案;以及
基于所述初始数据高速缓存方案来训练所述强化学习模型。
6.根据权利要求1所述的方法,其中训练所述强化学习模型包括:
获取针对数据高速缓存方案的限制;以及
基于所述限制来训练所述强化学习模型。
7.根据权利要求1所述的方法,其中训练所述强化学习模型包括:
训练所述强化学习模型,使得经训练的所述强化学习模型中的所述性能评价优于预定候选数据高速缓存方案针对所述模拟数据读取请求的性能评价。
8.根据权利要求1所述的方法,其中所述性能评价由性能评价得分指示,所述性能评价得分包括多个子性能评价的子性能评价得分的加权和,并且训练所述强化学习模型包括:
训练所述强化学习模型,使得经训练的所述强化学习模型中的所述性能评价得分高于预定性能评价得分。
9.根据权利要求1所述的方法,其中所述性能评价由性能评价得分指示,所述性能评价得分包括多个子性能评价的子性能评价得分的加权和,并且训练所述强化学习模型包括:
使用经训练的所述强化学习模型,基于与经训练的所述强化学习模型中的多个性能评价得分中的最高性能评价得分对应的候选数据高速缓存方案来确定数据高速缓存方案。
10.一种数据处理方法,包括:
接收输入数据;以及
使用根据权利要求1至9中的任一权利要求而得到的强化学习模型,针对所述输入数据确定数据高速缓存方案。
11.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
获取与模拟网络环境相关联的存储信息,所述模拟网络环境包括各自具有高速缓冲存储器的多个节点,所述存储信息指示每个节点的高速缓冲存储器的使用情况;以及
使用模拟数据,基于针对所述多个节点中的节点的模拟数据读取请求来训练强化学习模型,所述强化学习模型包括与所述模拟网络环境相对应的环境,所述强化学习模型包括与所述多个节点相对应的智能体,与所述存储信息相对应的状态,与候选数据高速缓存方案相对应的动作,以及与所述候选数据高速缓存方案针对所述模拟数据读取请求的性能评价相对应的奖励,所述强化学习模型被训练以使得所述强化学习模型中的所述性能评价满足预定性能评价要求,以用于针对输入数据确定数据高速缓存方案。
12.根据权利要求11所述的电子设备,其中所述模拟数据读取请求从所述强化学习模型中的所述环境被接收。
13.根据权利要求11所述的电子设备,其中获取所述存储信息包括:
获取所述存储信息和所述多个节点的拓扑信息;并且
所述强化学习模型包括与所述存储信息和所述拓扑信息相对应的所述状态。
14.根据权利要求11所述的电子设备,其中所述数据高速缓存方案指示以下至少一项:
要被高速缓存所述模拟数据的高速缓冲存储器;以及
要从所述高速缓冲存储器被清除的已高速缓存的数据,其中要被高速缓存所述模拟数据的高速缓冲存储器的剩余可用空间不足。
15.根据权利要求11所述的电子设备,其中训练所述强化学习模型包括:
获取初始数据高速缓存方案;以及
基于所述初始数据高速缓存方案来训练所述强化学习模型。
16.根据权利要求11所述的电子设备,其中训练所述强化学习模型包括:
获取针对数据高速缓存方案的限制;以及
基于所述限制来训练所述强化学习模型。
17.根据权利要求11所述的电子设备,其中训练所述强化学习模型包括:
训练所述强化学习模型,使得经训练的所述强化学习模型中的所述性能评价优于预定候选数据高速缓存方案针对所述模拟数据读取请求的性能评价。
18.根据权利要求11所述的电子设备,其中所述性能评价由性能评价得分指示,所述性能评价得分包括多个子性能评价的子性能评价得分的加权和,并且训练所述强化学习模型包括:
训练所述强化学习模型,使得经训练的所述强化学习模型中的所述性能评价得分高于预定性能评价得分。
19.根据权利要求11所述的电子设备,其中所述性能评价由性能评价得分指示,所述性能评价得分包括多个子性能评价的子性能评价得分的加权和,并且训练所述强化学习模型包括:
使用经训练的所述强化学习模型,基于与经训练的所述强化学习模型中的多个性能评价得分中的最高性能评价得分对应的候选数据高速缓存方案来确定数据高速缓存方案。
20.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
接收输入数据;以及
使用根据权利要求11至19中的任一权利要求而得到的强化学习模型,针对所述输入数据确定数据高速缓存方案。
21.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行使得机器执行根据权利要求1至9中的任一项所述的方法的步骤。
22.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行使得机器执行根据权利要求10所述的方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110126721.7A CN114818454A (zh) | 2021-01-29 | 2021-01-29 | 模型训练方法、数据处理方法、电子设备和程序产品 |
US17/200,986 US11373062B1 (en) | 2021-01-29 | 2021-03-15 | Model training method, data processing method, electronic device, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110126721.7A CN114818454A (zh) | 2021-01-29 | 2021-01-29 | 模型训练方法、数据处理方法、电子设备和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114818454A true CN114818454A (zh) | 2022-07-29 |
Family
ID=82320186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110126721.7A Pending CN114818454A (zh) | 2021-01-29 | 2021-01-29 | 模型训练方法、数据处理方法、电子设备和程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11373062B1 (zh) |
CN (1) | CN114818454A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114818454A (zh) * | 2021-01-29 | 2022-07-29 | 伊姆西Ip控股有限责任公司 | 模型训练方法、数据处理方法、电子设备和程序产品 |
KR20220132339A (ko) * | 2021-03-23 | 2022-09-30 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
CN115242782B (zh) * | 2022-09-21 | 2023-01-03 | 之江实验室 | 一种超算中心间的大文件分片传输方法和传输架构 |
CN116030079A (zh) * | 2023-03-29 | 2023-04-28 | 北京嘀嘀无限科技发展有限公司 | 地理围栏划分方法、装置、计算机设备和存储介质 |
CN117195997B (zh) * | 2023-11-06 | 2024-03-01 | 之江实验室 | 一种模型训练方法、装置、存储介质及电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120041914A1 (en) * | 2010-08-16 | 2012-02-16 | Durga Deep Tirunagari | System and Method for Effective Caching Using Neural Networks |
US9191304B1 (en) * | 2013-08-12 | 2015-11-17 | The United States Of America As Represented By The Secretary Of The Navy | Reinforcement learning-based distributed network routing method utilizing integrated tracking and selective sweeping |
US20190384711A1 (en) * | 2018-06-15 | 2019-12-19 | EMC IP Holding Company LLC | Method, device, and computer program product for prefetching in storage systems |
CN110665223A (zh) * | 2019-11-01 | 2020-01-10 | 网易(杭州)网络有限公司 | 游戏资源的缓存方法、决策网络的训练方法及装置 |
US10766136B1 (en) * | 2017-11-03 | 2020-09-08 | Amazon Technologies, Inc. | Artificial intelligence system for modeling and evaluating robotic success at task performance |
US11373062B1 (en) * | 2021-01-29 | 2022-06-28 | EMC IP Holding Company LLC | Model training method, data processing method, electronic device, and program product |
CN114757352A (zh) * | 2022-06-14 | 2022-07-15 | 中科链安(北京)科技有限公司 | 智能体训练方法、跨域异构环境任务调度方法及相关装置 |
CN115456168A (zh) * | 2022-09-05 | 2022-12-09 | 北京百度网讯科技有限公司 | 强化学习模型的训练方法、能耗确定方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977179B2 (en) * | 2018-09-28 | 2021-04-13 | Western Digital Technologies, Inc. | Solid state drive cache eviction policy by an unsupervised reinforcement learning scheme |
-
2021
- 2021-01-29 CN CN202110126721.7A patent/CN114818454A/zh active Pending
- 2021-03-15 US US17/200,986 patent/US11373062B1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120041914A1 (en) * | 2010-08-16 | 2012-02-16 | Durga Deep Tirunagari | System and Method for Effective Caching Using Neural Networks |
US9191304B1 (en) * | 2013-08-12 | 2015-11-17 | The United States Of America As Represented By The Secretary Of The Navy | Reinforcement learning-based distributed network routing method utilizing integrated tracking and selective sweeping |
US10766136B1 (en) * | 2017-11-03 | 2020-09-08 | Amazon Technologies, Inc. | Artificial intelligence system for modeling and evaluating robotic success at task performance |
US20190384711A1 (en) * | 2018-06-15 | 2019-12-19 | EMC IP Holding Company LLC | Method, device, and computer program product for prefetching in storage systems |
CN110665223A (zh) * | 2019-11-01 | 2020-01-10 | 网易(杭州)网络有限公司 | 游戏资源的缓存方法、决策网络的训练方法及装置 |
US11373062B1 (en) * | 2021-01-29 | 2022-06-28 | EMC IP Holding Company LLC | Model training method, data processing method, electronic device, and program product |
CN114757352A (zh) * | 2022-06-14 | 2022-07-15 | 中科链安(北京)科技有限公司 | 智能体训练方法、跨域异构环境任务调度方法及相关装置 |
CN115456168A (zh) * | 2022-09-05 | 2022-12-09 | 北京百度网讯科技有限公司 | 强化学习模型的训练方法、能耗确定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US11373062B1 (en) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114818454A (zh) | 模型训练方法、数据处理方法、电子设备和程序产品 | |
CN111835827B (zh) | 物联网边缘计算任务卸载方法及系统 | |
CN104115165B (zh) | 使用机器学习来用于映射媒体组件的方法 | |
CN113055489B (zh) | 基于q学习的星地融合网络资源分配策略的实现方法 | |
KR102592036B1 (ko) | 사용자 중심 컨텐츠 스트리밍을 위한 방법 및 시스템 | |
CN106464669B (zh) | 基于访问模式的智能文件预取 | |
CN102137139A (zh) | 缓存替换策略的选择方法、装置、代理服务器和系统 | |
CN103888934B (zh) | 一种移动终端缓存管理装置及管理方法 | |
CN108366089B (zh) | 一种基于内容流行度和节点重要度的ccn缓存方法 | |
Isaacman et al. | Low-infrastructure methods to improve internet access for mobile users in emerging regions | |
Hao et al. | A multi-update deep reinforcement learning algorithm for edge computing service offloading | |
CN113282786B (zh) | 一种基于深度强化学习的全景视频边缘协作缓存替换方法 | |
CN111935025B (zh) | 一种tcp传输性能的控制方法、装置、设备和介质 | |
CN115714814B (zh) | 一种基于多智能体强化学习的边缘缓存替换方法 | |
CN113411826A (zh) | 一种基于注意力机制强化学习的边缘网络设备缓存方法 | |
CN113064907B (zh) | 一种基于深度强化学习的内容更新方法 | |
CN110913430A (zh) | 无线网络中文件的主动式协作缓存方法及缓存管理装置 | |
CN105144099B (zh) | 通信系统 | |
WO2021112945A1 (en) | Multimedia content steering | |
US20240022644A1 (en) | Caching method, device, and computer program product for edge server | |
CN111324839A (zh) | 建筑大数据缓存方法及装置 | |
CN113596138B (zh) | 一种基于深度强化学习的异构信息中心网络缓存分配方法 | |
Si et al. | Edge Caching Strategy Based on User's Long and Short Term Interests | |
CN110247996A (zh) | 基于智慧课堂的可配置缓存系统的无线路由装置 | |
CN113271338B (zh) | 一种移动增强现实场景的智能预加载方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |