IP Library Granted Patent US 12,229,192
Granted Patent B2
US 12,229,192 · App. 18/538,965 · Granted Feb 18, 2025

Speculative decoding in autoregressive generative artificial intelligence models

Inventors: Christopher Lott (San Diego, CA); Mingu Lee (San Diego, CA); Wonseok Jeon (San Diego, CA); Roland Memisevic (Toronto, CA)
Assignee: QUALCOMM Incorporated
G06F16/9027G06F40/284
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 12,229,192
App. No.
18/538,965
Filed
Dec 13, 2023
Granted
Feb 18, 2025
Kind
B2
Art Unit
2161
USPC
707/797
Abstract

Certain aspects of the present disclosure provide techniques and apparatus for generating a response to a query input in a generative artificial intelligence model. An example method generally includes receiving a plurality of sets of tokens generated based on an input prompt and a first generative artificial intelligence model, each set of tokens in the plurality of sets of tokens corresponding to a candidate response to the input prompt; selecting, using a second generative artificial intelligence model and recursive adjustment of a target distribution associated with the received plurality of sets of tokens, a set of tokens from the plurality of sets of tokens; and outputting the selected set of tokens as a response to the input prompt.

Claims (73)

1. A processing system, comprising:

at least one memory having executable instructions stored thereon; and

one or more processors configured to execute the executable instructions in order to cause the processing system to:

generate, based on an input prompt and a generative artificial intelligence model, a first plurality of sets of tokens, each set of tokens in the first plurality of sets of tokens corresponding to a first portion of a candidate response to the input prompt;

speculatively generate, using the generative artificial intelligence model, a second plurality of sets of tokens, each set of tokens in the second plurality of sets of tokens corresponding to a second portion of the candidate response to the input prompt based on the first plurality of sets of tokens;

while speculatively generating the second plurality of sets of tokens, select a set of tokens from the first plurality of sets of tokens; and

output the selected set of tokens from the first plurality of tokens and an associated set of tokens in the second plurality of tokens as a response to the input prompt.

2. The processing system of claim 1 , wherein to select the set of tokens from the first plurality of sets of tokens, the one or more processors are configured to cause the processing system to select a longest sequence of accepted tokens from the first plurality of sets of tokens.

3. The processing system of claim 1 , wherein sets of tokens in the second plurality of sets of tokens include padding accounting for a number of tokens in the selected set of tokens from the first plurality of sets of tokens.

4. The processing system of claim 1 , wherein the first plurality of sets of tokens is represented as a tree data structure and wherein a root node of the tree data structure corresponds to the input prompt.

5. The processing system of claim 4 , wherein a depth of the tree data structure corresponds to a maximum number of tokens generated by a single pass through the generative artificial intelligence model.

6. The processing system of claim 4 , wherein a maximum size of the tree data structure is set based on a computational complexity metric associated with generating a set of tokens by the generative artificial intelligence model.

7. The processing system of claim 4 , wherein to select the set of tokens from the first plurality of sets of tokens, the one or more processors are configured to cause the processing system to:

reject a first token at a first level of the tree data structure representing the first plurality of sets of tokens;

generate an adjusted probability distribution based on the rejection of the first token;

discard or ignoring children tokens of the first token from the tree data structure; and

determine whether to accept or reject a second token at the first level of the tree data structure based on the adjusted probability distribution.

8. The processing system of claim 1 , wherein to select the set of tokens from the first plurality of sets of tokens, the one or more processors are configured to cause the processing system to:

reject each set of tokens in the first plurality of sets of tokens generated by the generative artificial intelligence model; and

sample, using the generative artificial intelligence model, a token based on a target distribution that excludes probabilities associated with each set of tokens in the first plurality of sets of tokens, wherein the selected set of tokens from the first plurality of sets of tokens comprises the sampled token.

9. The processing system of claim 1 , wherein the generative artificial intelligence model comprises a generative artificial intelligence model trained to generate multiple tokens in response to the input prompt based on forecast prompt embeddings.

10. The processing system of claim 1 , wherein the generative artificial intelligence model comprises a model including one or more non-autoregressive layers and one or more autoregressive layers.

11. The processing system of claim 10 , wherein the one or more autoregressive layers comprise one or more layers at a top of a stack of layers representing the generative artificial intelligence model.

12. The processing system of claim 10 , wherein the one or more autoregressive layers comprise one or more layers at a bottom of a stack of layers representing the generative artificial intelligence model.

13. A processor-implemented method, comprising:

generating, based on an input prompt and a generative artificial intelligence model, a first plurality of sets of tokens, each set of tokens in the first plurality of sets of tokens corresponding to a first portion of a candidate response to the input prompt;

