Tüm Ürünler
Search
Belge Merkezi

Platform For AI:Train, evaluate, compress, and deploy Qwen2.5-Coder

Son Güncelleme:Oct 04, 2026

CodeQwen olarak da bilinen Qwen2.5-Coder, Alibaba Cloud tarafından kodla ilgili görevlerde uzmanlaşmış büyük dil modelleri serisidir. Bu seri, çeşitli geliştirici ihtiyaçlarını karşılamak için altı farklı model boyutu (0,5B, 1,5B, 3B, 7B, 14B ve 32B) sunar. Devasa miktarda kod verisi üzerinde eğitilen Qwen2.5-Coder, güçlü matematiksel ve akıl yürütme yeteneklerini korurken kod odaklı uygulamalarda üstün performans gösterir. Bu eğitimde örnek olarak Qwen2.5-Coder-32B-Instruct modeli kullanılmıştır.

Model özeti

Qwen2.5-Coder, 128K tokena kadar bağlam uzunluğunu destekleyen ve 92 programlama diliyle uyumlu olan güçlü, kod odaklı bir model serisidir. Bu modeller, çok dilli kod oluşturma, kod tamamlama ve kod onarımı gibi çeşitli kodla ilgili görevlerde mükemmel sonuçlar verir. Talimat ayarlı varyantı olan Qwen2.5-Coder-Instruct, temel model üzerine inşa edilerek bu görevlerde daha iyi performans ve mükemmel genelleme yeteneği sağlar.

Temel özellikler şunlardır:

  • Çok dilli programlama yeteneği: Qwen2.5-Coder-Instruct, niş programlama dilleri de dahil olmak üzere 40'tan fazla dili kapsayan McEval kıyas ölçütünde son derece iyi performans gösterir.

  • Kod akıl yürütme yeteneği: Model, CRUXEval kıyas ölçütünde etkileyici sonuçlar elde ederek güçlü kod akıl yürütme becerilerini ortaya koyar. Gelişmiş akıl yürütme yeteneği, karmaşık talimat izleme görevlerinde de daha iyi performansa katkı sağlar.

  • Matematiksel yetenek: Kodlamanın temel disiplini olan matematik, modelin STEM alanındaki kapsamlı yeteneklerini gösterdiği bir başka alandır.

  • Genel yetenekler: Qwen2.5-Coder-Instruct, Qwen2.5 temel modelinin güçlü genel yeteneklerini devralarak geniş bir görev yelpazesinde istikrar ve geniş uygulama alanı sağlar.

Ortam gereksinimleri

Desteklenen bölgeler

Bu modeli Çin (Pekin), Çin (Şanghay), Çin (Shenzhen), Çin (Hangzhou), Çin (Ulanqab) ve Singapur bölgelerinde çalıştırmak için Model Galerisi'ni kullanabilirsiniz.

Kaynak gereksinimleri


Model boyutu


Dağıtım gereksinimleri


Eğitim gereksinimleri


Qwen2.5-Coder-0,5B/1,5B


Minimum: Tek bir P4 kartı. Önerilen: Tek bir GU30, A10, V100 veya T4 kartı.


T4, P100 veya V100 gibi 16 GB veya daha fazla VRAM'e sahip bir GPU.


Qwen2.5-Coder-3B/7B


Minimum: Tek bir P100, T4 veya V100 (gn6v) kartı. Önerilen: Tek bir GU30 veya A10 kartı.


A10 veya T4 gibi 24 GB veya daha fazla VRAM'e sahip bir GPU.


Qwen2.5-Coder-14B


Minimum: Tek bir L20 veya GU60 kartı ya da iki GU30 kartı. Önerilen: İki GU60 veya L20 kartı.


V100 gibi 32 GB veya daha fazla VRAM'e sahip bir GPU.


Qwen2.5-Coder-32B


Minimum: İki GU60 veya L20 kartı ya da dört A10 kartı. Önerilen: Dört GU60 veya L20 kartı ya da sekiz V100-32G kartı.


