Tüm Ürünler
Search
Belge Merkezi

Platform For AI:PAI-ChatLearn: Qwen3 pekiştirmeli öğrenme için en iyi uygulamalar

Son Güncelleme:Oct 04, 2026

Bu konu, Lingjun kaynaklarını kullanarak PAI üzerinde bir büyük dil modelinde (LLM) verimli ve dağıtılmış pekiştirmeli öğrenme yapmak amacıyla PAI-ChatLearn eğitim çerçevesinin nasıl kullanılacağını açıklar. Ayrıca eğitilen modelin nasıl dağıtılacağını anlatır. Bu çözüm, bir LLM'in akıl yürütme yeteneklerini pekiştirmeli öğrenme yoluyla geliştirmek istediğiniz senaryolar için uygundur.

1. Hazırlıklar

1,1 Geliştirme ortamını hazırlayın

Başlamadan önce aşağıdaki görevleri tamamladığınızdan emin olun:

  1. PAI'yi etkinleştirin ve varsayılan çalışma alanı oluşturun.

  2. Lingjun kaynaklarını satın alın ve bir kaynak kotası oluşturun. Bu örnekte Lingjun kaynakları gereklidir. Örnek, ml.gx8xf.8xlarge-gu108 düğüm teknik özelliklerine sahip iki makine gerektirir. Lingjun kaynaklarının düğüm teknik özellikleri hakkında daha fazla bilgi için bkz. Yapay zeka bilişim kaynaklarının faturalandırılması.

  3. Gerekli eğitim ve sonuç dosyalarını depolamak için bir veri kümesi oluşturun.

    • Dataset Type: Basic seçeneğini belirleyin.

    • Storage Type: Bir dosya depolama türü seçin. Bu konuda Genel Amaçlı NAS için Dosya Depolama kullanılır. Bir NAS dosya sisteminiz yoksa bkz. Bir dosya sistemi oluşturma.

      Not

      Eğitim göreviniz yüksek okuma/yazma hızı ve performans gerektiriyorsa File Storage (Intelligent Computing CPFS) kullanın.

    • Default Mount Path: Varsayılan değeri (/mnt/data/) kullanın.

  4. Aşağıdaki anahtar parametrelerle bir Data Science Workshop (DSW) örneği oluşturun.

    • Resource Type: Resource Quota seçeneğini belirleyin.

    • Resource Quota: Lingjun kaynakları için oluşturduğunuz kaynak kotasını seçin.

    • Instance Type: Aşağıdaki kaynak teknik özelliklerini yapılandırın.

      • GPUs: 8 veya daha fazla.

      • vCPUs: 90.

      • Memory (GiB): 1024.

      • Shared Memory (GiB): 1024.

    • Image Information: Image Address seçeneğini belirleyin ve çalışma zamanı görüntüsünü dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai-training-algorithm/chatlearn:torch2.5.1-vllm0.6.6-ubuntu22.04-cuda12.6-py310 olarak ayarlayın. Kayıt defteri adresindeki bölgeyi, DSW örneğinizin bulunduğu bölgeyle eşleşecek şekilde değiştirmeniz gerekir. Örneğin, Şanghay'da bir DSW örneği kullanıyorsanız adresteki bölgeyi cn-shanghai olarak değiştirin.

    • Dataset Mounting: Custom Dataset seçeneğine tıklayın, oluşturduğunuz veri kümesini seçin ve varsayılan bağlama yolunu kullanın.

  5. Aşağıdaki işlemleri bir Resource Access Management (RAM) kullanıcısı ile gerçekleştiriyorsanız RAM kullanıcısına DSW, Deep Learning Containers (DLC) veya Elastic Algorithm Service (EAS) kullanımı için gerekli izinleri vermeniz gerekir. Daha fazla bilgi için bkz. Ürün bağımlılıkları ve yetkilendirme: DSW, Ürün bağımlılıkları ve yetkilendirme: DLC veya Ürün bağımlılıkları ve yetkilendirme: EAS.

