Selection of experts energy based model gadget

The use of thermodynamic chips with energy-based models addresses execution latency and energy inefficiencies in machine learning by enabling efficient information relay within a neuro-thermodynamic computer.

WO2026063962A2PCT designated stage Publication Date: 2026-03-26EXTROPIC CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-06
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Machine learning algorithms using Bayesian statistics or thermodynamic computers face challenges in execution latency and energy efficiency due to complex calculations and information conversion between computing devices.

Method used

Implementing a thermodynamic chip with energy-based models, such as SoftMax and multiplication gadgets, to select and relay information between energy-based models using thermodynamic states, reducing the need for classical computing and minimizing readout errors.

Benefits of technology

Enhances efficiency and energy savings by directly relaying thermodynamic information within a neuro-thermodynamic computer, avoiding delays and errors associated with classical computing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025018755_26032026_PF_FP_ABST
    Figure US2025018755_26032026_PF_FP_ABST
Patent Text Reader

Abstract

A thermodynamic selection of experts energy-based model gadget includes a SoftMax gadget, a set of oscillators having a potential which is used to modify input data, and multiple energy-based models for processing data. The SoftMax gadget may produce one-hot encoded vectors which may be used by the set of oscillators having a potential which is used to modify input data, such that the modified input data corresponds to one of the multiple energy-based models for processing data.
Need to check novelty before this filing date? Find Prior Art

Description

SELECTION OF EXPERTS ENERGY BASED MODEL GADGET BACKGROUND

[0001] Various algorithms, such as machine learning algorithms, often use statistical probabilities to make decisions or to model systems. Some such learning algorithms may use Bayesian statistics, or may use other statistical models that have a theoretical basis in natural phenomena. Also, machine learning algorithms themselves may be implemented using Bayesian statistics, or may use other statistical models that have a theoretical basis in natural phenomena.

[0002] Generating such statistical probabilities may involve performing complex calculations which may require both time and energy to perform, thus increasing a latency of execution of the algorithm and / or negatively impacting energy efficiency. In some scenarios, calculation of such statistical probabilities using classical computing devices may result in non-trivial increases in execution time of algorithms and / or energy usage to execute such algorithms.

[0003] As an alternative, algorithms may be performed using thermodynamic computers. However, communication between multiple algorithms implemented on a thermodynamic computing device and / or communications between thermodynamic computing devices may require converting information into a classical computing device form, thus reducing at least some of the benefits of a thermodynamic computer implementation. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] FIG.1A is a high-level block diagram of a thermodynamic chip arrangement for a selection of experts gadget, according to some embodiments.

[0005] FIG. 1B is a block diagram of a set of SoftMax output oscillators in a particular one-hot vector configuration which selects a particular energy-based model, according to some embodiments.

[0006] FIG.1C is the high-level block diagram of the thermodynamic chip arrangement with the SoftMax output oscillators in the particular one-hot vector configuration, according to some embodiments.

[0007] FIG. 1D is a block diagram of a configuration for an overall selection of experts gadget which produces results using a set of energy-based models, according to some embodiments.

[0008] FIG.1E is a block diagram of a configuration for a multiplication gadget which accepts an input vector and results from a gating model such as a SoftMax gadget in order to select an energy- based model from a set of energy-based models to process the input vector, according to some embodiments.

[0009] FIG.2A is a block diagram of oscillators which are storing input data and a SoftMax data sample and oscillators of a multiplication gadget at a first time (^^^) such as prior to couplings between the oscillators being established, according to some embodiments.

[0010] FIG. 2B is a block diagram of the oscillators which are storing the input data and the SoftMax data sample and oscillators of the multiplication gadget at a second time (^^ଶ), such as after couplings between the oscillators are established and while thermodynamic evolution is occurring, according to some embodiments.

[0011] FIG. 2C is a block diagram of the oscillators which are storing the input data and the SoftMax data sample and oscillators of the multiplication gadget at a third time (^^ଷ), such as after thermodynamic equilibrium is reached and the multiplication gadget has a data sample representing an expectation value vector, according to some embodiments.

[0012] FIG. 2D is a block diagram of the oscillators which are storing the input data and the SoftMax data sample and oscillators of the multiplication gadget at a third time (^^ଷ), such as such as after thermodynamic equilibrium is reached and a set of data sample receiver oscillators are able to receive the data sample representing the expectation value vector from the multiplication gadget, according to some embodiments.

[0013] FIG. 3 illustrates an example coupling for an analog SoftMax gadget, wherein ancilla oscillators (^^^(ೕ^)) are used to emulate an all-to-all coupling between input / output oscillators (^^^ೕ) of the analog SoftMax gadget, wherein the input / output oscillators (^^^ೕ) and the additional oscillators (^^^ೕ(^)) have a reduced degree of connectivity as compared to input / output oscillators (^^^ೕ) used in an all-to-all coupling for a similar sized array of input / output oscillators, according to some embodiments.

[0014] FIG.4 illustrates graphs of potentials for a given oscillator of the analog SoftMax gadget, wherein the given oscillator has a dual-well potential. FIG.4 further illustrates how increasing the parameter in an engineered potential for the analog SoftMax gadget causes the walls and intermediate barrier between the two wells of the dual-well potential to be more steep, such that the dual-well oscillator is more likely to evolve to a value of 0 or 1 as required by the engineered potential for the analog SoftMax gadget, according to some embodiments.

[0015] FIG. 5 illustrates an example attention block of a machine learning model, that may be implemented in an analog manner using one or more thermodynamic chips, wherein an analog selection of experts gadget is used at least in part to implement an addition and normalization layer, according to some embodiments.

[0016] FIG.6 is a flowchart illustrating a process for implementing a selection of experts function using an analog selection of experts gadget, according to some embodiments.

[0017] FIG. 7A illustrates additional details of a relay gadget implemented using a thermodynamic chip, wherein the relay gadget is configured to relay thermodynamic information between a first energy-based model (EBM), such as a SoftMax gadget, and a second energy-based model (EBM), such as an analog multiplication gadget, according to some embodiments.

[0018] FIG.7B is high-level diagram similar to FIG.7A, wherein the relay gadget does not include a bias oscillator, according to some embodiments.

[0019] FIG. 8 is a high-level flowchart illustrating a process of relaying thermodynamic information between an output oscillator, such as of a SoftMax gadget, and an input oscillator, such as an input oscillator of a multiplication gadget, according to some embodiments.

[0020] FIG. 9 is a high-level diagram illustrating an output oscillator, an input oscillator, and a relay gadget, wherein the relay gadget comprises a group of relay oscillators and is configured to relay expectation values of thermodynamic information between the output oscillator and the input oscillator, according to some embodiments.

[0021] FIG. 10 is a high-level diagram illustrating a spatial analogue relay gadget, wherein respective ones of relay oscillators of a group of relay oscillators are configured to store respective sample values of an output oscillator, according to some embodiments.

[0022] FIG. 11 is a high-level diagram illustrating a temporal analogue relay gadget, wherein a group of relay oscillators comprises a single relay oscillator, according to some embodiments.

[0023] FIG.12 is a high-level diagram illustrating a series analogue relay gadget, wherein a group of relay oscillators comprises a plurality of relay oscillators arranged in series, according to some embodiments.

[0024] FIG.13A illustrates example couplings between visible neurons of an energy-based model (EBM), according to some embodiments.

[0025] FIG. 13B illustrates example couplings between visible neurons and non-visible neurons (e.g., hidden neurons) of an energy-based model (EBM), according to some embodiments.

[0026] FIG. 14 is high-level diagram illustrating a process of determining weights and biases to be used in an energy-based model (EBM), wherein the weights and biases are determined using measurement values for synapse oscillators, according to some embodiments.

[0027] FIG. 15 is high-level diagram illustrating a process of determining weights and biases to be used in an energy-based model (EBM), wherein the weights and biases are computed using a classical computing device, according to some embodiments.

[0028] FIG. 16 is high-level diagram illustrating an example neuro-thermodynamic computer comprising a thermodynamic chip (e.g., that implements one or more energy-based models (EBMs), an analog SoftMax gadget, and a relay gadget) included in a dilution refrigerator and coupled to a classical computing device in an environment external to the dilution refrigerator, according to some embodiments.

[0029] FIG. 17 is high-level diagram illustrating an example neuro-thermodynamic computer comprising a thermodynamic chip (e.g., that implements one or more energy-based models (EBMs), an analog SoftMax gadget, and a relay gadget) included in a dilution refrigerator and coupled to a classical computing device that is also included in the dilution refrigerator, according to some embodiments.

[0030] FIG. 18 is high-level diagram illustrating an example neuro-thermodynamic computer comprising one or more thermodynamic chips (e.g., that implement one or more energy-based models (EBMs), an analog SoftMax gadget, and a relay gadget) coupled to a classical computing device in an environment other than a dilution refrigerator, according to some embodiments.

[0031] FIG. 19 is a high-level diagram illustrating oscillators included in a substrate of a thermodynamic chip and a mapping of the oscillators to logical neurons or synapses of the thermodynamic chip, according to some embodiments.

[0032] FIG.20 is an additional high-level diagram illustrating oscillators included in a substrate of a thermodynamic chip mapped to logical neurons, weights, and biases (e.g., synapses) of a neuro-thermodynamic computing system, according to some embodiments.

[0033] FIG. 21 illustrates an example apparatus for measuring positions of oscillators of a thermodynamic chip using a flux read-out device, according to some embodiments.

[0034] FIG. 22 illustrates an example apparatus for measuring momentums of oscillators of a thermodynamic chip using a charge read-out device, according to some embodiments.

[0035] FIG.23 is a block diagram illustrating an example computer system that may be used in at least some embodiments.

[0036] While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e.,meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to. When used in the claims, the term “or” is used as an inclusive or and not as an exclusive or. For example, the phrase “at least one of x, y, or z” means any one of x, y, and z, as well as any combination thereof. DETAILED DESCRIPTION

[0037] The present disclosure relates to methods, systems, and an apparatus for processing data using a thermodynamic chip implementation of multiple energy-based models. The energy-based models that process data, which are called experts, are selected to process input data or modified input data based on the output of a SoftMax energy-based model gadget. For particular types of data, a particular expert of the set may be the best expert of the set of experts for processing the data. An analog SoftMax gadget and an analog multiplication gadget may be used in combination as parts of a selection of experts gadget to select expert energy-based models to process the data.

[0038] The selection of experts gadget may enable greater efficiency in a thermodynamic computer by reducing the training costs for deep learning by performing the function of a mixture model. The selection of experts gadget works with a gating function to select particular models based on input data. The gating function may be implemented by a SoftMax gadget or a similar selection gadget, and may take as input the initial input data or modified gating input data which has been modified from initial input data by an energy-based model as part of the gating function. The gating function may provide an indication of which energy-based model to which the multiplication gadget is to deliver the input data, which may be modified input data generated by combining the input data with the output of the gating gadget (i.e., the SoftMax gadget), which may use a gating function. In some embodiments, the gating function may provide weights that the selection of experts gadget may apply to the input data for the set of energy-based models which are to generate one or more outputs. The one or more outputs may be read out of the thermodynamic chip to a traditional computer or may be used in another energy-based model, for example, by being stored in relay gadgets.

[0039] Embodiments described herein further relate to performing computer operations using a thermodynamic chip and more specifically to relaying thermodynamic information between components, such as components of a neuro-thermodynamic computing device, while maintaining the information in a thermodynamic state. This can be contrasted with other approaches to communicate information that involve reading out thermodynamic information, such as using a classical computing device, and then relaying the information in classical form. For example, the ability to relay thermodynamic information directly between components in a neuro- thermodynamic computer avoids issues associated with readout to a classical computing device,such as read-out error, loss of information, and / or delays associated with performing readout. Moreover, if the information is to be used by another component of a neuro-thermodynamic computing device, relay of the information in a thermodynamic state avoids other delays such as would be incurred if required to initialize a receiving component to have an initial state corresponding to a state of the thermodynamic information that was read out from another component, wherein the relayed information is not already in a thermodynamic state. In some embodiments, such relay techniques as described herein may be used to relay thermodynamic information between energy-based models (EBMs). Such energy-based models (EBMs) may include trained models that evolve according to Langevin dynamics, and which may be used to generate inferences, such as machine learning (ML) inferences. For example, an ML model used to generate a ML inference may be physically implemented as a trained energy-based model (EBM).

[0040] An EBM may be an analog configuration of oscillators which may process and transfer information through connections to other oscillators. One type of information which the oscillators may use is the degrees of freedom of an oscillator, which may be represented by ^^. The EBMs may process the input data according to internal specifications. The internal specifications may be specific to the function of the EBMs, and may be specific to particular data types. A Hamiltonian or potential of an EBM may correspond to a function, such that an EBM with a particular Hamiltonian or potential is configured to execute the function associated with the Hamiltonian or potential. The EBMs may be analog devices implementing strategies used in deep learning for machine learning models, as are known for classical computing. A SoftMax gadget and a multiplication gadget are EBMs, and will be referred to by name to avoid confusion with the experts, which are the set of energy-based models that the SoftMax gadget and the multiplication gadget are selecting between.

[0041] Oscillators as used herein are described further at FIGs.19-20. A thermodynamic computer may use relay oscillators or relay gadgets to move information from one energy-based model to another. Relay oscillators and relay gadgets are described further at FIGs.7A-12.

