IP Library Granted Patent US 11,481,669
Granted Patent B2
US 11,481,669 · App. 16/336,625 · Granted Oct 25, 2022

Systems, methods and apparatus for sampling from a sampling server

Inventors: Jason T. Rolfe (Vancouver, CA); William G. Macready (West Vancouver, CA); Mani Ranjbar (Port Coquitlam, CA); Mayssam Mohammad Nevisi (Coquitlam, CA)
Assignee: D-WAVE SYSTEMS INC.
G06N20/00G06F9/30G06F15/173G06N7/005G06N7/08G06N10/00H04L67/10
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,481,669
App. No.
16/336,625
Granted
Oct 25, 2022
Kind
B2
Abstract

A digital processor runs a machine learning algorithm in parallel with a sampling server. The sampling sever may continuously or intermittently draw samples for the machine learning algorithm during execution of the machine learning algorithm, for example on a given problem. The sampling server may run in parallel (e.g., concurrently, overlapping, simultaneously) with a quantum processor to draw samples from the quantum processor.

Claims (43)

1. A computational system for use in machine learning, the computational system comprising:

at least one digital processor core; and

at least one nontransitory processor-readable medium communicatively coupleable to the at least one digital processor core and that stores at least one of processor-executable instructions or data which, when executed by the at least one digital processor core, causes the at least one digital processor core to implement a sampling server that:

receives an initial set of parameters for an iteration of a machine learning process that is executing in parallel with the sampling server on a separate at least one digital processor core from the at least one digital processor core on which the sampling server is implemented;

generates a first set of samples based on the initial set of parameters temporarily in parallel with execution of the machine learning process; and

provide the first set of samples generated by sampling server as implemented by the at least one digital processor core for use in a further iteration of the machine learning process,

wherein the at least one digital processor core on which the sampling server is implemented is further communicatively coupleable to at least one quantum processor, and execution of the processor-executable instructions or data cause the at least one digital processor core on which the sampling server is implemented further to:

provide a current set of parameters from the sampling server to the at least one quantum processor; and

receive a set of quantum processor generated samples from the at least one quantum processor, wherein the quantum processor draws samples from a distribution based at least in part on the current set of parameters provided by the sampling server.

2. The computational system of claim 1 wherein execution of the processor-executable instructions or data cause the at least one digital processor core to provide a first set of functions along with the first set of samples generated by sampling server, wherein the first set of functions include are first- and second-order statistics; and causes the sampling server to send samples, functions of samples and an approximation to a log partition function to the at least one separate digital processor core on which the machine learning process executes.

3. The computational system of claim 1 wherein execution of the processor-executable instructions or data cause the at least one digital processor core to draw samples via at least one of Markov Chain of single temperature Gibbs sampling, simulated tempering, parallel tempering, population annealing, annealed importance sampling, and from a Boltzmann distribution.

4. The computational system of claim 1 wherein the machine learning process maximizes a log-likelihood of a generative model.

5. The computational system of claim 1 wherein execution of the processor-executable instructions or data cause the at least one digital processor core on which the sampling server is implemented further to:

perform post processing on the samples received from the quantum processor.

6. The computational system of claim 1 wherein the quantum processor performs chain embedding before drawing samples.

7. The computational system of claim 1 wherein the at least one digital processor core on which the sampling server is implemented is a first processor core of a graphical processor unit with a memory space, the separate at least one digital processor core that executes the machine learning process is a second processor core of the graphical processor unit and shares the memory space with the first processor core of the graphical processor unit.

8. The computational system of claim 1 wherein the at least one digital processor core on which the sampling server is implemented is a processor core of a first graphical processor unit and the separate at least one digital processor core that executes the machine learning process is a processor core of a second graphical processor unit, the second graphical processor unit separate and distinct from the first graphical processor unit.

9. The computational system of claim 8 wherein the at least one digital processor core on which the sampling server is implemented includes a plurality of digital processor cores of a plurality of processors that are separate and distinct from one another, and the plurality of processors are components of a plurality of computers, the computers which from a cluster of machines communicatively coupled via a network infrastructure.

10. The computational system of claim 1 wherein execution of the processor-executable instructions or data cause the at least one digital processor core further to:

iteratively receive additional sets of parameters for each of a number of iterations of the machine learning process that is executing in parallel with the sampling server on the separate at least one digital processor core from the at least one digital processor core on which the sampling server is implemented;

iteratively generate an additional set of samples based on respective ones of the additional sets of parameters temporarily in parallel with execution of the machine learning process; and

iteratively provide the additional sets of samples generated by sampling server as implemented by the at least one digital processor core for use in the iterations of the machine learning process.

