CN113742741A - 人工智能计算半导体器件和包含该器件的存储器件 - Google Patents

人工智能计算半导体器件和包含该器件的存储器件 Download PDF

Info

Publication number
CN113742741A
CN113742741A CN202110576252.9A CN202110576252A CN113742741A CN 113742741 A CN113742741 A CN 113742741A CN 202110576252 A CN202110576252 A CN 202110576252A CN 113742741 A CN113742741 A CN 113742741A
Authority
CN
China
Prior art keywords
artificial intelligence
semiconductor device
cipher text
intelligence computing
homomorphic
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
Application number
CN202110576252.9A
Other languages
English (en)
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 CN113742741A publication Critical patent/CN113742741A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/491Computations with decimal numbers radix 12 or 20.
    • G06F7/498Computations with decimal numbers radix 12 or 20. using counter-type accumulators
    • G06F7/4983Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/50Adding; Subtracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Mathematical Optimization (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Memory System (AREA)

Abstract

提供了一种人工智能计算半导体器件。该人工智能计算半导体器件包括:控制单元;以及MAC(乘法累加器)计算器,通过控制单元执行同态加密计算,其中MAC计算器包括:通过数据的变换或逆变换执行同态乘法计算的NTT(数值理论变换)/INTT(逆NTT)电路;执行密码文本之间乘法计算的密码文本乘法器;执行密码文本之间加法和/或减法计算的密码文本加法器/减法器;以及执行密码文本时隙的循环移位的旋转器。

Description

人工智能计算半导体器件和包含该器件的存储器件
相关申请的交叉引用
本申请要求于2020年5月27日提交的第10-2020-0063361号韩国专利申请的优先权,以及从中获得的所有权益,其公开内容通过引用全部并入本文。
技术领域
本发明概念涉及一种人工智能计算半导体器件和包括该器件的存储器件。
背景技术
可以提供云计算环境,其中个人信息和/或数据存储在服务器中,并且用户在必要时通过用户终端使用存储在服务器中的数据。当个人信息和/或数据存储在服务器上时,个人信息和/或数据可以被加密以保护个人信息,诸如通过防止数据泄漏。
在这种环境中,如果加密数据存储在服务器中,则当搜索数据和/或执行任务(例如,通过计算)时,由于在逐个解密加密数据之后可能需要执行所需的搜索和/或任务,因此搜索和/或任务可能非常低效,并且可能会增加解密的个人信息和/或数据可能泄露给第三方的可能性。
为了解决这一问题,同态加密(homomorphic encryption)方法得到了广泛的研究。根据同态加密,即使在不解密加密信息或数据的情况下对密码文本本身执行计算,由于在纯文本中执行相同的计算并且随后获得与加密结果相同的结果,因此即使不解密密码文本也可以执行计算。
最近,一种同态加密方法被用于人工智能领域。人工智能领域中使用的同态加密计算要求计算过程速度快。
发明内容
本发明概念的各个方面提供了一种具有改进的计算速度的人工智能计算半导体器件。
本发明概念的各个方面还提供了一种包括具有改进的计算速度的人工智能计算半导体器件的电气器件和存储器件。
然而,本发明概念的方面不限于本文所阐述的方面。通过参考下面给出的对本发明概念的详细描述,本发明概念的上述和其他方面对于本发明概念所属领域的普通技术人员将变得更加明显。
根据本发明构思的一个方面,提供了一种人工智能计算半导体器件,包括:控制单元;以及MAC(乘法和累加器),被配置为通过控制单元执行同态加密计算,其中,MAC被配置为:通过数据的变换或逆变换执行同态乘法计算来生成密码文本;在密码文本之间执行乘法计算;在密码文本之间执行加法和/或减法计算;以及执行密码文本的时隙的循环移位。
根据本发明构思的一个方面,提供了一种电子设备,包括:存储器器件,包括配置为存储数据的数据区域;中央处理器单元(CPU),被配置为控制存储器器件发送和接收数据;以及人工智能计算半导体器件,被配置为通过执行同态加密计算来执行人工智能计算,其中,该人工智能计算半导体器件包括乘法和累加器计算器(MAC),被配置为:通过数据的变换或逆变换来执行同态乘法计算来生成密码文本;在密码文本之间执行乘法计算;在密码文本之间执行加法和/或减法计算;以及执行密码文本的时隙的循环移位。
根据本发明概念的一个方面,提供了一种存储器件,包括:非易失性存储器器件,包括被配置为存储数据的数据区域;控制器,被配置为控制非易失性存储器器件发送和接收数据;以及人工智能计算半导体器件,被配置为通过执行同态加密计算来执行人工智能计算,其中该人工智能计算半导体器件包括乘法和累加器计算器(MAC),该MAC被配置为:通过数据的变换或逆变换执行同态乘法计算来生成密码文本;在密码文本之间执行乘法计算;在密码文本之间执行加法和/或减法计算;以及执行密码文本的时隙的循环移位。
附图说明
通过参考附图详细描述本发明构思的示例性实施例,本发明构思的上述及其它方面和特征将变得更加明显,其中:
图1是示出根据一些示例实施例的人工智能计算半导体器件的示例框图。
图2是用于说明根据一些示例实施例的人工智能计算半导体器件的操作的示例流程图。
图3是用于说明根据一些示例实施例的人工智能计算半导体器件的编码操作的示例图。
图4是用于说明根据一些示例实施例的人工智能计算半导体器件的一些计算的示例图。
图5和6是用于说明根据一些示例实施例的包括人工智能计算半导体器件的移动设备的示例框图。
图7到10是用于说明包括根据一些示例实施例的人工智能计算半导体器件的存储器件的示例框图。
具体实施方式
现在将详细地参考实施例,其示例在附图中示出,其中相同的附图标记始终指代相同的元件。就此而言,本实施例可以具有不同的形式,并且不应被解释为限于本文所阐述的描述。因此,下面仅通过参考附图来描述实施例以说明各个方面。如本文所使用的,术语“和/或”包括一个或多个相关联的所列项目的任何和所有组合。诸如“至少一个”的表达式当在元素列表前面时,修改整个元素列表,而不修改列表中的单个元素。
这里使用的术语“在一些示例实施例中”和“在示例实施例中”不一定表示相同的实施例。
本发明的一些示例实施例可以由功能块和各种处理操作来表示。这些功能块中的一些或全部可以实现为用于执行特定功能的各种数量的硬件和/或软件组件。例如,本发明的功能块可以使用一个或多个微处理器来实现,或者可以使用用于预定功能的电路来实现。此外,例如,本发明的功能块可以用各种编程或脚本语言来实现。功能块可以实现为由一个或多个处理器执行的算法。此外,本发明可以采用用于电子环境设置、信号处理和/或数据处理的典型技术。诸如“机制”、“元件”、“部件”、“配置”等术语可在本文中广泛使用,且不限于机械和物理配置。
图1是示出根据一些示例实施例的人工智能计算半导体器件的示例框图。
参考图1,根据一些实施例的人工智能计算半导体器件10包括控制单元100、参数存储器110、引导电路(boot strapping circuit)130、总线140、乘法和累加器计算器(Multiply and Accumulator calculator,MAC)160和同态激活器150。
控制单元100可以被配置为根据一些示例实施例一般地控制人工智能计算半导体器件10的操作。例如,控制单元100可以解释从主机(未示出)提供的命令等,并且取决于解释结果控制人工智能计算半导体器件10的操作。例如,可以向控制单元100提供来自主机的程序命令/地址/数据等,并根据人工智能计算半导体器件10的命令执行操作。
参数存储器110可以被配置为存储由MAC 160使用的数据。例如,参数存储器110可以存储用于MAC 160的计算的数据,并通过总线140将数据发送到MAC 160。存储在参数存储器110中的数据可以是例如在人工智能计算中使用的权重。存储在参数存储器110中的数据还可以是例如人工智能计算所需的参数值或同态计算的中间值。参数存储器110可以包括但不限于SRAM(静态随机存取存储器)。
引导电路130可以被配置为移除在对由MAC 160同态加密的数据执行密钥切换之后生成的错误。例如,当MAC 160执行计算超过预定次数时,引导电路130可以重新启动同态加密的密码文本。
同态激活器150可以被配置为由MAC 160使用以执行非线性计算。例如,同态激活器150可以被配置为在人工智能计算中使用由MAC 160同态加密的数据来执行非线性计算。此时,同态激活器150可以对同态加密的数据执行非线性计算。为了对同态加密的数据执行非线性计算,可以在同态激活器150中包括近似电路模型。近似电路模型可以是例如将同态加密的数据转换为泰勒级数的近似模型。此外,同态激活器150可以支持各种非线性函数,诸如校正线性单元(ReLU)、高斯误差线性单元(GeLU)、Sigmoid、Tanh和Square。
MAC 160可以包括NTT(数值理论变换)/INTT(逆NTT)电路161、密码文本乘法器162、密码文本加法器/减法器163、旋转器164、重线性化器(relinearizer)165和重标度器(rescaler)166。
NTT/INTT电路161可以被配置为处理基于RLWE(Ring Learning With Errors,利用错误的环学习)的同态密码文本的乘法计算。例如,NTT/INTT电路161可以被配置为有效地转换数据和/或逆转换数据以简化多项式乘法的计算复杂性。
例如,基于RLWE的同态密码文本可以以多项式的形式生成。此时,当对多项式形式的基于RLWE的同态密码文本执行乘法计算时,可以执行卷积计算。多项式之间的乘法可能需要大量的计算。例如,n项多项式和n项多项式之间的乘法可能需要n2的计算量。
然而,当执行基于RLWE的同态密码文本的乘法计算时,NTT/INTT电路161可以被配置为对基于RLWE的同态密码文本执行NTT变换,然后执行按元素(element-wise)乘法。之后,NTT/INTT电路161可以通过对经过NTT变换的基于RLWE的同态密码文本上的每个元素执行乘法,然后执行INTT变换,来以低计算量执行多项式之间的乘法。例如,通过利用NTT/INTT电路161,n项多项式和n项多项式之间的乘法可以仅需要n*log(n)的计算量。
密码文本乘法器162可以被配置为执行基于RLWE的同态密码文本之间的乘法计算。
密码文本加法器/减法器163可以被配置为在基于RLWE的同态密码文本之间执行加法和/或减法。
根据一些实施例,MAC 160还可以包括在密码文本之间执行XOR操作、XNOR操作、AND操作等的电路,但不限于此。
旋转器164可以被配置为对同态密码文本执行循环移位。例如,旋转器164可以执行密码文本的时隙的循环移位。该时隙可以包括在其中执行同态加密的、通过封装数据矢量化的密码文本的一部分。
重线性化器165可以被配置为减小通过NTT/INTT电路161和/或密码文本乘法器162计算量增加的密码文本的维数(dimension)。例如,重新线性化器165可以将通过NTT/INTT电路161和/或密码文本乘法器162计算量增加的密码文本的维数恢复到密码文本之间的乘法计算之前的维数。
重标度器166可以被配置为减小在通过NTT/INTT电路161和/或密码文本乘法器162执行的密码文本之间的乘法计算之后的乘法密码文本的维数。重标度器166还可以被配置为对乘法密码文本执行舍入处理。
根据一些实施例,人工智能计算半导体器件10可以具有深度神经网络(DNN)和/或n层神经网络的架构。DNN和/或n层神经网络可以对应于卷积神经网络(CNN)、递归神经网络(RNN)、深层信念网络、受限玻尔兹曼机(restricted Boltzmann machine)等。例如,神经网络2可以实现为CNN、人工神经网络(ANN)系统、深度学习系统、反卷积神经网络(DCNN)、堆叠神经网络(SNN)、状态空间动态神经网络(SSDNN)、深度信念网络(DBN)、生成对抗网络(GAN)和/或受限玻耳兹曼机(RBM),但不限于此。
替代地和/或另外地,此类人工智能架构系统可以包括其他形式的机器学习模型,诸如,线性和/或逻辑回归、统计聚类、贝叶斯分类、决策树、维数缩减(诸如主成分分析)和专家系统;和/或其组合,包括诸如随机林的集合。在一些示例实施例中,除了多个卷积层之外,人工智能架构系统还可以包括池层、完全连接层等。
控制单元100、引导电路130、同态激活器150和MAC 160可以包括和/或被包括在例如处理电路(诸如包括逻辑电路的硬件;硬件/软件组合,诸如执行软件的处理器;或其组合)中。例如,处理电路更具体地可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)和可编程逻辑单元、微处理器、专用集成电路(ASIC)。用于人工智能计算半导体器件10的操作的指令可以包括在计算机可访问介质(未示出)中,例如,非暂时性存储器系统。一般地,如本文所使用的术语“非暂时性”是介质本身的限制(例如,作为有形的,而不是信号),而不是对数据存储持久性的限制(例如,RAM与ROM)。
图2是用于说明根据一些示例实施例的人工智能计算半导体器件的操作的示例流程图。
参考图1和2,首先,MAC 160对作为同态加密的目标的第一消息执行编码,以生成第一纯文本(S100)。例如,此时,MAC 160可以对第一消息进行矢量化和编码。这将通过图3作为示例进一步说明。
图3是用于说明根据一些示例实施例的人工智能计算半导体器件的编码操作的示例图。
参考图3,可以对由4*4矩阵构成的第一消息m执行编码。此时,可以通过对通过矢量化第一消息m而获得的第一矢量v执行编码来生成第一纯文本c。第一矢量v可以是要由旋转器164旋转的时隙。可以通过填充多个时隙来形成第一纯文本c。
再次参考图1和2,对第一纯文本进行加密以生成第一密码文本(S200)。例如,可以在第一纯文本上使用公钥和/或密钥来生成第一密码文本。
在示例实施例中,可以并行地生成多个密码文本,包括第一密码文本。
之后,可以对多个密码文本中的一些密码文本执行同态计算(S300)。例如,可以通过NTT/INTT电路161、密码文本乘法器162和/或密码文本加法器/减法器163对多个密码文本中的一些密码文本执行同态乘法和/或加法/减法。
根据一些实施例的同态计算不限于此,并且可以在多个密码文本中的一些密码文本之间执行XOR操作、XNOR操作和/或AND操作。
在上述同态计算中,执行同态乘法计算可能需要大量计算。也就是说,随着计算量的增加,人工智能计算器件的计算速度可能降低。
为了防止该问题,在根据一些实施例的人工智能计算半导体器件10的同态计算时通过旋转器164执行旋转。这将通过图4作为示例来说明。
图4是用于说明根据一些示例实施例的人工智能计算半导体器件的一些计算的示例图。
参考图4,当直接执行封装了多个时隙的第一密码文本p1和封装了多个时隙的第二密码文本p2之间的同态乘法计算(·)时,可能需要大量的计算。
因此,为了减少计算量,首先,如图4的右侧所示,准备通过旋转器164对第一密码文本p1和第二密码文本p2中的每一个进行时隙的循环移位而获得的每个旋转密码文本。例如,通过旋转器164对第1密码文本p1进行循环移位而获得的密码文本可以包括1st_1密码文本p1_1、1st_2密码文本p1_2和1st_3密码文本p1_3。此外,通过旋转器164对第二密码文本p2进行循环移位而获得的密码文本可以是2nd_1密码文本p2_1、2nd_2密码文本p2_2和2nd_3密码文本p2_3。
之后,可以在相应的旋转密码文本之间执行简单的矩阵乘法计算(⊙)。例如,可以相乘1st_1密码文本p1_1和2nd_1密码文本p2_1,相乘1st_2密码文本p1_2和2nd_2密码文本p2_2,以及相乘1st_3密码文本p1_3和2nd_3密码文本p2_3。
最后,可以对通过在每个旋转密码文本之间的简单矩阵乘法计算(⊙)获得的值执行加法计算(+)。例如,可以将通过相乘1st_1密码文本p1_1和2nd_1密码文本p2_1而获得的值、通过相乘1st_2密码文本p1_2和2nd_2密码文本p2_2而获得的值以及通过相乘1st_3密码文本p1_3和2nd_3密码文本p2_3而获得的值相加。
如上所述,在通过旋转器164执行每个密码文本的循环移位之后,可以执行简单矩阵乘法,并且对经过简单矩阵乘法的值进行相加,从而减少用于密码文本之间的乘法计算的计算量。
再次参考图1和2,可以通过同态计算获得第二密码文本(S400)。之后,可以解密第二密码文本以生成第二纯文本(S500)。最后,第二纯文本可以被解码以生成第二消息(S600)。
图5和6是用于说明根据一些示例实施例的包括人工智能计算半导体器件的电子设备的示例框图。
电子设备20和/或22可以是例如移动电话、移动计算机、可穿戴计算机、平板计算机、膝上型计算机、个人数字助理等的移动电子设备。
参考图5,根据一些实施例,包括人工智能半导体器件10的电子设备20包括APU(应用处理单元)200和存储器220。
APU 200可以包括CPU(中央处理单元)210和根据一些实施例的人工智能计算半导体器件10。
根据一些实施例,CPU 210可以被配置为控制APU 200和/或控制人工智能计算半导体器件10。例如,CPU 210可以执行用于控制APU 200和/或人工智能计算半导体器件10的软件,并且可以执行各种数据处理和/或计算。为此,CPU 210可以将来自数据区域230的各种数据加载到存储器220中。替代地,CPU 210可以在存储器220的数据区域230中写入各种数据。
存储器220可以包括但不限于非易失性存储器。存储器220的部分区域可以被分配给数据区域230,用于存储向CPU 210发送和从CPU 210接收的数据。当执行同态加密时,由于密码文本的维数变得相对大于纯文本的维数,因此通过分配专用区域240,可以更有效地执行同态加密。根据一些实施例,存储器220的另一部分区域可以分配给专用区域240,用于向人工智能计算半导体器件10发送数据和从人工智能计算半导体器件10接收数据。
通过将存储器220划分为数据区域230和专用区域240,可以并行地处理不同的加密。例如,可以并行处理Rivest–Shamir–Adleman(RSA)加密和同态加密。
专用区域240可以包括例如用于存储人工智能计算所需的权重的区域250和/或用于存储公钥的区域260。
然而,包括根据一些实施例的人工智能计算半导体器件10的电子设备20的配置不限于此。
例如,参考图6,在包括人工智能计算半导体器件10的电子设备22中,根据一些实施例,人工智能计算半导体器件10可以在APU 200-2外部。
在电子设备20和22中,人工智能计算半导体器件10可以被配置为与APU 200和200-2一起操作,和/或独立于APU 200和200-2。
图7到10是根据一些示例实施例的用于说明包括人工智能计算半导体器件的存储器件的示例框图。
作为参考,根据一些实施例,包括人工智能半导体设备10的存储器件可以实现为但不限于智能卡、SD(安全数字)卡、多媒体卡(MMC)、嵌入式MMC(eMMC)、嵌入式多芯片封装(eMCP)、PPN(完美页NAND)、通用闪存(UFS)、USB闪存驱动器、固态驱动器(SSD)和/或嵌入式SSD(eSSD)。
参考图7,包括根据一些实施例的人工智能计算半导体器件的存储器件30可以包括控制器310和非易失性存储器器件320。
控制器310可以被配置为解释来自主机300的命令等,并取决于解释结果来控制包括根据一些实施例的人工智能计算半导体器件10的存储器件30的操作。例如,控制器310可以被提供有来自主机300的程序命令/地址/数据,并且可以将数据存储在包括人工智能计算半导体器件10的存储器件30的地址中。此外,控制器310可以被配置为从主机300接收读取命令/地址等,并且从非易失性存储器器件320读取和输出存储在包括人工智能计算半导体器件10的存储器件30的地址中的数据。
根据一些示例实施例,控制器310可以包括CPU 314、DRAM 318和人工智能计算半导体器件10。
CPU 314可以被配置为通过解释从主机300接收的命令等来控制人工智能计算半导体器件10的操作。
根据一些实施例,人工智能计算半导体器件10可以被配置为通过CPU 314的控制来执行同态加密操作。此时,根据一些实施例,由人工智能计算半导体器件10使用的数据可以存储在DRAM 318中。例如,DRAM 318可以被配置为存储用于人工智能计算半导体器件10的同态加密计算的数据,并且将存储的数据重新发送到人工智能计算半导体器件10。
可以将非易失性存储器器件(NVM)320的一部分分配给数据区域330。可以将非易失性存储器器件320的另一部分分配给专用区域340。
数据区域330和专用区域340可以被配置为包括彼此相同和/或不同的形式。例如,数据区域330可以被配置为包括MLC(多层单元),并且专用区域340可以被配置为包括SLC(单层单元)。然而,本实施例不限于此,并且数据区域330可以被配置为包括TLC(三层单元),并且专用区域340可以被配置为包括MLC(多层单元)。或者,数据区域330可以被配置为包括TLC(三层单元),并且专用区域340可以配置为包括SLC(单层单元)。
在示例实施例中,数据区域330可以被配置为存储不用于人工智能计算半导体器件10的计算的数据,而专用区域340可以被配置为存储DRAM 318的一些数据。存储在专用区域340中的数据可以是例如用于人工智能计算的权重。
参考图8,在包括根据一些实施例的人工智能计算半导体器件10的存储器件32中。在描述图8时,将省略与图7的描述重叠的描述。在存储器件32中,与包括根据图7的示例实施例的人工智能计算半导体设备10的存储器件30不同,人工智能计算半导体设备10可以与控制器310-2分离和/或布置在控制器310-2外部。
参考图9,在包括根据一些实施例的人工智能计算半导体器件10的存储器件34中。在描述图9时,将省略与图7和8的描述重叠的描述。在存储器件34中,与包括根据图7的示例实施例的人工智能计算半导体设备10的存储器件30不同,专用区域340-4可以位于控制器310-4内部。例如,控制器310可以包括包含专用区域340的非暂时性存储器。与根据图7的一些实施例的包括数据区域330和专用区域340的非易失性存储器器件320不同,可以将非易失性存储器器件320-4分配给数据区域330。
参考图10,在包括人工智能计算半导体器件10的存储器件36中,根据一些实施例,与包括根据图9的示例实施例的人工智能计算半导体器件10的存储器件34不同,专用区域340-6可以位于DRAM 318-6内部。在存储器件36中,与包括根据图8的示例实施例的人工智能计算半导体设备10的存储器件32不同,人工智能计算半导体设备10可以位于控制器310-6内部。非易失性存储器器件320-6可以是根据图9的一些实施例的非易失性存储器器件320-4。
在结束详细描述时,本领域技术人员将理解,在不实质上脱离本发明构思的原理的情况下,可以对优选实施例进行许多变化和修改。因此,本发明公开的优选实施例仅在一般和描述性意义上使用,而不是出于限制的目的。