[0042] In some embodiments, a neuro-thermodynamic processor may be configured such that learning algorithms for learning parameters of an energy-based model may be applied using Langevin dynamics. For example, as described herein, a thermodynamic chip of a neuro- thermodynamic processor may be configured such that, given a Hamiltonian that describes an energy-based model, weights and biases (e.g., synapses) may be calculated based on measurements taken from the thermodynamic chip as it naturally evolves according to Langevin dynamics. For example, a positive phase term, a negative phase term, and associated gradients needed todetermine updated weights and biases for the energy-based model may be simply computed on an accompanying classical computing device, such as a field programmable gate array (FPGA) or application specific integrated circuit (ASIC), based on measurements taken from the oscillators of the thermodynamic chip. Such calculations performed on the accompanying classical computing device may be simple and non-complex as compared to other approaches that use the classical computing device to determine statistical probabilities (e.g., without using a thermodynamic chip). Also, in some embodiments, weights and biases used in an energy-based model may be determined iteratively, for example wherein a classical computing device is used to generate updated weights and biases, and wherein resulting inference performance is compared to training data to determine whether additional iterative learning is needed.

[0043] In some embodiments, physical elements of a thermodynamic chip may be used to physically model evolution according to Langevin dynamics. For example, in some embodiments, a thermodynamic chip includes a substrate comprising oscillators implemented using superconducting flux elements. The oscillators may be mapped to neurons (visible or hidden) that “evolve” according to Langevin dynamics. For example, the oscillators of the thermodynamic chip may be initialized in a particular configuration and allowed to thermodynamically evolve. As the oscillators “evolve” degrees of freedom of the oscillators may be sampled. Values of these sampled degrees of freedom may represent, for example, vector values for neurons or synapses that evolve according to Langevin dynamics. For example, algorithms that use stochastic gradient optimization and require sampling during training, such as those proposed by Welling and Teh, and / or other algorithms, such as natural gradient descent, mirror descent, etc. may be implemented using a thermodynamic chip. In some embodiments, a thermodynamic chip may enable such algorithms to be implemented directly by sampling the neurons and / or synapses (e.g., degrees of freedom of the oscillators of the substrate of the thermodynamic chip) without having to calculate statistics to determine probabilities. As another example, thermodynamic chips may be used to perform autocomplete tasks, such as those that use Hopfield networks, which may be implemented using the Welling and Teh algorithm. For example, visible neurons may be arranged in a fully connected graph (such as a Hopfield network, etc.), and the values of the auto complete task may be learned using the Welling and Teh algorithm. In some embodiments, a relay gadget may be used to sample visible neurons of a first energy-based model (EBM) and provide the sampled thermodynamic information as an input to another energy-based model (EBM).

[0044] In some embodiments, a thermodynamic chip includes superconducting flux elements arranged in a substrate, wherein the thermodynamic chip is configured to modify magnetic fields that couple respective ones of the oscillators with other ones of the oscillators. In someembodiments, non-linear (e.g., anharmonic) oscillators are used that have dual-well potentials. These dual-well oscillators may be mapped to neurons of a given energy-based model that the thermodynamic chip is being used to implement. Also, in some embodiments, at least some of the oscillators may be harmonic oscillators with single-well potentials. In some embodiments, oscillators may be implemented using superconducting flux elements with varying amounts of non-linearity. In some embodiments, an oscillator may have a single well potential, a dual-well potential, or a potential somewhere in a range between a single-well potential and a dual-well potential. In some embodiments, visible neurons may be mapped to oscillators having a single well potential, a dual-well potential, or a potential somewhere in a range between a single-well potential and a dual-well potential.

[0045] In some embodiments, oscillators of a thermodynamic chip may also be used to represent values of weights and biases of the energy-based model. Thus, weights and biases that describe relationships between neurons may also be represented as dynamical degrees of freedom, e.g., using oscillators of the thermodynamic chip (e.g., synapse oscillators).

[0046] In some embodiments, parameters of an energy-based model or other learning algorithm may be learned through evolution of the oscillators of a thermodynamic chip.

[0047] As mentioned above, in some embodiments, the weights and biases of an energy-based model may be dynamical degrees of freedom (e.g., oscillators of a thermodynamic chip), in addition to neurons (hidden or visible) being dynamic degrees of freedom (e.g., represented by other oscillators of the thermodynamic chip). In such configurations, gradients needed for learning algorithms can be obtained by performing sampling of the synapse oscillators, such as position samples or momentum samples. For example, measurements of the synapse oscillators (position or momentum) performed on a time scale proportional to a thermalization time of the synapse oscillators, or on shorter time scales than the thermalization times of the synapse oscillators, can be used to compute time-averaged gradients in addition to space averaged gradients. In some embodiments, the variance of the time averaged or space averaged gradient (determined using synapse oscillator measurements) scales as 1 / t where t is the total measurement time. These gradients can be used to calculate new weights and bias values that may be used as synapse values in an updated version of the energy-based model. The process of making measurements and determining updated weights and biases may be repeated multiple times until a learning threshold for the energy-based model has been reached.

[0048] For example, there are various learning algorithms where one must use both positive and negative phase terms to perform parameter updates. For instance, in the implementation by Welling and Teh the parameters are updated as follows:^^௧ = ^^ + ^^௧ ) 1 ^ା^ ௧ 2 ൭−∇^^^ℰ^(^^௧ − ^^^^ ^ ∇^^^ℰ൫^^௧, ^^௧^൯ − ^^^^~^^^^(^^) ^∇^^^ℰ(^^௧, ^^)൧^ + ^^௧^ୀ^where ℰ^(^^௧) is some prior potential and the probability distribution for an energy-based model(EBM) with parameters ^^௧ given by ^^^^௧(^^) = ^^ିℰ(^^^,^^) / ^^, where Z is a partition function. In theabove equation, the first gradient term, where the visible nodes are clamped to the data will be referred to as the positive phase term. The second gradient term, where the visible nodes are sampled from ^^~^^^^௧(^^) will be referred to as the negative phase term (e.g., where the visiblenodes are unclamped). When hidden neurons are present, the parameter update rule is given by:

[0049] A selection of experts gadget as described herein uses parameter updates ^^^,௧ା^(for expert energy-based model parameters) and ^^௧ା^(for SoftMax parameters) which are based on the general parameter update rule above. The parameter updates ^^^,௧ା^and ^^௧ା^are further described with regard to FIG.1D.

[0050] For a neuro-thermodynamic processor, which includes visible neurons coupled via weights and biases that are also represented by degrees of freedom (e.g., synapse oscillators), the dynamics of the system for a three-body coupling between the synapse oscillators and the neuron oscillators (visible or hidden) are described by the following Hamiltonian:

[0051] Note that the above Hamiltonian uses a representation of couplings between neuron oscillators and synapse oscillators given by the terms proportional to alpha and beta. However, in some embodiments, a Hamiltonian with more general terms may be used. The above Hamiltonian is given as an example of an energy-based model, but others may be used within the scope of the present disclosure.

[0052] Broadly speaking, classes of algorithms that may benefit from implementation using a thermodynamic chip include those algorithms that involve probabilistic inference. Such probabilistic inferences (which otherwise would be performed using a CPU or GPU) may instead be delegated to the thermodynamic chip for a faster and more energy efficient implementation. At a physical level, the thermodynamic chip harnesses electron fluctuations in superconductors coupled in flux loops to model Langevin dynamics. In some embodiments, architectures such as those described herein may resemble a partial self-learning architecture, wherein classical computing device(s) (e.g., a FPGA, ASIC, etc.) may be relied upon only to perform simple tasks such as summing measured values and performing other non-compute intensive operations in order to implement a learning algorithm.

[0053] Note that in some embodiments, electro-magnetic or mechanical (or other suitable) oscillators may be used. A thermodynamic chip may implement neuro-thermodynamic computing and therefore may be said to be neuromorphic. For example, the neurons implemented using the oscillators of the thermodynamic chip may function as neurons of a neural network that has been implemented directly in hardware. Also, the thermodynamic chip is “thermodynamic” because the chip may be operated in the thermodynamic regime slightly above 0 Kelvin, wherein thermodynamic effects cannot be ignored. For example, some thermodynamic chips may be operated within the milli-Kelvin range, and / or at 2, 3, 4, etc. degrees Kelvin. The term thermodynamic chip also indicates that the thermal equilibrium dynamics of the neurons are used to perform computations. In some embodiments, temperatures less than 15 Kelvin may be used. Though other temperatures ranges are also contemplated. This also, in some contexts, may be referred to as analog stochastic computing. In some embodiments, the temperature regime and / or oscillation frequencies used to implement the thermodynamic chip may be engineered to achieve certain statistical results. For example, the temperature, friction (e.g., damping) and / or oscillation frequency as well as masses, may be controlled variables that ensure the oscillators evolve according to a given dynamical model, such as Langevin dynamics. In some embodiments, temperature may be adjusted to control a level of noise introduced into the evolution of the neurons. As yet another example, a thermodynamic chip may be used to model energy models thatrequire a Boltzmann distribution. Also, a thermodynamic chip may be used to solve variational algorithms and perform learning tasks and operations.

[0054] FIG.1A is a high-level block diagram of a thermodynamic chip arrangement for a selection of experts gadget, according to some embodiments.

[0055] A thermodynamic chip 122 may implement a selection of experts gadget 132 using thermodynamic oscillators. Thermodynamic oscillators may also be used to implement relay gadgets, which may store and transmit data from one energy-based model to another. Input data may be stored using the input data oscillator(s) 120, which may be initialized to the input data using a traditional computing system, may be output oscillators of another energy-based model, or may be relay gadgets which received data from output oscillators of another energy-based model. The input data oscillator(s) 120 may be configured to connect to a SoftMax gadget 106 and a multiplication gadget 102. The SoftMax gadget 106 is further described with respect to FIGs. 3 and 4.

[0056] The SoftMax gadget 106 may have a set of input / output oscillators instead of discreet sets of input oscillators and output oscillators. Input data oscillator(s) 120 may connect to the input / output oscillators of the SoftMax gadget 106. In some embodiments the input / output oscillators of the SoftMax gadget 106 may be the SoftMax data sample receiver oscillators 104, and in some embodiments the SoftMax data sample receiver oscillators 104 may be relay gadgets, such as relay oscillators. Relay gadgets are further described with respect to FIGs.7A-12.

[0057] The multiplication gadget 102 may accept input data from the input data oscillator(s) 120 and SoftMax data from the SoftMax data sample receiver oscillators 104. The multiplication gadget 102 may modify the input data based on the SoftMax data. Dimensions of a SoftMax vector may correspond to different expert energy-based models (i.e., first energy based model 110, second energy based model 114, and nth energy based model 118). Data samples of a SoftMax gadget 106 may be one-hot encoded vectors, or a weighted average of one-hot encoded vectors. The multiplication gadget 102 may modify the input data with a function which multiplies the input data by the SoftMax data, as explained with respect to FIG. 1E. Output oscillators of a multiplication gadget 102 (and relay oscillators connected to the output oscillators) may correspond to expert energy-based models. For example, first data sample receiver oscillators 108 may accept modified input data corresponding to first energy based model 110, second data sample receiver oscillators 112 may accept modified input data corresponding to second energy based model 114, and nth data sample receiver oscillators 116 may accept modified input data corresponding to nth energy based model 118.

[0058] The expert energy based models (i.e., first energy based model 110, second energy based model 114, and nth energy based model 118 may use the modified input data to generate output data, which the expert energy based models may send to output relay oscillators 130. The output relay oscillators 130 may store the output of the selected expert, and may pass the output along as input to oscillators of another thermodynamic gadget, or be read out by a standard computing device.

[0059] Input data oscillator(s) 120 may be a set of oscillators, and each oscillator may represent a dimension of a vector. Collectively, input data oscillator(s) 120 may represent the vector, which may be a data sample generated by another energy-based model. Each of the input oscillator sets for the expert EBMs (i.e., each of first data sample receiver oscillators 108, second data sample receiver oscillators 112, and nth data sample receiver oscillators 116) may be a set of oscillators with a number of oscillators equal to the number of input data oscillator(s) 120. The SoftMax gadget 106 input / output oscillators (and SoftMax data sample receiver oscillators 104) may be a set of oscillators with a number of oscillators equal to the number of expert energy-based models, i.e., a set of n oscillators. A SoftMax data sample may be a one-hot encoded vector with n dimensions, wherein the single dimension which has a value of 1 instead of 0 indicates the expert energy based model which is to process the input data.

[0060] FIG. 1B is a block diagram of a set of SoftMax output oscillators in a particular one-hot vector configuration which selects a particular energy-based model, according to some embodiments.

[0061] The configuration of the SoftMax output oscillators 106A shown in FIG. 1B can be represented by the one-hot encoded vector <1,0,…,0>. The oscillator corresponding to the first energy based model 110 has an approximate value of 1, encoded in the potential degree of freedom of the oscillator. The oscillator corresponding to the second energy based model 114 and the oscillator corresponding to the ^^th energy based model 118 both have a value of approximately 0, encoded in the potential degree of freedom of the oscillators. Unillustrated SoftMax output oscillators also have an approximate value of 0. The one-hot encoded vector <1,0,…,0> selects the first expert EBM out of ^^ expert EBMs.

[0062] FIG.1C is the high-level block diagram of the thermodynamic chip arrangement with the SoftMax output oscillators in the particular one-hot vector configuration, according to some embodiments.

[0063] Because the SoftMax output oscillators 106A have the configuration <1,0,…,0>, the first energy based model 110 is selected. The multiplication gadget multiplies the SoftMax vector supplied by SoftMax output oscillators 106A with the input data vector supplied by the input dataoscillators(s) 120. The data sample receive oscillators (i.e., first data sample receiver oscillator 108, second data sample receiver oscillator 112, and nth data sample receiver oscillator 116) receive modified input data based on the SoftMax data sample. As a result, the first data sample receiver oscillator 108 receives a vector that is close to the input data vector, and the other data sample receiver oscillators (i.e., second data sample receiver oscillator 112 and nth data sample receiver oscillator 116) receive vectors of the same dimension as the input data vector with values close to 0 at each dimension. The first energy based model 110 may be able to process the modified input data received by the first data sample receiver oscillator 108 and generate output to transmit to output relay oscillators 130A.

[0064] FIG. 1D is a block diagram of a configuration for an overall selection of experts gadget which produces results using a set of energy-based models, according to some embodiments.

[0065] The equation shown for the potential of the selection of experts gadget 132 includes terms representing the potential of input oscillators, the potential of data sample receiver oscillators, the potential of the SoftMax gadget, the potential of the multiplication gadget, and the potential ofexpert energy-based models.^^(^^^^, ^^^^, ^^^^, ^^, ^^)

[0066] The termcorresponds to the overall potential of the input dataoscillators (^^௫, with an individual oscillator represented by ^^௫^). ^^௫represents the mass of the input data oscillators, and ^^௫ଶrepresents the frequency squared of the input data oscillators. Theinput data oscillators collectively represent an input data vector, with K dimensions where^^^^{1,⋅⋅⋅, ^^}. The input data vector may be represented as ^^ with individual dimensions representedas ^^^when the input data is clamped to the input data oscillators.

[0067] The term ^ଶ ^^௭^^௭ଶ ∑^ ^^^ଶ^^ corresponds to the overall potential of the data sample receiveroscillators (^^௭, with an individual oscillator represented by ^^௭^). ^^௭represents the mass of the data sample receiver oscillators, andrepresents the frequency squared of the data receiver oscillators. The data sample receiver oscillators collectively represent a modified inputvector, with K dimensions where ^^^^{1,⋅⋅⋅, ^^}. A single set of data sample receiver oscillators mayhave a non-zero potential at any given time as the modified input data may be a matrix including vectors which are close to zero vectors and one vector which is close to the input vector.

[0068] The termscorrespond to the SoftMax gadget. The term^^)is further described by the equation ^^^భ(^^^^, ^^) = ^^^ ∑ே^ୀ^ ^^^ೕ^^^ where ^^^ is a coupling parameterfor the SoftMax gadget, ^^^^represents the oscillators of the SoftMax gadget, ^^^ೕrepresents an individual oscillator of the SoftMax gadget which corresponds to a j expert energy-based modelof N total expert energy-based models, where^^}, where ^^ represents the learnableSoftMax parameters, and where ^^^represents an individual learnable SoftMax parameter. Theterm ^^^మ(^^^^) is further described by the equation ^^^మ(^^^^) = ^^^ ∑ே^ୀ^ ^^^ଶೕ ^1 − ^^ ଶ^ೕ^ +where ^^^ and ^^ଶ are large coupling terms which cause the ^^^^ SoftMaxoscillators to be one-hot encoded vectors as described further with respect to FIG.4.

