CN110874810B - 电子设备和操作电子设备的方法 - Google Patents

电子设备和操作电子设备的方法 Download PDF

Info

Publication number
CN110874810B
CN110874810B CN201910535301.7A CN201910535301A CN110874810B CN 110874810 B CN110874810 B CN 110874810B CN 201910535301 A CN201910535301 A CN 201910535301A CN 110874810 B CN110874810 B CN 110874810B
Authority
CN
China
Prior art keywords
object recognition
sub
feature vector
memory
data
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.)
Active
Application number
CN201910535301.7A
Other languages
English (en)
Other versions
CN110874810A (zh
Inventor
金哲民
高兑京
李芝庸
徐德浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110874810A publication Critical patent/CN110874810A/zh
Application granted granted Critical
Publication of CN110874810B publication Critical patent/CN110874810B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/2163Partitioning the feature space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • Multimedia (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)

Abstract

一种电子设备,包括图形处理器和存储器件。图形处理器包括人工神经网络引擎,人工神经网络引擎通过使用学习数据和权重使对象识别模型学习以提供学习后的对象识别模型。存储器件将特征向量划分为第一子特征向量和第二子特征向量,并且执行第一计算以将第二子特征向量和权重应用于学习后的对象识别模型来提供第二对象识别结果。人工神经网络引擎执行第二计算以将第一子特征向量和权重应用于学习后的对象识别模型来提供第一对象识别结果,并且将第一对象识别结果提供给存储器件。第二计算与第一计算并行执行。

Description

电子设备和操作电子设备的方法
相关申请的交叉引用
将2018年8月29日在韩国知识产权局递交的题为“Electronic Devices andMethods of Operating Electronic Devices”的韩国专利申请No.10-2018-0102183通过引用的方式整体并入本文。
技术领域
示例实施例总体上涉及人工智能,更具体地,涉及电子设备和能够以增强的性能操作电子设备的方法。
背景技术
随着诸如计算机和智能电话的信息设备的发展,已经开发了数字计算机应用和数字信号处理技术。
具体地,近来已开发诸如人工智能图像识别(视频/运动识别)、深度学习和机器学习之类的技术,并且自动识别数据(例如,语音、图像、视频或文本)且提供与数据相关的信息或者提供与数据相关的服务的智能服务在各个领域得到应用。附加地,边缘设备开始使用人工智能。
发明内容
根据示例实施例,一种电子设备包括图形处理器和存储器件。图形处理器包括人工神经网络引擎,人工神经网络引擎通过使用学习数据和权重使对象识别模型学习以提供学习后的对象识别模型。存储器件存储学习数据和权重,将特征向量划分为第一子特征向量和第二子特征向量以将第一子特征向量提供给图形处理器,从图形处理器接收学习后的对象识别模型,并且执行第一计算以将第二子特征向量和权重应用于学习后的对象识别模型来提供第二对象识别结果。从输入数据提取特征向量。人工神经网络引擎执行第二计算以将第一子特征向量和权重应用于学习后的对象识别模型来提供第一对象识别结果,并且将第一对象识别结果提供给存储器件。第二计算与第一计算并行执行。
根据示例实施例,一种电子设备包括应用处理器、图形处理器和存储器件。应用处理器提供学习数据和权重,并且提供从构成对象的对象数据提取的特征向量。图形处理器包括人工神经网络引擎,人工神经网络引擎通过使用学习数据和权重使对象识别模型学习以提供学习后的对象识别模型。存储器件存储学习数据和权重,将特征向量划分为第一子特征向量和第二子特征向量以将第一子特征向量提供给图形处理器,从图形处理器接收学习后的对象识别模型,并且执行第一计算以将第二子特征向量和权重应用于学习后的对象识别模型来提供第二对象识别结果。从输入数据提取特征向量。人工神经网络引擎执行第二计算以将第一子特征向量和权重应用于学习后的对象识别模型来提供第一对象识别结果,并且将第一对象识别结果提供给存储器件。第二计算与第一计算并行执行。
根据示例实施例,在操作电子设备的方法中,电子设备包括图形处理器和与图形处理器通信的存储器件,图形处理器包括人工神经网络引擎,由人工神经网络引擎通过将学习数据和权重应用于对象识别模型使对象识别模型学习来提供学习后的对象识别模型。由存储器件中的数据分配器将与输入数据相关联的特征向量划分为第一子特征向量和第二子特征向量,以将第一子特征向量提供给图形处理器。由存储器件中的乘法和累加(MAC)电路执行第一计算以将第二子特征向量和权重应用于学习后的对象识别模型来提供第二对象识别结果。由人工神经网络引擎执行第二计算以将第一子特征向量和权重应用于学习后的对象识别模型来提供第一对象识别结果。由存储器件中的池化器合并第一对象识别结果和第二对象识别结果以向用户提供合并的对象识别结果。第一计算和第二计算彼此并行地执行。
附图说明
通过参考附图详细描述示例性实施例,特征对于本领域技术人员将变得显而易见,在附图中:
图1示出了根据示例实施例的能够并行执行人工智能运算的电子设备。
图2示出了根据示例实施例的图1中的对象识别模型。
图3示出了根据示例实施例的图1中的人工神经网络引擎的示例。
图4示出了根据示例实施例的图3中的学习模块的示例。
图5示出了根据示例实施例的图3中的识别模块的示例。
图6示出了根据示例实施例的图1的电子设备中的堆叠存储器件的示例。
图7示出了根据示例实施例的图6中的堆叠存储器件的示例。
图8示出了人工智能运算分布在图7的堆叠存储器件中。
图9示出了根据示例实施例的图1中的存储器中处理器(processor-in-memory)电路的示例。
图10示出了根据示例实施例的图9中的MAC电路的示例。
图11示出了根据示例实施例的图6的堆叠存储器件中的存储器管芯之一。
图12示出了图11的存储器管芯中的第一存储体阵列的示例。
图13示出了与图9的PIM电路的特征向量和权重相关联的内核。
图14示出了图1中的GPU中的第二计算,图15示出了图9的MAC电路中的第一计算,图16示出了图9中的池化器的操作。
图17和图18示出了图9中的数据分配器将输入数据或特征向量分别划分为第一子特征向量和第二子特征向量。
图19示出了根据示例实施例的在堆叠存储器件中执行数据复制操作的示例。
图20示出了根据示例实施例的操作电子设备的方法的流程图。
图21示出了根据示例实施例的包括混合堆叠存储器件的人工智能(AI)加速器(即,电子设备)。
图22示出了根据示例实施例的包括堆叠存储器件的半导体封装。
具体实施方式
在下文中将参考附图更全面地描述示例实施例。
人工智能系统是实现人类水平智能的计算机系统,与现有的基于规则的智能系统不同,机器学习、判断并变得聪明。人工智能系统使用的越多,系统的识别能力就得到进一步提高,用户偏好也会被更准确地识别出来。因此,现有的基于规则的智能系统越来越多地被基于深度学习的人工智能系统所取代。
人工智能技术由机器学习(例如,深度学习)和利用机器学习的元素技术组成。机器学习是一种自己对输入数据的特征进行分类/学习的算法技术。元素技术是使用机器学习算法(例如,深度学习)模拟人脑的功能(例如,识别、判断等)的技术,与任务特定算法不同,机器学习算法学习数据表示。元素技术包括语言理解、视觉理解、推理/预测、知识表示和运动控制。
各个领域应用不同的人工智能技术。例如,语言理解是用于识别、应用和处理人类语言/字符的技术,包括自然语言处理、机器翻译、对话系统、问答、语音识别/合成等。视觉理解是识别和处理模仿人类视觉的对象的技术,包括对象识别、对象跟踪、图像搜索、人类识别、场景理解、空间理解、图像增强等。推理和预测是用于判断信息并逻辑推断和预测信息的技术,包括基于知识/概率的推理、优化预测、基于偏好的计划和推荐。知识表示是将人类体验信息自动转为知识数据的技术,包括知识构建(数据产生/分类)和知识管理(数据利用)。运动控制是用于控制车辆的自主行驶和机器人的运动的技术,并且包括运动控制(导航、碰撞、行驶)、操作控制(行为控制)。
图1示出了根据示例实施例的能够并行执行人工智能运算的电子设备。参考图1,电子设备10可以包括中央处理单元(CPU)30、图形处理器(GPU)50和堆叠存储器件90。CPU30、GPU 50和堆叠存储器件90可以通过总线40彼此通信。
堆叠存储器件90可以包括缓冲器管芯200和堆叠在缓冲器管芯200上的多个存储器管芯300。缓冲器管芯200和存储器管芯300可以顺序地彼此堆叠。堆叠在缓冲器管芯200上的存储器管芯300可以通过导体电连接到缓冲器管芯200。导体可以是一个或多个硅通孔(TSV)220。堆叠存储器件90可以存储学习数据LDT和权重WDT,并且可以向GPU 50提供学习数据LDT和权重WDT。
GPU 50可以包括人工神经网络(ANN)引擎100。ANN引擎100从堆叠存储器件90接收学习数据LDT和权重WDT,通过使用学习数据LDT和权重WDT使对象识别模型(ORM)105学习,并且将学习后的对象识别模型LORM提供给堆叠存储器件90。
ANN引擎100和堆叠存储器件90的至少一些部分可以构成对象识别设备。对象识别设备的至少一些部分可以实现为软件模块或硬件芯片,并且可以在各种电子设备中提供。例如,对象识别设备可以以下形式制造:专用于人工智能(AI)的硬件芯片或传统通用处理器(例如,CPU或应用处理器)或仅图形处理器,并且可以安装在各种电子设备上。此时,专用于人工智能的硬件芯片是用于概率计算的专用处理器,并且比传统通用处理器具有更高的并行处理性能,因此能够在机器学习和人工智能领域中实现快速的计算。
当对象识别设备实现为软件模块(或者包括指令的程序模块)时,软件模块可以存储在非暂时性计算机可读介质中。此外,在这种情况下,至少一个软件模块可以由操作系统(OS)或预定应用提供。备选地,软件模块中的一些可以由操作系统(OS)提供,并且软件模块中的一些可以由预定应用提供。
对象识别模型105可以包括神经网络模型或深度学习模型,其基于多个网络节点之间的连接关系和多个网络节点的一部分的所选权重执行计算。可以将对象识别模型105设计为在计算机上模拟人脑结构。对象识别模型105可以包括具有权重(权重值)的多个网络节点,这些网络节点模拟人类神经网络的神经元。多个网络节点可以分别建立连接关系,以便经由突触发送神经元模拟突触活动和接收信号。
例如,对象识别模型105可以包括神经网络模型或者从神经网络模型开发的深度学习模型。在深度学习模型中,多个网络节点位于不同的深度(或层),并且可以根据卷积连接关系交换数据。例如,深度学习模型可以包括深度神经网络(DNN)、递归神经网络(RNN)、双向递归深度神经网络(BRDNN)等。
ANN引擎100从堆叠存储器件90接收与输入数据相关联的第一子特征向量SFV1,并且执行第二计算以将第一子特征向量SFV1和权重WDT应用于学习后的对象识别模型LORM,以将第一对象识别结果ORR1提供给堆叠存储器件90。堆叠存储器件90执行第一计算以将第二子特征向量SFV2和权重WDT应用于学习后的对象识别模型LORM来提供第二对象识别结果。堆叠存储器件90执行第一计算,且ANN引擎100并行地执行第二计算。
缓冲器管芯200可以包括存储器中处理器(PIM)电路230,存储器中处理器(PIM)电路230将输入数据或从输入数据提取的特征向量划分为第一子特征向量SFV1和第二子特征向量SFV2,将第一子特征向量SFV1提供给ANN引擎100,并且对第二子特征向量SFV2执行第一计算。
CPU 30可以包括控制PIM电路230的系统软件35。CPU 30可以用作主机,并且例如可以是通用处理器,如微处理器、阵列处理器、多核处理器、专用集成电路(ASIC)、数字信号处理器(DSP)等。
图2示出了根据示例实施例的图1中的对象识别模型105。参考图2,对象识别模型105可以包括输入层110、隐藏层130、输出层150、第一连接线120和第二连接线140。
输入层110可以包括输入节点111、112和113。隐藏层130可以包括隐藏节点131和132。输出层150可以包括输出节点151、152和153。
输入层110中的输入节点111、112和113接收学习数据LDT或第一子特征向量SFV1,并且通过具有第一权重WT11~WT16的第一连接线120将学习数据LDT或第一子特征向量SFV1传送到隐藏层130。
隐藏层130中的隐藏节点131和132接收学习数据LDT或第一子特征向量SFV1,对学习数据LDT或第一子特征向量SFV1执行计算,并且通过具有第二权重WT21~WT26的第二连接线140将计算结果传送到输出层150。
输出层150中的输出节点151、152和153从隐藏层130接收值,对值执行计算,并且输出与学习数据LDT或第一子特征向量SFV1相对应的第一对象识别结果ORR1。
第一权重WT11~WT16和第二权重WT21~WT26可以被称为连接权重或连接强度。
对象识别模型105可以包括多个隐藏层。包括多个隐藏层的神经网络可以被称为深度神经网络。训练深度神经网络可以被称为深度学习。
假设多个隐藏层包括第一隐藏层、第二隐藏层和第三隐藏层,第一隐藏层中的隐藏节点的输出可以连接到第二隐藏层中的隐藏节点,且第二隐藏层中的隐藏节点的输出可以连接到第三隐藏层中的隐藏节点。例如,对象识别模型105可以通过具有连接权重的边缘将先前隐藏层中的先前隐藏节点的输出输入到每个隐藏层中,并且可以基于通过将连接权重应用于先前隐藏节点的输出而获得的值和激活函数产生隐藏层中的隐藏节点的输出。
为了连接或产生信号输出并且将信号输出发送给下一隐藏节点,激活函数的结果需要超过当前隐藏节点的阈值。在该示例中,节点保持停用状态而不向下一节点发射(或发送)信号,直到通过输入向量达到预定的激活阈值强度为止。
在示例实施例中,可以通过监督学习来训练对象识别模型105。监督学习是指这样的方法:将学习数据和与学习数据相对应的输出数据输入到ANN引擎100中并且更新权重,以使学习数据和输出数据相对应。
图3示出了根据示例实施例的图1中的ANN引擎100的示例。参考图3,ANN引擎100可以包括学习模块180和识别模块190。ANN引擎100还可以包括模型更新模块197。
学习模块180可以使用学习数据LDT和权重WDT使对虾识别模块ORM 105学习。识别模块190可以将第一子特征向量SFV1和权重WDT应用于学习后的对象识别模型LORM,以提供第一对象识别结果ORR1。
模型更新模块197可以确定是否更新对象识别模型ORM,并且可以基于确定结果更新对象识别模型ORM。当对象的第一对象识别结果ORR1和期望值之间的相似度大于参考值(即,第一对象识别结果ORR1和期望值之间的差足够小)时,模型更新模块197可以更新对象识别模型ORM。
图4示出了根据示例实施例的图3中的学习模块180的示例。参考图4,学习模块180可以包括模型学习单元181、模型存储单元183和模型评估单元185。
模型学习单元181可以使用学习数据LDT和权重WDT使对象识别模型ORM学习。模型存储单元183可以存储学习后的对象识别模型LORM。模型评估单元185可以基于评估数据EVDT评估学习后的对象识别模型LORM。模型评估单元185可以将评估数据EVDT输入到学习后的对象识别模型LORM,并且可以在模型评估单元185输出的相似度信号SS不满足第一标准时,使模型学习单元181学习对象识别模型ORM。
当存在多个预构建的对象识别模型时,模型学习单元181可以将其中输入的学习后的数据和基本学习数据之间的相关性高的对象识别模型确定为要学习的对象识别模型ORM。在这种情况下,可以通过数据类型对基本学习数据进行预分类,并且可以通过数据类型预构建对象识别模型。根据各种示例性实施例,模型学习单元181可以使用学习算法(例如,误差反向传播、梯度下降等)学习对象识别模型ORM。
图5示出了根据示例实施例的图3中的识别模块190的示例。参考图5,识别模块190可以包括输入单元191和识别结果提供器193。
输入单元191可以接收权重WDT和第一子特征向量SFV1,并且将它们提供给识别结果提供器193。识别结果提供器193可以将第一子特征向量SFV1和权重WDT应用于学习后的对象识别模型LORM,以提供第一对象识别结果ORR1。
图6示出了根据示例实施例的图1的电子设备中的堆叠存储器件的示例。参考图6,堆叠存储器件90可以包括缓冲器管芯200和多个存储器管芯300a~300k,其中k是大于2的整数。缓冲器管芯200和存储器管芯300a~300k可以顺序地彼此堆叠。堆叠在缓冲器管芯200上的存储器管芯300a~300k可以通过导体电连接到缓冲器管芯200。导体可以是一个或多个硅通孔TSV。
在示例实施例中,例如,堆叠存储器件90还可以包括缓冲器管芯200上的非易失性存储器(NVM)器件290,非易失性存储器(NVM)器件290例如不与多个存储器管芯300a~300k堆叠。缓冲器管芯200可以与CPU 30和GPU 50通信,并且存储器管芯300a~300k中的每一个可以是包括动态随机存取存储器(DRAM)单元的存储器件,动态随机存取存储器(DRAM)单元例如是双倍数据速率同步DRAM(DDR SDRAM)、低功率DDR(LPDDR)SDRAM、图形DDR(GDDR)SDRAM、Rambus DRAM(RDRAM)等。
图7示出了根据示例实施例的图6中的堆叠存储器件90的示例。在图7中,示出了高带宽存储器(HBM)形式的存储器件,其通过包括具有独立接口的多个独立通道而具有增加的带宽。
参考图7,堆叠存储器件90a可以包括多个层。例如,堆叠存储器件90a可以包括缓冲器管芯200和堆叠在缓冲器管芯200上的一个或多个存储器管芯300。在图7的示例中,尽管示出了设置第一存储器管芯300a至第四存储器管芯300d,但是可以不同地改变存储器管芯的数量。
此外,存储器管芯300中的每一个可以包括一个或多个通道。在图7的示例中,单个存储器管芯包括两个通道。因此,示出了堆叠存储器件90a具有八个通道CH1至CH8的示例。例如,第一存储器管芯300a可以包括第一通道CH1和第三通道CH3,第二存储器管芯300b可以包括第二通道CH2和第四通道CH4,第三存储器管芯300c可以包括第五通道CH5和第七通道CH7,第四存储器管芯300d可以包括第六通道CH6和第八通道CH8。
缓冲器管芯200可以与存储器控制器(外部设备)通信,从存储器控制器接收命令、地址和数据,并将接收的命令、地址和数据提供给存储器管芯300。缓冲器管芯200可以通过其外表面上的导体(例如,凸块等)与存储器控制器通信。缓冲器管芯200可以缓冲命令、地址和数据。因此,存储器控制器可以通过仅驱动缓冲器管芯200的负载与存储器管芯300接口连接。
此外,堆叠存储器件90a可以包括穿过这些层的多个TSV 220。TSV 220可以与多个通道CH1至CH8相对应地布置,并且当独立通道中的每个通道具有128比特带宽时,TSV 220可以包括用于输入和输出1024比特数据的组件。
TSV 220可以穿过第一存储器管芯300a至第四存储器管芯300d,并且第一存储器管芯300a至第四存储器管芯300d中的每一个可以包括连接到TSV 220的发送器/接收器。当针对每个通道独立地执行数据的输入和输出的正常操作时,可以仅对TSV 220中的每一个启用任意一个存储器管芯的发送器/接收器。因此,TSV 220中的每一个可以作为一个存储器管芯或通道的独立通道,独立地、仅传递该任意一个存储器管芯或任意一个通道的数据。
缓冲器管芯200可以包括PIM电路230、TSV区域212、物理区域(PHYR)213和直接访问区域(DAR)214。
TSV区域212包括用于与存储器管芯300通信的TSV 220。物理区域213包括用于与外部存储器控制器通信的多个输入输出(IO)电路,并且可以通过物理区域213将来自存储器控制器的各种类型的信号提供给TSV区域212,通过TSV 220将这些信号提供给存储器管芯300。
在堆叠存储器件90a的测试模式下,直接访问区域214可以通过堆叠存储器件90a的外表面上的导体直接与外部测试设备通信。可以通过直接访问区域214和TSV区域212将测试器提供的各种类型的信号提供给存储器管芯300。备选地,可以通过直接访问区域214、物理区域213和TSV区域212将测试设备提供的各种类型的信号提供给存储器管芯300。
PIM电路230可以包括可以执行矩阵向量乘法的乘法和累加(MAC)电路。PIM电路230可以与GPU 50并行地执行人工智能运算,以对与特征向量相关联的神经网络运算执行负载平衡。
图8示出了人工智能运算分布在图7的堆叠存储器件中。参考图7和图8,缓冲器管芯200包括内部命令发生器210和PIM电路230。通过命令TS VTSV_C将来自内部命令发生器210的内部命令针对每个通道独立地提供给存储器管芯300。
PIM电路230接收存储在存储器管芯300中的权重WDT和特征向量FV。特征向量FV可以与输入数据相对应,或者可以从输入数据中提取。PIM电路230可以将特征向量FV划分为第一子特征向量SFV1和第二子特征向量SFV2,可以将第一子特征向量SFV1提供给GPU 50,并且可以执行第一计算以将权重WDT和第二子特征向量应用于学习后的对象识别模型来获得第二对象识别结果。
PIM电路230可以通过物理区域213从GPU 50接收第一对象识别结果ORR1,第一对象识别结果ORR1是基于第一子特征向量SFV1和权重WDT而产生的,并且可以合并第一对象识别结果和第二对象识别结果以向用户提供合并的对象识别结果。
存储器管芯300可以分别包括命令解码器(CMDC)311a至311d和数据处理器313a至313d,命令解码器(CMDC)311a至311d通过对内部命令进行解码来输出内部控制信号,数据处理器313a至313d对读取的数据或要写入的数据执行处理操作。参考存储器管芯300中的一个(例如,第一存储器管芯300a),第一存储器管芯300a可以根据命令解码器311a的解码结果执行存储器操作,并且例如可以读取存储在第一存储器管芯300a内的存储器单元区域中的多个比特的数据,并将多个比特的数据提供给数据处理器313a。数据处理器313a可以并行地处理多个比特的数据,并且并行地将并行处理的数据输出到多个数据TSV TSV_D。
根据存储器操作的类型,数据处理器313a可以临时存储读取的数据,并且将存储的数据输出到数据TSV TSV_D。此外,根据命令解码器311a的控制,可以通过数据TSV TSV_D将来自数据处理器313a的数据提供给存储器管芯中的至少一个。当执行将第一存储器管芯300a的数据复制到第二存储器管芯300b的内部数据处理操作时,可以通过数据TSV TSV_D将来自数据处理器313a的数据提供给第二存储器管芯300b。
堆叠存储器件90a还可以包括缓冲器管芯200上的非易失性存储器件290。缓冲器管芯200可以包括非易失性接口295来控制非易失性存储器件290。非易失性存储器件290可以存储学习后的对象识别模型。
图9示出了根据示例实施例的图1中的存储器中处理器PIM电路230的示例。参考图9,PIM电路230包括控制器235、数据分配器240以及乘法和累加(MAC)电路250。PIM电路230还可以包括特征提取器231和池化器280。
特征提取器231接收输入数据INDT并且提取输入数据INDT的特征以提供特征向量FV。数据分配器240接收特征向量FV,基于来自系统软件35的第一控制消息CTM1将特征向量FV划分为第一子特征向量SFV1和第二子特征向量SFV2,将第一子特征向量SFV1提供给GPU50并且将第二子特征向量SFV2提供给MAC电路250。备选地,数据分配器240可以将特征向量FV提供给GPU 50,而不划分特征向量FV。
MAC电路250根据控制器235的控制,对第二子特征向量SFV2和权重WDT执行与学习后的对象识别模型LORM相对应的矩阵向量乘法,并且输出第二对象识别结果ORR2。MAC电路250将第二子特征向量SFV2和权重WDT应用于学习后的对象识别模型LORM以输出第二对象识别结果ORR2。MAC电路250基于第二子特征向量SFV2和权重WDT执行第一计算以提供第二对象识别结果ORR2。
控制器235向MAC电路250提供控制信号CTL,以响应于来自系统软件35的第二控制消息CTM 2执行第一计算。
MAC电路250可以包括多个运算单元。MAC电路250可以使用GPU 50提供的中间运算结果IOR执行第一计算。当第一子特征向量SFV1和第二子特征向量SFV2包括至少一些重复数据时,GPU 50可以向MAC电路250提供对重复数据进行的中间运算结果IOR。
池化器280从GPU 50接收第一对象识别结果ORR1,从MAC电路250接收第二对象识别结果ORR2,合并第一对象识别结果ORR1和第二对象识别结果ORR2,以向用户提供合并的对象识别结果MORR。在示例实施例中,特征提取器231和池化器280可以位于PIM电路230之外。
图10示出了根据示例实施例的图9中的MAC电路250的示例。参考图10,MAC电路250可以包括乘法电路260和累加电路270。
乘法电路260可以接收权重WDT和第二子特征向量SFV2,并且可以将第二子特征向量SFV2和权重WDT相乘以提供乘法结果作为输出。累加电路270可以累加乘法电路260的输出以提供第二对象识别结果ORR2。
乘法电路260可以包括第一缓冲器261、第二缓冲器263和乘法器265。第一缓冲器261可以接收权重WDT以在对应于第一计算窗口基础的内核基础上输出权重WDT。第二缓冲器263可以接收第二子特征向量SFV2以在第二计算窗口的基础上输出第二子特征向量SFV2。乘法器265可以将第一缓冲器261的输出和第二缓冲器263的输出相乘,以提供乘法结果作为中间计算结果。
累加电路270可以包括加法器271和缓冲器273。加法器271可以具有第一输入端子和第二输入端子,并且可以接收中间计算结果,即乘法器265的输出。加法器271可以将来自乘法电路260的中间计算结果与在第二输入端子处接收的缓冲器273的输出相加,以向缓冲器273提供相加后的结果。缓冲器273可以将加法器271的输出反馈到加法器271的第二输入端子。缓冲器273可以响应于输出使能信号OEN提供加法器271的输出作为第二对象识别结果ORR2,并且可以响应于复位信号RST被复位。可以将输出使能信号OEN和复位信号RST包括在控制信号CCTL中。
图11示出了根据示例实施例的图6的堆叠存储器件中的存储器管芯300a之一。在图11中,示出了存储器管芯300a的配置,并且存储器管芯300b~300k中的每一个的配置可以与存储器管芯300a的配置基本相同。
参考图11,存储器管芯300a包括控制逻辑电路310、地址寄存器320、存储体控制逻辑330、刷新计数器345、行地址复用器340、列地址锁存器350、行解码器360、列解码器370、存储器单元阵列400、读出放大器单元385、I/O选通电路390和数据处理器313a。
存储器单元阵列400包括第一存储体阵列410至第八存储体阵列480。行解码器360包括分别耦接到第一存储体阵列410至第八存储体阵列480的第一存储体行解码器360a至第八存储体行解码器360h,列解码器370包括分别耦接到第一存储体阵列410至第八存储体阵列480的第一存储体列解码器370a至第八存储体列解码器370h,读出放大器单元385包括分别耦接到第一存储体阵列410至第八存储体阵列480的第一存储体读出放大器385a至第八存储体读出放大器385h。
第一存储体阵列410至第八存储体阵列480、第一存储体行解码器360a至第八存储体行解码器360h、第一存储体列解码器370a至第八存储体列解码器370h以及第一存储体读出放大器385a至第八存储体读出放大器385h可以形成第一存储体至第八存储体。第一存储体阵列410至第八存储体阵列480中的每一个包括形成在多条字线WL和多条位线BL的交叉点处的多个存储器单元MC。
地址寄存器320从外部接收包括存储体地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR的地址ADDR。地址寄存器320将接收的存储体地址BANK_ADDR提供给存储体控制逻辑330,将接收的行地址ROW_ADDR提供给行地址复用器340,并且将接收的列地址COL_ADDR提供给列地址锁存器350。
存储体控制逻辑330响应于存储体地址BANK_ADDR产生存储体控制信号。响应于存储体控制信号而激活与存储体地址BANK_ADDR相对应的第一存储体行解码器360a至第八存储体行解码器360h之一,并且响应于存储体控制信号而激活与存储体地址BANK_ADDR相对应的第一存储体列解码器370a至第八存储体列解码器370h之一。
行地址复用器340从地址寄存器320接收行地址ROW_ADDR,并且从刷新计数器345接收刷新行地址REF_ADDR。行地址复用器340选择性地输出行地址ROW_ADDR或刷新行地址REF_ADDR作为行地址RA。将从行地址复用器340输出的行地址RA应用于第一存储体行解码器360a至第八存储体行解码器360h。刷新计数器345可以在控制逻辑电路310的控制下顺序输出刷新行地址REF_ADDR。
第一存储体行解码器360a至第八存储体行解码器360h中由存储体控制逻辑330激活的一个可以对行地址复用器340输出的行地址RA进行解码,并且可以激活与行地址RA相对应的字线。例如,所激活的存储体行解码器将字线驱动电压施加到与行地址相对应的字线。
列地址(CA)锁存器350从地址寄存器320接收列地址COL_ADDR,并且临时存储接收的列地址COL_ADDR。在一些实施例中,在突发模式下,列地址锁存器350产生从接收的列地址COL_ADDR递增的列地址。列地址锁存器350将临时存储或产生的列地址应用于第一存储体列解码器370a至第八存储体列解码器370h。
第一存储体列解码器370a至第八存储体列解码器370h中被激活的一个通过I/O选通电路390激活与存储体地址BANK_ADDR和列地址COL_ADDR相对应的读出放大器。I/O选通电路390包括用于对输入/输出数据进行选通的电路。I/O选通电路390还可以包括:输入数据屏蔽逻辑、用于存储从第一存储体阵列410至第八存储体阵列480输出的数据的读数据锁存器、以及用于将数据写入到第一存储体阵列410至第八存储体阵列480的写入驱动器。
从第一存储体阵列410至第八存储体阵列480中的一个存储体阵列读取的数据(包括权重和特征向量)由耦接到要从其读取数据的一个存储体阵列的相应读出放大器385a~385h读出,并且被存储在I/O选通电路390的读数据锁存器中。可以通过数据处理器313a将存储在I/O选通电路390的读数据锁存器中的数据提供给外部或另一个存储器管芯。
可以将要写入第一存储体阵列410至第八存储体阵列480中的一个存储体阵列的数据提供给I/O选通电路390,并且I/O选通电路390可以通过写驱动器将数据写入一个存储体阵列中。在写操作中,数据处理器313a可以通过I/O选通电路390将权值WDT和特征向量FV存储在存储器单元阵列400中,并且可以通过数据TSV TSV_D将权值WDT和特征向量FV提供给缓冲器管芯200中的PIM电路230。
控制逻辑电路310可以控制存储器管芯300a的操作。例如,控制逻辑电路310可以产生针对存储器管芯300a的控制信号,以执行写操作或读操作。控制逻辑电路310包括:对从内部命令发生器210接收的命令CMD进行解码的命令解码3器11a、以及设置存储器管芯300a的操作模式的模式寄存器312。
图12示出了图11的存储器管芯中的第一存储体阵列的示例。参考图12,第一存储体阵列410包括多条字线WL1~WLm(m是大于2的自然数)、多条位线BTL1~BTLn(n是大于2的自然数)以及字线WL1~WLm和位线BTL1~BTLn之间的交叉点处的多个存储器单元MC。存储器单元MC中的每一个包括耦接到字线WL1~WLm中的每条字线和位线BTL1~BTLn中的每条位线的单元晶体管,并且包括耦接到单元晶体管的单元电容器。
在图11和图12中,示出了存储器管芯300a用包括动态存储器单元的DRAM来实现。备选地,存储器管芯300a~300k中的每一个可以用包括电阻存储器单元或其他存储器设备的电阻存储器设备来实现。
图13示出了与图9的PIM电路230的特征向量和权重相关联的内核。参考图13,当特征向量FV由K×K矩阵(在图13中,K被示为7)表示且与权重WDT相关联的内核KRN1由I×I矩阵(在图13中,K被示为3)表示时,数据分配器240将特征向量FV划分为第一子特征向量SFV1和第二子特征向量SFV2,将第一子特征向量SFV1提供给GPU50,并且将第二子特征向量SFV2提供给MAC电路250。
GPU 50可以通过将内核KRN1应用于与第一子特征向量SFV1相对应的K×(等于或大于(I+(K-1))的自然数)矩阵来执行向量矩阵乘法。因此,与将特征向量FV全部提供给GPU50且GPU 50对全部特征向量FV执行向量矩阵乘法时相比,可以减少计算量。此外,当GPU 50对第一子特征向量SFV1执行向量矩阵乘法时,MAC电路250通过将内核KRN1应用于第二子特征向量SFV2来对第二子特征向量SFV2执行向量矩阵乘法。组合的第一子特征向量SFV1和第二子特征向量的总矩阵大小可以大于K×K矩阵,使得第一子特征向量SFV1的一部分与第二子特征向量重叠以具有共同的相同数据,例如重复数据。例如,如图13中所示,第一子特征向量SFV1可以是5×7矩阵,第二子特征向量可以是4×7矩阵,并且第一子特征向量SFV1和第二子特征向量可以在7×7特征向量FV的第四和第五列中重叠。
图14示出了图1中的GPU中的第二计算。图15示出了图9的MAC电路中的第一计算,图16示出了图9中的池化器的操作。
参考图14,GPU 50将内核KRN1应用于第一子特征向量SFV1,并且对内核KRN1和第一子特征向量SFV1执行向量矩阵乘法,以提供第一对象识别结果ORR1。第一对象识别结果ORR1可以由5×3矩阵表示。
参考图15,PIM电路230将内核KRN1应用于第二子特征向量SFV2,并且对内核KRN1和第二子特征向量SFV2执行向量矩阵乘法,以提供第二对象识别结果ORR2。第二对象识别结果ORR2可以由5×2矩阵表示。
参考图16,池化器280合并第一对象识别结果ORR1和第二对象识别结果ORR2,以输出合并的对象识别结果MORR。合并的对象识别结果MORR可以由5×5矩阵表示。
图17和图18示出了图9中的数据分配器240将输入数据或特征向量FV分别划分为第一子特征向量SFV1和第二子特征向量SFV2。
图17示出了图9中的数据分配器240根据控制器235的控制,通过将输入数据或特征向量简单地分成两半来将输入数据或特征向量划分为第一子特征向量SFV1和第二子特征向量SFV2。
参考图17,当第一输入数据INDT1包括对象OB11和OB12且第二输入数据INDT2包括对象OB21和OB22时,数据分配器240将第一输入数据INDT1划分为第一部分SFV11和第二部分SFV21,将第二输入数据INDT2划分为第一部分SFV12和第二部分SFV22,根据第一部分SFV11、SFV12创建第一子特征向量SFV1,并根据第二部分SFV21、SFV22创建第二子特征向量SFV2。
参考图18,当第一输入数据INDT1包括对象OB11和OB12且第二输入数据INDT2包括对象OB21和OB22时,数据分配器240根据第一输入数据INDT1创建第一子特征向量SFV1,并根据第二输入数据INDT2创建第二子特征向量SFV2。
图19示出了根据示例实施例的在堆叠存储器件中执行数据复制操作的示例。参考图19,堆叠存储器件600可以包括缓冲器管芯610以及第一存储器管芯620和第二存储器管芯630。
在下文中,为了便于描述,示出了单个缓冲器管芯和两个存储器管芯的操作。此外,下列实施例中示出的PIM电路可以执行上述实施例中的命令解码功能。此外,PIM电路还可以执行根据内部数据处理操作提供用于选择通道或芯片的芯片选择信号CS的功能。根据可修改的实施例,下列附图中示出的芯片选择信号CS可被实现为通过存储器管芯中的每一个的命令解码器来产生。
缓冲器管芯610可以与外部设备通信,并且可以包括内部命令发生器(ICG)611,内部命令发生器(ICG)611响应于来自外部设备的特定命令,产生用于执行一系列内部数据处理操作的内部命令。内部命令发生器611可以在改变用于选择存储器管芯的芯片选择信号CS的同时,向第一存储器管芯620和第二存储器管芯630提供内部命令。此外,可以在缓冲器管芯610与第一存储器管芯620和第二存储器管芯630之间发送和接收数据,并且可以将用于发送和接收数据的数据TSV共同布置在缓冲器管芯610以及第一存储器管芯620和第二存储器管芯630中。
缓冲器管芯610可以包括多个输入/输出(I/O)电路,以便独立地执行与第一存储器管芯620和第二存储器管芯630的相应通道CHA和CHB的接口连接。例如,缓冲器管芯610可以包括用于A通道CHA的I/O电路,其与第一存储器管芯620接口连接;还可以包括用于B通道CHB的I/O电路,其与第二存储器管芯630接口连接。每个I/O电路中提供的各种组件可以设置在缓冲器管芯610的至少一个区域中,且例如,每个I/O电路的组件可以设置在物理区域中。
与每个通道相对应的I/O电路可以包括与外部设备接口连接的接口(I/F)612、路径控制器613、读数据路径615和写数据路径614。第一存储器管芯620和第二存储器管芯630可以分别包括收发器625和635,收发器通过数据TSV输入和输出数据,并且第一存储器管芯620和第二存储器管芯630中的每一个的收发器可被控制为由芯片选择信号CS使能。
第一存储器管芯620可以包括:包括存储器单元阵列的单元核心621、对内部命令进行解码的命令解码器(CMDC)622、写(WR)数据路径623、读(RD)数据路径624和收发器625。第二存储器管芯630可以以与第一存储器管芯620相同或类似的方式实现,因此第二存储器管芯630可以包括:单元核心或组631、命令解码器632、写数据路径633、读数据路径634和收发器635。
根据来自外部设备的命令,可以执行用于将第二存储器管芯630的数据复制到第一存储器管芯620中的内部数据处理操作。可以通过在没有外部设备干预的情况下,在堆叠存储器件600内部产生内部命令来执行内部数据处理。例如,缓冲器管芯610可以向第二存储器管芯630提供内部命令,第二存储器管芯630可以响应于接收的内部命令读取数据并且通过读数据路径634将读取的数据提供给收发器635。通过数据TSV将读取的数据提供给收发器625,并且通过收发器625中的写缓存器WR_BUF和写数据路径623将读取的数据复制到单元核心612。
图20示出了根据示例实施例的操作电子设备的方法的流程图。参考图1至图18和图20,在操作电子设备10的方法中,该电子设备10包括图形处理器50和与图形处理器50通信的堆叠存储器件90,图形处理器50包括ANN引擎100。ANN引擎100通过将学习数据LDT和权重WDT应用于对象识别模型105使对象识别模型105学习,以提供学习后的对象识别模型LORM(S710)。堆叠存储器件90中的数据分配器240将与输入数据相关联的特征向量FV划分为第一子特征向量SFV1和第二子特征向量SFV2,并且将第一子特征向量SFV1提供给图形处理器50(S720)。
堆叠存储器件90中的MAC电路250执行第一计算以将第二子特征向量SFV2和权重WDT应用于学习后的对象识别模型LORM来提供第二对象识别结果ORR2(S730)。ANN引擎100执行第二计算以将第一子特征向量SFV1和权重WDT应用于学习后的对象识别模型LORM来提供第一对象识别结果ORR1(S740)。
堆叠存储器件90中的池化器280合并第一对象识别结果ORR1和第二对象识别结果ORR2以向用户提供合并的对象识别结果MORR(S750)。第一计算和第二计算可以并行地执行。
因此,堆叠存储器件90中的PIM电路230将对应于输入数据或从输入数据提取的特征向量划分为第一子特征向量和第二子特征向量,将第一子特征向量提供给图形处理器50,并且与图形处理器50对第一子特征向量执行AI计算并行地对第二子特征向量执行AI计算。因此,电子设备可以对特征执行负载平衡。因此,根据示例实施例的电子设备可以在不修改GPU和/或CPU的情况下增强AI计算的性能。
图21示出了根据示例实施例的包括混合堆叠存储器件的人工智能(AI)加速器(即,电子设备)。参考图21,AI加速器800可以包括应用处理器810、GPU 820和混合堆叠存储器件830。
混合堆叠存储器件830可以包括缓冲器管芯840、非易失性存储器件850和多个存储器管芯860。应用处理器810可以控制GPU 820和混合堆叠存储器件830。缓冲器管芯840可以包括PIM电路841。PIM电路841可以采用图9的PIM电路230。
混合堆叠存储器件830存储权重WDT以向GPU 820提供权重WDT,并且划分与输入数据相关联的特征向量以向GPU 820提供第一子特征向量SFV1。GPU 820将权重WDT和子特征向量SFV1应用于学习后的对象识别模型,以向应用处理器810提供第一对象识别结果ORR1。
非易失性存储器件850存储从GPU 820提供的学习后的对象识别模型LORM,并且将学习后的对象识别模型LORM提供给PIM电路841。PIM电路841将来自存储器管芯860的特征向量FV划分为第一子特征向量SFV1和第二子特征向量,并且将第二子特征向量和权重WDT应用于学习后的对象识别模型LORM,以向应用处理器810提供第二对象识别结果ORR2。应用处理器810合并第一对象识别结果ORR1和第二对象识别结果ORR2,以向用户提供合并的对象识别结果。
图22示出了根据示例实施例的包括堆叠存储器件的半导体封装。参考图22,半导体封装900可以包括一个或多个堆叠存储器件910、CPU 920和GPU 925。
堆叠存储器件910、CPU 920和GPU 925可以安装在内插器930上,并且其上安装有堆叠存储器件910、CPU920和GPU 925的内插器本身可以安装在封装基板940上。CPU 920和GPU 925可以分别与图1中的CPU 30和GPU 50相对应。
堆叠存储器件910可以以各种形式实现,并且堆叠存储器件910可以是高带宽存储器(HBM)形式的存储器件,其中堆叠了多个层。因此,堆叠存储器件910可以包括缓冲器管芯和多个存储器管芯。缓冲器管芯可以包括能够与GPU 925并行执行AI计算(运算)的PIM电路。
可以在内插器930上安装多个堆叠存储器件910,并且CPU 920和GPU 925可以与多个堆叠存储器件910通信。
例如,堆叠存储器件910、CPU 920和GPU 925中的每一个可以包括物理区域,并且可以通过物理区域在堆叠存储器件910、CPU 920和GPU 925之间执行通信。同时,当堆叠存储器件910包括直接访问区域时,可以通过安装在封装基板940和直接访问区域下方的导电装置(例如,焊球950)将测试信号提供到堆叠存储器件910中。
这里,内插器930可以包括嵌入式多管芯互连桥(EMIB),其是具有TSV形式或印刷电路板(PCB)形式的有机或非TSV方式。
以功能块、单元、模块和/或方法来描述并在附图中示出实施例。本领域技术人员将理解,这些块、单元、模块和/或方法通过诸如逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接等的电子(或光学)电路物理地实现,其中所述电子(或光学)电路可以使用基于半导体的制造技术或其他制造技术来形成。在块、单元、模块和/或方法由微处理器等实现的情况下,它们可以使用软件(例如,微代码)来编程以执行本文讨论的各种功能,并且可以可选地由固件和/或软件驱动。备选地,每个块、单元、模块和/或方法可以通过专用硬件实现或实现为执行一些功能的专用硬件和执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。此外,在不脱离本公开的范围的情况下,实施例的每个块、单元和/或模块可以物理地分成两个或更多个交互和分立的块、单元和/或模块。此外,在不脱离本公开的范围的情况下,实施例的块、单元和/或模块可以物理地组合成更复杂的块、单元和/或模块。
在一些示例实施例中,存储器件中的存储器中处理器电路将对应于输入数据或从输入数据提取的特征向量划分为第一子特征向量和第二子特征向量,将第一子特征向量提供给图形处理器,并且与图形处理器对第一子特征向量执行AI计算并行地对第二子特征向量执行AI计算。因此,电子设备可以对特征执行负载平衡。因此,根据示例实施例的电子设备可以在不修改GPU和/或CPU的情况下增强AI计算的性能。
一些示例实施例提供了一种能够并行执行人工智能运算的电子设备。一些示例实施例提供了一种操作电子设备的方法,该方法能够并行地处理人工智能运算。一些示例实施例可以在不修改GPU和/或CPU的情况下增强AI计算的性能。实施例的各方面可以应用于采用AI的各种设备。
本文已经公开了示例实施例,并且尽管采用了特定术语,但是它们仅用于且将被解释为一般的描述性意义,而不是为了限制的目的。在一些情况下,截至本申请递交之时,本领域技术人员清楚,除非另有明确说明,否则结合特定实施例描述的特征、特性和/或元素可以单独使用或与结合其他实施例描述的特征、特性和/或元素相结合使用。因此,本领域技术人员将理解,在不脱离如所附权利要求中阐述的本发明的精神和范围的前提下,可以进行形式和细节上的各种改变。

Claims (20)

1.一种电子设备,包括:
包括人工神经网络引擎的图形处理器,所述人工神经网络引擎通过使用学习数据和权重使对象识别模型学习以提供学习后的对象识别模型;以及
存储器件,存储所述学习数据和所述权重,将从输入数据提取的特征向量划分为第一子特征向量和第二子特征向量,将所述第一子特征向量提供给所述图形处理器,从所述图形处理器接收所述学习后的对象识别模型,并且执行第一计算以将所述第二子特征向量和所述权重应用于所述学习后的对象识别模型来提供第二对象识别结果,
其中,所述人工神经网络引擎执行第二计算以将所述第一子特征向量和所述权重应用于所述学习后的对象识别模型来提供第一对象识别结果,并且将所述第一对象识别结果提供给所述存储器件,所述第二计算和所述第一计算并行执行。
2.根据权利要求1所述的电子设备,其中,所述存储器件存储所述第一对象识别结果,合并所述第一对象识别结果和所述第二对象识别结果以向用户提供合并的对象识别结果。
3.根据权利要求1所述的电子设备,其中,所述存储器件包括:
缓冲器管芯,与所述图形处理器和外部设备通信;
堆叠在所述缓冲器管芯上的多个存储器管芯;以及
多个硅通孔TSV,延伸通过所述多个存储器管芯以连接到所述缓冲器管芯,
其中,所述多个存储器管芯中的每一个包括存储器单元阵列,所述存储器单元阵列包括耦接到多条字线和多条位线的多个动态存储器单元,并且动态存储器单元存储所述学习数据、所述权重和所述特征向量,以及
其中,所述缓冲器管芯包括通过多个TSV连接到所述存储器管芯的存储器中处理器电路,并且所述存储器中处理器电路将所述特征向量划分为所述第一子特征向量和所述第二子特征向量且执行所述第一计算。
4.根据权利要求3所述的电子设备,其中,所述存储器中处理器电路包括:
数据分配器,从所述存储器管芯中的至少一些接收所述特征向量,将所述特征向量划分为所述第一子特征向量和所述第二子特征向量,并且将所述第一子特征向量提供给所述图形处理器;
乘法和累加MAC电路,从所述数据分配器接收所述第二子特征向量,将所述权重应用于来自所述数据分配器的所述第二子特征向量,并且执行所述第二计算以输出所述第二对象识别结果;以及
控制器,控制所述MAC电路。
5.根据权利要求4所述的电子设备,其中,所述MAC电路对所述第二子特征向量和所述权重执行矩阵向量乘法运算。
6.根据权利要求4所述的电子设备,还包括:
中央处理单元CPU,通过总线与所述图形处理器和所述存储器件通信,
其中,所述CPU包括控制所述数据分配器和所述控制器的系统软件,以及
所述系统软件确定所述第一子特征向量和所述第二子特征向量的划分比例。
7.根据权利要求6所述的电子设备,其中,所述数据分配器在所述系统软件的控制下,通过基于所述特征向量中包括的至少一个对象划分所述特征向量来提供所述第一子特征向量和所述第二子特征向量。
8.根据权利要求6所述的电子设备,其中,所述数据分配器在所述系统软件的控制下,通过将所述特征向量分为两半来提供所述第一子特征向量和所述第二子特征向量。
9.根据权利要求3所述的电子设备,其中,所述缓冲器管芯还包括池化器,所述池化器在所述第一计算和所述第二计算完成时接收所述第一对象识别结果和所述第二对象识别结果,并且通过合并所述第一对象识别结果和所述第二对象识别结果来提供合并的对象识别结果。
10.根据权利要求3所述的电子设备,其中,所述存储器件还包括形成在所述缓冲器管芯上的非易失性存储器件,所述非易失性存储器件存储所述学习后的对象识别模型。
11.根据权利要求1所述的电子设备,其中:
所述第一子特征向量和所述第二子特征向量包括至少一些重复数据,
所述图形处理器向所述存储器件提供对所述至少一些重复数据的中间运算结果,以及
所述存储器件使用对所述至少一些重复数据的中间运算结果来执行所述第一计算。
12.根据权利要求1所述的电子设备,其中,当将所述学习数据和所述权重应用于所述对象识别模型的结果和所述学习数据的期望值之间的相似度等于或大于参考值时,所述人工神经网络引擎将所述学习后的对象识别模型提供给所述存储器件。
13.根据权利要求1所述的电子设备,其中,所述对象识别模型包括神经网络模型或深度学习模型,其基于多个网络节点之间的连接关系和网络节点的权重执行计算。
14.根据权利要求13所述的电子设备,其中,所述对象识别模型包括:
输入层,接收所述学习数据或所述第一子特征向量,所述输入层包括多个输入节点;
输出层,产生所述学习数据或所述第一子特征向量的输出,所述输出层包括多个输出节点;
隐藏层,将所述输入层连接到所述输出层,所述隐藏层包括多个隐藏节点;
多条第一连接线,以第一权重将所述输入节点连接到所述隐藏节点;以及
多条第二连接线,以第二权重将所述隐藏节点连接到所述输出节点。
15.根据权利要求13所述的电子设备,其中,所述人工神经网络引擎包括:
学习模块,通过使用所述学习数据和所述权重使所述对象识别模型学习;以及
识别模块,将所述第一子特征向量和所述权重应用于所述学习后的对象识别模型来提供所述第一对象识别结果。
16.根据权利要求15所述的电子设备,其中,所述学习模块包括:
模型学习单元,确定通过使用所述学习数据和所述权重学习后的所述对象识别模型;
模型存储单元,存储所述学习后的对象识别模型;以及
模型评估单元,基于评估数据评估所述学习后的对象识别模型。
17.一种电子设备,包括:
应用处理器,提供学习数据和权重,其中,所述应用处理器提供从构成对象的对象数据提取的特征向量;
包括人工神经网络引擎的图形处理器,所述人工神经网络引擎通过使用所述学习数据和所述权重来使对象识别模型学习以提供学习后的对象识别模型;以及
存储器件,存储所述学习数据、所述权重以及接收自所述应用处理器的从输入数据中提取的特征向量,将所述学习数据和所述权重提供给所述图形处理器,将所述特征向量划分为第一子特征向量和第二子特征向量,将所述第一子特征向量提供给所述图形处理器,存储来自所述图形处理器的所述学习后的对象识别模型,并且执行第一计算以将所述第二子特征向量和所述权重应用于所述学习后的对象识别模型来提供第二对象识别结果,
其中,所述人工神经网络引擎执行第二计算以将所述第一子特征向量和所述权重应用于所述学习后的对象识别模型来提供第一对象识别结果,并且将所述第一对象识别结果提供给所述存储器件,所述第二计算和所述第一计算并行执行。
18.根据权利要求17所述的电子设备,其中,所述存储器件包括:
缓冲器管芯,与所述图形处理器和外部设备通信;
堆叠在所述缓冲器管芯上的多个存储器管芯;以及
多个硅通孔TSV,延伸通过所述多个存储器管芯以连接到所述缓冲器管芯,
其中,所述多个存储器管芯中的每一个包括存储器单元阵列,所述存储器单元阵列包括耦接到多条字线和多条位线的多个动态存储器单元,并且动态存储器单元存储所述学习数据、所述权重和所述特征向量,以及
其中,所述缓冲器管芯包括通过多个TSV连接到所述存储器管芯的存储器中处理器,所述存储器中处理器将所述特征向量划分为所述第一子特征向量和所述第二子特征向量并且执行所述第一计算。
19.一种操作电子设备的方法,所述电子设备包括图形处理器和与所述图形处理器通信的存储器件,所述图形处理器包括人工神经网络引擎,所述方法包括:
在所述人工神经网络引擎中,通过将学习数据和权重应用于对象识别模型使所述对象识别模型学习来提供学习后的对象识别模型;
由所述存储器件中的数据分配器将与输入数据相关联的特征向量划分为第一子特征向量和第二子特征向量,以将所述第一子特征向量提供给所述图形处理器;
由所述存储器件中的乘法和累加MAC电路执行第一计算以将所述第二子特征向量和所述权重应用于所述学习后的对象识别模型来提供第二对象识别结果;
由所述人工神经网络引擎执行第二计算以将所述第一子特征向量和所述权重应用于所述学习后的对象识别模型来提供第一对象识别结果;以及
由所述存储器件中的池化器合并所述第一对象识别结果和所述第二对象识别结果以向用户提供合并的对象识别结果,
其中,所述第一计算和所述第二计算彼此并行地执行。
20.根据权利要求19所述的方法,其中,所述存储器件包括:
缓冲器管芯,与所述图形处理器和外部设备通信;
堆叠在所述缓冲器管芯上的多个存储器管芯;以及
多个硅通孔TSV,延伸通过所述多个存储器管芯以连接到所述缓冲器管芯,
其中,所述多个存储器管芯中的每一个包括存储器单元阵列,所述存储器单元阵列具有耦接到多条字线和多条位线的多个动态存储器单元,动态存储器单元存储所述学习数据、所述权重和所述特征向量,以及
其中,所述缓冲器管芯包括通过多个TSV连接到所述存储器管芯的存储器中处理器,所述存储器中处理器将所述特征向量划分为所述第一子特征向量和所述第二子特征向量并且执行所述第一计算。
CN201910535301.7A 2018-08-29 2019-06-19 电子设备和操作电子设备的方法 Active CN110874810B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020180102183A KR20200025200A (ko) 2018-08-29 2018-08-29 전자 장치 및 전자 장치의 동작 방법
KR10-2018-0102183 2018-08-29

Publications (2)

Publication Number Publication Date
CN110874810A CN110874810A (zh) 2020-03-10
CN110874810B true CN110874810B (zh) 2024-07-02

Family

ID=69639917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910535301.7A Active CN110874810B (zh) 2018-08-29 2019-06-19 电子设备和操作电子设备的方法

Country Status (3)

Country Link
US (3) US10936891B2 (zh)
KR (1) KR20200025200A (zh)
CN (1) CN110874810B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11625245B2 (en) * 2018-09-28 2023-04-11 Intel Corporation Compute-in-memory systems and methods
US11494645B2 (en) * 2018-12-06 2022-11-08 Egis Technology Inc. Convolutional neural network processor and data processing method thereof
US12014505B2 (en) * 2019-01-31 2024-06-18 Samsung Electronics Co., Ltd. Method and apparatus with convolution neural network processing using shared operand
KR20210093127A (ko) * 2020-01-17 2021-07-27 에스케이하이닉스 주식회사 Aim 장치
US11461651B2 (en) * 2020-04-09 2022-10-04 Micron Technology, Inc. System on a chip with deep learning accelerator and random access memory
US20210320967A1 (en) * 2020-04-09 2021-10-14 Micron Technology, Inc. Edge Server with Deep Learning Accelerator and Random Access Memory
CN111915001B (zh) * 2020-08-18 2024-04-12 腾讯科技(深圳)有限公司 卷积计算引擎、人工智能芯片以及数据处理方法
US11226767B1 (en) * 2020-09-30 2022-01-18 Micron Technology, Inc. Apparatus with access control mechanism and methods for operating the same
CN112418423B (zh) * 2020-11-24 2023-08-15 百度在线网络技术(北京)有限公司 利用神经网络向用户推荐对象的方法、设备和介质
US11977780B2 (en) * 2021-05-17 2024-05-07 Samsung Electronics Co., Ltd. Near memory processing dual in-line memory module and method for operating the same
CN115617739B (zh) * 2022-09-27 2024-02-23 南京信息工程大学 一种基于Chiplet架构的芯片及控制方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104535965A (zh) * 2014-12-29 2015-04-22 江苏科技大学 基于嵌入式gpu系统的并行化声源定位系统及方法
CN105869117A (zh) * 2016-03-28 2016-08-17 上海交通大学 一种针对深度学习超分辨率技术的gpu加速方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517596A (en) * 1991-05-17 1996-05-14 International Business Machines Corporation Learning machine synapse processor system apparatus
ATE453903T1 (de) 2001-12-21 2010-01-15 Ibm Verfahren und schaltungen zur bildskalierung mit hilfe neuronaler netzwerke
US7567252B2 (en) * 2003-12-09 2009-07-28 Microsoft Corporation Optimizing performance of a graphics processing unit for efficient execution of general matrix operations
JP5368687B2 (ja) 2007-09-26 2013-12-18 キヤノン株式会社 演算処理装置および方法
US9195934B1 (en) * 2013-01-31 2015-11-24 Brain Corporation Spiking neuron classifier apparatus and methods using conditionally independent subsets
US20150317557A1 (en) * 2014-05-01 2015-11-05 Qualcomm Incorporated Temporal spike encoding for temporal learning
CN104035751B (zh) * 2014-06-20 2016-10-12 深圳市腾讯计算机系统有限公司 基于多图形处理器的数据并行处理方法及装置
US9836277B2 (en) 2014-10-01 2017-12-05 Samsung Electronics Co., Ltd. In-memory popcount support for real time analytics
US20160162779A1 (en) * 2014-12-05 2016-06-09 RealMatch, Inc. Device, system and method for generating a predictive model by machine learning
US10528613B2 (en) 2015-11-23 2020-01-07 Advanced Micro Devices, Inc. Method and apparatus for performing a parallel search operation
WO2017171769A1 (en) * 2016-03-31 2017-10-05 Hewlett Packard Enterprise Development Lp Logical operations
US11055063B2 (en) * 2016-05-02 2021-07-06 Marvell Asia Pte, Ltd. Systems and methods for deep learning processor
US10198349B2 (en) 2016-09-19 2019-02-05 Advanced Micro Devices, Inc. Programming in-memory accelerators to improve the efficiency of datacenter operations
CN107239824A (zh) * 2016-12-05 2017-10-10 北京深鉴智能科技有限公司 用于实现稀疏卷积神经网络加速器的装置和方法
US9754221B1 (en) 2017-03-09 2017-09-05 Alphaics Corporation Processor for implementing reinforcement learning operations
US11222260B2 (en) * 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
CN107945098B (zh) * 2017-11-24 2022-03-01 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备和存储介质
CN108021395B (zh) * 2017-12-27 2022-04-29 北京金山安全软件有限公司 一种面向神经网络的数据并行处理方法及系统
US10726096B2 (en) * 2018-10-12 2020-07-28 Hewlett Packard Enterprise Development Lp Sparse matrix vector multiplication with a matrix vector multiplication unit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104535965A (zh) * 2014-12-29 2015-04-22 江苏科技大学 基于嵌入式gpu系统的并行化声源定位系统及方法
CN105869117A (zh) * 2016-03-28 2016-08-17 上海交通大学 一种针对深度学习超分辨率技术的gpu加速方法

Also Published As

Publication number Publication date
US11521374B2 (en) 2022-12-06
CN110874810A (zh) 2020-03-10
KR20200025200A (ko) 2020-03-10
US20210192248A1 (en) 2021-06-24
US20230106073A1 (en) 2023-04-06
US20200074202A1 (en) 2020-03-05
US10936891B2 (en) 2021-03-02

Similar Documents

Publication Publication Date Title
CN110874810B (zh) 电子设备和操作电子设备的方法
US11113231B2 (en) Method of processing in memory (PIM) using memory device and memory device performing the same
US20230196753A1 (en) Object recognition devices, electronic devices and methods of recognizing objects
US11531871B2 (en) Stacked neuromorphic devices and neuromorphic computing systems
US20200257633A1 (en) Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
US20210125048A1 (en) Neuromorphic package devices and neuromorphic computing systems
CN113126898A (zh) 存储器设备及其操作方法和存储器控制器的操作方法
US11620504B2 (en) Neuromorphic device based on memory
CN113571111B (zh) 深度神经网络在非易失性存储器中的垂直映射和计算
CN110729011B (zh) 用于类神经网路的存储器内运算装置
KR20230005345A (ko) 신경망을 트레이닝시키는 메모리 디바이스
US20230051126A1 (en) Signal routing between memory die and logic die for performing operations
CN114647372A (zh) 存储器系统及其操作方法
CN116529818A (zh) 双端口、双功能存储器装置
US20220044107A1 (en) Optimized sensor fusion in deep learning accelerator with integrated random access memory
US11942137B2 (en) Memory controller and memory system including the same
US10262725B1 (en) Selective bit-line sensing method and storage device utilizing the same
WO2022031808A1 (en) Collaborative sensor data processing by deep learning accelerators with integrated random access memory
US20200257959A1 (en) Memory device having an address generator using a neural network algorithm and a memory system including the same
US20230221892A1 (en) Memory interface
CN114841333A (zh) 适用于神经网络的非易失性存储器、存储系统及操作方法
JP2024035145A (ja) Imc回路、imc回路を含むニューラルネットワーク装置、及びimc回路の動作方法

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