IP Library Patent Application 18824081
Patent Application
App. No. 18/824,081

GENERATING OUTPUT SEQUENCES USING A TOKEN PROCESSING NEURAL NETWORK AND EXTERNAL TOOLS

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 None
App. No.
18/824,081
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating output sequences using a token processing neural network and one or more external tools. The output sequences are then presented for display.

Claims (91)

1 . A method performed by one or more computers, the method comprising:

receiving a request from a user for an output sequence;

generating, using a token processing neural network, a first partial output sequence and an external tool request sequence, wherein the external tool request sequence comprises tokens that represent a plurality of requests for one or more external tools, and wherein the plurality of requests comprises a first request and a second request;

obtaining a first result from an external tool corresponding to the first request before obtaining a second result from an external tool corresponding to the second request;

generating, using the token processing neural network, based on the first partial output sequence and the first result, a second partial output sequence;

providing the second partial output sequence and the first partial output sequence for presentation to the user before obtaining the second result from the external tool corresponding to the second request;

obtaining the second result from the external tool corresponding to the second request;

generating, using the token processing neural network, based on the second partial output sequence and the second result, a third partial output sequence; and

providing the third partial output sequence, the second partial output sequence, and the first partial output sequence for presentation to the user.

2 . The method of claim 1 , wherein obtaining the first result from the external tool corresponding to the first request before obtaining the second result from the external tool corresponding to the second request comprises:

submitting the first request to the external tool corresponding to the first request as a same time as submitting the second request to the external tool corresponding to the second request; and

executing the first request to the external tool corresponding to the first request in parallel with executing the second request to the external tool corresponding to the second request.

3 . The method of claim 1 , wherein each request comprises an application programming interface (API) call.

4 . The method of claim 1 , wherein the one or more external tools comprise one or more of:

a search engine,

a machine translation system,

a question answering system,

a calculator system, or

a calendar system.

5 . The method of claim 1 , wherein the tokens that represent the plurality of requests for one or more external tools comprise one or more of:

tokens that identify an external tool,

tokens that define one or more arguments to pass to the identified external tool, or

tokens that define how to use a result obtained from the identified external tool.

6 . The method of claim 1 , wherein the plurality of requests comprises a third request for an external tool, and wherein the method further comprises:

submitting the third request to the external tool corresponding to the third request;

executing the third request to the external tool corresponding to the third request;

in response to determining that an amount of time taken by the external tool to execute the third request is greater than a threshold amount, generating, using the token processing neural network, and without using any results from the external tool corresponding to the third request, a fourth partial output sequence; and

providing the fourth partial output sequence for presentation to the user.

7 . The method of claim 1 , wherein the token processing neural network has been trained based on:

generating a training dataset that comprises a plurality of training sequences, each training sequence comprising a plurality of tokens; and

training the token processing neural network on training sequences obtained from the training dataset based on optimizing a language modeling objective.

8 . The method of claim 7 , wherein the training comprises:

obtaining a first training sequence from the training dataset, the first training sequence comprising a prefix input sequence followed by a suffix input sequence;

processing, by the token processing neural network, a training input comprising the prefix input sequence and a training external tool use sequence that includes (a) tokens representing a request for a first external tool and (b) tokens representing a result from a second external tool that is different from the first external tool to generate a training output; and

determining an update to values of parameters of the token processing neural network based on minimizing a difference between the training output and the suffix input sequence.

9 . The method of claim 7 , wherein the training comprises obtaining a second training sequence from the training dataset, the second training sequence comprising a prefix input sequence followed by a suffix input sequence;

processing, by the token processing neural network, a training input comprising the prefix input sequence and a training external tool use sequence that (a) includes tokens representing a request for a first external tool but (b) excludes tokens representing a result from any external tool to generate a training output; and

determining an update to values of parameters of the token processing neural network based on minimizing a difference between training output and the suffix input sequence.

10 . A method performed by one or more computers for training a token processing neural network that has parameters, the method comprising:

generating, by the token processing neural network, a plurality of training output sequences, each training output sequence comprising a plurality of tokens, the plurality of tokens comprising special tokens representing a request for an external tool;

for each of the plurality of training output sequences, determining a reward score for the training output sequence that is dependent on relative positions of the special tokens within the plurality of tokens included in the training output sequence; and

training the auto-regressive token processing neural network based on the plurality of training output sequences to update values of the parameters of the auto-regressive token processing neural network through reinforcement learning to optimize the reward scores.

11 . The method of claim 10 , wherein for each of the plurality of training output sequences, determining the combined reward score the training output sequence comprises:

generating a lower reward score when the special tokens are within a threshold number of proportion of the plurality of tokens of a beginning of the training output sequence; and

