利用圖像分類、對象檢測、 自動語音識別?( ASR )和其他形式的人工智能可以推動公司和商業部門的大規模變革。然而,從頭開始構建人工智能和深度學習模型是一項艱巨的任務。
構建這些模型的一個共同前提是擁有大量高質量的訓練數據和正確的專業知識,以準備數據、構建神經網絡,并不斷微調模型以優化性能。對于開始機器學習( ML )之旅的組織來說,這通常是一個挑戰。盡管人工智能可以提供明確和可衡量的好處,但進入壁壘很高,往往會阻礙各種規模的企業采用人工智能。
這篇文章討論了 NVIDIA TAO Toolkit 和 Weights & Biases MLOps 平臺的結合如何有助于開啟組織利用人工智能和加速常見人工智能任務的旅程。開發人員現在可以使用 NVIDIA TAO (訓練適應優化)工具包和權重和偏差( W & B )可視化和比較多個訓練運行。此外,我們將介紹構建對象檢測模型的示例工作流。
NVIDIA TAO 工具包
NVIDIA TAO 工具包是一種低代碼解決方案,使開發人員和企業能夠加快模型培訓和優化過程。 NVIDIA TAO 工具包通過抽象人工智能模型和深度學習框架的復雜性,降低了任何人從人工智能開始的入門門檻。借助 NVIDIA TAO 工具包,您可以利用轉移學習的力量,用自己的數據微調 NVIDIA 預訓練的模型,并優化模型進行推理,以滿足業務需求。
NVIDIA TAO 工具包支持廣泛的計算機視覺任務,如分類、對象檢測、分割、關鍵點估計、 OCR 等。它提供了交鑰匙推理優化,減少了模型的復雜性和大小,并提高了推理吞吐量。
重量和偏差
權重和偏差 MLOps 平臺幫助 ML 團隊更快地構建更好的模型。只需在筆記本上寫幾行代碼,您就可以立即調試、比較和復制模型架構、超參數、 git 提交、模型權重、 GPU 使用情況、數據集和預測,同時與隊友協作。