1,2 Kod deposunu indirin

  1. PAI-DSW geliştirme ortamına gidin.

    1. PAI konsolu üzerinden oturum açın. Sayfanın sol üst köşesinde bir bölge seçin. China (Ulanqab) bölgesi önerilir.

    2. Sol gezinme bölmesinde Workspace List seçeneğine tıklayın. Görüntülenen sayfada yönetmek istediğiniz çalışma alanının adına tıklayın.

    3. Sol gezinme bölmesinden Model Training > Data Science Workshop (DSW) seçeneklerini belirleyin ve hedef örneğin Actions sütunundaki Open seçeneğine tıklayın.

  2. Üst menü çubuğunda Terminal seçeneğine tıklayın. Görüntülenen sekmede Create Terminal seçeneğine tıklayın.

  3. ChatLearn kod deposunu indirin.

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

1,3 Qwen3 modelini hazırlayın

Qwen3 model ağırlıklarını ModelScope'tan indirin.

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

1,4 Eğitim veri kümesini hazırlayın

Bu örnekte ChatLearn pekiştirmeli öğrenme iş akışını göstermek için MATH-lighteval veri kümesi kullanılır.

  • Bu veri kümesi matematiksel akıl yürütme görevleri içindir. Ödül puanı doğrulaması için sabit kurallar kullanır.

  • Özel bir görevde pekiştirmeli öğrenme yapmak için ChatLearn kod deposundaki examples/fsdp/models/rule_reward.py dosyasına referans alarak özel bir ödül puanlama işlevi uygulayabilirsiniz.

# Download the dataset
mkdir -p dataset
modelscope download --dataset AI-ModelScope/MATH-lighteval --local_dir dataset/MATH-lighteval
# Pre-process the dataset
python examples/fsdp/data/data_preprocess/math_lighteval.py --input_dir dataset/MATH-lighteval --local_dir dataset/MATH-lighteval

2. Pekiştirmeli öğrenme eğitimi

Not

DLC ortamında çoklu GPU sunucularında dağıtılmış bir eğitim görevi göndermeden önce kodunuzu DSW ortamında geliştirin ve test edin.

Bu örnekte eğitim motoru olarak Fully Sharded Data Parallel (FSDP) kullanılır. Eğitimi hızlandırmak için Megatron-LM kullanmak isterseniz bkz. tutorial_grpo_mcore.

2,1 DSW'de tek düğümlü eğitim

DSW ortamında çalışmaya devam edin ve eğitimi başlatmak için aşağıdaki komutu çalıştırın. Eğitilen model, sonraki dağıtım aşaması için bağlı veri kümesine kaydedilir.

bash examples/fsdp/scripts/train_grpo_qwen3.sh
Not

Varsayılan train_grpo_qwen3.sh parametreleriyle eğitimin 2 ila 3 saat sürmesi beklenir.

2,2 DLC'de çok düğümlü eğitim

