NVIDIA AI Workbench
is a free development environment manager that streamlines data science, AI, and machine learning (ML) projects on systems of choice. The goal is to provide a frictionless way to create, compute, and collaborate on and across PCs, workstations, data centers, and clouds. The basic user experience is straightforward:
Easy setup on single systems:
Click through install in minutes on Windows, Ubuntu, and macOS, with a one-line install on remote systems.
Managed experience for decentralized deployment
: A free, PaaS/SaaS type UX in truly hybrid contexts with no need for a centralized, service-based platform.
Seamless collaboration for experts and beginners:
Friendly Git, container, and application management without limiting customization by power users.
Consistent across users and systems:
Migrate workloads and applications across different systems while maintaining functionality and user experience.
Simplified GPU handling
: Handles system dependencies like
NVIDIA drivers
and the
NVIDIA Container Toolkit
, as well as
GPU-enabled container
runtime configuration.
This post explores highlights of the October release of NVIDIA AI Workbench, which is the most significant since the product launch at GTC 2024 and is a big step closer to the full product vision.
Release highlights
This section will detail the major new capabilities and user-requested updates in the latest release.
Major new capabilities include:
Enhance collaboration through expanded Git support, such as branching, merging, diffs, and finer-grained control for commits and gitignore.
Create complex applications and workflows with multicontainer environments through Docker Compose support.
Simple, fast, and secure rapid prototyping with application sharing with single-user URLs.
User requested updates:
Dark mode for the Desktop App
Improved installation on localized versions of Windows
Expanded Git support
Previously, AI Workbench supported only single, monolithic commits on the main branch. Users had to manage branches and merges manually, and this created various types of confusion, especially around resolving merge conflicts. Now, users can manage branches, merges, and conflicts directly in the Desktop App and the CLI. In addition, they can see and triage individual file diffs for commits. The UI is built to work seamlessly with manual Git operations and will update to reflect relevant changes.
Figure 1. AI Workbench Desktop App tab for Git branching
These features are found in two new tabs on the Desktop App: Changes and Branches.
Changes
: Gives a line-by-line view of the diffs between the working tree and previous commits. Users can now select and commit file changes individually or in bulk based on visible file diffs tracked changes (addition, modification, or deletion), as well as being able to individually reject or add a file to git-ignore. The view also updates dynamically to reflect manual Git actions, for example manually staging a file and then following up with a change to the file in the working tree.
Branches
: Provides branch management, including creation, switching, and merging, as well as visibility for remote branches on a Git server. Merging branches with a conflict initiates a conflict resolution flow that users can do within the UI, or move to a terminal or file editor of their choice.
Learn more about how these advanced Git features work
.
Multicontainer support with Docker Compose stacks
AI Workbench now supports
Docker Compose
. Users can work with multicontainer applications and workflows with the same ease of configuration, reproducibility, and portability that AI Workbench provides for single-container environments.
Figure 2. The Docker Compose feature in the AI Workbench Environment Management tab
The basic idea is to add a Docker Compose-based “stack” that is managed by AI Workbench and connects to the main development container. To add the stack, a user just needs to add the appropriate Docker Compose file to the project repository and do some configuration in the Desktop App or CLI.
We’re using Docker Compose for a few reasons. First, we didn’t want to develop in a vacuum, and that’s why we’ve been
collaborating with the Docker team
on features like a
managed Docker Desktop install
.
Second, we want users to be able to work with the multicontainer applications outside of AI Workbench, and Docker Compose is the easiest way to do that. The vision for this feature is to enable streamlined, powerful development and compute for multicontainer applications within AI Workbench that can then be stood up outside of AI Workbench with a simple
docker-compose
up command.
This multicontainer feature is new and will continue to evolve. We would love to get feedback and help you sort out any issues through the
NVIDIA AI Workbench Developer Forum
.
Learn more about how Docker Compose works
.
Web application sharing through secure URLs
AI Workbench enables users to easily spin up managed web applications that are built into a project. The process is fairly simple: create or clone a project with the web app installed, start the project, then start the app, and it appears in your browser.
This approach is great for a developer UX, but it wasn’t good for rapid prototyping UX and collaboration. If you wanted another user to access and test your application, you either asked them to install AI Workbench, clone the project and run it, or you had to fully extract the application to run it and make it available to the user. The first is a speed bump for the user, and the second is a speed bump for the developer.
We eliminated these speed bumps with a simple feature that enables you to set a remote AI Workbench to enable external access and to create single-use, secure URLs for running web applications in a project on that remote. You just need to make sure the user has access to port 10000 on the remote, and the application will be directly accessible. All they have to do is click the link and go to the app.
Figure 3. Developers can now give end users direct access to applications running in an AI Workbench Project on a remote through secure, one-time-use URLs
Enabling this kind of access is useful for rapid prototyping and collaboration. That’s why various SaaS offerings provide this as a managed service. The difference with AI Workbench is that you can provide this access on your own resources and in your own network, for example on data center resources or a shared server. It doesn’t have to be in the cloud.
AI Workbench keeps things secure by restricting this access to a single browser and to a single application that’s running in the project. This means a user can’t share the URL with someone else, and they are constrained to the web app that you shared with them.
Learn more about how application sharing works.
Dark mode and localized Windows installation
Many users requested a dark mode option because it’s easier on the eyes. It’s now available and can be selected through the Settings window that is now available directly from within the Desktop App.
Learn more about how dark mode works
.
Windows users are by far our main demographic for the local installs, and not all Windows users are using the English language pack, and this blocked AI Workbench install due to how we handled some WSL commands. In particular, we’ve had users working in Cyrillic or Chinese that were blocked on Windows. We adjusted how we handle non-English language packs, and it should work well now. If you were previously blocked by this, give it a try now. If it still doesn’t work for you, let us know in the
NVIDIA AI Workbench Developer Forum
so we can continue to improve this capability.
New AI Workbench projects
This release introduces new example projects designed to jumpstart your AI development journey, detailed below.  An
AI Workbench project
is a structured Git repository that defines a containerized development environment in AI Workbench. AI Workbench projects provide:
Effortless setup and GPU configuration:
Simply clone a project from GitHub or GitLab, and AI Workbench handles the rest with automatic GPU configuration.
Development integrations:
Seamless support for popular development environments such as Jupyter and VS Code, as well as support for user-configured web applications.
Containerized and customizable environments:
Projects are containerized, isolated, and easily modifiable. Adapt example projects to suit your specific needs while ensuring consistency and reproducibility.
Explore NVIDIA AI Workbench example projects
.
Multimodal virtual assistant
example project
This project enables users to build their own virtual assistant using a multimodal
retrieval-augmented generation (RAG)
pipeline with fallback to web search. Users can interact with two RAG-based applications to learn more about AI Workbench, converse with the user documentation, troubleshoot their own installation, or even focus the RAG pipeline to their own, custom product.
Control-Panel:
Customizable Gradio app for working with product documentation allows uploading webpages, PDFs, images, and videos to a persistent vector store and query them. For inference, users can select between cloud endpoints like on the NVIDIA API Catalog or use self-hosted endpoints to run their own inference.
Public-Chat:
With product documents loaded, the Gradio app is a simplified, “read-only” chatbot that you can share with end users through the new AI Workbench App Sharing feature.
Figure 4. Using the Public-Chat web app, a read-only, pared down chat application that is meant to be more consumable and shareable to end users
Competition-Kernel example project
This project provides an easy, local experience when working on Kaggle competitions. You can easily leverage your local machine or a cloud instance to work on competition datasets, write code, build out models, and submit results, all through AI Workbench. The Competition Kernel project offers:
A managed experience to develop and test on your own GPUs and set up and customize in minutes.
Easy version control and tracking of code through GitHub or GitLab and very easy collaboration.
The power of using a local, dedicated IDE: robust debugging, intelligent code completion, extensive customization options.
Easy plugin to existing data sources (external or your own).
No Internet? No problem. Develop while offline.
Get started
This release of NVIDIA AI Workbench marks a significant step forward in providing a frictionless experience for AI development across GPU systems. New features from this release, including expanded Git support, support for multicontainer environments, and secure web app sharing, streamline developing and collaborating on AI workloads. Explore these features in the three new example projects available with this release or create your own projects.
To get started with AI Workbench,
install the application from the webpage
. For more information about installing and updating, see the
NVIDIA AI Workbench documentation
.
Explore a range of
NVIDIA AI Workbench example projects
, from data science to RAG.
Visit the
NVIDIA AI Workbench Developer Forum
to report issues and learn more about how other developers are using AI Workbench.
Reading Time:
3
minutes
NVIDIA AI Workbench
は、選択したシステムでデータ サイエンス、AI、機械学習 (ML) プロジェクトを合理化する無料の開発環境マネージャーです。 PC、ワークステーション、データ センター、クラウド上で、あるいはそれらをまたがり、スムーズな作成、計算、コラボレーションを行うことを目的としています。基本的なユーザー体験はシンプルです:
単一システムで簡単なセットアップ:
Windows、Ubuntu、macOS ではクリック操作でインストールが完了し、リモート システムでは 1 行のコマンドでインストールすることができます。
分散型デプロイのための管理化された体験
: 集中型のサービスベースのプラットフォームを必要としない、本当の意味でハイブリッドなコンテキストにおける無料の PaaS/SaaS 型のユーザー体験。
エキスパートと初心者向けのシームレスなコラボレーション:
パワー ユーザーによるカスタマイズを制限することのない、使いやすい Git、コンテナー、アプリケーション管理。
ユーザーとシステム間の一貫性:
機能とユーザー体験を維持しながら、異なるシステム間でワークロードとアプリケーションを移行。
GPU 処理の簡素化
:
NVIDIA ドライバー
や
NVIDIA コンテナー ツールキット
などのシステム依存関係、
および GPU 対応のコンテナー
ランタイム構成を処理。
この記事では、GTC 2024 での製品発表以来、最も重要な NVIDIA AI Workbench の 10 月のリリースにおけるハイライトをご紹介します。製品ビジョン実現に向けた大きな一歩です。
リリース ハイライト
このセクションでは、最新リリースでの主要な新機能とユーザーから要望のあった更新について、詳しく説明します。
主な新機能には以下が含まれます。
ブランチ、マージ、差分、コミットと gitignore の細かい制御など、Git のサポートを拡大し、コラボレーションを強化します。
Docker Compose のサポートを通じて、マルチコンテナー環境で複雑なアプリケーションとワークフローを作成します。
シングルユーザー URL でアプリケーションを共有することで、シンプルかつ迅速、安全なプロトタイピングを実現します。
ユーザーの要望によるアップデート:
デスクトップ アプリのダークモード
ローカライズ版 Windows のインストール改善
Git サポートの拡張
これまで AI Workbench は、メイン ブランチでの単一のモノリシックなコミットのみをサポートしていました。 ユーザーはブランチとマージを手動で管理する必要があり、特にマージの競合の解決に関して、さまざまな種類の混乱が生じていました。 現在は、ブランチ、マージ、競合を、デスクトップ アプリと CLI で直接管理することができます。 加えて、コミットの個々のファイル差分を確認し、優先順位を付けることもできます。 この UI は、手動の Git 操作とシームレスに動作するように構築されており、関連する変更を反映して更新されます。
図 1. Git ブランチ用の AI Workbench Desktop アプリ タブ
これらの機能は、デスクトップ アプリの 2 つの新しいタブ: [Changes (変更)] と [Branches (ブランチ)] に表示されます。
変更
: 作業ツリーと以前のコミット間の差分を 1 行ずつ表示します。 ユーザーは、表示されているファイル差分、追跡された変更 (追加、修正、削除) に基づいて、ファイル変更を個別または一括で選択し、コミットすることができるようになりました。また、git-ignore にファイルを個別に拒否、または追加することもできます。 このビューはまた、手動の Git 操作を反映するように動的に更新されます。例えば、ファイルを手動でステージングし、作業ツリー内のファイルに変更を加えます。
ブランチ
: Git サーバー上のリモート ブランチを可視化するだけでなく、作成、切り替え、マージなどのブランチ管理を提供します。競合のあるブランチをマージすると、競合解決フローが開始されます。このフローは、ユーザーが UI 内で実行することも、選択した端末やファイル エディターに移動することもできます。
これらの高度な Git 機能の仕組みの詳細をご覧ください
。
Docker Compose スタックによるマルチコンテナーのサポート
AI Workbench が、
Docker Compose
をサポートするようになりました。 ユーザーは、AI Workbench がシングルコンテナー環境向けに提供する構成、再現性、移植性と同様の容易さで、マルチコンテナー アプリケーションとワークフローを操作することができます。
図 2. AI Workbench 環境管理タブの Docker Compose 機能
基本的な考え方は、AI Workbench によって管理され、メインの開発コンテナーに接続する Docker Compose ベースの「スタック」を追加することです。 スタックを追加するには、ユーザーは 適切な Docker Compose ファイルをプロジェクト リポジトリに追加し、デスクトップ アプリまたは CLI でいくつかの設定を行うだけです。
NVIDIA では、いくつかの理由があって Docker Compose を使用しています。 1 つ目は、何もない所から開発を行うことを望んでいなかったからです。そのため、
管理された Docker デスクトップ インストール
などの機能について
Docker チームと協力
してきました。
2 つ目は、AI Workbench の以外で、ユーザーがマルチコンテナー アプリケーションを操作できるようにするには、Docker Compose が最も簡単な方法だからです。この機能のビジョンは、AI Workbench 内のマルチコンテナー アプリケーションを合理化し、効果的な開発と演算処理を可能にし、シンプルな
docker-compose
up コマンドで AI Workbench 外で起動できるようにすることです。
このマルチコンテナー機能は新しい機能であり、今後も進化し続けます。
NVIDIA AI Workbench 開発者フォーラム
を通じて、是非フィードバックをお寄せください。問題解決をお手伝いいたします。
Docker Compose の仕組みの詳細をご覧ください
。
セキュアな URL によるウェブ アプリケーション共有
AI Workbench により、ユーザーはプロジェクトに組み込まれた管理されたウェブ アプリケーションを簡単に起動することができます。 このプロセスは非常に簡単で、Web アプリがインストールされたプロジェクトを作成または複製し、プロジェクトを開始してからアプリを開始すると、ブラウザーに表示されます。
このアプローチは開発者の UX には最適ですが、迅速なプロトタイピングの UX やコラボレーションには適していませんでした。 他のユーザーにアプリケーションへのアクセスとテストを行ってもらう場合、AI Workbench のインストール、プロジェクトの複製、実行を依頼するか、アプリケーションを完全に抽出して実行し、ユーザーが利用できるようにする必要がありました。 1 つ目はユーザーの課題であり、2 つ目は開発者の課題です。
NVIDIA では、リモートの AI Workbench を設定して外部からのアクセスを可能にし、そのリモート上のプロジェクトにおいて、ウェブ アプリケーションを実行するための一回限りの安全な URL を作成することができるシンプルな機能でこれらの課題を克服しました。 ユーザーがリモートのポート 10000 にアクセスできることを確認するだけで、アプリケーションに直接アクセスできるようになります。 リンクをクリックしてアプリに移動するだけです。
図 3. 開発者は、一回限りの安全な URL を通じて、エンドユーザーを AI Workbench プロジェクトで実行しているアプリケーションに、リモートで直接アクセスさせることができるようになりました
このようなアクセスを有効にすることは、迅速なプロトタイピングとコラボレーションに役立ちます。 だからこそ、さまざまな SaaS がこれを提供するマネージド サービスとして提供しているのです。AI Workbench との違いは、データ センターのリソースや共有サーバーなど、独自のリソースや独自のネットワークで、このアクセスを提供できることです。 クラウドである必要はありません。
AI Workbench は、単一のブラウザーとプロジェクトで実行されている単一のアプリケーションに対して、このアクセスを制限することで、安全性を確保します。 つまり、ユーザーは URL を他のユーザーと共有できず、共有したウェブ アプリに制限されます。
アプリケーション共有の仕組みの詳細をご覧ください。
ダーク モードとローカライズされた Windows インストール
多くのユーザーから、目に優しいダーク モードオプションの要望が寄せられました。 現在、このオプションは利用可能で、デスクトップ アプリから直接使用できる設定ウィンドウから選択できるようになっています。
ダーク モードの仕組みの詳細をご覧ください
。
ローカル インストールの主なユーザー層は Windows ユーザーですが、すべての Windows ユーザーが英語パックを使用しているわけではありません。また、WSL コマンドの処理方法により、この AI Workbench のインストールがブロックされていました。 特に、Windows 上でキリル文字、または中国語で作業するユーザーがブロックされていました。 英語以外の言語パックを処理する方法を調整したので、現在は問題なく機能するはずです。 以前ブロックされていた場合は、是非お試しください。 それでも機能しない場合は、
NVIDIA AI Workbench 開発者フォーラム
でお知らせください。それにより NVIDIA は、引き続きこの機能を改善することができます。
新しい AI Workbench プロジェクト
このリリースで、AI 開発をすぐに始められるように設計された新しいサンプル プロジェクトをご紹介します。詳細は以下をご覧ください。
AI Workbench プロジェクト
は、AI Workbench のコンテナー化された開発環境を定義する構造化された Git リポジトリです。 AI Workbench プロジェクトでは、以下を提供します。
簡単なセットアップと GPU 構成:
プロジェクトを GitHub または GitLab からクローンするだけで、残りは AI Workbench が自動で GPU 構成を行います。
開発の統合:
Jupyter や VS Code などの一般的な開発環境に対してシームレスにサポートし、ユーザー構成のウェブ アプリケーションについてもサポートします。
コンテナー化されたカスタマイズ可能な環境:
プロジェクトはコンテナー化され、分離され、簡単に変更可能です。 一貫性と再現性を確保しながら、特定のニーズに合わせてサンプル プロジェクトを適合させることができます。
NVIDIA AI Workbench サンプル プロジェクトをご覧ください
。
マルチモーダル仮想アシスタント サンプル プロジェクト
このプロジェクトでは、ウェブ検索へのフォールバックを伴うマルチモーダル
検索拡張生成 (RAG)
パイプラインを使用して、独自の仮想アシスタントをすることが構築できます。 ユーザーは、2 つの RAG ベースのアプリケーションを操作して、AI Workbench の詳細を学んだり、ユーザー ドキュメントを参照したり、自身のインストールのトラブルシューティングをしたり、あるいは RAG パイプラインを独自のカスタム製品に集中させたりすることができます。
Control-Panel:
製品のドキュメントを操作するためのカスタマイズ可能な Gradio アプリでは、ウェブページ、PDF、画像、動画を永続的なベクトル ストアにアップロードし、それらを問い合わせできます。 推論に関しては、NVIDIA API カタログのように、クラウド エンドポイントを選択したり、セルフホスト型のエンドポイントを使用して、独自の推論を実行できます。
Public-Chat:
製品ドキュメントが読み込まれると、Gradio アプリは簡素化された「読み取り専用」チャットボットとなり、新しい AI Workbench アプリ共有機能を通じてエンド ユーザーと共有できます。
図 4. Public-Chat ウェブ アプリは、読み取り専用のシンプルなチャット アプリケーションで、エンドユーザーの利用と共有を容易にします
Competition-Kernel サンプル プロジェクト
このプロジェクトは、Kaggle コンペティションに取り組む際に簡単なローカル エクスペリエンスを提供します。 AI Workbench を通じて、ローカル マシン、またはクラウド インスタンスを活用し、コンペティションのデータセット、コードの作成、モデルの構築、結果の提出などを簡単に実行することができます。 Competition Kernel プロジェクトでは、以下を提供します。
独自の GPU で開発とテストを行い、数分でセットアップとカスタマイズを行う管理された体験。
GitHub または GitLab によるコードのバージョン コントロールと追跡、コラボレーションが容易。
ローカルで専用 IDE を使用するパワー: 堅牢なデバッグ、インテリジェントなコード補完、広範なカスタマイズ オプション。
既存のデータ ソース (外部または独自) への簡単なプラグイン。
インターネットが使えない? 問題ありません。オフラインでも開発できます。
今すぐ始めましょう
この NVIDIA AI Workbench のリリースは、GPU システム全体で AI 開発に円滑な体験を提供する大きな一歩となります。 このリリースには、Git のサポートの拡張、マルチコンテナー環境のサポート、安全なウェブ アプリ共有など、AI ワークロードでの開発とコラボレーションの効率化などの新機能が含まれます。 このリリースで利用可能となった 3 つの新しいサンプル プロジェクトでこれらの機能をお試しいただくか、独自のプロジェクトを作成することもできます。
AI Workbench を始めるには、
ウェブページからアプリケーションをインストールしてください
。 インストールと更新の詳細については、
NVIDIA AI Workbench のドキュメント
を参照してください。
データ サイエンスから RAG まで、さまざまな
NVIDIA AI Workbench のサンプル プロジェクト
もご用意しています。
問題を報告したり、他の開発者による AI Workbench の活用方法を確認するには、
NVIDIA AI Workbench 開発者フォーラム
にアクセスしてください。
関連情報
DLI コース:
対話型 AI Building Conversational AI Applications (アプリケーションの構築 )
GTC セッション:
Breaking Barriers: How NVIDIA AI Workbench Makes AI Accessible to All (障壁の打破: NVIDIA AI Workbench による AI をすべての人々に身近にする方法)
ウェビナー:
Virtual Desktop in the Era of AI (AI 時代の仮想デスクトップ)
ウェビナー:
Jumpstart AI Development With Virtual Workstations (仮想ワークステーションで AI 開発を加速)