speculatively generating, using the generative artificial intelligence model, a second plurality of sets of tokens, each set of tokens in the second plurality of sets of tokens corresponding to a second portion of the candidate response to the input prompt based on the first plurality of sets of tokens;

while speculatively generating the second plurality of sets of tokens, selecting a set of tokens from the first plurality of sets of tokens; and

outputting the selected set of tokens from the first plurality of tokens and an associated set of tokens in the second plurality of tokens as a response to the input prompt.

14. The method of claim 13 , wherein selecting the set of tokens from the first plurality of sets of tokens comprises selecting a longest sequence of accepted tokens from the first plurality of sets of tokens.

15. The method of claim 13 , wherein sets of tokens in the second plurality of sets of tokens include padding accounting for a number of tokens in the selected set of tokens from the first plurality of sets of tokens.

16. The method of claim 13 , wherein the first plurality of sets of tokens is represented as a tree data structure and wherein a root node of the tree data structure corresponds to the input prompt.

17. The method of claim 16 wherein a depth of the tree data structure corresponds to a maximum number of tokens generated by a single pass through the generative artificial intelligence model.

18. The method of claim 16 , wherein a maximum size of the tree data structure is set based on a computational complexity metric associated with generating a set of tokens by the generative artificial intelligence model.

19. The method of claim 16 , wherein selecting the set of tokens from the first plurality of sets of tokens comprises:

rejecting a first token at a first level of the tree data structure representing the first plurality of sets of tokens;

generating an adjusted probability distribution based on the rejection of the first token;

discarding or ignoring children tokens of the first token from the tree data structure; and

determining whether to accept or reject a second token at the first level of the tree data structure based on the adjusted probability distribution.

20. The method of claim 13 , wherein selecting the set of tokens from the first plurality of sets of tokens comprises:

rejecting each set of tokens in the first plurality of sets of tokens generated by the generative artificial intelligence model; and

sampling, using the generative artificial intelligence model, a token based on a target distribution that excludes probabilities associated with each set of tokens in the first plurality of sets of tokens, wherein the selected set of tokens from the first plurality of sets of tokens comprises the sampled token.

21. The method of claim 13 , wherein the generative artificial intelligence model comprises a generative artificial intelligence model trained to generate multiple tokens in response to the input prompt based on forecast prompt embeddings.

22. The method of claim 13 , wherein the generative artificial intelligence model comprises a model including one or more non-autoregressive layers and one or more autoregressive layers.

23. The method of claim 22 , wherein the one or more autoregressive layers comprise one or more layers at a top of a stack of layers representing the generative artificial intelligence model.

24. The method of claim 22 , wherein the one or more autoregressive layers comprise one or more layers at a bottom of a stack of layers representing the generative artificial intelligence model.

25. A processing system, comprising:

means for generating, based on an input prompt and a generative artificial intelligence model, a first plurality of sets of tokens, each set of tokens in the first plurality of sets of tokens corresponding to a first portion of a candidate response to the input prompt;

means for speculatively generating, using the generative artificial intelligence model, a second plurality of sets of tokens, each set of tokens in the second plurality of sets of tokens corresponding to a second portion of the candidate response to the input prompt based on the first plurality of sets of tokens;

means for selecting, while speculatively generating the second plurality of sets of tokens, a set of tokens from the first plurality of sets of tokens; and

means for outputting the selected set of tokens from the first plurality of tokens and an associated set of tokens in the second plurality of tokens as a response to the input prompt.

26. The processing system of claim 25 , wherein the means for selecting the set of tokens from the first plurality of sets of tokens comprises means for selecting a longest sequence of accepted tokens from the first plurality of sets of tokens.

27. The processing system of claim 25 , wherein sets of tokens in the second plurality of sets of tokens include padding accounting for a number of tokens in the selected set of tokens from the first plurality of sets of tokens.

28. The processing system of claim 25 , wherein the first plurality of sets of tokens is represented as a tree data structure and wherein a root node of the tree data structure corresponds to the input prompt.

29. The processing system of claim 28 wherein a depth of the tree data structure corresponds to a maximum number of tokens generated by a single pass through the generative artificial intelligence model.

30. The processing system of claim 28 , wherein a maximum size of the tree data structure is set based on a computational complexity metric associated with generating a set of tokens by the generative artificial intelligence model.

31. The processing system of claim 28 , wherein the means for selecting the set of tokens from the first plurality of sets of tokens comprises:

means for rejecting a first token at a first level of the tree data structure representing the first plurality of sets of tokens;

means for generating an adjusted probability distribution based on the rejection of the first token;

