CN109416636A - 共享的机器学习数据结构 - Google Patents
共享的机器学习数据结构 Download PDFInfo
- Publication number
- CN109416636A CN109416636A CN201680085228.2A CN201680085228A CN109416636A CN 109416636 A CN109416636 A CN 109416636A CN 201680085228 A CN201680085228 A CN 201680085228A CN 109416636 A CN109416636 A CN 109416636A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- data
- learning model
- model
- resource
- 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.)
- Granted
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 230
- 238000012545 processing Methods 0.000 claims abstract description 199
- 230000015654 memory Effects 0.000 claims abstract description 127
- 238000000034 method Methods 0.000 claims abstract description 125
- 230000008569 process Effects 0.000 claims abstract description 110
- 238000003860 storage Methods 0.000 claims abstract description 59
- 238000013480 data collection Methods 0.000 claims description 3
- 238000013499 data model Methods 0.000 claims description 3
- 230000005055 memory storage Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 6
- 238000005259 measurement Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000001465 metallisation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
- Advance Control (AREA)
- Memory System (AREA)
- Storing Facsimile Image Data (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
示例包括系统,所述系统包括用于存储机器学习数据结构的非易失性存储器。示例用第一处理资源来访问机器学习数据结构,并且示例用第二处理资源来访问机器学习数据结构,所述第二处理资源包括至少一个图形处理核心,使得机器学习数据结构是第一处理资源和第二处理资源的共享的存储器空间。
Description
背景技术
一些数据处理系统可以对数据集执行机器学习以生成结果。机器学习的示例可以包括分类、回归、聚类、密度估计、降维、和/或其它这样的类型的分析。在这样的示例中,数据处理系统可以基于机器学习模型来分析数据集。
附图说明
图1A是可以利用本公开内容的示例性系统的一些组件的框图。
图1B是可以利用本公开内容的示例性系统的一些组件的框图。
图2是可以利用本公开内容的示例性系统的一些组件的框图。
图3是示例性系统的一些组件的框图。
图4是示出了可以由示例性系统执行的示例性操作序列的流程图。
图5是示出了可以由示例性系统执行的示例性操作序列的流程图。
图6是示出了可以由示例性系统执行的示例性操作序列的流程图。
图7是示出了可以由示例性系统执行的示例性操作序列的流程图。
在整个附图中,相同的附图标记表示相似但不一定相同的元件。此外,附图提供了与描述一致的示例和/或实施方式;然而,描述不限于附图中提供的示例和/或实施方式。
具体实施方式
示例性数据处理系统可以包括用于存储机器学习数据结构的非易失性存储器。机器学习数据结构可以对应于第一处理资源和第二处理资源的共享的存储器空间,其中第二处理资源可以包括至少一个图形处理核心。在一些示例中,非易失性存储器可以具有访问速度,使得第一处理资源和第二处理资源可以直接地在机器学习存储器结构中处理指令和数据。如本文使用的数据处理系统可以包括例如个人计算机、便携式计算设备(例如,膝上型计算机、平板计算机、智能手机)、服务器、服务器的刀片、服务器的处理节点、片上系统(SOC)计算设备、SOC设备的处理节点、和/或其它这样的数据处理设备/系统。如本文使用的,数据处理系统可以被称为计算系统或被简称为系统。
本文的示例可以促进用于其中可以执行机器学习的数据处理系统的改进的处理效率、降低的资源利用率、和/或增加的计算复杂度。本文描述的示例可以包括用于存储机器学习数据结构的非易失性存储器资源。机器学习数据结构可以包括至少一个机器学习模型。机器学习模型可以包括多个操作,所述多个操作至少部分基于机器学习模型的模型参数来对数据集执行以针对数据集生成模型结果。
机器学习模型的示例可以包括基于回归的模型、基于实例的模型、基于正则化的模型、基于决策树的模型、基于贝叶斯网络的模型、基于聚类的模型、关联性规则学习模型、基于人工神经网络的模型、基于降维的模型、基于集合(ensemble)的模型、和/或其它这样的类型的机器学习模型。如将领会的,在一些示例中,机器学习数据结构可以存储多种类型的机器学习模型。如讨论的,每个机器学习模型可以包括模型参数集。一些示例可以通过对学习数据集执行机器学习模型的操作来调整模型参数,并且基于从学习数据集生成的模型结果来更新模型参数。
非易失性存储器(NVM)的示例可以包括只读存储器(ROM)(例如,掩模ROM、PROM、EPROM、EEPROM等)、闪速存储器、固态存储器、非易失性状态RAM(nvSRAM)、电池供电的静态RAM、铁电RAM(FRAM)、磁阻RAM(MRAM)、相变存储器(PCM)、磁带、光驱、硬盘驱动器、3D交叉点存储器(3D XPoint)、可编程金属化单元(PCM)存储器、silicon-oxide-nitride-oxide-silicon(SONOS)存储器、电阻式RAM(RRAM)、畴壁存储器(DWM)、nano-RAM、浮动结栅极RAM(FJG RAM)、忆阻存储器、自旋转移矩RAM(STT-RAM)、以及跨电源循环(例如,关/开)维持存储的信息的其它存储器设备/模块。跨电源循环存储数据的非易失性存储器还可以称为持久性数据存储器。如本文使用的,非易失性存储器资源可包括一个设备和/或模块、或组合设备和/或模块。
在一些示例中,非易失性存储器资源可以对应于一类非易失性存储器,其被称为存储类存储器(SCM)。在这些示例中,SCM非易失性存储器是可字节寻址的、与处理资源同步并且在处理资源相干域中。此外,与其它类型的非易失性存储器(例如,硬盘驱动器或磁带存储器设备)相比,SCM非易失性存储器可以包括具有相对较高的读/写速度的存储器类型。SCM非易失性存储器的示例包括一些类型的闪速存储器、RRAM、忆阻器、PCM、MRAM、STT-RAM、以及其它类型的较高读/写速度持久性数据存储器设备。如将领会的,由于一些类型的非易失性存储器(例如,旋转磁盘硬盘驱动器、NAND闪速存储器、磁带驱动器)的相对低的读写速度,因此处理资源可能不能用这些类型的非易失性存储器来直接地处理指令和数据。然而,处理资源可以用SCM非易失性存储器来直接地处理指令和数据。
另外,示例可以包括耦合到非易失性存储器资源的处理资源。具体地,示例性系统可以包括耦合到非易失性存储器以访问机器学习数据结构的第一处理资源,并且示例性系统可以包括耦合到非易失性存储器以访问机器学习数据结构的第二处理资源。因此,非易失性存储器资源的机器学习数据结构是第一处理资源和第二处理资源的共享的存储器空间。在本文描述的一些示例中,共享的存储器空间指示第一处理资源和第二处理资源可以直接地向和从机器学习数据结构读/写数据。此外,将领会的是,针对共享的存储器空间,第一处理资源和第二处理资源可以同时访问机器学习数据结构(例如,向/从机器学习数据结构读/写数据)。
在示例性数据处理系统中,第一处理资源可以包括多个处理资源,并且类似地,第二处理资源可以包括多个处理资源。在一些示例中,第一处理资源可以对应于诸如包括至少一个处理核心的中央处理单元(CPU)之类的通用数据处理器。在一些示例中,第一处理资源可以包括专用集成电路(ASIC)、和/或用于数据处理的逻辑组件的其它这样的配置。在一些示例中,第一处理资源可以包括多个处理核心,其可以并行、同步、同时、以交织方式、和/或以其它这样的指令执行安排来处理/执行指令。在一些示例中,每个处理核心可以执行一个以上的指令线程(其常被称为多线程核心)。
第二处理资源可以包括至少一个图形处理核心,所述至少一个图形处理核心可以被称为专用图形处理核心。在一些示例中,第二处理资源可以对应于图形处理单元(GPU)。在这样的示例中,图形处理核心可以包括用于处理图像/视频和/或基于数字信号的数据的专门的电路和逻辑器件。在一些示例中,第二处理单元可以包括可以并行处理大数据块的多个图形处理核心。在一些示例中,第二处理单元可以用专门的图形处理核心来执行流式和/或向量处理。如将领会的,在一些示例中,第二处理单元和其至少一个图形处理核心可以被用来执行可以不对应于基于图形的操作(其常被称为GPU上的通用计算)的各种类型的操作。在一些示例中,可以使用第二处理资源的至少一个图形处理核心来对数据集执行存储在非易失性存储器的机器学习数据结构中的至少一个机器学习模型的操作。
现在转到附图,并且特别是图1A-B,这些附图提供了示出了系统100的示例的框图。如本文公开的系统的示例包括个人计算机、便携式电子设备(例如,智能电话、平板电脑、膝上型电计算机、可穿戴设备等)、工作站、智能设备、服务器、服务器的处理节点、包括多个服务器的数据中心、和/或任何其它这样的数据处理设备。在图1A和图1B的示例中,系统100包括第一处理资源102、第二处理资源104、以及耦合到处理资源102、104的非易失性存储器108。
如示出的,第一处理资源102包括至少一个处理核心110,并且第二处理资源104包括至少一个图形处理核心112。非易失性存储器108用于存储可以包括至少一个机器学习模型116的机器学习数据结构114。在本文描述的示例中,第一处理资源102可以包括至少一个基于硬件的处理器。此外,处理资源102可以包括一个处理器或多个处理器,其中处理器可以被配置为在单个系统100中或分布于跨本地和/或远程地连接的多个系统。
如先前讨论的,第二处理资源104可以包括至少一个图形处理核心112。在一些示例中,第二处理资源104可以包括多核心图形处理单元(GPU)。在一些示例中,图形处理核心可以包括执行流水线和图形处理核心(常被称为浮点单元)以执行浮点运算。
如图1B中提供的示例中进一步示出的,系统100还可以包括处理引擎117。在这样的示例中,处理引擎117可以协调用第一处理资源102执行至少一个学习模型116。这样的协调的同时,处理引擎117可以用第二处理资源104的至少一个图形处理核心112来执行至少一个机器学习模型116的操作。因此,将领会的是,第一处理资源102可以协调与机器学习模型116相关联的指令发出以供第二处理资源104的图形处理核112进行执行。在一些示例中,协调用第一处理资源执行至少一个机器学习模型116可以包括:使执行在第二处理资源104的至少一个图形处理核心112中的至少两个机器学习模型116进行切换。
在图1的示例性系统中,机器学习数据结构114还可以包括至少一个数据集118,其中至少一个数据集118可包括至少一个数据子集120。如将领会的,数据集概括地指代相关信息的集合,并且数据子集概括地指代这样的数据集的单独元素。数据集可以对应于各种类型的数据或数据类型的组合。
例如,数据集可以包括用摄像机外围设备采集的并且存储在机器学习数据结构114中的视频数据。在该示例中,这样的视频数据的数据子集可以包括这样的视频数据的时间片,其中时间片可以是视频数据的持续时间的增量。例如,视频数据的数据子集可以是具有10秒、1秒、500毫秒(ms)、10ms、1ms等的持续时间的时间片。在另一示例中,数据集可以对应于诸如视频和音频数据的组合之类的多媒体数据。在该示例中,数据子集可以对应于诸如多媒体数据之类的时间片。在其它示例中,数据集可以对应于用各种类型的传感器(例如,温度传感器、压力传感器等)检测到的随时间的各种环境的测量结果(例如,温度、压力等)。在其它示例中,数据集可以对应于用各种类型的传感器(例如,视线传感器、无线电波传感器、紫外线传感器等)检测到的随时间的各种类型的电磁辐射的测量结果。如将领会的,数据集可以对应于用各种其它类型的传感器和/或设备收集到的各种其它类型的数据。
另外,非易失性存储器108可以包括机器学习数据索引122,其可以被用来指向存储在机器学习数据结构114中的各种类型的数据,使得第一处理资源102和/或第二处理资源104可以协调对机器学习数据结构114中的数据的读取和/或写入。在该示例中,机器学习数据索引122被示出为存储在机器学习数据结构114内;然而,在其它示例中,机器学习数据索引122可以被存储在非易失性存储器108的其它位置中。如将领会的,在一些示例中,机器学习数据索引122可以是持久性结构索引和/或持久性对象索引。在一些示例中,将领会的是,可以针对处理资源102、104、以及非易失性存储器108来实现虚拟寻址方案。在这样的示例中,机器学习数据索引122可以促进针对非易失性存储器108的物理存储器地址的虚拟地址转换。
在图1B中,示例性系统100包括数据输入124,用其可以从外围设备(例如,传感器、图像/视频采集设备、音频采集设备、和/或其它这样的外围输入设备)接收数据。在一些示例中,数据输入124可以促进实时数据流的采集和存储。在这些示例中,实时数据流可以作为数据集118由第一处理资源102存储在机器学习数据结构114中。在用第一处理资源102存储这样的实时数据流的同时,第二处理资源104可以用至少一个图形处理核心112来对实时数据的数据集118的数据子集120执行至少一个机器学习模型116的操作。因此,一些示例可以用至少一个机器学习模型来促进实时数据流的实时处理。如将领会的,实时机器学习处理可以促进各种类型的数据处理操作。例如,机器学习模型可以对应于对象识别,并且可以用对象识别机器学习模型来分析视频数据流。
如图1B中示出的,非易失性存储器108还可以包括其上存储的系统存储器126、只读存储器(ROM)128、和/或存储装置130。如将领会的,这些另外的将存储器126-130分配到非易失性存储器108中可以是可由第一处理资源102和第二处理资源104访问的(即,共享)。然而,在一些示例中,对存储器126-130的另外的分配可以不在第一处理资源102和第二处理资源104之间共享。例如,系统存储器126可以仅可由第一处理资源102访问。如将领会的,非易失性存储器108的其它示例性分配可以在其它示例中实现。
此外,系统100可以包括易失性存储器132。如将领会的,易失性存储器132可以包括随机存取存储器(RAM)或不跨电源循环保持数据的其它这样的存储器。虽然图1B的示例示出了如存储在非易失性存储器108中的系统存储器128、ROM 128、以及存储装置130,但是将领会的是,在其它示例中,这样的数据可以被存储在易失性存储器132中。在一些示例中,易失性存储器可以包括可由第一处理资源102和第二处理资源104访问的共享的存储器部分。在一些示例中,非易失性存储器108和/或易失性存储器132可以包括不由第一处理资源102和第二处理资源104共享的存储器部分。
尽管没有在图1A-B中示出,但是针对与用户或操作者的接口,一些示例性系统可以包括包含一个或多个用户输入/输出设备(例如,一个或多个按钮、显示器、触摸屏、扬声器等)的用户界面。因此,用户界面可以将数据传送到处理资源并从处理资源接收数据。例如,用户可以经由用户界面输入一个或多个选择,并且处理资源可以使数据被输出在用户界面的屏幕或其它输出设备上。此外,系统可以包括网络接口设备。如将领会的,网络接口设备包括用于在一个或多个通信网络上传送数据的一个或多个硬件设备(例如,网络接口卡)。
此外,示例性系统(例如,图1A-B的示例性系统)可以包括引擎,其中这样的引擎(例如,处理引擎117)可以是用于实现相应引擎的功能的硬件和编程的任何组合。在本文描述的一些示例中,可以以多种不同的方式来实现硬件和编程的组合。例如,用于引擎的编程可以是存储在非暂时性机器可读存储介质上的处理器可执行指令,并且用于引擎的硬件可以包括用于处理和执行那些指令的处理资源。
在一些示例中,实现这样的引擎的系统可以包括存储指令和用于处理指令的处理资源的机器可读存储介质,或者机器可读存储介质可以单独地由系统和处理资源存储并可由其进行访问。在一些示例中,可以在电路中实现引擎。此外,被用来实现引擎的处理资源可以包括至少一个中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)、专门的控制器(例如,存储器控制器)、和/或可以针对数据处理而实现的其它这样类型的逻辑组件。
图2提供了示出示例性系统200的框图。在该示例中,系统200包括至少一个处理资源202和机器可读存储介质204。机器可读存储介质204可以表示随机存取存储器(RAM)设备,所述RAM设备包括示例性系统100的主存储装置,以及任何补充级的存储器,例如高速缓冲存储器、非易失性或备用存储器(例如,可编程的或闪速存储器)、只读存储器等。另外,机器可读存储介质204可以被认为包括物理地位于其它地方的存储器存储装置(例如,微处理器中的任何高速缓冲存储器),以及用作虚拟存储器的任何存储容量(例如,如存储在大容量存储设备上或在与示例性系统200通信的另一系统上)。此外,机器可读存储介质204可以是非暂时性的。在一些示例中,处理资源202和机器可读存储介质204可以对应于被布置在至少一个服务器中的处理单元和存储器设备。在其它示例中,处理资源202和机器可读存储介质可以被布置在片上系统设备中。
另外,可以用可以是可由处理资源202执行的指令来对机器可读存储介质204进行编码和/或机器可读存储介质204可以存储所述指令,其中执行这样的指令可以使处理资源202和/或系统200执行本文描述的功能、过程、和/或操作序列。在图2的示例中,机器可读存储介质204包括用于用第一处理资源208来访问机器学习数据结构的指令。此外,机器可读存储介质204包括用于用第一处理资源208来确定存储在机器学习数据结构中的机器学习模型集以针对存储在机器学习数据结构中的数据集进行执行的指令。此外,机器可读存储介质204包括用于用包括至少一个图形处理核心210的第二处理资源来访问机器学习数据结构的指令。机器可读存储介质204还包括用于用第二处理资源的至少一个图形处理核心来对存储在机器学习数据结构中的数据集执行该机器学习模型集的操作以针对集的每个相应机器学习模型生成相应模型结果的指令。
图3提供了示出示例性系统300的一些组件的框图。如讨论的,在一些示例中,处理资源包括中央处理单元(CPU),并且在该示例中,系统300包括CPU 302,所述CPU 302包括至少一个核心304。在一些示例中,CPU302可以包括一个核心304,并且在其它示例中,CPU 302可以包括两个核心304(被称为双核心配置)、四个核心(被称为四核心配置)等。另外,系统300包括图形处理单元(GPU)306,所述GPU 306包括至少一个图形处理核心308。如将领会的,在一些示例中,GPU 306可以包括两个图形处理核心、四个图形处理核心、八个图形处理核心、十六个图形处理核心等。虽然在该示例中CPU 302和GPU 306被示出为单独的组件,但是将领会的是,在一些示例中,CPU的通用处理核心和GPU的图形处理核心可以被集成在单个组件中。因此,在这些示例中,第一处理资源可以指代通用处理核心,并且第二处理资源可以指代单个组件的图形处理核心。
如先前讨论的,图形处理核心可以包括用于执行浮点运算的逻辑和相关联电路。另外,图形处理单元306可以包括多个图形处理核心和相关联的指令执行流水线,使得图形处理单元306可以并行地执行多个操作。并行处理架构的示例包括单指令多数据(SIMD)处理或多指令多数据(MIMD)处理架构。在一些示例中,GPU 306可以包括多个图形处理核心,其可以执行可以被用来对多个不同的数据源同时执行浮点运算的矢量处理。
如示出的,CPU 302和GPU 306还可以包括高速缓冲存储器310。如将领会的,在CPU302和GPU 306中示出的高速缓冲存储器可以是专用存储器(即,不共享的),其中这样的高速缓冲存储器310可以包括指令高速缓存、数据高速缓存、和/或转换后备缓冲器。另外,CPU302和GPU 306可以直接地被连接到共享的高速缓冲存储器312,使得CPU 302和GPU可以同时访问共享的高速缓冲存储器312。如将领会的,在一些示例中,CPU 302可以在GPU执行机器学习模型的操作的同时提取与机器学习模型的操作相关联的指令和数据。因此,在一些示例中,协调执行机器学习模型可以包括当GPU 306执行机器学习模型的操作的同时用CPU302来提取与机器学习模型相对应的指令和/或数据。
另外,CPU 302和GPU 306经由存储器总线316和存储器控制器318连接到非易失性存储器314。如将领会的,存储器控制器318可以针对非易失性存储器314促进对数据读取和写入。虽然在该示例中,存储器控制器318被示出为单独的组件,但是将领会的是,在一些示例中,存储器控制器318可以位于非易失性存储器模块上或甚至被集成到另一逻辑组件(例如,CPU 302和/或GPU 306)中。如示出的,非易失性存储器可以包括机器学习数据结构320,所述机器学习数据结构320是用于CPU 302和GPU 306的共享的存储器空间。虽然没有示出,但是非易失性存储器314可以具有存储在其中的其它数据结构,其中这样的其它数据结构可以是用于CPU 302和GPU 306的共享的存储器空间并且/或者这样的其它数据结构可以是用于CPU 302或GPU 306的专用的存储器空间。
此外,在一些示例中,CPU 302和GPU 306可以经由另外的存储器控制器324和存储器总线316连接到另外的存储器资源322(例如,RAM、硬盘驱动器等)。如将领会的,另外的存储器资源322可以具有用于CPU 302和GPU 306的其它共享的存储器空间以及用于CPU 302或GPU 306的专用的存储器空间。
如将领会的,CPU 302的核心304和GPU 306的图形处理核心308可以执行操作以实现指令循环,所述指令循环还可以被称为提取-解码-执行循环。如本文使用的,处理指令可以指代执行对指令的提取、解码以及执行。类似地,执行操作可以指代执行对指令的提取、解码以及执行。例如,图形处理核心308可以被描述为当图形处理核心308对与机器学习模型相对应的指令进行提取、解码以及执行时对数据集执行机器学习模型的操作。
图4-7提供了流程图,所述流程图提供了可以由示例性系统和/或其处理资源执行以执行示例性过程和方法的示例性操作序列。在一些示例中,包括在流程图中的操作可以以指令的形式体现在存储器资源中(例如,图2的示例性机器可读存储介质204),所述指令可以是可由处理资源执行以使系统(例如,图1A-B的系统100、图2的系统200、图3的系统300)执行与指令相对应的操作的。另外,图4-7中提供的示例可以被体现在系统、机器可读存储介质、过程、和/或方法中。在一些示例中,在图4-7的流程图中公开的示例性过程和/或方法可以由在系统中实现的一个或多个引擎执行。
现在转到图4,该附图提供了示出可以由示例性系统执行的示例性操作序列的流程图400。如示出的,系统可以用第一处理资源来访问存储在非易失性存储器的共享的存储器空间中的机器学习数据结构(框402)。另外,系统可以用包括至少一个图形处理核心的第二处理资源来访问存储在共享的存储器空间中的机器学习数据结构(框404)。系统可以用第二处理资源的至少一个图形处理核心来对存储在机器学习数据结构中的数据集执行存储在机器学习数据结构中的至少一个机器学习模型的操作(框408)。
因此,如由图4的示例示出的,机器学习数据结构的共享的存储器空间可以促进由第一处理资源和第二处理资源同时对其进行访问。此外,第二处理资源的至少一个图形处理核心可以被用来执行机器学习模型的操作,与用诸如CPU的核心之类的通用处理核心来对其执行相比,这可以促进改进的处理效率。此外,与将机器学习模型存储在存储位置中并且将这样的机器学习模型加载到易失性存储器以进行处理相比,将机器学习模型存储在非易失性存储器中组合对机器学习模型的共享访问可以促进改进的处理效率。
图5提供了示出可以由示例性系统执行的示例性操作序列的流程图450。在该示例中,系统可以用第一处理资源来确定机器学习模型集以针对存储在非易失性存储器中的机器学习数据结构中存储的数据集进行执行(框452)。在一些示例中,非易失性存储器的机器学习数据结构可以存储多个机器学习模型。在这些示例中,系统可以确定至少一个机器学习模型集以针对要被分析的数据集进行执行。例如,系统可以至少部分基于数据集的数据类型来确定要执行的机器学习模型集。例如,如果数据集对应于多媒体数据(例如,视频数据和音频数据),则系统可以选择特定的机器学习模型集。作为另一示例,如果数据集对应于传感器数据(例如,测量的温度、测量的电磁辐射强度等),则系统可以选择特定的机器学习模型集。如将领会的,系统可以针对系统可以接收以用于机器学习分析的每种类型的数据来存储至少一个机器学习模型。
针对数据集,系统可以用第二处理资源的至少一个图形处理核心对存储在机器学习数据结构中的数据集执行集的每个机器学习模型的操作以针对集的每个机器学习模型来生成相应模型结果(框454)。在这些示例中,将领会的是,如果机器学习模型集包括一个以上的机器学习模型,则第二处理资源的图形处理核心可以在集的机器学习模型之间切换执行。基于集的每个机器学习模型的相应模型结果,系统可以更新存储在机器学习数据结构中的至少一个机器学习模型(框456)。
因此,在与图5中提供的示例类似的一些示例中,可以基于根据对特定数据集的分析生成的模型结果来更新机器学习模型。如将领会的,如果特定数据集对应于训练数据集,则可以调整一些机器学习模型,使得这样的调整的机器学习模型的参数可以进一步被细化,以促进在机器学习模型的执行中的改进的精确度和效率。
图6提供了示出可以由示例性系统执行的操作序列的流程图500。对于用于针对数据集执行的机器学习模型集(框502),系统可以用第二处理资源的图形处理核心针对数据集的相应数据子集来执行集的相应机器学习模型,以针对相应数据子集生成模型结果(框504)。在针对相应数据子集执行相应机器学习模型之后,系统可以用第一处理资源来确定是否还有任何另外的机器学习模型要执行(框508)。响应于确定要针对相应数据子集执行集的另外的机器学习模型(框506的“Y”分支),系统切换到要被执行的集的下一机器学习模型(步骤508)并且继续执行集的下一机器学习模型作为相应机器学习模型(框508)。
当系统用第一处理资源确定已经对相应数据子集执行了集的全部机器学习模型时(框506的“N”分支),系统用第一处理资源确定是否还有任何数据子集要用机器学习模型集来分析(框510)。如果数据集还有数据的子集,则系统前进以用机器学习模型集分析下一数据子集(框512)。在一些示例中,系统可以用第一处理资源来处理针对每个相应数据的子集生成的相应模型结果(框514)。
在这些示例中,将领会的是,系统可以包括诸如CPU之类的第一处理资源,以及包括图形处理核心的第二处理资源。因此,对于要执行的机器学习模型集,第一处理资源可以协调对相应数据子集执行集。在这样的示例中,第一处理资源可以促进切换到用第二处理资源的图形处理核心执行集的每个机器学习模型。
例如,机器学习模型集包括第一机器学习模型、第二机器学习模型、以及第三机器学习模型。在该示例中,数据集可以包括第一数据子集、第二数据子集、以及第三数据子集。如将领会的,数据集和机器学习模型集可以被存储在非易失性存储器中存储的机器学习数据结构中,其中机器学习数据结构是第一处理资源和第二处理资源的共享的存储器空间。第二处理资源可以包括多个图形处理核心。在该示例中,第一处理资源可以用第二处理资源的图形处理核心来协调执行第一机器学习模型的操作。图形处理核心可以对第一数据子集执行第一机器学习模型的操作,以针对第一数据子集生成第一模型结果。第一数据子集的第一模型结果可以由第二处理资源存储在机器学习数据结构中。
在完成执行第一机器学习模型时,第一处理资源可以协调图形处理核心以切换执行第二机器学习模型。第二处理资源的图形处理核心可以对第一数据子集执行第二机器学习模型的操作,以针对第一数据子集生成第二模型结果。第一数据子集的第二模型结果可以由第二处理资源存储在机器学习数据结构中。在完成执行第二机器学习模型时,第一处理资源可以协调切换执行到第三机器学习模型。第二处理资源的图形处理核心可以对第一数据子集执行第三机器学习模型的操作,以针对第一数据子集生成第三模型结果。第一数据子集的第三模型结果可以由第二处理资源存储在机器学习数据结构中。
在完成了对第一数据子集执行第三机器学习模型时,第一处理资源可以协调切换到针对第二数据子集执行第一机器学习模型。第二处理资源的图形处理核心可以对第二数据子集执行第一机器学习模型的操作,以针对第二数据子集生成第一模型结果。第二数据子集的第一模型结果可以被存储在机器学习数据结构中。如将领会的,可以针对剩余的机器学习模型和第三数据子集来执行关于示例描述的操作。
示例示出了,与其中在机器学习模型之间切换可能需要将每个机器学习模型在执行期间加载到图形处理核心的专用的存储器空间中的系统相比,机器学习结构的共享的存储器空间促进了在不同机器学习模型的执行之间的切换时的低延迟。另外,因为非易失性存储器可以具有足够高的读/写速度以促进直接在非易失性存储器(例如,存储类存储器)中处理指令和数据,因此与可以将每个模型顺序地加载到/卸载出易失性存储器以用于执行的系统相比,示例可以减少与在机器学习模型之间切换以用于执行相关联的时间。此外,因为非易失性存储器跨电源循环保持数据,因此机器学习模型和相关联的参数可以被存储在非易失性存储器中。
因此,在一些示例中,与其中每个模型被存储在具有不支持对数据和指令的直接处理的读/写速度的存储存储器中的系统相比,对机器学习模型的访问和执行的速度可以被提高。在这样的系统中,每个模型被加载到诸如RAM之类的可以由CPU直接访问的存储器中,并且在加载到可由CPU访问的存储器之后,模型可以被加载到图形处理核心可以访问的专用存储器。因此,如将领会的,高速访问非易失性存储器中的机器学习数据结构的直接的和共享的可访问性减少了与执行机器学习模型相关联的加载和访问时间。在其中可以在多个机器学习模型之间切换的示例中,高速访问非易失性存储器中的机器学习数据结构的直接的和共享的可访问性还可以减少与机器学习模型之间的切换相关联的时间。转而可以减少与执行机器学习模型相关联的电力消耗。
如将领会的,减少的处理时间和增加的处理效率可以促进用机器学习模型处理实时数据,其中还可以同时处理来自这样的处理的模型结果。图7提供了示出可以由示例性系统执行的操作序列的流程图550。在该示例中,系统可以将实时数据流存储在系统的非易失性存储器的机器学习数据结构中(框552)。在该示例中,机器学习数据结构可以是用于第一处理资源和第二处理资源的共享的存储器空间,其中第二处理资源可以包括至少一个图形处理核心。此外,第一处理资源和第二处理资源可以用非易失性存储器来直接地处理指令和数据。例如,非易失性存储器可以是存储类存储器非易失性存储器。另外,将领会的是,在系统执行本文描述的另外的操作的同时,第一处理资源继续将实时数据流存储在机器学习数据结构中。
在该示例中,系统用第二处理资源的图形处理核心来对数据流的相应时间片执行的机器学习模型集的第一机器学习模型的操作,以针对相应时间片生成第一模型结果(框554)。如先前讨论的,在用第一处理资源存储实时数据流的同时,机器学习模型的操作可以由第二处理资源的图形处理核心来执行。当完成对数据流的相应时间片执行第一机器学习模型时,系统可以用第一处理资源来协调切换到第二机器学习模型以供执行(框556)。系统用第二处理资源的图形处理核心来对数据流的相应时间片执行集的第二机器学习模型的操作,以针对数据的相应时间片生成第二模型结果(框558)。
在该示例中,系统可以继续用第一和第二机器学习模型来处理实时数据。因此,在对数据流的相应时间片执行第二机器学习模型的操作之后,系统切换到下一相应时间片(框560),并且系统针对数据流的下一相应时间片重复关于框554-558描述的操作。
因此,如该示例中示出的,第一处理资源和第二处理资源可以同时访问机器学习数据结构的共享的存储器空间。如示出的,在第二处理资源用机器学习模型集处理实时数据流的同时,第一处理资源可以将实时数据流的数据写入机器学习数据结构。
在与图7示出的示例类似的示例中,将领会的是,系统可以至少部分基于针对数据流的时间片生成的模型结果来执行另外的操作。例如,可以用其处理实时数据流的机器学习模型可以对应于实时视频流中的对象识别。在这样的示例中,基于模型结果,系统可以至少部分基于模型结果来输出实时视频流。例如,机器学习模型可以对应于面部识别和/或对实时视频流的分析。在这样的示例中,系统可以基于模型结果在输出期间修改实时视频流,使得在输出期间面部可以被突出显示。在另一示例中,系统可以基于模型结果来控制输入外围设备。例如,系统可以使连接的视频采集设备至少部分基于在实时视频流中辨识的对象的移动而移动。作为另一示例,系统可以是可移动设备,并且可移动设备可以至少部分基于模型结果来驱动马达(以控制设备的移动)。
因此,被实现为存储在非暂时性机器可读存储介质上的可执行指令的系统、过程、方法、和/或计算机程序产品的本文描述的示例可以用机器学习模型来促进对数据的处理。在本文描述的示例中,机器学习数据结构可以被实现在非易失性存储器中,其中非易失性存储器可以具有支持对其中的指令和数据的直接处理的访问速度,并且机器学习数据结构可以是用于第一的处理资源(例如,CPU)和具有至少一个图形处理核心(例如,GPU)的第二处理资源的共享的存储器空间。
在其中机器学习模型被存储和执行于直接在非易失性存储器中的共享的存储器空间中的示例中,可以减少与加载和切换执行机器学习模型相关联的处理低效率。此外,与用通用处理核心执行相比,用图形处理核心在非易失性存储器中直接执行机器学习模型可以提高与执行机器学习模型相关联的处理速度。此外,在共享的存储器空间中直接执行机器学习模型可以改进不同处理资源(例如,第一处理资源和第二处理资源)之间的处理一致性,使得可以减少处理时间。另外,与在其中机器学习模型从存储装置加载到主存储器(例如,易失性RAM)中并且然后从主存储器加载到专用存储器的系统相比,在较低电力处理系统中,在非易失性存储器的共享的存储器空间中用机器学习模型来对数据直接处理可以降低电力消耗。
另外,虽然本文描述了各种示例,但是针对由此预期的各种示例,可以组合和/或移除元素和/或元素的组合。例如,本文在图4-7的流程图中提供的示例性操作可以顺序地、同时地、或以不同的次序执行。此外,可以将流程图的一些示例性操作添加到其它流程图,并且/或者可以从流程图中移除一些示例性操作。此外,在一些示例中,图1A-3的示例性系统的各种组件可以被移除,并且/或者其它组件可以被添加。类似地,在一些示例中,图2的示例性存储器和/或机器可读存储介质的各种指令可以被移除,并且/或者其它指令(例如,对应于图4-7的示例性操作的指令)可以被添加。
已经呈现了前面的描述以示出和描述所描述的原理的示例。该描述并不旨在是穷尽的或将示例限于所公开的任何确切的形式。根据该描述,许多修改和变型是可能的。
Claims (16)
1.一种系统,包括:
非易失性存储器,其用于存储包括至少一个机器学习模型的机器学习数据结构;
第一处理资源,其耦合到所述非易失性存储器以访问所述机器学习数据结构;
第二处理资源,其包括至少一个图形处理核心,所述第二处理资源耦合到所述非易失性存储器以访问所述机器学习数据结构,以使得所述机器学习数据结构是所述第一处理资源和所述第二处理资源的共享的存储器空间。
2.根据权利要求1所述的系统,还包括处理引擎,所述处理引擎用于:
用所述第一处理资源来协调所述至少一个机器学习模型的执行;以及
用所述第二处理资源的所述至少一个图形处理核心来执行所述至少一个机器学习模型的操作。
3.根据权利要求1所述的系统,还包括:
实时数据输入,其耦合到所述第一处理资源;以及
处理引擎,其用于:
用所述第一处理资源来将从所述实时数据输入接收的实时数据流存储在所述非易失性存储器的所述机器学习数据结构中;以及
用所述至少一个图形处理核心来对所述实时数据流的子集执行所述至少一个机器学习模型的操作,以针对所述实时数据流生成模型结果。
4.根据权利要求3所述的系统,其中,所述实时数据流是实时视频数据流,所述实时数据流的所述子集对应于所述实时视频数据流的时间片,并且所述至少一个机器学习模型包括对象识别机器学习模型。
5.根据权利要求1所述的系统,其中,所述机器学习数据结构包括至少两个机器学习模型,并且所述系统还包括处理引擎,所述处理引擎用于:
用所述第一处理资源来在具有所述至少一个图形处理核心的所述第二处理资源上协调所述至少两个机器学习模型的执行和切换。
6.根据权利要求1所述的系统,其中,所述机器学习数据结构用于存储机器学习模型集,并且所述系统还包括处理引擎,所述处理引擎用于:
用所述第一处理资源来将实时数据流存储在所述机器学习数据结构中;
用所述第一处理资源并且根据所述机器学习模型集来至少部分基于与所述实时数据相关联的数据类型来至少确定要执行的第一机器学习模型和第二机器学习模型;
针对所述实时数据的每个相应子集并且在将所述实时数据存储在所述机器学习结构中的同时,执行以下操作:
用所述第一处理资源来协调针对所述实时数据的所述相应子集的所述第一机器学习模型的执行,
用所述第二处理资源的所述至少一个图形处理核心来对所述实时数据的所述相应子集执行所述第一机器学习模型的操作,以针对所述实时数据的所述相应子集生成相应第一模型结果,
在执行所述第一机器学习模型之后,协调切换到所述第二机器学习模型的执行,以及
用所述第二处理资源的所述至少一个图形处理核心来对所述实时数据的所述相应子集执行所述第二机器学习模型的操作,以针对所述实时数据的所述相应子集生成相应第二模型结果。
7.根据权利要求6所述的系统,其中,所述处理引擎还用于:
用所述第一处理资源来处理对应于所述实时数据的每个相应子集的所述相应第一模型结果和所述第二模型结果。
8.根据权利要求1所述的系统,其中,所述机器学习数据结构用于存储机器学习数据索引,所述第一处理资源用于至少部分基于所述机器学习数据索引来访问所述机器学习数据结构,并且所述第二处理资源用于至少部分基于所述机器学习数据索引来访问所述机器学习数据结构。
9.一种方法,包括:
用耦合到非易失性存储器的第一处理资源来访问存储在所述非易失性存储器的共享的存储器空间中的机器学习数据结构;
用包括耦合到所述非易失性存储器的至少一个图形处理核心的第二处理资源来访问所述机器学习数据结构;以及
用所述第二处理资源的所述至少一个图形处理核心来对存储在所述机器学习数据结构中的数据集执行存储在所述机器学习数据结构中的至少两个机器学习模型的操作。
10.根据权利要求9所述的方法,其中,执行所述至少两个机器学习模型的所述操作包括:
对所述数据集执行第一机器学习模型的操作,以生成第一模型结果;以及
在执行所述第一机器学习模型的操作之后,切换到对所述数据集执行第二机器学习模型的操作,以生成第二模型结果。
11.根据权利要求10所述的方法,还包括:
至少部分基于所述第一模型结果来更新所述第一机器学习模型;
至少部分基于所述第二模型结果来更新所述第二机器学习模型;以及在更新所述第一机器学习模型和所述第二机器学习模型之后,对所述数据集执行所述第一机器学习模型和所述第二机器学习模型的所述操作,以生成更新的第一模型结果和更新的第二模型结果。
12.根据权利要求9所述的方法,其中,所述数据集是实时数据流,用所述第一处理资源来访问所述机器学习数据结构包括:用所述第一处理资源来将所述实时数据流存储在所述机器学习数据结构中,以及存储在所述实时数据流上的所述至少两个机器学习模型的所述操作是在用所述第一处理资源来将所述实时数据流存储在所述机器学习数据结构中的同时用所述至少一个图形处理核心来执行的。
13.根据权利要求10所述的方法,其中,所述机器学习数据结构存储机器学习模型集,并且所述方法还包括:
至少部分基于所述数据集的数据类型来确定要对所述数据集执行的所述至少两个机器学习模型。
14.一种非暂时性机器可读存储介质,其包括能够由系统的处理资源执行以使所述系统执行以下操作的指令:
用所述系统的第一处理资源来访问存储在所述系统的非易失性存储器的共享的存储器空间中的机器学习数据结构;
用所述第一处理资源来确定要针对存储在所述机器学习数据结构中的数据集执行的存储在所述机器学习数据结构中的机器学习模型集;
用包括至少一个图形处理核心的所述系统的第二处理资源来访问所述机器学习数据结构;以及
用所述第二处理资源的所述至少一个图形处理核心来对所述数据集执行所述机器学习模型集的所述操作,以针对所述机器学习模型集的每个机器学习模型生成模型结果。
15.根据权利要求14所述的非暂时性机器可读存储介质,其中,用于用所述至少一个图形处理核心来对所述数据集执行所述机器学习模型集的所述操作的所述指令包括用于使所述系统执行以下操作的指令:
针对所述数据集的每个数据子集并且在执行所述集的相应机器学习模型的所述操作之后,切换到用第二处理单元的所述至少一个图形处理核心来执行所述集的下一相应机器学习模型的所述操作。
16.根据权利要求14所述的非暂时性机器可读存储介质,其中,所述数据集是实时数据流,并且所述机器可读存储介质还包括用于使所述系统执行以下操作的指令:
用所述第一处理资源将所述实时数据流存储在所述非易失性存储器的所述机器学习数据结构中,
其中,所述系统用于在将所述实时数据流存储在所述机器学习数据结构中的同时用所述第二处理单元的所述至少一个图形处理核心来对所述实时数据流执行所述机器学习模型集的所述操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/038128 WO2017218009A1 (en) | 2016-06-17 | 2016-06-17 | Shared machine-learning data structure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109416636A true CN109416636A (zh) | 2019-03-01 |
CN109416636B CN109416636B (zh) | 2023-05-26 |
Family
ID=60664580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680085228.2A Active CN109416636B (zh) | 2016-06-17 | 2016-06-17 | 共享的机器学习数据结构 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11797459B2 (zh) |
EP (1) | EP3436929A4 (zh) |
JP (1) | JP6928616B2 (zh) |
KR (1) | KR102205087B1 (zh) |
CN (1) | CN109416636B (zh) |
BR (1) | BR112018072407A2 (zh) |
WO (1) | WO2017218009A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880725A (zh) * | 2019-05-01 | 2020-11-03 | 国际商业机器公司 | 使用机器学习确定存储系统中的共享资源的负载平衡机制 |
CN113722319A (zh) * | 2021-08-05 | 2021-11-30 | 平凯星辰(北京)科技有限公司 | 基于学习索引的数据存储方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10803941B2 (en) * | 2014-12-22 | 2020-10-13 | Mohammad A. Mazed | System on chip (SoC) based on neural processor or microprocessor |
US10241921B2 (en) * | 2017-04-17 | 2019-03-26 | Intel Corporation | Avoid cache lookup for cold cache |
US11562288B2 (en) | 2018-09-28 | 2023-01-24 | Amazon Technologies, Inc. | Pre-warming scheme to load machine learning models |
US11436524B2 (en) * | 2018-09-28 | 2022-09-06 | Amazon Technologies, Inc. | Hosting machine learning models |
KR102167643B1 (ko) * | 2019-01-25 | 2020-10-19 | 서울대학교산학협력단 | 머신러닝 기반의 비정상 분기 탐지 장치 및 그 방법 |
US11176493B2 (en) * | 2019-04-29 | 2021-11-16 | Google Llc | Virtualizing external memory as local to a machine learning accelerator |
US11371148B2 (en) * | 2020-08-24 | 2022-06-28 | Applied Materials, Inc. | Fabricating a recursive flow gas distribution stack using multiple layers |
WO2023010302A1 (en) * | 2021-08-04 | 2023-02-09 | Qualcomm Incorporated | Machine learning group switching |
KR20240024485A (ko) * | 2022-08-17 | 2024-02-26 | 삼성전자주식회사 | 모델들에 의하여 공통으로 이용되는 정보에 기반하여 모델들을 구동하기 위한 전자 장치 및 그 방법 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627251A (zh) * | 2003-12-09 | 2005-06-15 | 微软公司 | 使用图形处理单元加速并优化机器学习技术的处理 |
CN102004671A (zh) * | 2010-11-15 | 2011-04-06 | 北京航空航天大学 | 一种云计算环境下数据中心基于统计模型的资源管理方法 |
US8364613B1 (en) * | 2011-07-14 | 2013-01-29 | Google Inc. | Hosting predictive models |
US20140223284A1 (en) * | 2013-02-01 | 2014-08-07 | Brokersavant, Inc. | Machine learning data annotation apparatuses, methods and systems |
CN105094985A (zh) * | 2015-07-15 | 2015-11-25 | 上海新储集成电路有限公司 | 一种共享内存池的低功耗数据中心及其工作方法 |
US20150379424A1 (en) * | 2014-06-30 | 2015-12-31 | Amazon Technologies, Inc. | Machine learning service |
US20160019805A1 (en) * | 2013-03-15 | 2016-01-21 | International Business Machines Corporation | Learning Model for Dynamic Component Utilization in a Question Answering System |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5829013A (en) * | 1995-12-26 | 1998-10-27 | Intel Corporation | Memory manager to allow non-volatile memory to be used to supplement main memory |
JP4912028B2 (ja) * | 2006-05-01 | 2012-04-04 | 日本電信電話株式会社 | 逐次学習式非定常映像検出装置,逐次学習式非定常映像検出方法及びその方法を実装したプログラム |
BRPI0806968B1 (pt) * | 2007-02-08 | 2018-09-18 | Behavioral Recognition Sys Inc | método para processar fluxo de quadros de vídeo e sistema associado |
US8189905B2 (en) * | 2007-07-11 | 2012-05-29 | Behavioral Recognition Systems, Inc. | Cognitive model for a machine-learning engine in a video analysis system |
GB2462860B (en) * | 2008-08-22 | 2012-05-16 | Advanced Risc Mach Ltd | Apparatus and method for communicating between a central processing unit and a graphics processing unit |
US8311115B2 (en) * | 2009-01-29 | 2012-11-13 | Microsoft Corporation | Video encoding using previously calculated motion information |
US9177486B2 (en) | 2009-09-29 | 2015-11-03 | Advanced Training System Llc | Shifter force detection |
US8538741B2 (en) * | 2009-12-15 | 2013-09-17 | Ati Technologies Ulc | Apparatus and method for partitioning a display surface into a plurality of virtual display areas |
US8669990B2 (en) * | 2009-12-31 | 2014-03-11 | Intel Corporation | Sharing resources between a CPU and GPU |
JP5369079B2 (ja) * | 2010-12-03 | 2013-12-18 | 日本電信電話株式会社 | 音響モデル作成方法とその装置とプログラム |
US9171264B2 (en) | 2010-12-15 | 2015-10-27 | Microsoft Technology Licensing, Llc | Parallel processing machine learning decision tree training |
US8762298B1 (en) * | 2011-01-05 | 2014-06-24 | Narus, Inc. | Machine learning based botnet detection using real-time connectivity graph based traffic features |
WO2013100935A1 (en) | 2011-12-28 | 2013-07-04 | Intel Corporation | A method and device to augment volatile memory in a graphics subsystem with non-volatile memory |
CN104137080A (zh) * | 2011-12-30 | 2014-11-05 | 英特尔公司 | 用于存储类存储器的写机制 |
US9378572B2 (en) * | 2012-08-17 | 2016-06-28 | Intel Corporation | Shared virtual memory |
US9626732B2 (en) * | 2013-10-10 | 2017-04-18 | Intel Corporation | Supporting atomic operations as post-synchronization operations in graphics processing architectures |
JP6201792B2 (ja) * | 2014-02-06 | 2017-09-27 | 富士ゼロックス株式会社 | 情報処理装置及び情報処理プログラム |
CN104035751B (zh) | 2014-06-20 | 2016-10-12 | 深圳市腾讯计算机系统有限公司 | 基于多图形处理器的数据并行处理方法及装置 |
CN104036451B (zh) | 2014-06-20 | 2018-12-11 | 深圳市腾讯计算机系统有限公司 | 基于多图形处理器的模型并行处理方法及装置 |
US10325219B2 (en) | 2014-07-18 | 2019-06-18 | Facebook, Inc. | Parallel retrieval of training data from multiple producers for machine learning systems |
US10409910B2 (en) * | 2014-12-12 | 2019-09-10 | Omni Ai, Inc. | Perceptual associative memory for a neuro-linguistic behavior recognition system |
US10387794B2 (en) * | 2015-01-22 | 2019-08-20 | Preferred Networks, Inc. | Machine learning with model filtering and model mixing for edge devices in a heterogeneous environment |
CN105227669A (zh) | 2015-10-15 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种面向深度学习的cpu与gpu混合的集群架构系统 |
US11087234B2 (en) * | 2016-01-29 | 2021-08-10 | Verizon Media Inc. | Method and system for distributed deep machine learning |
CN105912500B (zh) * | 2016-03-30 | 2017-11-14 | 百度在线网络技术(北京)有限公司 | 机器学习模型生成方法和装置 |
-
2016
- 2016-06-17 BR BR112018072407-6A patent/BR112018072407A2/pt not_active Application Discontinuation
- 2016-06-17 US US16/096,446 patent/US11797459B2/en active Active
- 2016-06-17 EP EP16905662.9A patent/EP3436929A4/en not_active Withdrawn
- 2016-06-17 KR KR1020187031723A patent/KR102205087B1/ko active IP Right Grant
- 2016-06-17 CN CN201680085228.2A patent/CN109416636B/zh active Active
- 2016-06-17 JP JP2018557033A patent/JP6928616B2/ja active Active
- 2016-06-17 WO PCT/US2016/038128 patent/WO2017218009A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1627251A (zh) * | 2003-12-09 | 2005-06-15 | 微软公司 | 使用图形处理单元加速并优化机器学习技术的处理 |
CN102004671A (zh) * | 2010-11-15 | 2011-04-06 | 北京航空航天大学 | 一种云计算环境下数据中心基于统计模型的资源管理方法 |
US8364613B1 (en) * | 2011-07-14 | 2013-01-29 | Google Inc. | Hosting predictive models |
US20140223284A1 (en) * | 2013-02-01 | 2014-08-07 | Brokersavant, Inc. | Machine learning data annotation apparatuses, methods and systems |
US20160019805A1 (en) * | 2013-03-15 | 2016-01-21 | International Business Machines Corporation | Learning Model for Dynamic Component Utilization in a Question Answering System |
US20150379424A1 (en) * | 2014-06-30 | 2015-12-31 | Amazon Technologies, Inc. | Machine learning service |
CN105094985A (zh) * | 2015-07-15 | 2015-11-25 | 上海新储集成电路有限公司 | 一种共享内存池的低功耗数据中心及其工作方法 |
Non-Patent Citations (4)
Title |
---|
JEFFREY S. VETTER等: "Opportunities for Nonvolatile Memory Systems in Extreme Scale High Performance Computing", 《COMPUTING IN SCIENCE & ENGINEERING》 * |
QIAOSHA ZOU等: "Heterogeneous architecture design with emerging 3D and non-volatile memory technologies", 《THE 20TH ASIA AND SOUTH PACIFIC DESIGN AUTOMATION CONFERENCE》 * |
杨静等: "基于LOM的社区型P2P远程教学资源共享模型", 《华东师范大学学报(自然科学版)》 * |
程文芳等: "极地标本资源共享平台系统设计与实现", 《极地研究》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880725A (zh) * | 2019-05-01 | 2020-11-03 | 国际商业机器公司 | 使用机器学习确定存储系统中的共享资源的负载平衡机制 |
CN111880725B (zh) * | 2019-05-01 | 2024-05-28 | 国际商业机器公司 | 使用机器学习确定存储系统中的共享资源的负载平衡机制 |
CN113722319A (zh) * | 2021-08-05 | 2021-11-30 | 平凯星辰(北京)科技有限公司 | 基于学习索引的数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
US11797459B2 (en) | 2023-10-24 |
CN109416636B (zh) | 2023-05-26 |
KR20180122741A (ko) | 2018-11-13 |
EP3436929A1 (en) | 2019-02-06 |
KR102205087B1 (ko) | 2021-01-20 |
EP3436929A4 (en) | 2019-10-16 |
JP6928616B2 (ja) | 2021-09-01 |
US20190130300A1 (en) | 2019-05-02 |
WO2017218009A1 (en) | 2017-12-21 |
BR112018072407A2 (pt) | 2019-02-19 |
JP2019525277A (ja) | 2019-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109416636A (zh) | 共享的机器学习数据结构 | |
CN110050267B (zh) | 用于数据管理的系统和方法 | |
CN209560590U (zh) | 电子设备和集成电路 | |
Coates et al. | Deep learning with COTS HPC systems | |
US20180285254A1 (en) | System And Method Of Memory Access Of Multi-Dimensional Data | |
CN110389910A (zh) | 用于管理级联神经网络中的存储器的方法和安排 | |
CN109240746A (zh) | 一种用于执行矩阵乘运算的装置和方法 | |
EP3039546A1 (en) | Computation hardware with high-bandwidth memory interface | |
KR20190029515A (ko) | 비트폭이 다른 연산 데이터를 지원하는 연산 유닛, 연산 방법 및 연산 장치 | |
CN111465943A (zh) | 芯片上计算网络 | |
WO2017185392A1 (zh) | 一种用于执行向量四则运算的装置和方法 | |
CN107315718A (zh) | 一种用于执行向量内积运算的装置和方法 | |
US20220129320A1 (en) | Schedule-aware dynamically reconfigurable adder tree architecture for partial sum accumulation in machine learning accelerators | |
CN107315568A (zh) | 一种用于执行向量逻辑运算的装置 | |
CN105830160B (zh) | 用于将经屏蔽数据写入到缓冲器的设备及方法 | |
CN107609646B (zh) | 一种残差网络实现方法、系统、设备及计算机存储介质 | |
CN108628693A (zh) | 处理器调试方法和系统 | |
CN105700855B (zh) | 用于改进simd knn实现的设备、方法、系统和机器可读介质 | |
Li et al. | An experimental study on deep learning based on different hardware configurations | |
WO2022098495A1 (en) | Compiler configurable to generate instructions executable by different deep learning accelerators from a description of an artificial neural network | |
Jorgensen et al. | An interactive big data processing/visualization framework | |
Dudnik et al. | Cuda architecture analysis as the driving force Of parallel calculation organization | |
Han et al. | Using gpu to accelerate cache simulation | |
Lin | Memory-Centric Architectures for Big Data Applications | |
Melab et al. | GPU Computing for parallel local search metaheuristics |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |