本教學課程提供逐步指南,說明如何使用 MaxText (以 JAX 為基礎的高效能訓練堆疊,適用於大型語言模型 (LLM)),在單一 v6e-8 Google Cloud Tensor 處理單元 (TPU) 虛擬機器 (VM) 執行強化學習 (RL) 訓練。
目標
- 設定 Cloud TPU VM 例項。
- 安裝 MaxText 及其依附元件。
- 將 Hugging Face 模型轉換為 MaxText 格式。
- 在 TPU 上執行 RL 群組相對政策最佳化 (GRPO) 工作負載。
- 將訓練好的模型轉換回 Hugging Face 格式,以供使用。
費用
在本文件中,您會使用下列 Google Cloud的計費元件:
如要根據預測用量估算費用,請使用 Pricing Calculator。
完成本文所述工作後,您可以刪除建立的資源,避免繼續計費,詳情請參閱「清除所用資源」一節。
事前準備
如要使用本教學課程,您需要 Hugging Face 存取權杖。您可以在 Hugging Face 申請免費帳戶。擁有帳戶後,請產生存取權杖:
- 在 Hugging Face 網站上,接受要訓練模型的授權協議。本教學課程使用
llama3.1-8b-Instruct模型。
如要取得完成本教學課程所需的權限,請要求管理員在專案中授予您下列 IAM 角色:
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
設定環境
執行下列指令碼,設定環境變數:
更改下列內容:
- YOUR_PROJECT_ID:您的 Google Cloud 專案 ID
- ZONE_NAME:要使用的可用區
- RESERVATION_NAME:運算資源預留項目
- TPU_MACHINE_NAME:Cloud TPU VM 執行個體的名稱
執行下列指令,透過 Google Cloud 進行驗證:
gcloud auth login
建立 Cloud TPU VM
建立具有 8 個 v6e TPU 晶片的 Cloud TPU VM 執行個體,並繫結至容量預留。
建立 VM 執行個體後,請使用 SSH 連線至該執行個體。
請在 TPU VM 執行個體中完成下列步驟。
安裝 MaxText
更新 TPU VM 執行個體中的系統套件。
安裝 MaxText 要求的 Python 3.12,以及虛擬環境套件。
使用 uv 加速安裝 Python 套件。
建立名為 maxtext_venv 的虛擬環境,並啟動該環境。
安裝 MaxText 和後續訓練工作所需的依附元件。
執行下列指令,安裝其餘必要依附元件:
將模型轉換為 MaxText 格式
如要以 MaxText 格式訓練模型,必須將模型從 Hugging Face 格式轉換為 MaxText 格式。
提供以下這些值:
- 您的 Hugging Face 存取權杖
- 要使用的模型名稱
- 要以 MaxText 格式儲存模型的目錄
- 載入和儲存選項
將 YOUR_HF_TOKEN 替換為您先前建立的 Hugging Face 存取權杖。
如要將模型從 Hugging Face 格式轉換為 MaxText 格式,請執行下列指令碼。轉換作業大約需要五分鐘才能完成。
開始訓練工作負載
轉換程序完成後,即可啟動 RL 工作負載。
設定 RL 工作負載訓練參數。
啟動訓練工作。在
v6e-8VM 執行個體上,這項作業大約需要 10 分鐘。
將訓練好的模型轉換回 Hugging Face 格式
訓練工作負載完成後,請將模型轉換回 Hugging Face 格式。
設定匯出路徑和訓練參數。
將模型轉換回 Hugging Face 格式。
轉換完成後,儲存在 /dev/shm/$MODEL_NAME/hf-trained 中的調整後模型即可使用。由於 VM 重新啟動時,您會失去 /dev/shm 資料夾內容的存取權,因此請將微調模型移至永久儲存空間,或上傳至 Hugging Face Hub。
清除所用資源
為避免產生額外費用,請刪除在本教學課程中建立的資源。
刪除 TPU VM 執行個體
刪除 Cloud TPU VM 執行個體。
後續步驟
- 如要進一步瞭解 Cloud TPU,請參閱「Cloud TPU 簡介」。
- 如要瞭解
v6e-8TPU 的架構和設定詳情,請參閱 TPU v6e。