means for discarding or ignoring children tokens of the first token from the tree data structure; and

means for determining whether to accept or reject a second token at the first level of the tree data structure based on the adjusted probability distribution.

32. The processing system of claim 25 , wherein the means for selecting the set of tokens from the first plurality of sets of tokens comprises:

means for rejecting each set of tokens in the first plurality of sets of tokens generated by the generative artificial intelligence model; and

means for sampling, using the generative artificial intelligence model, a token based on a target distribution that excludes probabilities associated with each set of tokens in the first plurality of sets of tokens, wherein the selected set of tokens from the first plurality of sets of tokens comprises the sampled token.

33. The processing system of claim 25 , wherein the generative artificial intelligence model comprises a generative artificial intelligence model trained to generate multiple tokens in response to the input prompt based on forecast prompt embeddings.

34. The processing system of claim 25 , wherein the generative artificial intelligence model comprises a model including one or more non-autoregressive layers and one or more autoregressive layers.

35. The processing system of claim 34 , wherein the one or more autoregressive layers comprise one or more layers at a top of a stack of layers representing the generative artificial intelligence model.

36. The processing system of claim 34 , wherein the one or more autoregressive layers comprise one or more layers at a bottom of a stack of layers representing the generative artificial intelligence model.

37. A non-transitory computer-readable medium having executable instructions stored thereon which, when executed by one or more processors, perform an operation comprising:

generating, based on an input prompt and a generative artificial intelligence model, a first plurality of sets of tokens, each set of tokens in the first plurality of sets of tokens corresponding to a first portion of a candidate response to the input prompt;

speculatively generating, using the generative artificial intelligence model, a second plurality of sets of tokens, each set of tokens in the second plurality of sets of tokens corresponding to a second portion of the candidate response to the input prompt based on the first plurality of sets of tokens;

while speculatively generating the second plurality of sets of tokens, selecting a set of tokens from the first plurality of sets of tokens; and

outputting the selected set of tokens from the first plurality of tokens and an associated set of tokens in the second plurality of tokens as a response to the input prompt.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2024
From: LOTT, CHRISTOPHER; LEE, MINGU; JEON, WONSEOK; MEMISEVIC, ROLAND
To: QUALCOMM INCORPORATED
Reel/Frame 066397/0656 →
Continuity (2)
Provisional Application 63460850 · Apr 20, 2023
Related Publication 20240354346A1 · Oct 24, 2024
References Cited (13)
US 7051029B1 · Fayyad et al. · 2006 [cited by applicant]
US 9734252B2 · Wolfram · 2017 [cited by examiner]
US 20200142888A1 · Alakuijala et al. · 2020 [cited by applicant]
US 20210034335A1 · Svyatkovskiy et al. · 2021 [cited by applicant]
US 20220407702A1 · Jakobsson · 2022 [cited by examiner]
Chen C., et al., “Accelerating Large Language Model Decoding with Speculative Sampling”, Deep Mind, arXiv:2302.01318v1 [cs.CL], Feb. 2, 2023, pp. 1-11. [cited by applicant]
Leviathan Y., et al., “Fast Inference from Transformers via Speculative Decoding”, arXiv:2211.17192v1 [cs.LG], Nov. 30, 2022, 12 Pages. [cited by applicant]
Stern M., et al., “Blockwise Parallel Decoding for Deep Autoregressive Models”, arXiv:1811.03115v1 [cs.LG], 32nd Conference on Neural Information Processing Systems, Montreal, Canada, Nov. 7, 2018, pp. 1-10. [cited by applicant]
International Search Report and Written Opinion—PCT/US2024/017339—ISA/EPO—Jun. 5, 2024. [cited by applicant]
Leviathan Y., et al., “Fast Inference from Transformers via Speculative Decoding”, arXiv:2211.17192v1 [cs.LG], arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Nov. 30, 2022, … [cited by applicant]
Leviathan Y., et al., “Fast Inference from Transformers via Speculative Decoding”, arXiv:2211.17192v1 [cs.LG], arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14853, Nov. 30, 2022, … [cited by applicant]
Xia H., et al., “Lossless Speedup of Autoregressive Translation with Generalized Aggressive Decoding”, arXiv:2203.16487v4 [cs.CL], arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14… [cited by applicant]
Xia H., et al., “Lossless Speedup of Autoregressive Translation with Generalized Aggressive Decoding”, arXiv:2203.16487v4 [cs.CL], arxiv.org, Cornell University Library, 201 Olin Library Cornell University Ithaca, NY 14… [cited by applicant]
Cited By (3)
US 12,468,756 US 12,688,235 US 12,724,827