Automated transition from non-neuromorphic to neuromorphic processing

US10346211B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10346211-B2
Application numberUS-201816039949-A
CountryUS
Kind codeB2
Filing dateJul 19, 2018
Priority dateFeb 5, 2016
Publication dateJul 9, 2019
Grant dateJul 9, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An apparatus includes a processor to: assign a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of an analytical function; in response to availability of sufficient remaining processing resources for a first neuromorphic performance of the analytical function with the same input values, assign a portion of the remaining processing resources to the first neuromorphic performance; analyze the output values generated by the first neuromorphic and non-neuromorphic performances to determine a degree of accuracy of the neural network in performing the analytical function; in response to at least the degree of accuracy exceeding a predetermined threshold, assign a portion of currently available processing resources to a second neuromorphic performance of the analytical function; and in response to availability of sufficient remaining processing resources for a second non-neuromorphic performance of the analytical function, assign a portion of the remaining instruction-based processing resources to the second non-neuromorphic performance.

First claim

Opening claim text (preview).

The invention claimed is: 1. An apparatus comprising a processor and a storage to store instructions that, when executed by the processor, cause the processor to perform operations comprising: receive a first request to perform an analytical function with a first data set comprising multiple sets of input values to generate multiple corresponding sets of output values; assign, as part of a first assignment of processing resources, at least a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of the analytical function with the first data set, and with at least a predetermined level of throughput, through execution of instructions implementing the analytical function by one or more processor cores; after the assignment of instruction-based processing resources to the first non-neuromorphic performance, analyze a state of remaining processing resources; and in response to current availability of sufficient remaining processing resources to enable a first neuromorphic performance of the analytical function with at least a subset of the sets of input values of the first data set through use of a neural network defined by at least a set of hyperparameters, and at least partly in parallel with the first non-neuromorphic performance: assign, as part of the first assignment, at least a portion of the remaining processing resources to the first neuromorphic performance; analyze the sets of output values generated from the subset of the sets of input values by the first neuromorphic performance relative to corresponding sets of output values generated by the first non-neuromorphic performance to determine a first degree of accuracy of the neural network in performing the analytical function; and in response to at least the first degree of accuracy exceeding a predetermined higher threshold, in response to receipt of a second request from a requesting device to perform the analytical function with a second data set comprising multiple sets of input values to generate multiple corresponding sets of output values, and in response to current availability of sufficient processing resources to enable a second neuromorphic performance of the analytical function with the second data set through use of the neural network, and with at least the predetermined level of throughput: assign, as part of a second assignment of processing resources, at least a portion of currently available processing resources to the second neuromorphic performance; after the assignment of processing resources to the second neuromorphic performance, analyze a state of remaining instruction-based processing resources currently available; and in response to current availability of sufficient remaining instruction-based processing resources to enable a second non-neuromorphic performance of the analytical function with at least a subset of the sets of input values of the second data set through execution of instructions implementing the analytical function by one or more processor cores, and at least partly in parallel with the second neuromorphic performance: assign, as part of the second assignment, at least a portion of the remaining instruction-based processing resources to the second non-neuromorphic performance; analyze the sets of output values generated from the subset of the sets of input values by the second neuromorphic performance relative to corresponding sets of output values generated by the second non-neuromorphic performance to determine a second degree of accuracy of the neural network in performing the analytical function; and in response to at least the second degree of accuracy exceeding the predetermined higher threshold, transmit the multiple sets of output values generated from the second data set by the second neuromorphic performance to the requesting device. 2. The apparatus of claim 1 , wherein the assignment of instruction-based processing resources to the first non-neuromorphic performance comprises an assignment of one or more processor cores of one or more processors comprising at least one of one or more central processing units (CPUs), or one or more graphics processing units (GPUs). 3. The apparatus of claim 2 , wherein: the one or more processor cores of the one or more processors are processors distributed among multiple node devices of a grid of node devices; and the assignment of instruction-based processing resources to the first non-neuromorphic performance comprises an assignment of processing resources of the multiple node devices to the first non-neuromorphic performance. 4. The apparatus of claim 2 , wherein: the assignment of at least a portion of remaining processing resources to the first neuromorphic performance comprises an assignment of at least a subset of one or more remaining processor cores, or an assignment of at least a portion of each of one or more neuromorphic devices; each of the remaining processor cores are programmable to instantiate at least a portion of the neural network; each of the neuromorphic devices comprises at least one of a field-programmable gate array (FPGA), or an application-specific integrated circuit (ASIC); and each of the neuromorphic devices comprises sets of circuits that each implement an artificial neuron able to be included in the neural network. 5. The apparatus of claim 1 , wherein: the set of hyperparameters specifies a quantity of artificial neurons within the neural network; and the analysis of the state of remaining processing resources after the assignment of instruction-based processing resources to the first non-neuromorphic performance comprises a determination of whether sufficient processing resources are available to instantiate the specified quantity of artificial neurons. 6. The apparatus of claim 1 , wherein the processor is caused, in response to at least the second degree of accuracy exceeding the predetermined higher threshold, in response to receipt of a third request from a requesting device to perform the analytical function with a third data set comprising multiple sets of input values to generate multiple corresponding sets of output values, and in response to current availability of sufficient processing resources to enable a third neuromorphic performance of the analytical function with the third data set through use of the neural network, and with at least the predetermined level of throughput, to: assign, as part of a third assignment of processing resources, at least a portion of currently available processing resources to the third neuromorphic performance; and refrain from assigning processing resources to a third non-neuromorphic performance of the analytical function with the third data set through execution of instructions implementing the analytical function by one or more processor cores. 7. The apparatus of claim 1 , wherein the processor is caused, in response to at least the first degree of accuracy falling below a predetermined lower threshold that is lower than the predetermined higher threshold, provide an indication that the performance of the analytical function by the neural network is deemed insufficiently accurate to be used. 8. The apparatus of claim 7 , wherein the processor is caused, in response to at least the first degree of accuracy falling below the predetermined higher threshold and above the predetermined lower threshold, to perform operations comprising: assign at least a portion of currently available processing resources to instantiating the neural network in a training mode; and use backpropagation to train the neural network with the multiple sets of input values of the first data set and the corresponding multiple sets of output values generated by the first non-neuromorphic

Assignees

Inventors

Classifications

  • G06F9/5027Primary

    the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • H04L67/10Primary

    in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Validation; Performance evaluation; Active pattern learning techniques · CPC title

  • Architecture, e.g. interconnection topology · CPC title

  • Machine learning · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10346211B2 cover?
An apparatus includes a processor to: assign a portion of currently available instruction-based processing resources to a first non-neuromorphic performance of an analytical function; in response to availability of sufficient remaining processing resources for a first neuromorphic performance of the analytical function with the same input values, assign a portion of the remaining processing res…
Who is the assignee on this patent?
Sas Inst Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5027. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 09 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).