57 lines
2.5 KiB
Markdown
57 lines
2.5 KiB
Markdown
---
|
||
library_name: transformers
|
||
tags:
|
||
- qwen
|
||
- turkish
|
||
- rag
|
||
- reasoning
|
||
- vllm
|
||
- fp16
|
||
---
|
||
|
||
# BU-BİP: Bursa Uludağ Üniversitesi Bilgi Asistanı (FP16 / vLLM Versiyonu)
|
||
|
||
Bu model, Qwen3-14B mimarisi temel alınarak, Bursa Uludağ Üniversitesi (BU-BİP) bilgi asistanı olarak görev yapması için ince ayar (fine-tune) işleminden geçirilmiştir. Model, maksimum doğruluk ve performans sağlaması amacıyla **tam FP16 (Full FP16)** formatında eğitilmiş ve ağırlıkları bu formatta korunmuştur. Özellikle sunucu ortamlarında ve üretim (production) aşamasında yüksek verimli çıkarım (high-throughput inference) yapabilmesi için **vLLM** altyapısı ile tam uyumlu çalışacak şekilde tasarlanmıştır.
|
||
|
||
## Eğitim Süreci
|
||
Modelin eğitimi iki temel aşamadan oluşmaktadır:
|
||
* **SFT (Supervised Fine-Tuning):** Model, "Düşünce Zinciri" (Chain-of-Thought) yaklaşımıyla `cot_dataset.jsonl` üzerinden eğitilmiştir.
|
||
* **DPO (Direct Preference Optimization):** SFT aşamasının ardından, yanıt kalitesini ve bağlama sadakati artırmak için `dpo_dataset.jsonl` kullanılarak tercih optimizasyonu uygulanmıştır.
|
||
|
||
## Çıkarım ve Düşünce Yeteneği
|
||
Model, doğrudan bir çıktı vermek yerine önce bir mantık yürütme süreci işletir. Bu düşünce adımları `<think> ... </think>` etiketleri arasında üretilir ve sonrasında resmî belgelere dayalı, uydurmadan uzak nihai cevap sunulur.
|
||
|
||
## vLLM ile Kullanım
|
||
|
||
Modeli yüksek hızda sunucu olarak ayağa kaldırmak veya Python kodunuzda doğrudan kullanmak için vLLM kütüphanesini tercih edebilirsiniz.
|
||
|
||
### 1. API Sunucusu Olarak Başlatma (CLI)
|
||
Modeli OpenAI uyumlu bir API sunucusu olarak başlatmak için aşağıdaki komutu kullanabilirsiniz:
|
||
|
||
```bash
|
||
python -m vllm.entrypoints.openai.api_server \
|
||
--model nypgd/bubip-qwen3-14b \
|
||
--dtype float16 \
|
||
--max-model-len 4096 \
|
||
--gpu-memory-utilization 0.9
|
||
|
||
|
||
from vllm import LLM, SamplingParams
|
||
|
||
# Modeli yükle
|
||
llm = LLM(model="nypgd/bubip-qwen3-14b", dtype="float16")
|
||
|
||
# Örnekleme parametrelerini ayarla
|
||
sampling_params = SamplingParams(temperature=0.7, top_p=0.9, max_tokens=1024)
|
||
|
||
# Sisteme gönderilecek prompt (Düşünce zinciri tetiklemesi ile)
|
||
prompt = "Bursa Uludağ Üniversitesi kütüphane çalışma saatleri nelerdir?"
|
||
|
||
# Çıkarım yap
|
||
outputs = llm.generate([prompt], sampling_params)
|
||
|
||
# Sonucu yazdır
|
||
for output in outputs:
|
||
prompt = output.prompt
|
||
generated_text = output.outputs[0].text
|
||
print(f"Soru: {prompt}\nCevap: {generated_text}") |