Tek bir düğümde geliştirme ve test işlemlerini tamamladıktan sonra model eğitimini hızlandırmak için DLC ortamında çoklu GPU sunucularında dağıtılmış bir görev yapılandırabilirsiniz.

  1. Create Task sayfasına gidin.

    1. PAI konsolu üzerinden oturum açın. Sayfanın üst kısmında hedef bölgeyi seçin. Sağ tarafta hedef çalışma alanını seçin ve ardından Enter DLC seçeneğine tıklayın.

    2. Deep Learning Containers (DLC) sayfasında Create Task seçeneğine tıklayın.

  2. Create Job sayfasında aşağıdaki anahtar parametreleri yapılandırın. Diğer parametreler için varsayılan değerleri kullanın. Daha fazla bilgi için bkz. Bir eğitim görevi oluşturma.

    Parametre

    Açıklama

    Basic Information

    Job Name

    Özel bir görev adı. Bu örnekte test_qwen3_dlc kullanılır.

    Environment Information

    Image Information

    Image Address seçeneğini belirleyin ve metin kutusuna aşağıdaki adresi girin: dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai-training-algorithm/chatlearn:torch2.5.1-vllm0.6.6-ubuntu22.04-cuda12.6-py310. Kayıt defteri adresindeki bölgeyi geçerli bölgenizle eşleşecek şekilde değiştirmeniz gerekir.

    Mount dataset

    Custom Dataset seçeneğine tıklayın, oluşturduğunuz veri kümesini seçin ve varsayılan bağlama yolunu (/mnt/data/) kullanın.

    Startup Command

    Aşağıdaki komutu yapılandırın. train_grpo_qwen3.sh betiğinin başlatma parametreleri, DSW'deki tek düğümlü ön eğitim parametreleriyle aynıdır.

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

    Resource Information

    Resource Type

    Lingjun Intelligent Computing seçeneğini belirleyin.

    Source

    Resource Quota seçeneğini belirleyin.

    Resource Quota

    Lingjun kaynakları için oluşturduğunuz kaynak kotasını seçin.

    Framework

    PyTorch seçeneğini belirleyin.

    Job Resource

    Worker düğümü yapılandırması sekmesinde aşağıdaki parametreleri yapılandırın:

    • Quantity: 2. Çok düğümlü eğitim için Number of Nodes değerini ihtiyacınız olan makine sayısına ayarlayın.

    • GPUs: 8

    • vCPUs: 90

    • Memory (GiB): 1024

    • Shared Memory (GiB): 1024

  3. OK seçeneğine tıklayın. Deep Learning Containers (DLC) sayfasına yönlendirilirsiniz. Görevin yürütme durumunu Task Details sayfasında görüntülemek için görev adına tıklayabilirsiniz. Status durumu Succeeded olarak değiştiğinde eğitim görevi tamamlanmış demektir.

    Not

    DLC işi başarısız olursa ve ray.exceptions.RpcError: Timed out while waiting for GCS to become available. hata iletisi görünürse eğitim görevi aslında tamamlanmıştır. Kaydedilen modeli hizmet olarak dağıtmaya devam edebilirsiniz.

2,3 Ana parametre açıklamaları

train_grpo_qwen3.sh içinde yapılandırılacak ana parametreleri görüntülemek için tıklayın


Parametre


Açıklama


model_path


Model ağırlık yolu


output_dir


Günlükler, modeller ve veriler için çıkış yolu


train_data_path


Eğitim veri kümesi yolu


eval_data_path


Değerlendirme veri kümesi yolu


sp_size


Uzun düşünce süreçlerine sahip modelleri eğitmek için Ulysses sıra paralelliği yapılandırması


tensor_model_parallel_size


vLLM çıkarım hizmeti için tensör paralelliği yapılandırması


gpu_memory_utilization


vLLM çıkarım hizmeti tarafından önceden ayrılan VRAM yüzdesi


seq_length


Maksimum sıra uzunluğu (istem uzunluğu + oluşturma uzunluğu)


max_new_tokens


Maksimum oluşturma uzunluğu


num_inference_per_prompt


Her bir istem için oluşturulan yanıt sayısı


sample_per_episode


Her yinelemede eğitilen örnek sayısı = istem sayısı × num_inference_per_prompt


train_micro_batch_size


Eğitim sırasında ileri geçiş için toplu iş boyutu


enable_eval_before_training


Eğimden önce değerlendirme yapılıp yapılmayacağını belirtir


num_episode


Pekiştirmeli öğrenme eğitim dönemlerinin sayısı


eval_episode_interval


Değerlendirme dönemi aralığı


save_episode_interval


Model kaydetme dönemi aralığı

3. Modeli dağıtma ve çağırma

Model eğitimi tamamlandıktan sonra modeli çevrimiçi bir hizmet olarak dağıtabilir ve üretim ortamında çağırabilirsiniz.