Claims (20)

1.一种人工智能计算半导体器件,包括:
控制单元;以及
乘法和累加器计算器MAC,被配置为通过所述控制单元执行同态加密计算,
其中,所述MAC被配置为
通过数据的变换或逆变换,进行同态乘法计算,生成密码文本,
在所述密码文本之间执行乘法计算,
在所述密码文本之间执行加法和减法计算,以及
执行所述密码文本的时隙的循环移位。
2.根据权利要求1所述的人工智能计算半导体器件,还包括:
引导电路,被配置为移除所述密码文本中的错误。
3.根据权利要求1所述的人工智能计算半导体器件,还包括:
同态激活器,被配置为对所述密码文本进行非线性计算。
4.根据权利要求3所述的人工智能计算半导体器件,其中,所述同态激活器被配置为通过将经过通过所述密码文本乘法器的乘法计算的密码文本和经过密码文本加法或减法计算的密码文本的组合来生成非线性计算的近似值。
5.根据权利要求1所述的人工智能计算半导体器件,其中,所述MAC还被配置为减小所述密码文本的大小。
6.根据权利要求1所述的人工智能计算半导体器件,其中,所述MAC还被配置为减小所述密码文本的维数并交换重线性密钥。
7.根据权利要求1所述的人工智能计算半导体器件,还包括:
参数存储器,被配置为存储用于所述人工智能计算的参数值和所述同态加密计算的中间值中的至少一个。
8.根据权利要求7所述的人工智能计算半导体器件,其中,所述参数存储器是SRAM。
9.根据权利要求7所述的人工智能计算半导体器件,其中,所述参数值是权重。
10.根据权利要求7所述的人工智能计算半导体器件,其中,所述参数值是同态加密的并且被存储在所述参数存储器中。
11.根据权利要求7所述的人工智能计算半导体器件,其中,所述参数值作为纯文本被存储在所述参数存储器中。
12.一种电子设备,包括:
存储器器件,包括被配置为存储数据的数据区域;
中央处理器单元CPU,被配置为控制所述存储器器件发送和接收所述数据;以及
人工智能计算半导体器件,被配置为通过执行同态加密计算来执行人工智能计算,
其中,所述人工智能计算半导体器件包括乘法和累加器计算器MAC,所述MAC被配置为
通过数据的变换或逆变换,进行同态乘法计算,生成密码文本,
在所述密码文本之间执行乘法计算,
在所述密码文本之间执行加法和减法计算,以及
执行所述密码文本的时隙的循环移位。
13.根据权利要求12所述的电子设备,其中,所述存储器器件包括人工智能计算专用区域,所述人工智能计算专用区域被配置为存储用于执行所述同态加密计算的参数值。
14.根据权利要求13所述的电子设备,其中,所述参数值包括权重和公钥。
15.根据权利要求12所述的电子设备,其中,所述人工智能计算半导体器件还包括
引导电路,被配置为移除所述密码文本中的错误,以及
同态激活器,被配置为对所述密码文本进行非线性计算。
16.根据权利要求15所述的电子设备,其中,所述MAC计算器还被配置为
减小所述密码文本的维数,以及
减小所述密码文本的所述维数并交换重线性密钥。
17.一种存储器件,包括:
非易失性存储器器件,包括被配置为存储数据的数据区域;
控制器,被配置为控制所述非易失性存储器器件发送和接收所述数据;以及
人工智能计算半导体器件,被配置为通过执行同态加密计算来执行人工智能计算,
其中,所述人工智能计算半导体器件包括乘法和累加器计算器MAC,以及
其中,所述MAC被配置为
通过数据的变换或逆变换,进行同态乘法计算,生成密码文本,
在所述密码文本之间执行乘法计算,
在所述密码文本之间执行加法和减法计算,以及
执行所述密码文本的时隙的循环移位。
18.根据权利要求17所述的存储器件,其中,所述非易失性存储器器件包括人工智能计算专用区域,所述人工智能计算专用区域被配置为存储用于执行所述同态加密计算的参数值。
19.根据权利要求18所述的存储器件,其中,所述数据区域被配置为包括多层单元MLC,以及
所述人工智能计算专用区域被配置为包括单层单元SLC。
20.根据权利要求17所述的存储器件,其中,所述人工智能计算半导体器件还包括
引导电路,被配置为移除所述密码文本中的错误,以及
同态激活器,被配置为对所述密码文本进行非线性计算,以及
其中,所述MAC计算器还被配置为减小所述密码文本的维数,以及减小所述密码文本的所述维数并交换重线性密钥。
CN202110576252.9A 2020-05-27 2021-05-26 人工智能计算半导体器件和包含该器件的存储器件 Pending CN113742741A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0063361 2020-05-27
KR1020200063361A KR20210146513A (ko) 2020-05-27 2020-05-27 인공 지능 연산 반도체 장치 및 이를 포함하는 저장 장치

