全部產品
Search
文件中心

Platform For AI:PAI-ChatLearn:Qwen3強化學習最佳實務

更新時間:Jan 29, 2026

本文以Qwen3模型為例,基於PAI-ChatLearn訓練架構,介紹如何在PAI中使用靈駿智算資源進行LLM高效分布式強化學習訓練並部署訓練後模型。

一、準備工作

1.1 開發環境準備

在開始執行操作前,請確認您已經完成以下工作:

  1. 開通PAI並建立預設工作空間

  2. 購買靈駿智算資源建立資源配額。本文樣本必須使用靈駿資源。完成樣本需2台機器,節點規格為ml.gx8xf.8xlarge-gu108。關於靈駿智算資源的節點規格詳情,請參見AI計算資源計費說明

  3. 建立資料集,用於儲存訓練所需的檔案和結果檔案。

    • 数据集类型選擇基础型

    • 存储类型:選擇檔案儲存體類的,本文使用檔案儲存體(通用型NAS)。如沒有NAS檔案系統請參見建立檔案系統

      說明

      如果您的訓練任務對資料讀取有很高的讀寫速度與效能要求,建議您使用檔案儲存體(智算CPFS)

    • 默认挂载路径:使用預設值/mnt/data/。

  4. 建立DSW執行個體,其中關鍵參數配置如下。

    • 资源类型選擇資源配額

    • 资源配额:選擇已建立的靈駿智算資源的資源配額。

    • 资源规格:配置以下資源規格。

      • GPU(卡数):至少為8。

      • CPU(核数):90。

      • 内存(GiB):1024。

      • 共享内存(GiB):1024。

    • 镜像信息:選擇镜像地址,配置鏡像為dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai-training-algorithm/chatlearn:torch2.5.1-vllm0.6.6-ubuntu22.04-cuda12.6-py310。需要根據當前region資訊來更改鏡像地址,比如,啟動在上海的DSW執行個體,鏡像中region資訊更改為cn-shanghai

    • 数据集挂载:單擊自訂資料集,選擇已建立的資料集,並使用預設掛載路徑。

  5. 如果使用RAM使用者完成以下相關操作,需要為RAM使用者授予DSW、DLC或EAS的操作許可權。具體操作,請參見雲產品依賴與授權:DSW雲產品依賴與授權:DLC雲產品依賴與授權:EAS

1.2 下載程式碼程式庫

  1. 進入PAI-DSW開發環境。

    1. 登入PAI控制台,在頁面左上方選擇地區,推薦華北6(烏蘭察布)。

    2. 在左側導覽列單擊工作空間列表,在工作空間列表頁面中單擊待操作的工作空間名稱,進入對應工作空間內。

    3. 在左側導覽列,選擇 模型开发与训练> 交互式建模(DSW),單擊目標執行個體操作列下的開啟

  2. 在頂部功能表列單擊Terminal,在該頁簽中單擊建立terminal

  3. 下載ChatLearn程式碼程式庫。

    git clone https://github.com/alibaba/ChatLearn.git && cd ChatLearn && git checkout 4ad5912306df5d4a814dc2dd5567fcb26f5d473b

1.3 準備Qwen3模型

從ModelScope下載Qwen3模型權重。

modelscope download --model Qwen/Qwen3-8B --local_dir Qwen3-8B

1.4 準備訓練資料集

本案例以MATH-lighteval資料集為例,介紹ChatLearn強化學習流程。

  • 該資料集是一個數學推理任務資料集,使用關聯規則來驗證reward打分。

  • 如果需要在自訂任務上進行強化學習訓練,可參考chatlearn程式碼程式庫中examples/fsdp/models/rule_reward.py實現自訂reward打分函數。

# 下載資料集
mkdir -p dataset
modelscope download --dataset AI-ModelScope/MATH-lighteval --local_dir dataset/MATH-lighteval
# 資料集預先處理
python examples/fsdp/data/data_preprocess/math_lighteval.py --input_dir dataset/MATH-lighteval --local_dir dataset/MATH-lighteval

二、強化學習訓練

說明

建議您先在DSW環境中開發調試完成後,再在DLC環境中提交多機多卡分布式訓練任務。

本樣本使用FSDP作為訓練引擎,若需要使用megatron加速訓練可參考tutorial_grpo_mcore

2.1 DSW單機訓練

直接在DSW環境中繼續執行如下命令開始訓練。訓練後的模型將儲存到掛載的資料集中,用於後續部署。

bash examples/fsdp/scripts/train_grpo_qwen3.sh
說明

使用train_grpo_qwen3.sh預設參數,預計訓練耗時2~3小時。

2.2 DLC多機訓練

在單機開發調試完成後,您可以在DLC環境中配置多機多卡的分布式任務,加快模型的訓練速度。具體操作步驟如下:

  1. 進入建立任務頁面。

    1. 登入PAI控制台,在頁面上方選擇目標地區,並在右側選擇目標工作空間,然後單擊進入DLC

    2. 在分布式訓練(DLC)頁面,單擊建立任務

  2. 新建任务頁面,配置以下關鍵參數,其他參數取預設配置即可。更多詳細內容,請參見建立訓練任務

    參數

    描述

    基本信息

    任务名称

    自訂任務名稱。本方案配置為:test_qwen3_dlc。

    环境信息

    镜像信息

    選中镜像地址並在文字框中輸入:dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai-training-algorithm/chatlearn:torch2.5.1-vllm0.6.6-ubuntu22.04-cuda12.6-py310,需要根據當前region資訊來更改鏡像地址。

    数据集挂载

    單擊自訂資料集,選擇已建立的資料集,並使用預設掛載路徑/mnt/data/

    启动命令

    配置以下命令,其中train_grpo_qwen3.sh指令碼輸入的啟動參數與DSW單機預訓練模型一致。

    cd /mnt/data/ChatLearn && bash examples/fsdp/scripts/train_grpo_qwen3.sh

    资源信息

    资源类型

    選擇靈駿智算

    资源来源

    選擇資源配額

    资源配额

    本方案選擇已建立的靈駿智算資源的資源配額。

    框架

    選擇PyTorch

    任务资源

    在Worker節點配置頁簽配置以下參數:

    • 数量:2,如果需要多機訓練,配置節點數量為需要的機器數即可。

    • GPU(卡数)8

    • CPU(核数):90

    • 内存(GiB):1024

    • 共享内存(GiB):1024

  3. 單擊确定,頁面自動跳轉到分布式訓練(DLC)頁面。您可以單擊任務名稱,在任務詳情頁面查看任務執行狀態。當狀態變為已成功時,表明訓練任務執行成功。

    說明

    當前DLC任務出現ray.exceptions.RpcError: Timed out while waiting for GCS to become available.時並顯示失敗時,實際訓練任務已經完成,可以直接使用儲存模型部署服務。

2.3 主要參數說明

單擊查看train_grpo_qwen3.sh中需要配置的主要參數

參數

描述

model_path

模型權重路徑

output_dir

輸出路徑,用於儲存日誌、模型、資料資訊

train_data_path

訓練資料集路徑

eval_data_path

評測資料集路徑

sp_size

ulysses 序列並行配置,用於長思考模型訓練

tensor_model_parallel_size

vLLM推理服務,張量切分配置

gpu_memory_utilization

vLLM推理服務預分配的顯存佔比

seq_length

最大序列長度(prompt長度+產生長度)

max_new_tokens

最大產生長度

num_inference_per_prompt

每個prompt產生的response數量

sample_per_episode

每輪迭代中訓練的樣本條數=prompt數量 * num_inference_per_prompt

train_micro_batch_size

訓練過程中前向推理的batch size

enable_eval_before_training

是否在訓練前進行評測

num_episode

強化學習訓練輪數

eval_episode_interval

評測輪數間隔

save_episode_interval

模型儲存輪數間隔

三、部署及調用模型

完成模型訓練後,您可以直接將模型部署為線上服務,並在實際的生產環境中調用。