3,1 Model hizmetini dağıtın

  1. PAI konsolu üzerinden oturum açın. Sayfanın üst kısmında hedef bölgeyi seçin. Sağ tarafta hedef çalışma alanını seçin ve ardından Enter EAS seçeneğine tıklayın.

  2. Deploy Service seçeneğine tıklayın. Custom Model Deployment alanında Custom Deployment seçeneğine tıklayın.

  3. Custom Deployment sayfasında aşağıdaki anahtar parametreleri yapılandırın. Diğer parametreler için varsayılan değerleri kullanın.

    Parametre

    Açıklama

    Basic Information

    Service Name

    Model hizmeti için özel bir ad. Ad, aynı bölgede benzersiz olmalıdır. Bu örnekte test_qwen3 kullanılır.

    Environment Information

    Deployment Method

    Image-based Deployment seçeneğini belirleyin.

    Image Configuration

    Image Address seçeneğini belirleyin ve metin kutusuna aşağıdaki kayıt defteri adresini girin: eas-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai-eas/vllm:v0.8.5.post1. Kayıt defteri adresindeki bölgeyi geçerli bölgenizle eşleşecek şekilde değiştirmeniz gerekir.

    Mount storage

    Genel Amaçlı NAS seçeneğini belirleyin ve aşağıdaki parametreleri yapılandırın:

    • Select File System: Veri kümesini oluştururken kullandığınız NAS dosya sistemini seçin.

    • File System Mount Target: Veri kümesini oluştururken kullandığınız bağlama hedefini seçin.

    • File System Path: NAS'ta depolanan Hugging Face modelinin yolu. Bu örnekte /ChatLearn/output/qwen3-grpo/save_model/policy_trainer/20/huggingface/ kullanılır.

    • Mount Path: Bağlama sonrası yol. Bu örnekte /qwen3_rlhf kullanılır.

    Command

    vllm serve /qwen3_rlhf --host 0.0.0.0 --port 8000 --max-model-len 8192 olarak ayarlayın.

    Not

    V100 örneğinde dağıtım yapıyorsanız çalıştırma komutunu vllm serve /qwen3_rlhf --host 0.0.0.0 --port 8000 --max-model-len 8192 --dtype=half olarak ayarlayın.

    Port Number

    8000 olarak ayarlayın.

    Resource Information

    Resource Type

    Public Resources seçeneğini belirleyin.

    Number of Replicas

    Bu değeri modele ve seçilen kaynaklara göre yapılandırın. 8B model için bu değeri 1 olarak ayarlayın.

    Deployment

    Kaynak teknik özellikleri için bir A10 veya V100 örneği seçin. Bu örnekte ecs.gn7i-c32g1.8xlarge kullanılır.

    Network Information

    VPC

    NAS bağlama hedefini yapılandırdıktan sonra sistem VPC ve vSwitch'i önceden ayarlanmış NAS dosya sistemiyle otomatik olarak eşleştirir. Güvenlik grubunu gerektiği gibi ayarlayın.

    vSwitch

    Security group

  4. Deploy seçeneğine tıklayın. Hizmet dağıtımı yaklaşık 6 dakika sürer. Service Status durumu Running olarak değiştiğinde hizmet dağıtımı tamamlanmış demektir.

3,2 Hizmeti çağırın

  1. Hizmet uç noktasını ve belirtecini edinin. Inference Service sekmesinde hedef hizmeti bulun ve Overview sayfasına gidin. Basic Information bölümünde View Endpoint Information seçeneğine tıklayın.

  2. Hizmeti çağırmak için aşağıdaki kodu kullanın. <YOUR EAS URL> ifadesini önceki adımda edindiğiniz uç nokta ile değiştirin. Belirteci bir ortam değişkeni olarak ayarlayın.

    import os
    from openai import OpenAI
    
    # Set the token as an environment variable.
    openai_api_key = os.environ.get("Token")
    # Replace <YOUR EAS URL> with the service endpoint.
    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)

Ek: Eğitim ve dağıtım için kaynak teknik özellikleri referansı

Aşağıdaki tabloda farklı model boyutları için desteklenen kaynak teknik özellikleri listelenmiştir.

Model Boyutu

Tam Parametreli Eğitim Kaynakları (Minimum)

Çıkarım Kaynakları (Minimum)

Miktar

Teknik Özellik

Qwen3-8B

1 makine

ml.gu7xf.c96m1600.8-gu108 veya

ml.gu7ef.c96m1600.8-gu100 veya

ml.gx8xf.8xlarge-gu108

1 × V100 (32 GB VRAM) / 1 × A10 (24 GB VRAM)

Qwen3-32B

2 makine

4 × V100 (32 GB VRAM) / 4 × A10 (24 GB VRAM)

Qwen3-30B-A3B

2 makine

4 × V100 (32 GB VRAM) / 4 × A10 (24 GB VRAM)