W & B 受到來自世界上一些最具創新性的公司和研究機構的 40 多萬 ML 從業者的信任。要免費試用,請注冊 Weights & Biases 。
集成 NVIDIA TAO 工具包和權重與偏差
NVIDIA TAO 工具包使您能夠在“權重和偏差”中可視化所有實驗數據。對多個訓練運行進行可視化、比較和對比,以確定哪些候選模型最適合項目需求,哪些超參數對模型性能影響最大。
集成還將顯示每個模型訓練如何消耗底層硬件,以確保資源得到充分利用。要了解有關如何配置 NVIDIA TAO 工具包并將實驗記錄到 W & B 的更多信息,請參閱 NVIDIA TAO Toolkit W&B Integration documentation 。
Image classification | Object detection | Segmentation |
EfficientNet B0-B5 | DetectNet-v2 | Unet |
? | FasterRCNN | MaskRCNN |
? | RetinaNet | ? |
? | YOLOv4/v4-Tiny/v3 | ? |
? | SSD/DSSD | ? |
? | EfficientDet | ? |
如何利用 NVIDIA TAO 工具包利用 W & B
以下部分將指導您通過一個示例來調整 NVIDIA TAO 工具包中的預訓練對象檢測模型,利用權重和偏差。首先,設置工具包并將您的 W & B 帳戶連接到實例。然后將您的度量從工具箱記錄到 W & B 中,并利用實驗跟蹤、數據可視化和工件跟蹤功能。
設置 W & B 帳戶
- Create a W&B account (請注意,企業用戶應與您的 W & B 管理員聯系。)
- Copy your API key
安裝并設置 NVIDIA TAO 工具包
1.使用以下調用下載 NVIDIA TAO Toolkit 資源。此軟件包包含安裝工具包容器的啟動腳本和運行 NVIDIA TAO toolkit 的 Jupyter 筆記本。
wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/tao/tao-getting-started/versions/4.0.0/zip -O getting_started_v4.0.0.zip
unzip -u getting_started_v4.0.0.zip -d ./getting_started_v4.0.0 && rm -rf getting_started_v4.0.0.zip && cd ./getting_started_v4.0.0
2. NVIDIA TAO 工具包有多種培訓方式。有關每個的詳細說明,請參閱 TAO Toolkit Getting Started 指南。
- Launcher CLI: 您可以使用輕量級的 Python CLI 應用程序運行 PyTorch 。該啟動器基本上充當了在 TAO 和 TensorFlow 上構建的多個 NVIDIA TAO Toolkit 容器的前端。根據您計劃用于計算機視覺或對話式 AI 用例的模型類型,自動啟動適當的容器。
- Directly from container: 您還可以選擇直接使用 Docker 容器運行 NVIDIA TAO Toolkit 。要直接使用容器,您需要知道要拉動哪個容器。 TAO 工具包下有多個容器。根據您要訓練的模型,您需要拉動適當的容器。使用 Launcher CLI 時不需要此選項。
- TAO APIs :您還可以使用 NVIDIA TAO Toolkit API 使用 REST API 運行,這是一種 Kubernetes 服務,支持使用 REST API 構建 AI 模型。 API 服務可以安裝在 Kubernetes 集群( local / AWS EKS )上,使用 Helm 圖表以及最小的依賴關系。
配置 NVIDIA TAO 工具包以登錄 W & B
1. 配置 W & B API 密鑰: 要從本地計算單元傳送數據并在 W & B 服務器儀表板上呈現數據, NVIDIA TAO Toolkit 容器中的 W & B 客戶端必須登錄并與您的配置文件同步。要將 W & B 客戶端包含在容器登錄中,請使用設置 W & B 帳戶時收到的 API 密鑰在 NVIDIA TAO Toolkit 容器中設置WANDB_API_KEY
環境變量。有關其他資源,請參閱 TAO Toolkit W&B Integration documentation 。
Launcher CLI :如果您使用的是啟動器 CLI ,請使用下面的示例json
代碼段,并用~/.tao_mounts.json
文件中的 W & B API 密鑰替換Envs
元素下的value
字段。
{
"Mounts": [
{
"source": "/path/to/your/data",
"destination": "/workspace/tao-experiments/data"
},
{
"source": "/path/to/your/local/results",
"destination": "/workspace/tao-experiments/results"
},
{
"source": "/path/to/config/files",
"destination": "/workspace/tao-experiments/specs"
}
],
"Envs": [
{
"variable": "WANDB_API_KEY",
"value": "<api_key_value_from_wandb>"
}
],
"DockerOptions": {
"shm_size": "16G",
"ulimits": {
"memlock": -1,
"stack": 67108864
},
"ports": {
"8888": 8888
}
}
}
Directly from Docker :如果直接通過容器運行,請使用docker
命令的-e
標志。例如,要通過容器直接運行detectnet_v2
和 W & B ,請使用以下腳本:
docker run -it --rm --gpus all \
-v /path/in/host:/path/in/docker \
-e WANDB_API_KEY=<api_key_value>
nvcr.io/nvidia/tao/tao-toolkit:4.0.0-tf1.15.5 \
detectnet_v2 train -e /path/to/experiment/spec.txt \
-r /path/to/results/dir \
-k $KEY --gpus 4
NVIDIA TAO API :對于 API ,將以下代碼段添加到 TAO Toolkit Helm chart 中的values.yaml
文件中:
# Optional MLOPS setting for Weights And Biases
wandbApiKey: <wandb_api_key>
2. 運行 NVIDIA TAO 工具包 并將您的指標記錄到 W & B 。
實例化下載的示例目錄notebooks/tao_launcher_starter_kit/detectnet_v2/detectnet_v2.ipynb
中的detectnet_v2.ipynb
筆記本。
使用以下腳本取消注釋 MLOPS 集成部分下的第一個單元格:
# Uncomment this code block to enable wandb integration with TAO.
# # you can get the wandb api key by logging into https://wandb.ai
# !pip install wandb
#
# os.environ[\"WANDB_API_KEY\"] = FIXME
# import wandb
# WANDB_LOGGED_IN = wandb.login()
# if WANDB_LOGGED_IN:
# print(\"WANDB successfully logged in.
用復制的 W & B 鍵替換以下行中的 FIXME 。
os.environ["WANDB_API_KEY"] = FIXME
當您輸入 API 密鑰時,默認情況下將啟用 W & B 日志記錄。有關集成 NVIDIA TAO 工具包和 W & B 的更多詳細信息,請參閱 NVIDIA TAO Toolkit W&B Integration documentation 。
圖 2 顯示了通過運行筆記本自動生成的儀表板示例。

結論
NVIDIA TAO Toolkit 幫助各種規模的組織快速開始利用人工智能來改善其業務和運營。通過 NVIDIA TAO Toolkit 4.0 版本,您可以使用 Weights & Biases 平臺跟蹤和了解每個增量調整作業如何提高 AI 模型的性能。有關集成 NVIDIA TAO 工具包和 W & B 的更多詳細信息,請參閱 NVIDIA TAO Toolkit W&B Integration documentation 。
Download NVIDIA TAO Toolkit and learn more 。要嘗試權重和偏差,請查看 introductory Google Colab 或 sign up for a W&B account 。
?