NVIDIA AI Workbench#
Overview#
- AI Workbench is not an IDE - It’s a streamlined approach to full-stack GPU environments.
It takes one click to clone a project from GitHub and be up, running and working in a container connected to the GPUs on the host.
- It uses Git and containers to handle environments across machines and users.
AI Workbench uses versioned configuration files, managed container builds and user/host specific runtimes. This simplifies containerized environments without limiting customization.
- You can work locally and remotely through a client application that runs on your laptop.
AI Workbench is free and installs locally in under a minute on Windows, macOS, and Ubuntu. From there you can work locally, in the cloud, data center or on a networked server in the same UI/UX.
- You can work with your preferred IDEs and tools.
VS Code, Cursor and Windsurf are easy to use with AI Workbench. Web apps like JupyterLab and RStudio run in the project container and are accessible through your browser.
Key Concepts#
- Project
A Git repository with configuration files that define a containerized development environment. Any Git repository can be an AI Workbench project by adding the appropriate configuration files.
- Location
A machine with AI Workbench installed where you can create and run projects. Can be your local machine or a remote system like a cloud instance, workstation, or server.
- Desktop App
A lightweight client application that runs on your laptop to manage locations and projects. Installs on Windows, macOS, or Ubuntu Desktop in minutes with no dependencies.
- Project Container
The containerized development environment that runs your project code. Can be a single container or a multi-container environment using Docker Compose.
Specification Driven Automation#
- AI Workbench uses versioned configuration files in the repository to build a container.
It uses a main configuration file in the repository, .project/spec.yaml to capture the basiics of the container, similarly to how devcontainer.json works.
In addition, optional environment definition files (e.g. requirements.txt and build scripts) that provide details for the container build.
- The core value proposition is automation driven by the configuration files.
AI Workbench reads the configuration files to build and run the container and manage the installed web applications. It also writes back to the configuration files to capture changes.
For example, installing packages or setting the number of attached GPUs automatically updates the relevant configuration files. This bookkeeping makes reproducibility a side effect of normal activity.
Management and Abstraction#
- AI Workbench handles NVIDIA system software required to use GPUs through containers.
Installing AI Workbench on a machine automatically checks if there is an NVIDIA GPU and registers the state of the required system software for that GPU.
AI Workbench will configure and update the NVIDIA Container Toolkit, as well as install the drivers on Ubuntu systems if not already installed.
- AI Workbench handles the container and application configuration you typically do in a terminal.
A concrete example is running web apps in a container. Instead of constructing and running a long container command, you just configure the web abb in the Desktop App.
After that, you click a start/stop button without having to worry about configuring the container or SSH to a remote. Things “just work” for an individual web app, or multiple ones.
Local and Remote Work#
- AI Workbench simplifies working on more than one machine.
You install the Desktop App on your laptop, then add locations where you want to work. SSH tunneling, proxies, and remote Docker commands stay hidden.
Remote locations can be any Ubuntu machine you can SSH to and install AI Workbench: cloud instances, GPU workstations on your network, bare metal servers, or VMs in data centers.
- It significantly simplifies transfering work between machines.
The configuration files in the project repository declare what the environment should be, and AI Workbench handles the build automatically and incorporates any per-machine or per-user configurations required.
This makes it straightforward to prototype locally on a laptop or gaming PC and then scale up to a cloud instance with more powerful GPUs.
Use Cases#
- Working on AI, data science and machine learning tasks and applications.
Do your typical work with a high degree of reproducibility without spending time worrying about it. Everything is easily transferred to different machines and people.
RAPIDS: GPU-accelerated data processing (cuDF) and machine learning (cuML)
Large Language Models: Fine-tuning models such as Llama 3, Mistral, Mixtral, and Phi-3
Image Generation: Customization and fine-tuning of models like SDXL for image creation tasks
- Creating and sharing single and multi-container full stack development environments.
Build and share a fullstack development environment with a workload and applications that anyone can clone and get running with a few clicks. As long as you can build it, someone else can use it.
Agentic RAG: Applications enhancing RAG through agentic web search and response evaluation
Hybrid RAG: RAG applications that combine local inference with remote endpoints
Multi-Container Applications: Architectures involving multiple coordinated services
- Rapid prototyping with streamlined remote deployment for access and testing.
Develop a prototype web app, deploy it to a remote, share it with a user and iterate on feedback and code changes from within the Desktop App.
External Access Mode: Configure the remote location to accept traffic on port 10000
Easy Deployment: Deploy the web app to the remote with a button click in the Desktop App
Controlled Access: Generate a secure URL that binds access to a user’s browser session
Rapid Iteration: Get feedback on slack and push changes in minutes to keep a tight loop