[0069] The term^^^^, ^^^^) corresponds to the multiplication gadget and is further describedin relation to FIG.1E. The term^^^^ corresponds to the N expert energy-based modelsand is dependent on the potential energy of each of the N expert energy-based models. ^^ represents all the learnable expert energy-based model parameters, and ^^^represents an individual set of learnable expert energy-based model parameters corresponding to an individual expert energy- based model.

[0070] The parameters for the SoftMax gadget (^^) and the expert energy-based models (^^^) may be set during initialization or trained using positive and negative phase training over time ^^ asdescribed by the following equations for ^^^,௧ା^^^௧):

[0071] The probability distributionpartition function^^(^^, ^^) = ^ ^^^^^^^^^^^^^^^^^^^^ିఉ^(థ^,థೞ,థ^^,^^,^^), where ^^ is the thermodynamiccausing the SoftMax distribution to be one-hot encoded vectors, the partition function can be re-written as ^^(^^, ^^) ≈ ∑ே^ୀ^ ^^ିఉ^^ೞభ൫^ೕୀ^,^^൯ା^ೞమ൫^ೕୀ^൯൧ ^ ^^^^^^^^ିఉఌೕ൫థ^^,^^ೕ൯ ∏^ஷ^ ^^^^^^ೕ^^ିఉఌ^^థ^^^,^^^^ , overall one-hot encoded vectors of size ^^, where ^^^^ೕ = 1 and ^^^^^ = 0 for all ^^ ≠ ^^. Where the couplingparameter ^^^in the multiplication gadget potential equation, which is described in further detailwith respect to FIG. 1E, is large such that ^^^^ೕ ≈ ^^^^, all integrals of the partition function evaluateto functions which only depend on the parameters ^^ = (^^^, … , ^^ே), and the partition function canbe further re-written

[0072] The parameter updates for ^^^,௧ା^and ^^௧ା^use gradients (∇^^ೕ,^) for the positive phase term,where input oscillators are clamped to input data, i.e., ^^^^ = ^^௧ೌ where ^^ is an index for a dataelement (^^) batch, and the negative phase term where input oscillators are unclamped. The gradients may be obtained by measurement of the position or momentum of the ^^ and ^^ oscillators. The ^^ and ^^ parameters may be repeatedly initialized to ^^௧and ^^௧values, and the average gradients may be used to determine the parameter updates for ^^^,௧ା^and ^^௧ା^in the equations above.

[0073] A value for ^^(^^^^, ^^^^, ^^^^, ^^, ^^) may be obtained by accounting for the potentials used toinitialize the oscillators ^^ and ^^ with the equation ^^௧^௧^^(^^^^, ^^^^, ^^^^, ^^, ^^) = ^^(^^^^, ^^^^, ^^^^, ^^, ^^) +∑ே^ୀ^ ^^^ ∙ ^^^ , assuming that the ^^^ oscillators all have the same massand frequency as each other and the ^^^oscillators all have the same mass and frequency as each other. Additionally, the parameters ^^ and ^^ as oscillators may have a longer thermodynamicequilibrium time than ^^^^, ^^^^, and ^^^^ oscillators.

[0074] The thermal equilibrium time may be computing using the Fokker-Plank equation andcomputing the smallest eigenvalue. Particularly, where ^^^^ oscillators have momentum ^^^^ and^^^(థ^^,గ^^) is the thermal equilibrium distribution of the system, the thermal equilibrium time(^^ ) can be found using the probability distribution ^^(^^ , ^^ , ^^) ≈ ^^ ^^ (^^ , ^^ ) +௧^^^^ ^^ ^^ ^ ^ ^^ ^^^^ ^^ (^^ , ^^ )^^ି^ ^^ ^ ^^ ^^ ^^^^^. Generally, larger mass times frequency squared of a system may result inlonger thermal equilibrium time. Parameter oscillators (such as ^^ and ^^ and ^^^and ^^ଶ) may havelarger mass times frequency squared than oscillators used for data (such as ^^ , ^^ , and ^^ ).^^ ^^ ^^( | ) ( | )

[0075] The probability distribution ^^ ^^ ^^, ^^ = ^^^^ ^^^^ ^^ ^^ , ^^ , ^^ ^^, ^^ may define the ^^^ ^^ ^^ ^^ ^^ ^^likelihood of selecting the jth expert energy-based model out of N expert energy-based models.Using the partition function the() ^^ ^^ causes the ^^ samples to be one-hot encoded vectors, the probability distribution can be^ ^^ ^^మre-written as:1 ே^^(^^ |^ ) ିఉ^^ೞభ൫^ೕୀ^,^^൯ା^ೞమ൫^ೕୀ^൯൧ ିఉ^^^^థ^^,థ^^ೕ,^ೕୀ^^ାఌೕ^థ^^ೕ,^^ೕ^^ ( )^, ^^ ≈ ^ ^^ ^ ^^^^ ^^ ^ ^^ ^^^^ ^^ ^ೕ( )^^ ^^, ^^ ^ୀ^ ^ஷ^( )

[0076] Because ^^ = 1 and ^^ = 0 for all ^^ ≠ ^^, the integral can be re-written as ^^ ^^ =^^ ^^ ^ೕ ^()

[0077] Because ^^ ^^ , the probabilitycan be further re-written as:and simplified to:

[0078] FIG.1E is a block diagram of a configuration for a multiplication gadget which accepts an input vector and results from a gating model such as a SoftMax gadget in order to select an energy- based model from a set of energy-based models to process the input vector, according to some embodiments.

[0079] The equation shown for the potential of the multiplication gadget 102 causes the data receiver oscillators to evolve to take on the input data vector where the SoftMax value is 1 for the associated expert energy-based model, and causes the data receiver oscillators to not take on the input data vector where the SoftMax value is 0 for the associated expert energy-based model.

[0080] ^^ is a coupling parameter for the multiplication gadget 102. Other variables have the same^( ) meaning as discussed with respect to FIG.1D. The engineered potential ^^ ^^, ^^, ^^ may cause^ ^^ ^^ ^^the multiplication gadget to perform a multiplication function when ^^ is large relative to the^expectation values of the oscillators ^^, ^^, and ^^ .^^ ^^ ^^

[0081] The result of the engineered potential ^^^(^^^^, ^^^^, ^^^^) is that the input data vector stored inthe input data oscillators (^^^^) is multiplied by the SoftMax data samplei.e., a one-hot encoded vector, and the resulting modified input data is transferred to the data receiver oscillators Because the SoftMax data sample is a one-hot encoded vector, one set of data receiver oscillators (^^^^ೕ) receives the input data vector and the other sets of data receiver oscillators do not receive data. The set of data receiver oscillators (^^^^ೕ) which receives the input data vector is associated with the expert energy-based model which was selected by the SoftMax data sample.

[0082] As an example, the potential for the multiplication gadget 102 may implement the multiplication function using the SoftMax data sample [1, 0, …, 0] and input data [first value, second value, …, nth value] to generate the modified input datarepresents a row, and an individual oscillator of the set of data receiver oscillators represents a column in the row. The data sample receiver oscillators may collectively represent the modified input data. The rows of the modified input data which contain zero values may be referred to as zero vectors. The row of the modified input data which contains a vector which is or is similar to the input data vector may be referred to as a non-zero vector. The row of the modified input data which contains the non-zero vector corresponds to the expert energy-based model which the one- hot encoded vector SoftMax data sample corresponds to.

[0083] FIG.2A is a block diagram of oscillators which are storing input data and a SoftMax data sample and oscillators of a multiplication gadget at a first time (^^^) such as prior to couplings between the oscillators being established, according to some embodiments.

[0084] Oscillators may not have couplings established at all times, for example,the input data oscillator(s) 120 and the SoftMax data sample receiver oscillators 104 may not have couplings established with input oscillators of the example multiplication gadget 102. The input data oscillator(s) 120 and the SoftMax data sample receiver oscillators 104 may have completed interactions with the SoftMax gadget at ^^^such that the SoftMax data sample receiver oscillators 104 have a SoftMax data sample which the SoftMax gadget generated based on the input data of the input data oscillator(s) 120. The function of the SoftMax gadget is described further with respect to FIG.3. In some embodiments, the SoftMax data sample receiver oscillators 104 may be relay oscillators or relay gadgets. In some embodiments, the SoftMax data sample receiver oscillators 104 may be input / output oscillators of the SoftMax gadget.

[0085] FIG. 2B is a block diagram of the oscillators which are storing the input data and the SoftMax data sample and oscillators of the multiplication gadget at a second time (^^ଶ), such as after couplings between the oscillators are established and while thermodynamic evolution is occurring, according to some embodiments.

[0086] Couplings 200 may be established between the SoftMax data sample receiver oscillators 104 and the input oscillators of the multiplication gadget 102. CouplingsI200 may also be established between the input data oscillators 120 and the input oscillators of the multiplication gadget 102. The established couplings may enable the multiplication gadget 102 to use the SoftMax data sample and input data according to perform the multiplication function establishedby the engineered potential explained in relation to FIG. 1E:

[0087] ^^^may relate to properties of couplings within the multiplication gadget 102.

[0088] FIG. 2C is a block diagram of the oscillators which are storing the input data and the SoftMax data sample and oscillators of the multiplication gadget at a third time (^^ଷ), such as after thermodynamic equilibrium is reached and the multiplication gadget has a data sample representing an expectation value vector, according to some embodiments.

[0089] The output 204 of the multiplication gadget 102 may be based on the one hot encoded vector 202 stored by the SoftMax data sample receiver oscillators 104. The multiplication gadget 102 may generate as output 204 modified input data comprising a lack of data to be processed by expert energy-based models not selected by the one hot encoded vector 202, and a vector similar to the input data vector stored by the input data oscillator(s) 120 to be processed by the expert energy-based model selected by the one hot encoded vector 202.

[0090] FIG.2D is a block diagram of oscillators of the oscillators which are storing the input data and the SoftMax data sample and oscillators of the multiplication gadget at a fourth time (^^ସ), such as such as after thermodynamic equilibrium is reached and a set of data sample receiver oscillators are able to receive the data sample representing the expectation value vector from the multiplication gadget, according to some embodiments.

[0091] The multiplication gadget 102 may transfer the output 204 illustrated in FIG. 2C comprising modified input data to the data sample receiver oscillators (i.e., first data sample receiver oscillators 108, second data sample receiver oscillators 112, and nth data sample receiver oscillators) for the expert energy-based models (i.e., first energy based model 110, second energybased model 114, and nth energy based model 118). The data sample receiver oscillators (i.e., first data sample receiver oscillators 108, second data sample receiver oscillators 112, and nth data sample receiver oscillators) may be relay oscillators or relay gadgets. In some embodiments, the data sample receiver oscillators (i.e., first data sample receiver oscillators 108, second data sample receiver oscillators 112, and nth data sample receiver oscillators) may be input oscillators which are included in the expert energy-based models (i.e., first energy based model 110, second energy based model 114, and nth energy based model 118).