3.1 部署模型服務

  1. 登入PAI控制台,在頁面上方選擇目標地區,並在右側選擇目標工作空間,然後單擊進入EAS

  2. 單擊部署服务,然後在自定义模型部署地區,單擊自定义部署

  3. 自定义部署頁面配置以下關鍵參數,其他參數取預設配置即可。

    參數

    描述

    基本信息

    服务名称

    自訂模型服務名稱,同地區內唯一。本方案配置為:test_qwen3。

    环境信息

    部署方式

    本方案選擇镜像部署

    镜像配置

    選擇镜像地址,在文字框中配置鏡像地址eas-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai-eas/vllm:v0.8.5.post1,需要根據當前region資訊來更改鏡像地址。

    存储挂载

    選擇通用型NAS,並配置以下參數:

    • 選擇檔案系統:選擇建立資料集使用的NAS檔案系統。

    • 檔案系統掛載點:選擇建立資料集使用的掛載點。

    • 檔案系統路徑 :配置為存放在NAS中的Huggingface格式模型的路徑。本方案配置為/ChatLearn/output/qwen3-grpo/save_model/policy_trainer/20/huggingface/

    • 挂载路径:指定掛載後的路徑,本方案配置為:/qwen3_rlhf

    运行命令

    配置為vllm serve /qwen3_rlhf --host 0.0.0.0 --port 8000 --max-model-len 8192

    說明

    如您使用V100部署,運行命令配置為vllm serve /qwen3_rlhf --host 0.0.0.0 --port 8000 --max-model-len 8192 --dtype=half

    端口号

    配置為:8000。

    资源信息

    资源类型

    本方案選擇公用資源

    副本数

    根據模型和選擇的資源情況進行配置。以8b模型為例,配置為1。

    部署资源

    資源規格選擇A10或V100,本方案配置為ecs.gn7i-c32g1.8xlarge

    网络信息

    专有网络

    配置好NAS掛載點後,系統自動匹配與預設的NAS檔案系統一致的VPC、交換器,根據需求設定安全性群組。

    交换机

    安全组

  4. 單擊部署。服務部署時間約為6分鐘,當服務狀態變為運行中時,表明服務部署成功。

3.2 調用服務

  1. 擷取服務訪問地址和Token。在推理服务頁簽,找到目標服務進入概览頁面,在基本信息地區單擊查看调用信息image

  2. 使用如下代碼調用服務。其中,<YOUR EAS URL>替換為步驟1中的調用地址;Token建議設定為環境變數。

    import os
    from openai import OpenAI
    
    # 建議將Token設定為環境變數
    openai_api_key = os.environ.get("Token")
    # <YOUR EAS URL>替換為服務的訪問地址。
    openai_api_base = "<YOUR EAS URL>/v1"
    
    client = OpenAI(
        api_key=openai_api_key,
        base_url=openai_api_base,
    )
    
    chat_response = client.chat.completions.create(
        model="/qwen3_rlhf",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Find the smallest positive integer solution to $\\tan{19x^{\\circ}}=\\dfrac{\\cos{96^{\\circ}}+\\sin{96^{\\circ}}}{\\cos{96^{\\circ}}-\\sin{96^{\\circ}}}$. Let's think step by step and output the final answer within \\boxed{}."},
        ],
        temperature=0.7,
        top_p=0.8,
        presence_penalty=1.5,
        extra_body={
            "top_k": 20, 
            "chat_template_kwargs": {"enable_thinking": False},
        }
    )
    print("Chat response:", chat_response)

附錄:訓練部署所需資源規格參考

不同的模型參數量支援的資源規格列表如下:

模型參數量

全參數訓練資源(最低)

推理資源(最低)

數量

規格

Qwen3-8B

1台

ml.gu7xf.c96m1600.8-gu108

ml.gu7ef.c96m1600.8-gu100

ml.gx8xf.8xlarge-gu108

1*V100(32 GB顯存) / 1*A10(24 GB顯存)

Qwen3-32B

2台

4*V100(32 GB顯存)/ 4*A10(24 GB顯存)

Qwen3-30B-A3B

2台

4*V100(32 GB顯存)/ 4*A10(24 GB顯存)