Publications (1)

Publication Number Publication Date
CN113742741A true CN113742741A (zh) 2021-12-03

Family

ID=74505048

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110576252.9A Pending CN113742741A (zh) 2020-05-27 2021-05-26 人工智能计算半导体器件和包含该器件的存储器件

Country Status (4)

Country Link
US (1) US11895219B2 (zh)
EP (1) EP3917068A1 (zh)
KR (1) KR20210146513A (zh)
CN (1) CN113742741A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11700110B2 (en) * 2020-09-16 2023-07-11 The Johns Hopkins University Approximate algebraic operations for homomorphic encryption
KR102451633B1 (ko) * 2021-12-09 2022-10-06 인하대학교 산학협력단 동형암호를 위한 암호화 처리 장치 및 방법
US11764944B2 (en) * 2021-12-30 2023-09-19 Huawei Technologies Co., Ltd. Field-programmable gate array (FPGA) clusters and methods of using an FPGA cluster for homomorphic encryption acceleration
KR102498123B1 (ko) * 2022-07-15 2023-02-09 인하대학교 산학협력단 동형암호를 위한 가변적으로 동작하는 ntt 기반 다항식 곱셈기 장치 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101425020B1 (ko) * 2008-03-17 2014-08-04 삼성전자주식회사 메모리 장치 및 데이터 판정 방법
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US10075288B1 (en) * 2014-02-28 2018-09-11 The Governing Council Of The University Of Toronto Systems, devices, and processes for homomorphic encryption
US20170293913A1 (en) * 2016-04-12 2017-10-12 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
US10298385B2 (en) * 2017-04-11 2019-05-21 The Governing Council Of The University Of Toronto Homomorphic processing unit (HPU) for accelerating secure computations under homomorphic encryption
US10541805B2 (en) * 2017-06-26 2020-01-21 Microsoft Technology Licensing, Llc Variable relinearization in homomorphic encryption
EP3461054A1 (en) 2017-09-20 2019-03-27 Universidad de Vigo System and method for secure outsourced prediction
US10198399B1 (en) * 2018-03-06 2019-02-05 KenSci Inc. Cryptographically secure machine learning
US11063759B2 (en) * 2018-04-27 2021-07-13 The University Of Akron Blockchain-empowered crowdsourced computing system
US11087223B2 (en) * 2018-07-11 2021-08-10 International Business Machines Corporation Learning and inferring insights from encrypted data
US11575500B2 (en) * 2018-07-25 2023-02-07 Sap Se Encrypted protection system for a trained neural network
KR102040120B1 (ko) * 2018-07-27 2019-11-05 주식회사 크립토랩 근사 암호화된 암호문에 대한 연산을 수행하는 장치 및 방법
KR102129183B1 (ko) 2018-11-23 2020-07-01 세종대학교산학협력단 특징 융합 기반 주가 예측 방법 및 시스템
US10972252B2 (en) * 2019-06-18 2021-04-06 International Business Machines Corporation Compressible (F)HE with applications to PIR
US20210081807A1 (en) * 2019-09-17 2021-03-18 Sap Se Non-Interactive Private Decision Tree Evaluation

