[发明专利]一种计算装置及方法有效
申请号: | 201710500167.8 | 申请日: | 2017-06-27 |
公开(公告)号: | CN109144470B | 公开(公告)日: | 2022-01-25 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 上海寒武纪信息科技有限公司 |
主分类号: | G06F7/50 | 分类号: | G06F7/50;G06F7/523;G06F7/544 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 201203 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 装置 方法 | ||
本公开提供了一种计算装置,包括:分发配置模块,用于分发配置信息;以及计算模块,包括多个计算单元,用于根据所述配置信息分成多个计算组。本公开还提供了一种计算方法。本公开计算装置及方法支持同时完成多个对应不同输入的计算,支持batch和多服务请求计算。
技术领域
本公开涉及人工智能技术领域,尤其涉及一种支持batch和多服务请求的计算装置及方法。
背景技术
神经网络算法已成为许多不同领域中最先进的算法,如图像识别领域、语音识别领域和自然语言处理领域。这其中最为主要的网络是深度学习。这些神经网络通过不同层的神经元,完成不同的操作,从而对输入数据进行处理,最后得到相应的输出结果。通常来说,不同的输入样本通过同一个神经网络得到不同的输出结果,也即一个固定的神经网络完成一个输入到一个输出的映射。然而对于很多场景来说,同时存在多个输入样本,这些输入都需要被快速完成,也即存在多服务请求。同时在训练过程中通常采用batch的训练方法,也即多个样本(也即batch的大小)计算完成后再更新权值,需要同时计算多个输入样本(包括正向和反向)。
在实现本公开的过程中,申请人发现上述现有技术存在如下技术缺陷。神经网络装置不能支持多个输入样本同时计算,也即无法支持batch训练和多服务请求。
发明内容
(一)要解决的技术问题
为了解决或者至少部分缓解上述技术问题,本公开提供了一种支持batch和多服务请求的计算装置及方法。本公开计算装置及方法,可以在同一个装置中同时计算多个不同的输入,支持同时完成多个对应不同输入的计算,支持batch和多服务请求计算。
(二)技术方案
根据本公开的一个方面,提供了一种支持batch和多服务请求的计算装置,包括:
分发配置模块,用于分发配置信息;以及
计算模块,包括多个计算单元,用于根据所述配置信息分成多个计算组,以分别计算batch中不同的正向和反向通路,或运行不同的服务的请求。
在一些实施例中,所述计算装置在运行过程中,根据所述配置信息对所述计算模块的分组进行动态调整。
在一些实施例中,在训练过程中,所述计算模块还用于根据所述配置信息形成一个或者多个计算组以完成反向计算梯度及更新权值。
在一些实施例中,所述多个计算单元为一维或多维形式。
在一些实施例中,所述多个计算单元为同样的计算单元,即同构模式;或不同的计算单元,即异构模式。
在一些实施例中,所述计算单元为标量计算单元,用于完成标量乘法、标量加法或标量乘加操作;或向量计算单元,用于完成向量乘法、向量加法或向量内积操作;或混合计算单元,用于完成矩阵乘法加法操作、包含向量内积计算和非线性计算操作、或用于完成卷积计算操作。
在一些实施例中,所述计算模块包括:
乘法器,用于将输入其中的数据相乘得到相乘之后的输出;和/或
一个或多个加法器,用于将输入其中的数据相加得到输出数据。
在一些实施例中,所述多个加法器构成加法树,用于进行加法树运算,即将输入其中的数据逐级相加得到输出数据。
在一些实施例中,所述计算单元还包括:激活函数单元,用于通过激活函数运算得到激活输出数据;其中,该激活函数包括sigmoid、tanh、relu或softmax。
在一些实施例中,所述计算单元还包括:池化单元,用于将输入数据通过池化运算以得到池化操作之后的输出数据;其中,所述池化操作包括:平均值池化、最大值池化、或中值池化。
在一些实施例中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海寒武纪信息科技有限公司,未经上海寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710500167.8/2.html,转载请声明来源钻瓜专利网。