A800 veya H800 gibi 80 GB veya daha fazla VRAM'e sahip bir GPU.

Modeli dağıtma ve çağırma

Modeli dağıtma

  1. Model Galerisi sayfasına gidin.

    1. PAI konsolu oturum açın.

    2. Üst gezinme çubuğunun sol üst köşesinde bir bölge seçin.

    3. Sol gezinme bölmesinde Workspaces öğesini tıklayın ve ardından açmak istediğiniz çalışma alanının adını tıklayın.

    4. Sol gezinme bölmesinde Quick Start > Model Gallery seçeneğini belirleyin.

  2. Model Galerisi sayfasında Qwen2.5-Coder-32B-Instruct model kartını bulun ve tıklayarak model ayrıntıları sayfasına gidin.

  3. Sağ üst köşede Deploy düğmesini tıklayın. Varsayılan yapılandırmayı kabul edin ve hizmeti dağıtmak için Tamam'a tıklayın. Durum Running olarak değiştiğinde dağıtım başarılı olur.

Önemli

Bu eğitimde kullandıkça öde esasına göre faturalandırılan genel kaynaklar kullanılmaktadır. Ücretlerden kaçınmak için işiniz bittiğinde hizmeti durdurun veya silin.

Modeli çağırma

Çağrı bilgilerini alma

Model ayrıntıları sayfasında genel uç nokta ve belirteci görüntülemek için View Call Information öğesini tıklayın.

Açılan Invocation Information panelinde Shared Gateway sekmesini seçin ve Public Endpoint ile Token değerlerini kopyalayın.

API ile çağırma

Aşağıdaki örnek, modelin API kullanılarak nasıl çağrılacağını gösterir:

from openai import OpenAI
# 1. Configure the client.
# Replace <EAS_TOKEN> with the Token from the Invocation Information panel.
openai_api_key = "<EAS_TOKEN>"
# Replace <EAS_ENDPOINT> with the Public Endpoint from the Invocation Information panel.
openai_api_base = "<EAS_ENDPOINT>/v1"
client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)
# 2. Get the model name.
# For BladeLLM, set model = "". BladeLLM does not require the model parameter and does not support using client.models.list() to get the model name. Set it to an empty string to comply with the mandatory parameter requirement of the OpenAI SDK.
models = client.models.list()
model = models.data[0].id
print(model)
# 3. Initiate a chat completion request.
# Both streaming (stream=True) and non-streaming (stream=False) outputs are supported.
stream = True
chat_completion = client.chat.completions.create(
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "hello"},          
    ],
    model=model,
    top_p=0.8,
    temperature=0.7,
    max_tokens=1024,
    stream=stream,
)
if stream:
    for chunk in chat_completion:
        print(chunk.choices[0].delta.content, end="")
else:
    result = chat_completion.choices[0].message.content
    print(result)

API çağrıları hakkında daha fazla bilgi için bkz. API Kullanarak Modeli Çağırma.

Web kullanıcı arayüzü ile çağırma

Modeli web kullanıcı arayüzü kullanarak da çağırabilirsiniz. Ayrıntılı talimatlar için model kartına bakın.

Model dağıtımı tamamlandıktan sonra, model kartı ayrıntıları sayfasının Web Application bölümünden istemci kodunu indirebilir ve çıkarım için yerel web uygulamasını başlatmak amacıyla python webui_client.py --eas_endpoint "<EAS API Endpoint>" --eas_token "<EAS API Token>" komutunu çalıştırabilirsiniz. EAS API Endpoint ve EAS API Token değerlerini dağıtılan EAS hizmetinin ayrıntılarından edinebilirsiniz. Daha fazla parametre açıklamasını görüntülemek için python webui_client.py -h komutunu çalıştırın.

Model ince ayarı