11. The computational system of claim 1 wherein the sampling server executes concurrently with the machine learning process, overlapping at least a portion thereof.

12. A method of operation of a computational system for use in machine learning, the method comprising:

receiving, by at least one digital processor core that implements a sampling server, an initial set of parameters for an iteration of a machine learning process that is executing in parallel with the sampling server on a separate at least one digital processor core from the at least one digital processor core on which the sampling server is implemented;

generating, by at least one digital processor core that implements a sampling server, a first set of samples based on the initial set of parameters temporarily in parallel with execution of the machine learning process;

providing, by at least one digital processor core that implements a sampling server, the first set of samples generated by sampling server as implemented by the at least one digital processor core for use in a further iteration of the machine learning process;

providing a current set of parameters from the sampling server to at least one quantum processor; and

receiving, by the sampling server, a second set of quantum processor generated samples from the at least one quantum processor based at least in part on the current set of parameters provided by the sampling server.

13. The method of claim 12 , further comprising:

providing, by at least one digital processor core that implements a sampling server, a first set of functions along with the first set of samples generated by sampling server, wherein the first set of functions include are first- and second-order statistics; and

sending functions of samples and an approximation to a log partition function by the sampling server to the at least one separate digital processor core on which the machine learning process executes.

14. The method of claim 12 , further comprising:

drawing samples via at least one of Markov Chain of single temperature Gibbs sampling, simulated tempering, parallel tempering, population annealing, annealed importance sampling, and from a Boltzmann distribution by the separate at least one digital processor core that executes the machine learning process.

15. The method of claim 12 , further comprising:

performing post processing, by the sampling server, on the second set of samples before updating the current set of samples to produce a third set of samples based at least in part on the second set of samples.

16. The method of claim 12 , further comprising:

performing a chain embedding, by the quantum processor, before drawing samples by the quantum processor.

17. The method of claim 12 , further comprising:

iteratively receiving additional sets of parameters for each of a number of iterations of the machine learning process that is executing in parallel with the sampling server on the separate at least one digital processor core from the at least one digital processor core on which the sampling server is implemented;

iteratively generating an additional sets of samples based on respective ones of the additional sets of parameters temporarily in parallel with execution of the machine learning process; and

iteratively providing the additional sets of samples generated by sampling server as implemented by the at least one digital processor core for use in the iterations of the machine learning process.

18. The method of claim 12 wherein the sampling server executes concurrently with the machine learning process, overlapping at least a portion thereof.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Mar 11, 2025
From: PSPIB UNITAS INVESTMENTS II INC.
To: D-WAVE SYSTEMS INC.; 1372934 B.C. LTD.
Reel/Frame 070470/0098 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Apr 14, 2023
From: D-WAVE SYSTEMS INC.; 1372934 B.C. LTD.
To: PSPIB UNITAS INVESTMENTS II INC., AS COLLATERAL AGENT
Reel/Frame 063340/0888 →
RELEASE OF SECURITY INTEREST Recorded Sep 20, 2022
From: PSPIB UNITAS INVESTMENTS II INC., IN ITS CAPACITY AS COLLATERAL AGENT
To: D-WAVE SYSTEMS INC.
Reel/Frame 061493/0694 →
SECURITY INTEREST Recorded Mar 3, 2022
From: D-WAVE SYSTEMS INC.
To: PSPIB UNITAS INVESTMENTS II INC.
Reel/Frame 059317/0871 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2021
From: ROLFE, JASON T.; MACREADY, WILLIAM G.; RANJBAR, MANI; NEVISI, MAYSSAM MOHAMMADI
To: D-WAVE SYSTEMS INC.
Reel/Frame 057667/0773 →
MERGER AND CHANGE OF NAME Recorded Oct 1, 2021
From: D-WAVE SYSTEMS INC.; DWSI HOLDINGS INC.; DWSI HOLDINGS INC.
To: DWSI HOLDINGS INC.
Reel/Frame 057684/0306 →
CONTINUATION Recorded Oct 1, 2021
From: D-WAVE SYSTEMS INC.
To: D-WAVE SYSTEMS INC.
Reel/Frame 057681/0595 →
CHANGE OF NAME Recorded Oct 1, 2021
From: DWSI HOLDINGS INC.
To: D-WAVE SYSTEMS INC.
Reel/Frame 057667/0792 →
Continuity (2)
Provisional Application 62399683 · Sep 26, 2016
Related Publication 20210289020A1 · Sep 16, 2021
Cited By (5)
US 12,198,051 US 12,229,632 US 12,346,432 US 12,694,323 US 12,718,975