[0092] The expert energy-based models (i.e., first energy based model 110, second energy based model 114, and nth energy based model 118) may use the modified input data obtained from the data sample receiver oscillators (i.e., first data sample receiver oscillators 108, second data sample receiver oscillators 112, and nth data sample receiver oscillators) to generate output for the overall selection of experts gadget 132. The output for the overall selection of experts gadget 132 may be read out to a traditional computer, stored in relay oscillators or relay gadgets for later read out to a traditional computer or use in another energy-based model, or directly used as input in another energy-based model.

[0093] FIG. 3 illustrates an example coupling for an analog SoftMax gadget, wherein ancilla oscillators (^^^) are used to emulate an all-to-all coupling between input / output oscillators (^^^ೕ) of the analog SoftMax gadget using at most degree-four connectivity, according to some embodiments.

[0094] In some embodiments, the input / output oscillators 300 of the analog SoftMax gadget 106 may be coupled to one another in an all-to-all coupling. The input / output oscillators 300 of the SoftMax gadget 106 may be relay oscillators, such as the oscillators 124, 126, and 128 illustrated in FIG. 1B. In configurations with a large number of input / output oscillators, such an all-to-all configuration may be cumbersome to implement. Thus, in some embodiments a constructive all- to-all coupling may be used, wherein additional ancilla oscillators are configured in a modified tree-structure to achieve a constructive all-to-all coupling between input / output oscillators 300. An example of a constructive all-to-all coupling is illustrated in FIG.3.

[0095] For example, a binary tree type of lattice (e.g. modified tree) may be used to create similar constraints on the input / output oscillators 300 as an all-to-all coupling. Note that in the engineeredpotential used to implement the SoftMax function, e.g., ^^൫^^^భ, … , ^^^ಿ൯ =1^ଶ + ^^ଶ ^∑ே^ୀ^ ^^^ೕ − 1 ^ଶ, the A2 constant that is proportional to the second term (e.g., after theplus sign) requires an all-to-all coupling. This is because expanding this term will result in a termproportional to ∏ே^ୀ^ ^^^ೕ . However, in some embodiments, additional ancillary oscillators 302 asshown in FIG.3, may be added to reduce the degree of connectivity required between individual ones of the oscillators. For example, for a vector of dimension N each individual oscillator may only require connectivity to four other oscillators as opposed to connectivity to all N-1 other ones of the input / output oscillators 300, as would be the case in a true all-to-all coupling.

[0096] For discussion purposes, the additional ancilla oscillators 302 can be considered to belong to a layer (l) and within each layer there are j ancilla oscillators 302. The layer that includes the root node (shown as ^^^భand ^^^మ) in FIG.3 may be referred to as layer 1, e.g. l=1. The next higher layer may be layer 2, e.g., l=2, and so on. A constraint is imposed on the ancilla oscillators 302 inthe lowest layer (l=1) such that ^^(^)ଶ − 1^ଶfor some large coupling parameter ^^(^)ଶ . Thisimposes an energetic penalty if ^^^(^భ)deviates from a value of 1. In a layer l the position degree of freedom of two sibling nodes, such as ^^^(^ೕ)and, are further labeled with a subscript s to indicate they are sibling nodes. For example, they may be labeled as and ^^(^)ೕశభ,ೞ. The set siblings for a given layer above the first layer is. The position degree of freedom of a parent of a given set of sibling nodes is labeled asUsing this notation, the potential can bewith an energy constraint, as follows:

[0097] The above equation uses the fact that at the bottom of the tree (e.g., the oscillators below layer l=1), the oscillators corresponding to the leaf nodes are the original ^^^ೕoscillators (e.g., the input / output oscillators 300). The above potential adds an energetic penalty in the root node for these leaf nodes (e.g., ^^^భand ^^^మas shown in FIG.3) if the root node is not one. Additionally, an energetic penalty is added if the children of all of the root nodes do not sum to ^^^(^భ), which should be 1. These conditions are added recursively until the leaf nodes are reached. The overallpotential is then updated as:

[0098] FIG.4 illustrates graphs of potentials for a given oscillator of the analog SoftMax gadget, wherein the given oscillator has a dual-well potential. FIG.4 further illustrates how increasing theparameter ^^^in an engineered potential for the analog SoftMax gadget causes the walls and intermediate barrier between the two wells of the dual-well potential to be more steep, such that the dual-well oscillator is more likely to evolve to a value of 0 or 1 as required by the engineered potential for the analog SoftMax gadget, according to some embodiments.

[0099] The respective input / output oscillators 300 of the analog SoftMax gadget 106 may be implemented using dual-well potential oscillators. Furthermore, selecting an appropriate value for A1that is large creates an energetic penalty for values other than zero or one. This is illustrated in FIG. 4, wherein increasing the value of A1 increases the well walls and the barrier between the wells, such that the minima of each of the wells is at zero or one.

[0100] FIG.5 illustrates an example attention block of a machine learning model, that may be implemented in an analog manner using one or more thermodynamic chips, wherein an analog selection of experts gadget is used at least in part to implement an addition and normalization layer, according to some embodiments.

[0101] In some embodiments, an analog SoftMax gadget may be used as part of a thermodynamic implementation of a machine learning model. For example, in some embodiments a plurality of energy-based models may be used to implement functions of an attention block 502. For example, EBMs may be used to thermodynamically implement an Addition and Normalization layer 504, a Feed Forward layer 506, another Addition and Normalization layer 508, a Self- Attention layer 510, and Input Embedding 512. More specifically, an analog SoftMax gadget 106 may be one of a set of EBMs used to implement the Self-Attention layer 510 and a selection of experts gadget 102 may be used to implement an Addition and Normalization layer 508.

[0102] FIG.6 is a flowchart illustrating a process for implementing a selection of experts function using an analog selection of experts gadget, according to some embodiments.

[0103] At block 602, a set of input / output oscillators of an analog SoftMax gadget (or relay oscillators) and input oscillators are coupled to a set of input oscillators of a multiplication gadget, output oscillators of which are coupled to input oscillators of a set of expert EBMs.

[0104] Then, at block 604, the oscillators of the system (including the input-output oscillators and ancilla oscillators (if used) of the SoftMax gadget) are allowed to thermally evolve, e.g. to reach a thermal equilibrium. This evolution is performed based on an engineered potential for the analog SoftMax gadget which creates energetic penalties that drive the oscillators to thermodynamically evolve to a one-hot encoded vector state (e.g., one input / output oscillator having a position degree of freedom value of one, and all other input / output oscillators having a position degree of freedom value of zero).

[0105] The engineered potential for the multiplication gadget causes a vector represented by the input data to be multiplied by the one-hot encoded vector such that one expert EBM is selected to process the input data. For example, at block 606 (after the thermal evolution) the selected expert EBM arrives at an analog result of the expert EBM’s function based on the input data as a result of being selected by the one-hot encoded vector output by the SoftMax gadget.

[0106] At block 608, the output oscillators of the selected expert EBM are coupled to another EBM or other device that is to receive the result. This could be another EBM, relay oscillators, measurement, etc.

[0107] As another alternative, at block 610 the output oscillators of the selected expert EBM are coupled to relay gadgets, such as shown in FIG.2D, wherein the relay gadgets have any of the configurations shown in FIGs.9-12. The relay gadgets store respective expectation values of the output oscillators of the selected expert EBM.

[0108] FIG. 7A is high-level diagram illustrating a first energy-based model (EBM) implemented using a thermodynamic chip, a second energy-based model (EBM) implemented using a thermodynamic chip, and a relay gadget implemented using a thermodynamic chip, wherein the relay gadget is configured to relay thermodynamic information between the first energy-based model (EBM) and the second energy-based model (EBM), according to some embodiments.

[0109] In some embodiments, a relay oscillator gadget, such as relay oscillator gadget 710, receives thermodynamic information from an input source, such as oscillator 706, and relays the thermodynamic information to an output destination, such as oscillator 708. In some embodiments, the oscillator 706 may be an output oscillator 706 of a first energy-based model (EBM) 700 and the oscillator 708 may be an input oscillator 708 of a second energy-based model (EBM) 702. In some embodiments, the thermodynamic information being relayed from the output oscillator 706 to the input oscillator 108 may be a position degree of freedom. As such, FIG.7A shows an output position degree of freedom (^^௬) of the output oscillator 706 and an input position degree of freedom (^^௫) of the input oscillator 708, as well as a relay position degree of freedom (^^^) of the relay oscillator 718 and a bias position degree of freedom (^^^) of the bias oscillator 712. Additionally, controller 714 is shown, which may be an on-chip controller. Controller 714 causes pulses to be emitted in a time dependent manner to orchestrate coupling of the relay oscillator 710 to the output oscillator 706, coupling of the relay oscillator 710 to the bias oscillator 712, adjustment of a mass or frequency of the relay oscillator 710, and a coupling of the relay oscillator 710 to the input oscillator 708. In some embodiments, the controller 714 may be pre-programmedto emit the relevant pulses and control signals in a time dependent sequence in order to execute a relay operation.

[0110] An example Hamiltonian of the coupled system shown in FIG. 7A is given by:

[0111] Note that the terms in the Hamiltonian including the ^^^, ^^^, and ^^^terms describe the coupling between the relay oscillators and the other three oscillators, e.g., the output oscillator 706, the bias oscillator 712, and the input oscillator 708. Also, note that all three coupling terms are time dependent, based on the ^^^, ^^^, and ^^^pulses controlled by controller 714. Additionally, note that the mass (or the frequency) of the relay oscillator 710 is time dependent, where the mass (or frequency) of the relay oscillator is also controlled by controller 714.

[0112] More particularly, the controller 714 emits pulses ^^^to couple the position degree of freedom (^^௬) of the output oscillator 706 to the position degree of freedom (^^^) of the relay oscillator 710. This coupling may remain turned on for some time. Then, once the coupling between the position degree of freedom (^^௬) of the output oscillator 706 and the position degree of freedom (^^^) of the relay oscillator 710 is turned off, the controller 714 causes pulses ^^^to be emitted to couple the position degree of freedom (^^^) of the relay oscillator 710 to the position degree of freedom (^^^) of the bias oscillator 712, and simultaneously emits control signals to cause the mass of the relay oscillator 710 to be increased (or alternatively emits control signals to cause the oscillation frequency of the relay oscillator 710 to be tuned, for example decreased). When coupled to the relay oscillator 710, the bias position degree of freedom (^^^) of the bias oscillator 712 acts as a bias to the relay oscillator 710 and helps to ensure that the relay position degree of freedom (^^^) of the relay oscillator 710 maintains its equilibrium value (that it has acquired from the output oscillator 706). After the relay oscillator 710 has reached an appropriately large mass (or tuned frequency), the controller 714 causes pulses ^^^to be emitted to couple the position degree of freedom (^^^) of the relay oscillator 710 (having the increased mass or tuned frequency) to the position degree of freedom (^^^) of the input oscillator 708. Also, in some embodiments, the controller 714 may cause pulses ^^^and pulses ^^^to be emitted at the same time, such that the relay oscillator 710 is coupled to the bias oscillator 712 simultaneously with being coupled to the input oscillator 708. Note that in the illustration shown in FIG.7A either of EBMs 700 or 702 may be an analog SoftMax gadget 106, that is to say the input to the relay oscillator may come from the analog SoftMax gadget 106 or the destination of the information being relayed may be theSoftMax gadget 106. FIG. 7A is illustrating a more general case for the relay gadget where the inputs and outputs are general EBMs, but it should be understood that the analog SoftMax gadget and analog multiplication gadget are particular implementations of EBMs having an engineered potential that implements a function.

[0113] In some embodiments the following pulse shapes may be used for ^^^, ^^^, and ^^^.Though in some embodiments, other suitable pulse shapes may be used.where ^^(^^) is the sigmoid function:

[0114] In some embodiments, ^^^, ^^^, and ^^^, as well as ^^^, ^^^, and ^^^may be tuned to improve results. Also, ^^^, ^^ଶ, ^^^(^), and ^^^(^)may be tuned.

[0115] Without loss of generality, the position degree of freedom of the output oscillator 706 is considered to have an equilibrium value (^^^) (after energy-based model 700 has evolved for some time and reached a thermal equilibrium). Also, the position degree of freedom of the output oscillator 706 is considered to have a potential given by ^ ଶଶ− ^^^൯ . Itshould be noted in practice that the output oscillator 706 may be coupled to various other oscillators of the first energy-based model 700 (as shown in FIG.7A) which would cause it to havethe ^^^ equilibrium value. Thus, to be more comprehensive, ^ଶ ^^௬^^௬ଶ൫^^௬ − ^^^൯ଶmay be replaced bya potential term that takes into account these couplings, such as ^ଶ ^^ ൯ଶ^ +the ^^^ degrees of freedomare degrees of freedom of other oscillators in the first energy-based model 700 that are coupled to the position degree of freedom (^^௬) of the output oscillator 706. However, this difference (or said another way, simplification) manifests itself in a slightly different value for the equilibrium value (^^^), or depending on the couplings, may result in the same ^^^equilibrium value. But this simplification does not affect the equilibrium results of the relay oscillator 710. A similar issue applies to the input oscillator 708, which is also coupled to other oscillators of the second energy- based model 702. Also, in some embodiments, multiple relay oscillators 710 may be coupled to multiple input oscillators (e.g. additional input oscillators in addition to input oscillator 708). Notethat the relay oscillator 710 and the relay gadget 704 impart the equilibrium value of the output oscillator to the input oscillator, such that the position degree of freedom (^^^) of the input oscillator 708 inherits the same equilibrium value as the position degree of freedom (^^௬) of the output oscillator 706, e.g. the position it had when first coupled to the relay oscillator 710 of the relay gadget 704. As such, thermodynamic information is relayed from the output oscillator 706 to the input oscillator 708 while remaining in a thermodynamic state. For example, analog information is passed between the first energy-based model 700 and the second energy-based model 702 without requiring a measurement by a classical computing device. Further note, this is done in an analog way (as opposed to a digitization that would take place during readout and re- initialization).

