1. A method comprising: a. implementing a first model on a central processing unit; and b. implementing a second model on a graphics processing unit, wherein when data is retrieved, the data is partitioned into a first batch and a second batch, and the central processing unit is trained using the first model and the first batch, and the graphics processing unit is trained using the second model and the second batch, wherein the training occurs in parallel.