Also Published As

Publication number Publication date
US11895219B2 (en) 2024-02-06
US20210376997A1 (en) 2021-12-02
KR20210146513A (ko) 2021-12-06
EP3917068A1 (en) 2021-12-01

Similar Documents

Publication Publication Date Title
CN113742741A (zh) 人工智能计算半导体器件和包含该器件的存储器件
US9710748B2 (en) Neural network processor
US10534836B2 (en) Four steps associative full adder
US11705191B2 (en) Non-volatile memory die with deep learning neural network
CN111630502B (zh) 用于神经网络处理器的统一存储器组织
US9734129B2 (en) Low complexity partial parallel architectures for Fourier transform and inverse Fourier transform over subfields of a finite field
EP3789925A1 (en) Non-volatile memory die with deep learning neural network
US11854661B2 (en) Copy data in a memory system with artificial intelligence mode
CN115552523A (zh) 使用存储器内处理的基于计数器的乘法
US11190340B2 (en) Efficient unified hardware implementation of multiple ciphers
US20230253020A1 (en) Activation functions for artificial intelligence operations
US20220391172A1 (en) Implementation of Softmax and Exponential in Hardware
US20230176739A1 (en) Artificial intelligence accelerator
KR20210079785A (ko) 뉴럴 네트워크의 컨볼루션 연산 처리 방법 및 장치
US20200184335A1 (en) Non-volatile memory die with deep learning neural network
CN116800466A (zh) 函数加密系统和执行函数加密的方法
US9571281B2 (en) CRT-RSA encryption method and apparatus
US20230015438A1 (en) Debug operations on artificial intelligence operations
US9720851B2 (en) Method and apparatus for managing access to a memory
US20230269067A1 (en) Homomorphic encryption operation accelerator, and operating method of homomorphic encryption operation accelerator
US20230205491A1 (en) System and Method for Big Number Hardware Multiplication for Cryptography
US20230418600A1 (en) Non-volatile memory die with latch-based multiply-accumulate components
US20220222044A1 (en) Multiplication-and-accumulation circuits and processing-in-memory devices having the same
CN111213122A (zh) 模逆运算器、模逆运算方法及安全系统
US11354428B2 (en) Data values encryption method

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