A. 深度解析AutoML工具——NNI:帶上超參一起訓練
NNI(Neural Network Intelligence)是一款自動機器學習工具包,旨在通過各種優化演算法搜索最合適的神經網路結構與超參數。它兼容單機、本地多機及雲環境運行。
安裝指引如下:
pip install -i https://pypi.tuna.tsinghua.e.cn/simple nni
推薦使用清華源進行安裝。
NNI工作流程包括實驗設計、搜索空間定義、超參數優化與結果評估。一個基本實驗流程如下:
1. **實驗設計**:設置目標(如Mnist手寫體識別),確定搜索空間(包含可搜索的變數及變數范圍),如設置dropout_rate在[0.5, 0.9]均勻分布,conv_size在[2,3,5,7]四個值中選擇。
2. **配置文件**:創建`search_space.json`及系統配置文件(如`config_windows.yml`或`config.yml`),配置實驗時間、嘗試次數、使用TPE優化演算法等參數。
3. **啟動實驗**:使用`nnictl create --config config_windows.yml`命令啟動Mnist實驗。
4. **監控實驗**:訪問WebUI查看實驗狀態與詳細信息,實驗結束後,WebUI仍可訪問。
NNI核心組件包括**Tuner**(優化演算法)與**Assessor**(評估器),在限定資源下,Tuner與Assessor協作尋找最優超參數。
為解決GPU資源需求,推薦使用**BitaHub**,一個面向AI開發者提供快速構建、訓練模型的服務,新用戶注冊即贈算力。
在BitaHub上使用NNI流程如下:
1. **下載文件**:從GitHub倉庫(github.com/SonghuaW/bit...)獲取Dockerfile、trail代碼。
2. **配置參數**:在鏡像選擇、GPU類型、啟動命令等進行配置。
3. **監控實驗**:通過WebUI查看實驗狀態與輸出文件,實驗結束後,WebUI無法訪問,但輸出文件可繼續查看。
NNI與BitaHub集成提供了一種高效、便捷的自動機器學習解決方案,適合從簡單實驗到復雜模型訓練的多種場景。