[0116] For a system undergoing Langevin dynamics, the equation of motion of a givenoscillator (k) is given by:where ^^ denotes the position degree of freedom of the oscillator and ^^ denotes the momentum degree of freedom of the oscillator. Using the Hamiltonian for the coupled system shown in FIG. 7A (which is given further above) and the equations of motion for position and momentum given directly above, the equations of motions for the relay oscillator 710, output oscillator 106, the bias oscillator 712, and the input oscillator 708, are respectively given by: Equation of motion for the relay oscillator:OrDepending on whether there is a linear or quadratic coupling.Equation of motion for the output oscillator:Or5 Depending on whether there is a linear or quadratic coupling. Equation of motion for the bias oscillator:Or10Depending on whether there is a linear or quadratic coupling. Equation of motion for the input oscillator:15 OrDepending on whether there is a linear or quadratic coupling.

[00117] Also, the time dependent mass of the relay oscillator 110 is given by:20

[0118] FIG.7B is a high-level diagram similar to FIG.7A, wherein the relay gadget does not include a bias oscillator, according to some embodiments.

[0119] In some embodiments, such as when the relay oscillator is configured to have a controllable time-dependent mass, the use of a bias oscillator may be omitted. For example, if the 25 product of mass times frequency squared of a first oscillator is much larger than the product of mass times frequency of a second oscillator (that is coupled to the first oscillator) the position degree of freedom of the first oscillator (having the larger value for the product of mass times frequency squared) may be treated as a constant. Thus, for embodiments, wherein the mass of therelay oscillator can be increased such that the product of mass times frequency squared of the relay oscillator is sufficiently large, it may not be necessary to further use a bias oscillator.

[0120] More particularly, consider two oscillators (oscillator a and oscillator b) with position degrees of freedom ^^^and ^^^. Suppose that ^^^has equilibrium value ^^^. Assume ^^^isa constant and consider the Hamiltonian:In this case, the expectation value of ^^^ at thermal equilibrium is given by:Choosing ^^ = −^^^^^^ଶ, it gives 〈^^^〉 = ^^^.

[0121] Also, considering the dynamics of ^^^. The Hamiltonian is:Moreover, using ^^ଶ, 〈^^^〉 is given by:where ^^ is set such that ^^ = −^^^^^^ଶ. Note that if ^^^^^^ଶ. ≪ ^^^^^^ଶ, then 〈^^^〉 ≈ ^^^. As such aslong as the mass times frequency squared of the oscillator a having position degree of freedom ^^^is much less than the mass times frequency squared of the oscillator b having position degree of freedom ^^^, the position degree of freedom ^^^can be treated as a constant, with the constant being the thermal equilibrium value of ^^^.

[0122] Said another way, if the product of mass times frequency squared of the relay oscillator 710 is increased to be sufficiently large, then the inherited equilibrium value acquired from the output oscillator 706 can be treated as a constant, while held by the relay oscillator 710. Also, as long as the product of mass times frequency squared of the relay oscillator 710 is sufficiently large as compared to the corresponding value of mass times frequency squared of the input oscillator 708, the position degree of freedom of the relay oscillator may be treated as a constant, such that it relays the held equilibrium value acquired from the output oscillator 706 of the first EBM 700 to the input oscillator 708 of the second EBM 702.

[0123] Note that the relay oscillators used in the relay gadget configurations shown in FIGs.9-12, include bias oscillators. However, in some embodiments, similar configurations maybe used that do not include bias oscillators. For example, relay oscillators as shown in FIG.7A or as shown in FIG.7B may be used to construct the relay gadgets shown in FIGs.9-12.

[0124] FIG. 8 is a high-level flowchart illustrating a process of relaying thermodynamic information between an output oscillator, such as of a SoftMax gadget, and an input oscillator, such as an input oscillator of a multiplication gadget, according to some embodiments.

[0125] At block 800 a relay oscillator is initialized, wherein the relay oscillator is positioned such that it has connectivity to an output oscillator, such as output oscillator 706 of energy-based model 700, and has connectivity to an input oscillator, such as input oscillator 708 of energy-based model 702. Additionally, a bias oscillator is initialized, wherein the bias oscillator has connectivity to the relay oscillator. For example, bias oscillator 712 may be initialized and is positioned in a way that it can be coupled to relay oscillator 710.

[0126] At block 802, the first energy-based model comprising the output oscillator, such as energy-based model 700 that includes output oscillator 706, is enabled to undergo thermal evolution such that the energy-based model evolves according to Langevin dynamics. The evolution may be enabled to occur for an amount of time such that the first energy-based model reaches a thermal equilibrium. As an example, the first energy-based model may represent a trained model that is configured to perform inference, and at least some oscillators of the first energy-based model may be clamped to input data, wherein inference results are represented by other oscillators of the first energy-based model subsequent to the thermal evolution. For example, output oscillator 706 may represent the results of a computation performed by the energy-based model 700 that are to be relayed as input data to the second energy-based model 702.

[0127] At block 804, once the oscillators of the first energy-based model (e.g. energy- based model 700) have reached thermal equilibrium, the controller 714 initiates pulses (e.g. ^^^(^^) pulses) to cause the output oscillator 706 to be coupled to the relay oscillator (e.g. relay oscillator 710).

[0128] At block 806, the controller 714 initiates additional pulses (e.g., ^^^(^^)pulses) that cause the relay oscillator to be coupled to the bias oscillator. Recall that initially the relay oscillator 710 may have a small mass and / or frequency combination, e.g., small relative to the product of mass times frequency squared of the output oscillator 706. Because the relay oscillator has a small product of mass times frequency squared, the relay oscillator more readily takes on the position of the output oscillator (for example, as opposed to the relay oscillator pulling the output oscillator to take on the relay oscillator’s position). However, due to the relatively small mass times frequency squared of the relay oscillator, if left alone the relay oscillator would quickly lose the recently inherited position, inherited from the output oscillator. To avoid this, the relay oscillatoris coupled to the bias oscillator 712 at or near the same time as the relay oscillator is un-coupled from the output oscillator 706. The relay oscillator may also be coupled to the bias oscillator at or near the same time it is coupled to the input oscillator 708. Coupling the relay oscillator to the bias oscillator helps the relay oscillator to maintain the acquired thermal information (e.g., position degree of freedom, or, in some embodiments, momentum degree of freedom) the relay oscillator has acquired from the output oscillator. Also, while coupled to the bias oscillator and prior to being coupled to the input oscillator of the next EBM, a mass and / or frequency of the relay oscillator is adjusted.

[0129] For example, at block 808, the controller 714 causes control signals to be emitted that cause the mass (or frequency) of the relay oscillator to be adjusted. The mass of the relay oscillator may be proportional to capacitance of a circuit used to implement the relay oscillator; a Cooper-pair box arrangement may be used to implement a time dependent capacitance in the circuit (e.g. where the capacitance corresponds to mass). In such embodiments, the controller 714 is configured to emit control signals to cause the Cooper-pair box to increase the capacitance of the relay oscillator circuit. However, in other embodiments, mass may be kept constant, but instead frequency of the relay oscillator may be adjustable as a result of a time-dependent flux element of a circuit used to implement the relay oscillator. For example, a current inducing flux element may be added to the relay oscillator circuit. In such embodiments, controller 714 may emit control signals that cause the flux of the relay oscillator to be tuned (where flux corresponds to frequency). In some embodiments blocks 806 and 808 are performed concurrently.

[0130] At block 810, the controller 714 initiates another set of one or more pulses (e.g.,^^^(^^) pulses) to couple the relay oscillator to the input oscillator, such as input oscillator 708. Thebias oscillator 712 may remain coupled to the relay oscillator 710 when the relay oscillator 710 is coupled to the input oscillator 708. Note that since the relay oscillator has had its mass (and / or frequency) adjusted prior to the coupling to the input oscillator, and since the relay oscillator remains coupled to the bias oscillator, the relay oscillator has a large value of the product of mass times frequency squared relative to the input oscillator and therefore causes the input oscillator to take on the position of the relay oscillator, which corresponds to the position of the output oscillator. In this way, the relay gadget 704 relays analog oscillator degree of freedom information (e.g. thermodynamic information) from the output oscillator to the input oscillator, without having to convert the thermodynamic information into classical form.

[0131] In some embodiments, a relay gadget, such as relay gadget 704, may perform steps similar to those described in FIG.8 in order to relay position degree of freedom thermodynamicinformation, momentum degree of freedom thermodynamic information, and / or force / acceleration degree of freedom thermodynamic information.

[0132] In some embodiments, a relay gadget, such as relay gadget 704 may be used to store thermodynamic information, for example in the relay oscillator 710. Also, in some embodiments, multiple relay gadgets may be used to form a thermodynamic network between thermodynamic components. Also, in some embodiments, a relay gadget may be used to perform conditional sampling, such as Gibbs sampling.

[0133] FIG.9 is a high-level diagram illustrating an output oscillator, an input oscillator, and a relay gadget, wherein the relay gadget comprises a group of relay oscillators and is configured to relay expectation values of thermodynamic information between the output oscillator and the input oscillator, according to some embodiments.

[0134] In some embodiments, it is desired to transfer an expectation value of one energy- based model (EBM) to another EBM, such as from an output of analog SoftMax gadget 106 to an input of another EBM. In some embodiments an instantaneous sample value may be transferred from an output oscillator of one EBM (such as from a given input / output oscillator 300 of analog SoftMax gadget 106) to an input oscillator of another EBM. The instantaneous sample value of an output oscillator of a given EBM will follow a probability distribution associated with the potential well of the output oscillator and couplings of the output oscillator with the one or more oscillators belonging to the first EBM. An instantaneous sample value of the state of the output oscillator may be any possible value within the bounds of the potential well and respective couplings. In some instances, the instantaneous sample value of the output oscillator may be far off from the expectation value (e.g. due to thermodynamic fluctuations, anharmonic potentials, multiple well potentials, the coupling between the output oscillator with other oscillators belonging to a shared EBM, or a combination of factors). Furthermore, the output oscillator of an EBM may hop between wells of a potential, thus the expectation value may not be a probable outcome of an instantaneous sample of the output oscillator. To avoid these issues, in some embodiments expectation values may be stored instead of sample values and relayed as inputs to other EBMs.

[0135] In some embodiments, to enable an expectation value of an output of an EBM to be used as an input to a subsequent EBM in a fully analogue fashion (e.g. without the use of measurements), two or more relay oscillators may be used. In some embodiments, an expectation value is derivable from one or more sample values. In some embodiments, relay oscillators may be oscillators which may be arranged between the output of a given EBM and the input of an additional EBM in such a way that their state may be configured to take on a sample value of the output oscillators of a given EBM. In some embodiments, sample values may be collected in sucha way (e.g. spatial or temporal arrangement of relay oscillators as described below) that a close approximation of an expectation value of an output of a given EBM may be represented on one or more relay oscillators. Classical controllers may be used to turn the couplings on and off between the output oscillators and relay oscillators, between respective relay oscillators, as well as to make the masses and frequencies of the relay oscillators time dependent. Nevertheless, measurements may not be required, and the timing of the operations may be computed during a compilation step.

[0136] In some embodiments, a relay gadget may include a group of one or more relay oscillators and an additional relay oscillator. One or more relay oscillators of the group of relay oscillators may be coupled to an output oscillator of a first EBM. The one or more relay oscillators may be coupled in such a way that respective sample values of the output oscillator of the first EBM, wherein the output oscillator has progressed through thermodynamic evolution, may be stored on respective ones of the relay oscillators of the first group of one or more relay oscillators. An additional relay oscillator may be coupled to one or more of the relay oscillators, wherein the coupling enables the additional relay oscillator to take on an expectation value of the output oscillator, wherein the expectation value is derivable based at least in part on the sample values. In some embodiments, bias oscillators may be used. In some embodiments, bias oscillators may not be used. For simplicity, embodiments are given with bias oscillators, but it should be understood that is some embodiments bias oscillators may not be used for each relay oscillator of a relay gadget, however, that does not limit the embodiments to only one way or the other.

[0137] In some embodiments, thermodynamic information is relayed from a first energy- based model (EBM) 900 to a second energy-based model (EBM) 902 via relay gadget 904. The thermodynamic information of EBM 900 is outputted via output oscillator 906 and inputted into input oscillator 908 via relay gadget 904. The thermodynamic information may include, for example, samples of thermodynamic equilibrium of output oscillator 906, or the expectation value of the output oscillator 906. The expectation value is at least derivable based on samples values of the output oscillator 906. Output oscillator 906 may be governed by a potential wherein the potential follows a single-well potential, double-well potential, multi-well potential, or any generic potential that may be engineered. The output oscillator 906 may also be coupled to other oscillators belonging to EBM 900. More specifically, output oscillator 906 may be an input oscillator of analog selection of experts gadget 102.

[0138] In some embodiments, an expectation value of one or more degrees of freedom of output oscillator 906 may be influenced by a potential of output oscillator 906 as well as couplings between output oscillator 906 and one or more oscillators belonging to first energy-based model 900. Potentials governing the dynamics of the output oscillator 906 may have multiple wells. Withgeneric arbitrary potentials (e.g. multiple wells) and coupling between output oscillator 906 and one or more oscillators belonging to first energy-based model 900, the position degrees of freedom of the output oscillators can hop between wells. As described herein, a relay gadget provides a solution to approximate an expectation value of the output oscillator. For example, using an approximated expectation value in forwards and backwards propagation may provide better results than using a sample value, as the expectation value better represents the state of the oscillator whose degree of freedom value is being relayed to a second oscillator.