generating a higher reward score when the special tokens are within a threshold number of proportion of the plurality of tokens of an end of the training output sequence.

12 . A system comprising one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one more computers to perform operations comprising:

receiving a request from a user for an output sequence;

generating, using a token processing neural network, a first partial output sequence and an external tool request sequence, wherein the external tool request sequence comprises tokens that represent a plurality of requests for one or more external tools, and wherein the plurality of requests comprises a first request and a second request;

obtaining a first result from an external tool corresponding to the first request before obtaining a second result from an external tool corresponding to the second request;

generating, using the token processing neural network, based on the first partial output sequence and the first result, a second partial output sequence;

providing the second partial output sequence and the first partial output sequence for presentation to the user before obtaining the second result from the external tool corresponding to the second request;

obtaining the second result from the external tool corresponding to the second request;

generating, using the token processing neural network, based on the second partial output sequence and the second result, a third partial output sequence; and

providing the third partial output sequence, the second partial output sequence, and the first partial output sequence for presentation to the user.

13 . The system of claim 12 , wherein obtaining the first result from the external tool corresponding to the first request before obtaining the second result from the external tool corresponding to the second request comprises:

submitting the first request to the external tool corresponding to the first request as a same time as submitting the second request to the external tool corresponding to the second request; and

executing the first request to the external tool corresponding to the first request in parallel with executing the second request to the external tool corresponding to the second request.

14 . The system of claim 12 , wherein each request comprises an application programming interface (API) call.

15 . The system of claim 12 , wherein the one or more external tools comprise one or more of:

a search engine,

a machine translation system,

a question answering system,

a calculator system, or

a calendar system,

16 . The system of claim 12 , wherein the tokens that represent the plurality of requests for one or more external tools comprise one or more of:

tokens that identify an external tool,

tokens that define one or more arguments to pass to the identified external tool, or tokens that define how to use a result obtained from the identified external tool.

17 . The system of claim 12 , wherein the plurality of requests comprises a third request for an external tool, and wherein the method further comprises:

submitting the third request to the external tool corresponding to the third request;

executing the third request to the external tool corresponding to the third request;

in response to determining that an amount of time taken by the external tool to execute the third request is greater than a threshold amount, generating, using the token processing neural network, and without using any results from the external tool corresponding to the third request, a fourth partial output sequence; and

providing the fourth partial output sequence for presentation to the user.

18 . The system of claim 12 , wherein the token processing neural network has been trained based on:

generating a training dataset that comprises a plurality of training sequences, each training sequence comprising a plurality of tokens; and

training the token processing neural network on training sequences obtained from the training dataset based on optimizing a language modeling objective.

19 . The system of claim 18 , wherein the training comprises:

obtaining a first training sequence from the training dataset, the first training sequence comprising a prefix input sequence followed by a suffix input sequence;

processing, by the token processing neural network, a training input comprising the prefix input sequence and a training external tool use sequence that includes (a) tokens representing a request for a first external tool and (b) tokens representing a result from a second external tool that is different from the first external tool to generate a training output; and

determining an update to values of parameters of the token processing neural network based on minimizing a difference between the training output and the suffix input sequence.

20 . The system of claim 18 , wherein the training comprises obtaining a second training sequence from the training dataset, the second training sequence comprising a prefix input sequence followed by a suffix input sequence;

processing, by the token processing neural network, a training input comprising the prefix input sequence and a training external tool use sequence that (a) includes tokens representing a request for a first external tool but (b) excludes tokens representing a result from any external tool to generate a training output; and

determining an update to values of parameters of the token processing neural network based on minimizing a difference between training output and the suffix input sequence.

21 . One or more computer storage media storing instructions that when executed by one or more computers cause the one more computers to perform operations comprising:

receiving a request from a user for an output sequence;

generating, using a token processing neural network, a first partial output sequence and an external tool request sequence, wherein the external tool request sequence comprises tokens that represent a plurality of requests for one or more external tools, and wherein the plurality of requests comprises a first request and a second request;

obtaining a first result from an external tool corresponding to the first request before obtaining a second result from an external tool corresponding to the second request;

generating, using the token processing neural network, based on the first partial output sequence and the first result, a second partial output sequence;

providing the second partial output sequence and the first partial output sequence for presentation to the user before obtaining the second result from the external tool corresponding to the second request;

obtaining the second result from the external tool corresponding to the second request;

generating, using the token processing neural network, based on the second partial output sequence and the second result, a third partial output sequence; and

providing the third partial output sequence, the second partial output sequence, and the first partial output sequence for presentation to the user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071550/0092 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 4, 2024
From: SHARIFI, MATTHEW; HARTMANN, FLORIAN NILS
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 069480/0640 →