---
title: GPUs for deep learning
description: Use GPU workers for faster training.
section_name: AutoML
maturity: public-preview
---

# GPUs for deep learning {: #gpus-for-deep-learning }

!!! info "Availability information"
    GPU workers are disabled by default. Contact your DataRobot representative or administrator for information on enabling the feature.

    <b>Feature flag:</b> Enable GPU Workers
    
Support for deep learning models, Large Language Models for example, are increasingly important in an expanding number of business use cases. While some of the models can be run on CPUs, other models require [GPUs](glossary/index#gpu-graphics-processing-unit) to achieve reasonable training time. To efficiently train, host, and predict using these "heavier" deep learning models, DataRobot leverages Nvidia GPUs within the application. Training on GPUs can be set per-project and when enabled, are used as part of the Autopilot process. 

## GPU task support {: #gpu-task-support }

Because accounts have fewer GPU workers available to them, GPU support is targeted at specific tasks. When GPU support is enabled, DataRobot detects blueprints that contain the following tasks and potentially uses GPU workers to train them. That is, if the sample size minimum is not met, the blueprint is routed to the CPU queue. Supported tasks are:

Type | Minimum sample size
---- | -------------------
Fine-Tuned Image, Multi-Image Classifier/Regressor, or Fine-Tuned Image/Multi-Image Featurizer | Greater 350 rows
Keras Text Convolutional Neural Network Classifier | Greater than 3500 rows

Consider the following when working with Keras models:

* Blueprints using these tasks are only present when image or text features are available in the training data.
* These models are only automatically trained as part of Comprehensive mode; they are also available for GPU support when trained manually.

Not every modeling job with a GPU-supported task is trained using GPU workers. A heuristic determines which blueprints will train with low runtime on CPU workers. Additionally, enabling GPU workers  may increase the number of models available to Autopilot.

## Enable GPU workers {: #enable-gpu-workers }

To enable GPU workers, open advanced options and select the [Additional](additional) tab.

![](images/gpu-1.png)

Check the **Allow use of GPU workers** box, which controls whether GPU workers will be used for the project. Use depends on whether the appropriate blueprints are available and whether GPU workers are available. 

## GPU modeling process {: #gpu-modeling-process  }


If GPUs are enabled:


1. When a training job gets scheduled, DataRobot uses heuristics to determine whether the job should be executed on a GPU worker or a CPU worker.

3. Models flagged for each processor type are sent into queues for the appropriate processor type.

4. The Worker Queue shows the number of CPUs and GPUs being used for training, as well as the total number available. You can add GPUs, if available, to increase queue processing.

	![](images/gpu-2.png)

5. Once a models's training is complete, it appears on the Leaderboard. A badge indicates whether the model was trained on GPUs.  

	![](images/gpu-3.png)

6. If you retrain a model, DataRobot applies the same logic as for the original training job. If the heuristics indicates to train on a GPU, the **Allow use of GPU workers** is enabled, and GPU workers are available, DataRobot trains on GPU. Otherwise, DataRobot train on CPUs. If, however, you retrain on a sample size [below the limit](#gpu-task-support), DataRobot automatically trains using CPUs.


## Feature considerations {: #feature-considerations }

* Due to the inherent differences in implementation of floating point arithmetic on CPUs and GPUs, using a GPU trained model in environments without a GPU may lead to inconsistencies. Inconsistencies will vary depending on model and dataset, but will likely be insignificant.

* Training on GPUs can be non-deterministic. It is possible that training the same model on the same partition results in a slightly different model, scoring differently on the test set.

* GPUs are only used for training; they are not used for prediction or insights computation.

* There is no GPU support for custom tasks or custom models.

* There is no GPUs in DataRobot Notebooks.