[0139] Relay gadget 904 comprises a group of relay oscillators 910 and an additional relay oscillator 912. The group of relay oscillators 910 comprises one or more relay oscillators arranged with respective bias oscillators (e.g., relay oscillator 916 arranged with bias oscillator 918). As described later, relay oscillators in oscillator group 910 may be configured and coupled in various ways (e.g. temporally and spatially) to transfer thermodynamic information. The additional relay oscillator 912 is connected to bias oscillator 920. As discussed later, the additional relay oscillator 912 may be configured and coupled in various ways to transfer thermodynamic information. For example, the group of relay oscillators 910 transfers thermodynamic information to additional relay oscillator 912 via coupling 924. Coupling 924 may be controlled by on-chip classical controller 914.

[0140] Output oscillator 906 is coupled to the one or more relay oscillators of the group of relay oscillators 910 via on-chip classical controller 914. On-chip classical controller 914 may send a pulse or a group of pulses to cause couplings between oscillators (e.g., coupling between output oscillator 906 and relay oscillator 916) or relay oscillators like 916 and a bias oscillator like 918 via pulses 930. Coupling is represented by coupling 922, 924, 926 and oscillators may be coupled or not coupled. When coupling is on, parameters of respective coupled oscillators affect the other oscillator it is coupled to. Couplings between oscillators within the group of relay oscillators 910 are not expressly shown in FIG.9 to emphasize that the coupling may take different configurations (e.g. temporal or spatial configurations as detailed below). Nevertheless, on-chip classical controller 914 may cause a first set of one or more pulses to be emitted through controller connection 928, wherein the first set of pulses couples one or more relay oscillators of the group of relay oscillators 910 to the output oscillator 906 (e.g., turn on coupling 922). The on-chip classical controller 914 is further configured to cause a second set of one or more pulses to be emitted through path 932, wherein the second set of pulses couples one or more relay oscillators of the group of relay oscillators 910 to the additional relay oscillator 912 (e.g., turn on coupling 924). The on-chip classical controller 914 is further configured to cause a third set of one or morepulses (for example, set of pulses 938) to be emitted, wherein the third set of pulses 938 couples the additional relay oscillator 912 to the input oscillator 108 (e.g., turn on coupling 926).

[0141] In some embodiments, an additional relay oscillator 912 takes on an expectation value of an output oscillator 906 based at least in part on a coupling or couplings between a group of relay oscillators 910, wherein respective relay oscillators of group 910 comprise respective sample values of the output oscillator 906. The additional relay oscillator 912 may take on the expectation value of output oscillator 906 based at least on respective sample values taken on by respective relay oscillators. Furthermore, additional relay oscillator 912 may transfer the taken on expectation value to input oscillator 908 via controller 914 causing coupling 926 to turn on.

[0142] FIG.10 is a high-level diagram illustrating a spatial analogue relay gadget, wherein respective ones of relay oscillators of a group of relay oscillators are configured to store respective sample values of an output oscillator, according to some embodiments.

[0143] In some embodiments, controller 914 sends a first set of one or more pulses wherein the first set of pulses causes output oscillator 906 of first energy-based model (EBM) 900 to becoupled to at least one or more relay oscillators {^^^భ, ^^^మ, ⋯ ^^^ಿ}, in the group of relay oscillators1010. The group of relay oscillators 1010 comprises a plurality of relay oscillators, whereinrespective relay oscillators {^^^భ, ^^^మ, ⋯ ^^^ಿ}, are configured to store a sample of the outputoscillator 906 based at least in part on respective couplings between the respective ones of the relay oscillators (e.g., 916) of the group of relay oscillators 1010 and the output oscillator 906. The on-chip classical controller 914 is further configured to cause another set of one or more pulses to be emitted, wherein the other set of pulses turns off the respective couplings between the output oscillator 906 and the respective ones of the relay oscillator of the group of relay oscillators 1010 at different times. This may allow different samples of the output oscillator 906 to be stored on therespective ones of the relay oscillators {^^^భ, ^^^మ, ⋯ ^^^ಿ}.

[0144] On-chip classical controller 914 may be further configured to cause a second set of one or more pulses to be emitted, wherein the second set of pulses turns on the coupling between respective ones of the relay oscillators with sample values of the output oscillator 906 to an additional relay oscillator 1012. The coupling is configured to transfer an approximation of the expectation value of output oscillator 906 based at least in part on the sample values stored on respective relay oscillators in the first group of relay oscillators 1010. Once the additional relay oscillator 1012 is tuned to the expectation value of output oscillator 906, controller 914 may cause a set of one or more pulses that may cause the additional relay oscillator 1012 to be coupled to input oscillator 908. For ease of illustration a version that includes bias oscillators is shown. However, it should be understood that in some embodiments bias oscillators may be omitted.

[0145] FIG. 11 is a high-level diagram illustrating a temporal analogue relay gadget, wherein a group of relay oscillators comprises a single relay oscillator, according to some embodiments.

[0146] In some embodiments, the group of relay oscillators 910 comprises a single relay oscillator 1116. The single relay oscillator 1116 is configured to store a sample of the output oscillator 906 based at least in part on the coupling between the single relay oscillator 1116 and the output oscillator 906. The coupling between output oscillator 906 and single relay oscillator 1116 is caused by a first set of one or more pulses emitted from on-chip classical controller 914. The on-chip classical controller 914 is configured to cause a second set of one or more pulses to be emitted, wherein the second set of pulses causes the single relay oscillator 1116 to be coupled to additional relay oscillator 1112. The sequence of emitting the first set of pulses and then emitting the second set of pulses may be repeated numerous times. Each instance the sequence of the sequential sets of pulses is emitted, the position of additional relay oscillator 1112 is incrementally adjusted. Each adjustment may converge the additional relay oscillator 1112 to the expectation value of output oscillator 906. For ease of illustration a version that includes bias oscillators is shown. However, it should be understood that in some embodiments bias oscillators may be omitted.

[0147] FIG.12 is a high-level diagram illustrating a series analogue relay gadget, wherein a group of relay oscillators comprises a plurality of relay oscillators arranged in series, according to some embodiments.

[0148] FIG.12 shows a drawing of a series analogue relay gadget 1204. The group of relayoscillators 910 comprises a plurality of relay oscillators {^^^భ, ^^^మ, ⋯ } (e.g. relay oscillator 1216A,1216B, 1216C) arranged one after another in series. Each relay oscillator has a product of mass and frequency squared. The first relay oscillator 1216A, ^^^భ, has the smallest product of mass and frequency squared. The next relay oscillator 1216B, ^^^మ, has a product of mass and frequency squared larger than the previous relay oscillator 1216A, ^^^భ.This trend of increasing the product of mass and frequency squared continues for each subsequent relay oscillator in the group of relay oscillators 910. As last in the chain of relay oscillators, the additional relay oscillator 1212 has the largest product of mass and frequency squared. The couplings between relay oscillators and the coupling between the output oscillator 906 and the first relay oscillator 1216A, ^^^భ, may be turned on at the same time and allowed to evolve thermodynamically according to Langevin dynamics. Once coupling is initiated, each successive relay oscillator takes continuous samples of the previous oscillator it is coupled to. Furthermore, each successive relay oscillator may be a closer approximation of the expectation value of the output oscillator 906. In this manner, additionalrelay oscillator 1212 approximates an expectation value of input oscillator 906. At this point, coupling between the additional relay oscillator 1212 and input oscillator 908 may be turned on and the thermodynamic information may be transferred to input oscillator 908. The number of relay oscillators and the timing of coupling may be chosen beforehand and optimized for a desired precision or accuracy of the expectation value of the output relay oscillator. For ease of illustration a version that includes bias oscillators is shown. However, it should be understood that in some embodiments bias oscillators may be omitted.

[0149] FIG.13A illustrates example couplings between visible neurons of an energy-based model (EBM), according to some embodiments.

[0150] In some embodiments, input neurons and output neurons of an energy-based model, such as visible neurons 1302 and visible neurons 1304, may be directly linked via connected edges 1306. As shown in FIG. 13A, a given visible neuron 1302 of the five shown in the figure is connected, via edges 1306, to each of the respective three visible neurons 1304. A person having ordinary skill in the art should understand that FIG. 13A is meant to represent example embodiments of a graph architecture implemented using a thermodynamic chip that may be applied and that specific numbers of visible neurons 1302 and / or visible neurons 1304 shown in the figure are not meant to be restrictive. Additional configurations combining more / less visible neurons 1302 and / or visible neurons 1304 are also encompassed by the discussion herein. In addition, recall that neurons are logical representations of physical oscillators, such that, when describing neurons in FIGs. 13A and 13B, it should be understood that neurons and edges are implemented using oscillators and couplings.

[0151] FIG. 13B illustrates example couplings between visible neurons and non-visible neurons (e.g., hidden neurons) of an energy-based model (EBM), according to some embodiments.

[0152] In some embodiments, FIG. 13B may resemble additional example embodiments of an energy-based model architecture implemented using a thermodynamic chip. As shown in the figure, additional non-visible neurons 1308 may be used, which are respectively coupled, via edges 1306, to both visible neurons 1302 and to visible neurons 1304. Note that while the non-visible neurons are “not visible” from the perspective of inputs and outputs, the non-visible neurons may each correspond to a given oscillator. In addition, it may be noted that, in some embodiments that make use of non-visible neurons, no direct connections, via edges 1306, may be implemented between visible neurons 1302 and visible neurons 1304, but rather connections are routed firstly via non-visible neurons 1308, as shown in FIG.13B. Couplings between visible and non-visible neurons may be additionally referred to herein as “layers” of a given energy-based model architecture that is implemented using a thermodynamic chip, according to some embodiments.

[0153] FIG. 14 is high-level diagram illustrating a process of determining weights and biases to be used in an energy-based model (EBM), wherein the weights and biases are determined using measurement values for synapse oscillators, according to some embodiments.

[0154] As shown in FIG.14, in a first evolution, visible neurons of an energy-based model implemented on a thermodynamic chip 1402 may be clamped to input data. For example, multiple mini-batches of input data may be clamped to visible neurons for multiple evolutions used to generate a first set of measurements used to compute a positive phase term. For example, the measurements may be used by classical computing device 1404 to compute the positive phase term.

[0155] Also, in a second (or other subsequent) evolution, the visible neurons may remain unclamped, such that the visible neuron oscillators are free to evolve along with the synapse oscillators during the second (or other subsequent) evolution. Measurements may also be taken and used by the classical computing device 1404 to compute a negative phase term.

[0156] Additionally, the positive and negative phase terms computed based on the first and second sets of measurements (e.g., clamped measurements and un-clamped measurements) may be used to calculate updated weights and biases.

[0157] This process may be repeated, with the determined updated weights and biases used as initial weights and biases for a subsequent iteration. In some embodiments, inferences generated using the updated weights and biases may be compared to training data to determine if the energy- based model has been sufficiently trained. If so, the model may transition into a mode of performing inferences using the learned weights and biases. If not sufficiently trained, the process may continue with additional iterations of determining updated weights and biases.

[0158] FIG. 15 is high-level diagram illustrating a process of determining weights and biases to be used in an energy-based model (EBM), wherein the weights and biases are computed using a classical computing device, according to some embodiments.

[0159] In some embodiments, updated weights and bias values may be computed iteratively by classical computing device 1504 based on inference measurements from thermodynamic chip 1502. For example, inference values may be compared to training data values, and new weights and biases may be iteratively computed until the inference values closely correspond to the training data. As can be seen in FIG. 15, in some embodiments the synapse oscillator may be omitted as degrees of freedom of the energy-based model. For example, when a classical computing device is used to iteratively determine the weight and bias values.

[0160] FIG. 16 is high-level diagram illustrating an example neuro-thermodynamic computer comprising a thermodynamic chip (e.g., that implements multiple energy-based models(EBMs) and a relay gadget) included in a dilution refrigerator and coupled to a classical computing device in an environment external to the dilution refrigerator, according to some embodiments.

[0161] In some embodiments, a neuro-thermodynamic computing system 1600 (as shown in FIG. 16) may be used to implement the various embodiments shown in FIGs. 1-15 and may include one or more thermodynamic chip(s) 1602 placed in a dilution refrigerator 1606. In some embodiments, classical computing device 1604 may control temperature for dilution refrigerator 1606, and / or perform other tasks, such as helping to drive a pulse drive to change respective hyperparameters of the given system and / or perform measurements. Also, the classical computing device 1604 may perform other simple computing operations, such as are needed to determine updated weights and biases.

[0162] In some embodiments, classical computing device 1604 may include one or more devices such as a field-programmable gate array (FPGA), an application specific integrated circuit (ASIC), and / or other devices that may be configured to interact and / or interface with a thermodynamic chip within the architecture of neuro-thermodynamic computer 1600. For example, such devices may be used to tune hyperparameters of the given thermodynamic system, etc. as well as perform part of the calculations necessary to determine updated weights and biases. In some embodiments, the classical computing device 1604 may be placed in an environment 1606 outside of the dilution refrigerator 1606.

[0163] As shown in FIG. 16, in embodiments where more than one thermodynamic chip is used with a relay gadget, multiple ones of the thermodynamic chips and the relay gadget may be placed in the same dilution refrigerator 1606.

[0164] FIG. 17 is high-level diagram illustrating an example neuro-thermodynamic computer comprising a thermodynamic chip (e.g., that implements multiple energy-based models (EBMs) and a relay gadget) included in a dilution refrigerator and coupled to a classical computing device that is also included in the dilution refrigerator, according to some embodiments.

