US 11,749,284 B2
Dynamically adapting on-device models, of grouped assistant devices, for cooperative processing of assistant requests
Matthew Sharifi, Kilchberg (CH); and Victor Carbune, Zurich (CH)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Nov. 13, 2020, as Appl. No. 17/98,013.
Prior Publication US 2022/0157318 A1, May 19, 2022
Int. Cl. G10L 15/30 (2013.01); G10L 15/00 (2013.01); G10L 15/06 (2013.01); G10L 15/22 (2006.01)
CPC G10L 15/30 (2013.01) [G10L 15/005 (2013.01); G10L 15/063 (2013.01); G10L 15/22 (2013.01); G10L 2015/223 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method implemented by one or more processors, the method comprising:
generating an assistant device group of disparate assistant devices, the disparate assistant devices including at least a first assistant device and a second assistant device, wherein, at a time of generating the group:
the first assistant device includes a first set of locally stored on-device models utilized in locally processing assistant requests directed to the first assistant device, and
the second assistant device includes a second set of locally stored on-device models utilized in locally processing assistant requests directed to the second assistant device;
determining, based on corresponding processing capabilities for each of the disparate assistant devices of the assistant device group, a collective set of stored on-device models for utilization in cooperatively processing assistant requests directed to any of the disparate assistant devices of the assistant device group, wherein the collective set of stored on-device models includes a first subset of on-device models and a second subset of on-device models, wherein the first subset includes at least one on-device model not included in the second subset and the second subset includes at least one on-device model not included in the first subset;
in response to generating the assistant device group:
causing each of the disparate assistant devices to locally store a corresponding subset of the collective set of stored on-device models,
wherein the first subset is locally stored on the first assistant device and the second subset is locally stored on the second assistant device,
wherein causing the first assistant device to locally store the first subset includes causing the first assistant device to purge one or more first on-device models of the first set to provide storage space for the first subset locally stored on the first assistant device, and
wherein causing the second assistant device to locally store the second subset includes causing the second assistant device to purge one or more second on-device models of the second set to provide storage space for the second subset locally stored on the second assistant device,
wherein the first subset locally stored on the first assistant device omits the one or more first on-device models that were purged,
wherein the second subset locally stored on the second assistant device omits the one or more second on-device models that were purged, and
wherein the first subset, locally stored on the first assistant device, includes a given on-device model that is more accurate and/or more robust than a given counterpart on-device model included among the one or more first on-device models that were purged;
assigning one or more corresponding processing roles to each of the disparate assistant devices of the assistant device group, each of the processing roles utilizing one or more corresponding of the locally stored on-device models and a given one of the processing roles being assigned to the first assistant device exclusively; and
subsequent to generating the assistant device group and subsequent to assigning the corresponding processing roles to each of the disparate assistant devices of the assistant device group:
detecting, via microphones of at least one of the disparate assistant devices of the assistant device group, a spoken utterance, and
responsive to the spoken utterance, causing the spoken utterance to be cooperatively processed by the disparate assistant devices of the assistant device group and utilizing their corresponding processing roles.