System and method for accelerating and optimizing the processing of machine learning techniques using a graphics processing unit
First Claim
1. A computer-implemented method comprising:
- processing a machine learning technique using a graphics processing unit to obtain results, wherein processing a machine learning technique further comprises using a pixel shader to compute an inner product that is at least one of;
(a) a vector inner product;
(b) a matrix inner product;
decomposing the inner product into sub-problems and performing multiple passes over the sub-problems using pixel shaders;
using the results to provide solutions for use by a computer application.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method for processing machine learning techniques (such as neural networks) and other non-graphics applications using a graphics processing unit (GPU) to accelerate and optimize the processing. The system and method transfers an architecture that can be used for a wide variety of machine learning techniques from the CPU to the GPU. The transfer of processing to the GPU is accomplished using several novel techniques that overcome the limitations and work well within the framework of the GPU architecture. With these limitations overcome, machine learning techniques are particularly well suited for processing on the GPU because the GPU is typically much more powerful than the typical CPU. Moreover, similar to graphics processing, processing of machine learning techniques involves problems with solving non-trivial solutions and large amounts of data.
126 Citations
35 Claims
-
1. A computer-implemented method comprising:
-
processing a machine learning technique using a graphics processing unit to obtain results, wherein processing a machine learning technique further comprises using a pixel shader to compute an inner product that is at least one of;
(a) a vector inner product;
(b) a matrix inner product;decomposing the inner product into sub-problems and performing multiple passes over the sub-problems using pixel shaders; using the results to provide solutions for use by a computer application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A process for accelerating and optimizing a machine learning technique using a graphics processing unit, comprising:
-
training learnable parameters of the machine learning technique to obtain trained learnable parameters; using the trained learnable parameters to obtain results from the machine learning technique; using pixel shaders to perform at least one of the following;
(a) training learnable parameters;
(b) using the trained learnable parameters; andoutputting the results for use by an application; wherein the machine learning technique uses an Expectation Maximization (EM) technique. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computer-readable medium having computer-executable instructions for processing a machine learning technigue using a graphics processing unit, comprising:
-
preprocessing query data to obtain input data; loading the input data onto the graphics processing unit; loading shaders onto the graphics processing unit; calling the shaders to process a trained function on the graphic processing unit using the machine learning technigue; and obtaining results for use by an interactive use application. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35)
-
Specification