[0165] As another alternative, in some embodiments, a classical computing device used in a neuro-thermodynamic computer, such as in neuro-thermodynamic computer 1700, may be included in a dilution refrigerator with the thermodynamic chip. For example, neuro- thermodynamic computer 1700 includes both thermodynamic chip 1702 and classical computing device 1704 in dilution refrigerator 1706.

[0166] FIG. 18 is high-level diagram illustrating an example neuro-thermodynamic computer comprising one or more thermodynamic chips (e.g., that implement respective energy- based models (EBMs) and a relay gadget) coupled to a classical computing device in an environment other than a dilution refrigerator, according to some embodiments.

[0167] Also, in some embodiments, a neuro-thermodynamic computer, such as neuro- thermodynamic computer 1800, may be implemented in an environment other than a dilution refrigerator. For example, neuro-thermodynamic computer 1800 includes thermodynamic chip(s) 1802 and classical computing device 1804, in environment 1806. In some embodiments, environment 1806 may be temperature controlled and, the classical computing device (or other device) may control the temperature of environment 1806 in order to achieve a given level of evolution according to Langevin dynamics.

[0168] FIG.19 is a high-level diagram illustrating oscillators included in a substrate of the thermodynamic chip and mapping of the oscillators to logical neurons of the thermodynamic chip, according to some embodiments.

[0169] In some embodiments, a substrate 1902 may be included in a thermodynamic chip, such as any one of the thermodynamic chips described above. Oscillators 1904 of substrate 1902 may be mapped in a logical representation 1952 to neurons 1954, as well as weights and biases (shown in FIG.20). In some embodiments, oscillators 1904 may include oscillators with potentials ranging from a single well potential to a dual-well potential and may be mapped to visible neurons, weights, and biases.

[0170] In some embodiments, Josephson junctions and / or superconducting quantum interference devices (SQUIDS) may be used to implement and / or excite / control the oscillators 1904. In some embodiments, the oscillators 1904 may be implemented using superconducting flux elements (e.g., qubits). In some embodiments, the superconducting flux elements may physically be instantiated using a superconducting circuit built out of coupled nodes comprising capacitive, inductive, and Josephson junction elements, connected in series or parallel, such as shown in FIG. 19 for oscillator 1904. However, in some embodiments, generally speaking various non-linear flux loops may be used to implement the oscillators 1904, such as those having single-well potential, double-well potential, or various other potentials, such as a potential somewhere between a single- well potential and a double-well potential.

[0171] FIG. 20 is an additional high-level diagram illustrating oscillators included in a substrate of the thermodynamic chip mapped to logical neurons, weights, and biases of a given neuro-thermodynamic computing system, according to some embodiments.

[0172] While weights and biases are not shown in FIG. 19 for ease of illustration, respective ones of the visible neurons 1954 of FIG.19 may each have an associated bias, and edges connecting the neurons 1954 may have associated weights. Each of the weights and biases may be mapped to oscillators in the thermodynamic chip, as well as the visible (and non-visible) neurons being mapped to oscillators in the thermodynamic chip. For example, FIG.20 shows a portion ofa thermodynamic chip, wherein weights and biases associated with a given neuron 2054 are shown. For example, bias 2056 may be a bias value for visible neuron 2054 and weights 2058 and 2060 may be weights for edges formed between visible neuron 2054 and other visible neurons of the thermodynamic chip. As shown in FIG.20, each of the chip elements (visible neuron 2054, bias 2056, weight 2058, and weight 2060) may be mapped to separate ones of oscillators 2004. This may allow the visible neurons (and / or hidden neurons), weights, and biases to have independent degrees of freedom within a given thermodynamic chip that can separately evolve.

[0173] In some embodiments, oscillators associated with weights and biases, such as bias 2056 and weights 2058 and 2060, may be allowed to evolve during a training phase and may be held nearly constant during an inference phase. For example, in some embodiments, larger “masses” may be used for the weights and biases such that the weights and biases evolve more slowly than the visible neurons. This may have the effect of holding the weight values and the bias values nearly constant during an evolution phase used for generating inference values.

[0174] FIG.21 illustrates an example apparatus for measuring positions of oscillators of a thermodynamic chip using a flux read-out device, according to some embodiments.

[0175] In some embodiments, a resonator with a flux sensitive loop, such as resonator 2104 of flux readout apparatus 2102 may be used to measure flux and therefore position of an oscillator 1504 of thermodynamic chip 122. Note that flux is the analog of position for the oscillators used in thermodynamic chip 122. The flux of oscillator 1504 is measured by flux readout device 2102. For example, if the inductance of oscillator 1504 changes, it will also cause a change in the inductance of resonator 2104. This in turn causes a change in the frequency at which resonator 2104 resonates. In some embodiments, measurement device 2114 detects such changes in resonator frequency of resonator 2104 by sending a signal wave through the resonator 2104. The response wave that can be measured at measurement device 2114, will be altered due to the change in resonator frequency of resonator 2104, which can be measured and calibrated to measure the flux of oscillator 1504, and therefore the position of its corresponding neuron or synapse that is coded using that oscillator.

[0176] More specifically, in some embodiments, incoming flux 2106 from resonator 1504 is sensed by the inductor of resonator 2104, wherein flux tuning loop 2110 is used to tune the flux sensed by resonator 2104. Flux bias 2108 also biases the flux to flow through resonator 2104 towards transmission line 2112. In some embodiments, transmission line 2112 may carry the signal outside of a dilution refrigerator, such as dilution refrigerator 1602 shown in FIG. 16. Also, in some embodiments, transmission line 2112 may carry the signal to a classical computing device located within the dilution refrigerator, such as is shown for dilution refrigerator 1702 in FIG.17.Measurement device 2114 may then be used to measure the signal representing the flux and may provide a flux measurement value and / or provide a position measurement value.

[0177] FIG.22 illustrates an example apparatus for measuring momentums of oscillators of a thermodynamic chip using a charge read-out device, according to some embodiments.

[0178] As mentioned in the discussion of FIG. 21, flux of an oscillator of the thermodynamic chip corresponds to position. In a similar manner, a charge measurement of an oscillator corresponds to momentum. In some embodiments, a charge or current read out circuit, such as charge or current read out circuit 2202, may be used to measure charge of a given oscillator of the thermodynamic chip 122. In such an arrangement, the oscillator 1504 of thermodynamic chip 122 is represented by oscillator 2014, which is coupled to a SET island 2004 that appears as a small superconducting island from the perspective of the charge or current read out circuit 2202. For example, the charge or current read out circuit 2202 includes capacitances Ce, Cc, and Cg which are connected in the lower portion of the charge or current read out circuit 2202 as shown in FIG.22. The Cg capacitance along with the voltage Vg is used to bias the charge on the SET island. The Ce capacitance along with the voltage Voscillator, is used to bias the charge of the oscillator 1504, the Cc capacitance is the capacitance between the SET island 2204 and the oscillator 1504. The Cset island (e.g. SET island 2204) is used to measure the charge of the oscillator 1504 with capacitance Coscillator, since the SET properties (2208) are sensitive to the charge on the SET island 2204, which is coupled to the oscillator charge. The amplifiers (cold and warm) and radio frequency signal source of signal processing 2210 are used to send the measured signal indicating the charge of the oscillator 1504 to a measurement device 2212, which may be a classical computing device, such as classical computing device 104. Illustrative computer system

[0179] FIG. 23 is a block diagram illustrating an example computer system that may be used in at least some embodiments.

[0180] In some embodiments, the computing system shown in FIG.23 may be used, at least in part, to implement any of the techniques described above in FIGs. 1-22. Furthermore, computer system 2300 may be configured to interact and / or interface with neuro-thermodynamic computing device 2380, according to some embodiments.

[0181] In the illustrated embodiment, computer system 2300 includes one or more processors 2310 coupled to a system memory 2320 (which may comprise both non-volatile and volatile memory modules) via an input / output (I / O) interface 2330. Computer system 2300 further includes a network interface 2340 coupled to I / O interface 2330. Classical computing functions may be performed on a classical computer system, such as computing computer system 2300.

[0182] Additionally, computer system 2300 includes computing device 2370 coupled to thermodynamic chip 2380. In some embodiments, computing device 2370 may be a field programmable gate array (FPGA), application specific integrated circuit (ASIC) or other suitable processing unit. In some embodiments, computing device 2370 may be a similar computing device as described in FIGs.1-22, such as classical computing devices used to control a thermodynamic chip. In some embodiments, neuro thermodynamic computing device 2380 may be a similar neuro thermodynamic computing device as described in FIGs. 1-22, such as neuro thermodynamic computing devices implemented using thermodynamic chips.

[0183] In various embodiments, computer system 2300 may be a uniprocessor system including one processor 2310, or a multiprocessor system including several processors 2310 (e.g., two, four, eight, or another suitable number). Processors 2310 may be any suitable processors capable of executing instructions. For example, in various embodiments, processors 2310 may be general- purpose or embedded processors implementing any of a variety of instruction set architectures (ISAs), such as the x86, PowerPC, SPARC, or MIPS ISAs, or any other suitable ISA. In multiprocessor systems, each of processors 2310 may commonly, but not necessarily, implement the same ISA. In some implementations, graphics processing units (GPUs) may be used instead of, or in addition to, conventional processors.

[0184] System memory 2320 may be configured to store instructions and data accessible by processor(s) 2310. In at least some embodiments, the system memory 2320 may comprise both volatile and non-volatile portions; in other embodiments, only volatile memory may be used. In various embodiments, the volatile portion of system memory 2320 may be implemented using any suitable memory technology, such as static random-access memory (SRAM), synchronous dynamic RAM or any other type of memory. For the non-volatile portion of system memory (which may comprise one or more NVDIMMs, for example), in some embodiments flash-based memory devices, including NAND-flash devices, may be used. In at least some embodiments, the non-volatile portion of the system memory may include a power source, such as a supercapacitor or other power storage device (e.g., a battery). In various embodiments, memristor based resistive random-access memory (ReRAM), three-dimensional NAND technologies, Ferroelectric RAM, magneto resistive RAM (MRAM), or any of various types of phase change memory (PCM) may be used at least for the non-volatile portion of system memory. In the illustrated embodiment, program instructions and data implementing one or more desired functions, such as those methods, techniques, and data described above, are shown stored within system memory 2320 as code 2325 and data 2326.

[0185] In some embodiments, I / O interface 2330 may be configured to coordinate I / O traffic between processor 2310, system memory 2320, computing device 2370, and any peripheral devices in the computer system, including network interface 2340 or other peripheral interfaces such as various types of persistent and / or volatile storage devices. In some embodiments, I / O interface 2330 may perform any necessary protocol, timing or other data transformations to convert data signals from one component (e.g., system memory 2320) into a format suitable for use by another component (e.g., processor 2310). In some embodiments, I / O interface 2330 may include support for devices attached through various types of peripheral buses, such as a variant of the Peripheral Component Interconnect (PCI) bus standard or the Universal Serial Bus (USB) standard, for example. In some embodiments, the function of I / O interface 2330 may be split into two or more separate components, such as a north bridge and a south bridge, for example. Also, in some embodiments some or all of the functionality of I / O interface 2330, such as an interface to system memory 2320, may be incorporated directly into processor 2310.

[0186] Network interface 2340 may be configured to allow data to be exchanged between computing device 2300 and other devices 2360 attached to a network or networks 2350, such as other computer systems or devices. In various embodiments, network interface 2340 may support communication via any suitable wired or wireless general data networks, such as types of Ethernet network, for example. Additionally, network interface 2340 may support communication via telecommunications / telephony networks such as analog voice networks or digital fiber communications networks, via storage area networks such as Fibre Channel SANs, or via any other suitable type of network and / or protocol.

