IP Library Granted Patent US 12,430,705
Granted Patent B2
US 12,430,705 · App. 18/121,571 · Granted Sep 30, 2025

Methods and devices for multiple model single deployment engine implementation

Inventors: Yang Liu (San Jose, CA); Yongxiong Ren (San Jose, CA); Lingzhi Liu (San Jose, CA); Xing Wen (Palo Alto, CA)
Assignee: BEIJING TRANSTREAMS TECHNOLOGY CO. LTD.
G06T1/20G06F9/5038G06T1/60G06F2209/548
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,430,705
App. No.
18/121,571
Granted
Sep 30, 2025
Kind
B2
Abstract

Methods and apparatuses are provided for serving multiple models with a single engine. The method includes: providing a single engine for a plurality of models on a server, where the server includes at least one graphics processing unit (GPU) and memory coupled with the at least one GPU; loading the plurality of models onto the memory of the server at once; and serving, by the single engine, the plurality of models, where the single engine accommodates all structures and weights of the plurality of models with a shared input and output of the memory.

Claims (53)

1. A single-engine serving method, comprising:

providing a single engine for a plurality of models on a server, wherein the server comprises at least one graphics processing unit (GPU) and memory coupled with the at least one GPU;

loading the plurality of models onto the memory of the server at once; and

serving, by the single engine, the plurality of models, wherein the single engine accommodates all structures and weights of the plurality of models with a shared input and output of the memory.

2. The single-engine serving method of claim 1 , further comprising:

maintaining, by the single engine, a set of queues for each of the plurality of models; and

sending, by the single engine, a head job from each queue into an execution engine in a batched manner.

3. The single-engine serving method of claim 1 , further comprising:

batch processing, by the single engine, all the inputs of the plurality of models.

4. The single-engine serving method of claim 1 , further comprising:

deploying the plurality of models on one single graphics processing unit (GPU).

5. The single-engine serving method of claim 4 , further comprising:

receiving a decoded video uploaded by a user; and

processing the decoded video with the plurality of models, wherein all the plurality of models are deployed on one single GPU.

6. The single-engine serving method of claim 5 , wherein each of the plurality of models has its own engine and context, and is preloaded on the one single GPU for processing new input.

7. The single-engine serving method of claim 4 , further comprising:

receiving a decoded video uploaded by a user; and

processing the decoded video with a set of detection models and a set of enhancement models, wherein all models in the set of detection models are deployed on one single GPU, and all models in the set of enhancement models are deployed on one single GPU.

8. The single-engine serving method of claim 7 , wherein each of the detection models and the enhancement models has its own engine and context, and is preloaded on the one single GPU for processing new input.

9. An apparatus for single-engine serving, comprising:

one or more processors; and

a memory configured to store instructions executable by the one or more processors;

wherein the one or more processors, upon execution of the instructions, are configured to:

provide a single engine for a plurality of models on a server, wherein the server comprises at least one graphics processing unit (GPU) and memory coupled with the at least one GPU;

load the plurality of models onto the memory of the server at once; and

serve the plurality of models, wherein the single engine accommodates all structures and weights of the plurality of models with a shared input and output of the memory.

10. The apparatus for single-engine serving of claim 9 , wherein the one or more processors are further configured to:

maintain a set of queues for each of the plurality of models; and

send a head job from each queue into an execution engine in a batched manner.

11. The apparatus for single-engine serving of claim 9 , wherein the one or more processors are further configured to:

batch process all the inputs of the plurality of models.

12. The apparatus for single-engine serving of claim 9 , wherein the one or more processors are further configured to:

deploy the plurality of models on one single graphics processing unit (GPU).

13. The apparatus for single-engine serving of claim 12 , wherein the one or more processors are further configured to:

receive a decoded video uploaded by a user; and

process the decoded video with the plurality of models, wherein all the plurality of models are deployed on one single GPU.

14. The apparatus for single-engine serving of claim 13 , wherein each of the plurality of models has its own engine and context, and is preloaded on the one single GPU for processing new input.

15. The apparatus for single-engine serving of claim 12 , wherein the one or more processors are further configured to:

receive a decoded video uploaded by a user; and

process the decoded video with a set of detection models and a set of enhancement models, wherein all models in the set of detection models are deployed on one single GPU, and all models in the set of enhancement models are deployed on one single GPU.

16. The apparatus for single-engine serving of claim 15 , wherein each of the detection models and the enhancement models has its own engine and context, and is preloaded on the one single GPU for processing new input.

17. A non-transitory computer readable storage medium, comprising instructions stored therein to implement a single-engine serving, wherein, upon execution of the instructions by one or more processors, the instructions cause the one or more processors to perform acts comprising:

providing a single engine for a plurality of models on a server, wherein the server comprises at least one graphics processing unit (GPU) and memory coupled with the at least one GPU;

loading the plurality of models onto the memory of the server at once; and

serving the plurality of models, wherein the single engine accommodates all structures and weights of the plurality of models with a shared input and output of the memory.

18. The non-transitory computer readable storage medium of claim 17 , wherein the instructions cause the one or more processors to perform acts further comprising:

maintaining a set of queues for each of the plurality of models; and

sending a head job from each queue into an execution engine in a batched manner.

19. The non-transitory computer readable storage medium of claim 17 , wherein the instructions cause the one or more processors to perform acts further comprising:

deploying the plurality of models on one single graphics processing unit (GPU).

20. The non-transitory computer readable storage medium of claim 19 , wherein the instructions cause the one or more processors to perform acts further comprising:

receiving a decoded video uploaded by a user; and

processing the decoded video with the plurality of models, wherein all the plurality of models are deployed on one single GPU.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2024
From: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO. LTD.,
To: BEIJING TRANSTREAMS TECHNOLOGY CO. LTD.
Reel/Frame 066941/0319 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION 11830480 TO PATENT NUMBER PREVIOUSLY RECORDED AT REEL: 66622 FRAME: 672. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT . Recorded Mar 12, 2024
From: KWAI INC.
To: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 066795/0775 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: KWAI INC.
To: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 066622/0672 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 15, 2023
From: LIU, YANG; REN, YONGXIONG; LIU, LINGZHI; WEN, XING
To: KWAI INC.
Reel/Frame 062984/0398 →
Continuity (1)
Related Publication 20240311946A1 · Sep 19, 2024
References Cited (4)
US 20180300098A1 · Vembar · 2018 [cited by examiner]
US 20180336063A1 · Nakada · 2018 [cited by examiner]
US 20200364088A1 · Ashwathnarayan · 2020 [cited by examiner]
Nvidia, “Multi-Process Service”, vR520| Oct. 2022, (37p). [cited by applicant]