Model Galerisi, Qwen2.5-Coder-32B-Instruct modeli için kullanıma hazır iki ince ayar algoritması sunar: denetimli ince ayar (SFT) ve doğrudan tercih optimizasyonu (DPO).

Denetimli ince ayar (SFT)

SFT eğitim algoritması, her veri girdisinin sırasıyla "instruction" ve "output" alanlarıyla temsil edilen bir talimat ve çıktıdan oluştuğu JSON formatında girişi destekler. Örneğin:

[
  {
    "instruction": "Create a function to calculate the sum of a sequence of integers.",
    "output": "# Python code\ndef sum_sequence(sequence):\n  sum = 0\n  for num in sequence:\n    sum += num\n  return sum"
  },
  {
    "instruction": "Generate a Python code for crawling a website for a specific type of data.",
    "output": "import requests\nimport re\n\ndef crawl_website_for_phone_numbers(website):\n    response = requests.get(website)\n    phone_numbers = re.findall('\\d{3}-\\d{3}-\\d{4}', response.text)\n    return phone_numbers\n    \nif __name__ == '__main__':\n    print(crawl_website_for_phone_numbers('www.example.com'))"
  }
]

Doğrudan tercih optimizasyonu (DPO)

DPO eğitim algoritması, her veri girdisinin sırasıyla "prompt", "chosen" ve "rejected" alanlarıyla temsil edilen bir istem, seçilen yanıt ve reddedilen yanıtından oluştuğu JSON formatında girişi destekler. Örneğin:

[
  {
    "prompt": "Create a function to calculate the sum of a sequence of integers.",
    "chosen": "# Python code\ndef sum_sequence(sequence):\n  sum = 0\n  for num in sequence:\n    sum += num\n  return sum",
    "rejected": "[x*x for x in [1, 2, 3, 5, 8, 13]]"
  },
  {
    "prompt": "Generate a Python code for crawling a website for a specific type of data.",
    "chosen": "import requests\nimport re\n\ndef crawl_website_for_phone_numbers(website):\n    response = requests.get(website)\n    phone_numbers = re.findall('\\d{3}-\\d{3}-\\d{4}', response.text)\n    return phone_numbers\n    \nif __name__ == '__main__':\n    print(crawl_website_for_phone_numbers('www.example.com'))",
    "rejected": "def remove_duplicates(string): \n    result = \"\" \n    prev = '' \n\n    for char in string:\n        if char != prev: \n            result += char\n            prev = char\n    return result\n\nresult = remove_duplicates(\"AAABBCCCD\")\nprint(result)"
  }
]
  1. Model Galerisi sayfasında Qwen2.5-Coder-32B-Instruct model kartını tıklayarak model ayrıntıları sayfasına gidin.

  2. Model ayrıntıları sayfasında sağ üst köşede bulunan Train düğmesini tıklayın. Aşağıdaki parametreleri yapılandırın:

    • Veri kümesi yapılandırması: Verilerinizi hazırladıktan sonra bir Object Storage Service paketlerine yükleyin veya bir veri kümesi nesnesi belirterek NAS ya da CPFS üzerindeki bir veri kümesini seçin. Algoritmayı test etmek ve bir iş göndermek için PAI tarafından sağlanan genel bir veri kümesini de kullanabilirsiniz.

    • Hesaplama kaynağı yapılandırması: Algoritma, 80 GB veya daha fazla VRAM'e sahip bir GPU gerektirir. Seçili kaynak kotanız içinde yeterli hesaplama kaynağınız olduğundan emin olun. Diğer model boyutları için gereken kaynak teknik özellikleri hakkında bilgi edinmek için bkz. Ortam gereksinimleri.

    • Hiperparametre yapılandırması: Aşağıdaki tabloda eğitim hiperparametreleri listelenmiştir. Bu değerleri ayarlayabilir veya varsayılanları kullanabilirsiniz.

      Hiperparametre yapılandırması

      Hiperparametre

      Tür

      Varsayılan

      Gerekli

      Açıklama

      training_strategy

      String

      sft

      Evet

      Eğitim algoritması. Geçerli değerler: SFT ve DPO.

      learning_rate

      Float

      5e-5

      Evet

      Model ağırlığı ayarlamalarının büyüklüğünü kontrol eden öğrenme oranı.

      num_train_epochs

      Integer

      1

      Evet

      Eğitim dönemlerinin sayısı.

      per_device_train_batch_size

      Integer

      1

      Evet

      Her eğitim yinelemesinde her GPU tarafından işlenen örnek sayısı. Daha büyük bir toplu iş boyutu verimliliği artırabilir ancak VRAM gereksinimlerini de yükseltir.

      seq_length

      Integer

      128

      Evet

      Model girişleri için maksimum sıra uzunluğu (token cinsinden).

      lora_dim

      Integer

      32

      Hayır

      LoRA boyutu. lora_dim > 0 ise hafif LoRA veya QLoRA eğitimi kullanılır.

      lora_alpha

      Integer

      32

      Hayır

      LoRA ağırlığı. Bu parametre, lora_dim > 0 olduğunda (LoRA veya QLoRA eğitimi kullanıldığında) etkindir.

      dpo_beta

      Float

      0.1

      Hayır

      Eğitim sırasında modelin tercih bilgilerine olan güvenini kontrol eder.

      load_in_4bit

      Boolean

      false

      Hayır

      Modelin 4-bit hassasiyetinde yüklenip yüklenmeyeceğini belirtir.

      lora_dim > 0, load_in_4bit true ve load_in_8bit false olarak ayarlanırsa bu, hafif 4-bit QLoRA eğitimini etkinleştirir.

      load_in_8bit

      Boolean

      false

      Hayır

      Modelin 8-bit hassasiyetinde yüklenip yüklenmeyeceğini belirtir.

      lora_dim > 0, load_in_4bit false ve load_in_8bit true olarak ayarlanırsa bu, hafif 8-bit QLoRA eğitimini etkinleştirir.

      gradient_accumulation_steps

      Integer

      8

      Hayır

      Gradyan biriktirme adımlarının sayısı.

      apply_chat_template

      Boolean

      true

      Hayır

      Eğitim verilerine modelin varsayılan sohbet şablonunun uygulanıp uygulanmayacağını belirtir. Qwen2 serisi modeller için biçim aşağıdaki gibidir:

      • Soru:<|im_end|>\n<|im_start|>user\n + instruction + <|im_end|>\n

      • Cevap: <|im_start|>assistant\n + output + <|im_end|>\n

      system_prompt

      String

      You are a helpful assistant

      Hayır

      Model eğitimi için kullanılan sistem istemi.

  3. Train düğmesini tıklayın. Model Galerisi sizi otomatik olarak iş ayrıntıları sayfasına yönlendirir; burada eğitim durumunu izleyebilir ve günlükleri görüntüleyebilirsiniz.

Eğitilen model otomatik olarak AI Asset - Model Management içinde kaydedilir; buradan modeli görüntüleyebilir veya dağıtabilirsiniz. Daha fazla bilgi için bkz. Modelleri Kaydetme ve Yönetme.

Model değerlendirmesi

PAI, Qwen2.5-Coder-32B-Instruct modeli için yerleşik bir değerlendirme algoritması sağlar. Orijinal modelin ve ince ayarlanmış sürümlerinizin performansını değerlendirmek için bu algoritmayı kullanın. Daha fazla bilgi için bkz. Model Değerlendirmesi ve Büyük Dil Modeli Değerlendirmesi İçin En İyi Uygulamalar.

Model sıkıştırma

Eğitimden sonra, depolama ve hesaplama gereksinimlerini azaltmak için dağıtımdan önce modeli nicemleyebilir (sıkıştırabilirsiniz). Daha fazla bilgi için bkz. Model Sıkıştırma.

Referanslar