[0187] In some embodiments, system memory 2320 may represent one embodiment of a computer-accessible medium configured to store at least a subset of program instructions and data used for implementing the methods and apparatus discussed in the context of FIG. 1A through FIG.22. However, in other embodiments, program instructions and / or data may be received, sent or stored upon different types of computer-accessible media. Generally speaking, a computer- accessible medium may include non-transitory storage media or memory media such as magnetic or optical media, e.g., disk or DVD / CD coupled to computer system 2300 via I / O interface 2330. A non-transitory computer-accessible storage medium may also include any volatile or non- volatile media such as RAM (e.g., SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc., that may be included in some embodiments of computer system 2300 as system memory 2320 or another type of memory. In some embodiments, a plurality of non-transitory computer-readable storage media may collectively store program instructions that when executed on or across one or more processors implement at least a subset of the methods and techniques described above. Acomputer-accessible medium may further include transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as a network and / or a wireless link, such as may be implemented via network interface 2340. Portions or all of multiple computing devices such as that illustrated in FIG. 23 may be used to implement the described functionality in various embodiments; for example, software components running on a variety of different devices and servers may collaborate to provide the functionality. In some embodiments, portions of the described functionality may be implemented using storage devices, network devices, or special-purpose computer systems, in addition to or instead of being implemented using general-purpose computer systems. The term “computer system”, as used herein, refers to at least all these types of devices, and is not limited to these types of devices.

[0188] Embodiments of the present disclosure can be described in view of the following clauses: Clause 1. A system comprising: one or more controllers configured to initialize one or more thermodynamic chips; and the one or more thermodynamic chips, comprising: a plurality of oscillators, wherein the plurality of oscillators comprises: a set of oscillators configured to generate SoftMax data samples, wherein each SoftMax data sample is a one-hot encoded vector corresponding to a respective energy-based model; one or more input data oscillators which represent input data; a plurality of sets of oscillators, each of which is configured to implement one of the respective energy-based models, which are further configured to process modified input data, wherein a sample of the modified input data has exactly one non-zero vector, and wherein the non-zero vector corresponds to the respective energy-based model which corresponds to the SoftMax data sample; and a set of multiplication oscillators having an engineered potential which causes the set of multiplication oscillators to use the generated SoftMax data samples and the input data as input and generate the modified input data as output. Clause 2. The system of clause 1, wherein: the set of oscillators configured to generate the SoftMax data samples has one or more learnable SoftMax parameters;the one or more learnable SoftMax parameters may be trained to cause the set of oscillators configured to generate the SoftMax data samples to generate one or more inferences using Langevin dynamics; and the one or more inferences are the SoftMax data samples. Clause 3. The system of clause 1 or clause 2, wherein: each of the plurality of sets of oscillators configured to implement respective ones of the energy-based models has one or more learnable energy-based model parameters; and the one or more learnable energy-based model parameters may be trained to cause the plurality of sets of oscillators implementing respective ones of the energy-based models to generate one or more inferences using Langevin dynamics; and the one or more inferences are output data. Clause 4. The system of clause 3, wherein the training is performed: using positive and negative phase terms; or during the initialization by the controller. Clause 5. The system of any one of clauses 1 through 4, wherein an oscillator of the plurality of oscillators: represents a neuron or a synapse; and wherein an oscillator that represents a synapse: is a weighting value coordination oscillator or a bias value coordination oscillator; and has a weighting or biasing configuration with one or more other oscillators of the plurality of oscillators. Clause 6. The system of clause 1, wherein the set of multiplication oscillators are configured to thermodynamically evolve, based on the engineered potential, to generate the modified input data based on the input data and the SoftMax data samples. Clause 7. The system of any one of clauses 1 through 6, wherein said initialization comprises clamping the input data to the one or more input data oscillators. Clause 8. One or more thermodynamic chips, comprising: a plurality of oscillators, wherein the plurality of oscillators comprises: a set of oscillators configured to generate SoftMax data samples, wherein each SoftMax data sample is a one-hot encoded vector corresponding to a respective energy-based model; one or more input data oscillators which represent input data;a plurality of sets of oscillators, each of which is configured to implement one of the respective energy-based models, which are further configured to process modified input data, wherein a sample of the modified input data has exactly one non-zero vector, and wherein the non-zero vector corresponds to the respective energy-based model; and a set of multiplication oscillators having an engineered potential, wherein the engineered potential causes the set of multiplication oscillators to use the generated SoftMax data samples and the input data as input and generate the modified input data as output. Clause 9. The one or more thermodynamic chips of clause 8, wherein: the set of oscillators configured to generate the SoftMax data samples has one or more learnable SoftMax parameters; the one or more learnable SoftMax parameters may be trained to cause the set of oscillators configured to generate the SoftMax data samples to generate one or more inferences using Langevin dynamics; and the one or more inferences are the SoftMax data samples. Clause 10. The one or more thermodynamic chips of clause 8, wherein: each of the plurality of sets of oscillators configured to implement respective ones of the energy-based models has one or more learnable energy-based model parameters; and the one or more learnable energy-based model parameters may be trained to cause the plurality of sets of oscillators implementing respective ones of the energy-based models to generate one or more inferences using Langevin dynamics; and the one or more inferences are output data. Clause 11. The one or more thermodynamic chips of clause 10, wherein the training is performed: using positive and negative phase terms; or during the initialization by the controller. Clause 12. The one or more thermodynamic chips of any one of clauses 8 through 11, wherein an oscillator of the plurality of oscillators: represents a neuron or a synapse; and wherein an oscillator that represents a synapse: is a weighting value coordination oscillator or a bias value coordination oscillator; andhas a weighting or biasing configuration with one or more other oscillators of the plurality of oscillators. Clause 13. The one or more thermodynamic chips of any one of clauses 8 through 11, wherein the set of multiplication oscillators having the engineered potential are configured to thermodynamically evolve, based on the engineered potential, to generate the modified input data based on the input data and the SoftMax data samples. Clause 14. A method, comprising: initializing one or more thermodynamic chips with input data, the one or more thermodynamic chips comprising: a plurality of oscillators, wherein the plurality of oscillators comprises: a set of oscillators configured to generate SoftMax data samples, wherein each SoftMax data sample is a one-hot encoded vector corresponding to a respective energy-based model; one or more input data oscillators, wherein said initialization of the system comprises clamping input data to the one or more input data oscillators; a plurality of sets of oscillators, each of which is configured to implement one of the respective energy-based models, which are further configured to process modified input data, wherein a sample of the modified input data has exactly one non-zero vector, and wherein the non-zero vector corresponds to the respective energy-based model; and a set of multiplication oscillators having an engineered potential, wherein the engineered potential causes the set of multiplication oscillators to use the generated SoftMax data samples and the input data as input and generate the modified input data as output; and receiving output data from the one or more thermodynamic chips. Clause 15. The method of clause 14, wherein the given one of the respective energy-based models generates the output data. Clause 16. The method of clause 14 or clause 15, wherein: the set of oscillators configured to generate the SoftMax data samples has one or more learnable SoftMax parameters;the one or more learnable SoftMax parameters may be trained to cause the set of oscillators configured to generate the SoftMax data samples to generate one or more inferences using Langevin dynamics; and the one or more inferences are the SoftMax data samples. Clause 17. The method of clause 14, wherein: each of the plurality of sets of oscillators implementing respective ones of the energy-based models has one or more learnable energy-based model parameters; and the one or more learnable energy-based model parameters may be trained to cause the plurality of sets of oscillators implementing respective ones of the energy-based models to generate one or more inferences using Langevin dynamics; and the one or more inferences are the output data. Clause 18. The method of clause 17, further comprising: performing the training using positive and negative phase terms; or performing the training during the initialization by the controller. Clause 19. The method of any one of clauses 14 through 18, wherein an oscillator of the plurality of oscillators: represents a neuron or a synapse; and wherein an oscillator that represents a synapse: is a weighting value coordination oscillator or a bias value coordination oscillator; and has a weighting or biasing configuration with one or more other oscillators of the plurality of oscillators. Clause 20. The method of clause 14, wherein the set of multiplication oscillators having the engineered potential are configured to thermodynamically evolve, based on the engineered potential, to generate the modified input data based on the input data and the SoftMax data samples. Conclusion

[0189] Various embodiments may further include receiving, sending or storing instructions and / or data implemented in accordance with the foregoing description upon a computer-accessible medium. Generally speaking, a computer-accessible medium may include storage media or memory media such as magnetic or optical media, e.g., disk or DVD / CD-ROM, volatile or non- volatile media such as RAM (e.g., SDRAM, DDR, RDRAM, SRAM, etc.), ROM, etc., as well as transmission media or signals such as electrical, electromagnetic, or digital signals, conveyed via a communication medium such as network and / or a wireless link.

[0190] The various methods as illustrated in the figures above and described herein represent exemplary embodiments of methods. The methods may be implemented in software, hardware, or a combination thereof. The order of method may be changed, and various elements may be added, reordered, combined, omitted, modified, etc.

[0191] It will also be understood that, although the terms first, second, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, without departing from the scope of the present invention. The first contact and the second contact are both contacts, but they are not the same contact.

[0192] Various modifications and changes may be made as would be obvious to a person skilled in the art having the benefit of this disclosure. It is intended to embrace all such modifications and changes and, accordingly, the above description is to be regarded in an illustrative rather than a restrictive sense.

Claims

CLAIMS WHAT IS CLAIMED IS:

1. A system comprising: one or more controllers configured to initialize one or more thermodynamic chips; and the one or more thermodynamic chips, comprising: a plurality of oscillators, wherein the plurality of oscillators comprises: a set of oscillators configured to generate SoftMax data samples, wherein each SoftMax data sample is a one-hot encoded vector corresponding to a respective energy-based model; one or more input data oscillators which represent input data; a plurality of sets of oscillators, each of which is configured to implement one of the respective energy-based models, which are further configured to process modified input data, wherein a sample of the modified input data has exactly one non-zero vector, and wherein the non-zero vector corresponds to the respective energy-based model which corresponds to the SoftMax data sample; and a set of multiplication oscillators having an engineered potential which causes the set of multiplication oscillators to use the generated SoftMax data samples and the input data as input and generate the modified input data as output.

2. The system of claim 1, wherein: the set of oscillators configured to generate the SoftMax data samples has one or more learnable SoftMax parameters; the one or more learnable SoftMax parameters may be trained to cause the set of oscillators configured to generate the SoftMax data samples to generate one or more inferences using Langevin dynamics; and the one or more inferences are the SoftMax data samples.

3. The system of claim 1, wherein: each of the plurality of sets of oscillators configured to implement respective ones of the energy-based models has one or more learnable energy-based model parameters; and the one or more learnable energy-based model parameters may be trained to cause the plurality of sets of oscillators implementing respective ones of the energy-based models to generate one or more inferences using Langevin dynamics; and the one or more inferences are output data.

4. The system of claim 3, wherein the training is performed: using positive and negative phase terms; or during the initialization by the controller.

5. The system of claim 1, wherein an oscillator of the plurality of oscillators: represents a neuron or a synapse; and wherein an oscillator that represents a synapse: is a weighting value coordination oscillator or a bias value coordination oscillator; and has a weighting or biasing configuration with one or more other oscillators of the plurality of oscillators.

6. The system of any one of claims 1 through 7, wherein the set of multiplication oscillators are configured to thermodynamically evolve, based on the engineered potential, to generate the modified input data based on the input data and the SoftMax data samples.

7. The system of any one of claims 1 through 7, wherein said initialization comprises clamping the input data to the one or more input data oscillators.

8. One or more thermodynamic chips, comprising: a plurality of oscillators, wherein the plurality of oscillators comprises: a set of oscillators configured to generate SoftMax data samples, wherein each SoftMax data sample is a one-hot encoded vector corresponding to a respective energy-based model; one or more input data oscillators which represent input data; a plurality of sets of oscillators, each of which is configured to implement one of the respective energy-based models, which are further configured to process modified input data, wherein a sample of the modified input data has exactly one non-zero vector, and wherein the non-zero vector corresponds to the respective energy-based model; and a set of multiplication oscillators having an engineered potential, wherein the engineered potential causes the set of multiplication oscillators to use the generated SoftMax data samples and the input data as input and generate the modified input data as output.

9. The one or more thermodynamic chips of claim 8, wherein: the set of oscillators configured to generate the SoftMax data samples has one or more learnable SoftMax parameters; the one or more learnable SoftMax parameters may be trained to cause the set of oscillators configured to generate the SoftMax data samples to generate one or more inferences using Langevin dynamics; and the one or more inferences are the SoftMax data samples.

10. The one or more thermodynamic chips of claim 8, wherein: each of the plurality of sets of oscillators configured to implement respective ones of the energy-based models has one or more learnable energy-based model parameters; and the one or more learnable energy-based model parameters may be trained to cause the plurality of sets of oscillators implementing respective ones of the energy-based models to generate one or more inferences using Langevin dynamics; and the one or more inferences are output data.

11. The one or more thermodynamic chips of claim 10, wherein the training is performed: using positive and negative phase terms; or during the initialization by the controller.

12. The one or more thermodynamic chips of claim 8, wherein an oscillator of the plurality of oscillators: represents a neuron or a synapse; and wherein an oscillator that represents a synapse: is a weighting value coordination oscillator or a bias value coordination oscillator; and has a weighting or biasing configuration with one or more other oscillators of the plurality of oscillators.

13. The one or more thermodynamic chips of claim 8, wherein the set of multiplication oscillators having the engineered potential are configured to thermodynamically evolve, based on the engineered potential, to generate the modified input data based on the input data and the SoftMax data samples.

14. A method, comprising: initializing one or more thermodynamic chips with input data, the one or more thermodynamic chips comprising: a plurality of oscillators, wherein the plurality of oscillators comprises: a set of oscillators configured to generate SoftMax data samples, wherein each SoftMax data sample is a one-hot encoded vector corresponding to a respective energy-based model; one or more input data oscillators, wherein said initialization of the system comprises clamping input data to the one or more input data oscillators; a plurality of sets of oscillators, each of which is configured to implement one of the respective energy-based models, which are further configured to process modified input data, wherein a sample of the modified input data has exactly one non-zero vector, and wherein the non-zero vector corresponds to the respective energy-based model; and a set of multiplication oscillators having an engineered potential, wherein the engineered potential causes the set of multiplication oscillators to use the generated SoftMax data samples and the input data as input and generate the modified input data as output; and receiving output data from the one or more thermodynamic chips.

15. The method of claim 14, wherein the given one of the respective energy-based models generates the output data.

16. The method of claim 14, wherein: the set of oscillators configured to generate the SoftMax data samples has one or more learnable SoftMax parameters; the one or more learnable SoftMax parameters may be trained to cause the set of oscillators configured to generate the SoftMax data samples to generate one or more inferences using Langevin dynamics; and the one or more inferences are the SoftMax data samples.

17. The method of claim 14, wherein: each of the plurality of sets of oscillators implementing respective ones of the energy-based models has one or more learnable energy-based model parameters; and the one or more learnable energy-based model parameters may be trained to cause the plurality of sets of oscillators implementing respective ones of the energy-based models to generate one or more inferences using Langevin dynamics; and the one or more inferences are the output data.

18. The method of claim 17, further comprising: performing the training using positive and negative phase terms; or performing the training during the initialization by the controller.

19. The method of any one of claims 14 through 17, wherein an oscillator of the plurality of oscillators: represents a neuron or a synapse; and wherein an oscillator that represents a synapse: is a weighting value coordination oscillator or a bias value coordination oscillator; and has a weighting or biasing configuration with one or more other oscillators of the plurality of oscillators.

20. The method of any of claims 14 through 17, wherein the set of multiplication oscillators having the engineered potential are configured to thermodynamically evolve, based on the engineered potential, to generate the modified input data based on the input data and the SoftMax data samples.