Unsloth Studio (MIG)
Bir MIG dilimi üzerinde CUDA pod'u açın, Unsloth Studio'yu kurun ve tarayıcıdan kod yazmadan model eğitin.
Bir MIG dilimi alıp üzerinde Unsloth Studio'yu çalıştıran ve tarayıcıdan, tek satır kod yazmadan bir modeli eğiten uçtan uca örnek. Sayfada ayrıca portu sonradan açma akışı da var: pod'u dış erişim olmadan başlatıyor, uygulama ayağa kalktıktan sonra portu açıyoruz — pod yeniden başlatılmadan.
Aşağıdaki bütün çıktılar, ekran görüntüleri ve süreler gerçek bir çalıştırmadan alınmıştır.
İnternet erişimi açık olmalı — kurulum PyTorch'u, eğitim ise model ağırlıklarını ve veri setini indirir. İnternet izni firma seviyesindedir.
CUDA pod'unu MIG diliminde aç
Pod Dağıtımı sayfasından:
- İmaj:
nvidia/cuda:12.4.1-devel-ubuntu22.04—develsürümü derleyici içerir;basesürümündenvccyoktur - Komut:
sleep infinity - GPU: MIG, profil
1g.18gb, adet 1 - Kaynak: en az 4 vCPU / 24 GB RAM — dilim 16 GB VRAM verir, ama model indirme ve veri hazırlama sistem RAM'ini kullanır
- Port: 8888
- Dış erişim: şimdilik kapalı (portu sonradan açacağız)
API'yi doğrudan kullanıyorsanız kaynak alanları cpu_limit / memory_limit adlarını taşır ve
string'dir ("4", "24Gi"). Tanınmayan bir alan adı (örneğin memory_gb) sessizce yok
sayılır ve varsayılan 1Gi uygulanır — sonuç, kurulum sırasında sebebi görünmeyen bir OOM olur.
GPU'yu doğrula
Terminal'den bağlanın:
nvidia-smi -LGPU 0: NVIDIA H200 NVL (UUID: GPU-6220f096-...)
MIG 1g.18gb Device 0: (UUID: MIG-665253e5-...)Dilim göründüyse hazırsınız.
Unsloth Studio'yu kur
apt-get update -qq
apt-get install -y -qq curl ca-certificates
curl -fsSL https://unsloth.ai/install.sh | shKurulum GPU'yu kendisi algılar ve uygun PyTorch'u indirir:
gpu NVIDIA GPU detected
installing PyTorch (https://download.pytorch.org/whl/cu130)...
installing unsloth (this may take a few minutes)...
installing prebuilt llama.cpp...Yaklaşık 10 dakika sürer.
Uzun kurulumları kalıcı diske yapın. Konteyner yeniden başlarsa (OOM, bellek değişikliği, düğüm bakımı) yazılabilir katman imajdan yeniden kurulur ve konteyner içine kurduğunuz her şey kaybolur. Kalıcı olması gerekiyorsa pod'a bir volume bağlayıp kurulumu oraya yapın.
Ayrıca: belleği (RAM) değiştirmek konteyneri yeniden başlatır — CPU değiştirmek başlatmaz. Belleği baştan yeterli verin.
Studio'yu başlat
0.0.0.0 adresine bağlayın ki pod dışından erişilebilsin:
export PATH=$PATH:/root/.local/bin:/home/kaptan/.local/bin
nohup unsloth studio -p 8888 --host 0.0.0.0 --password <parolanız> > studio.log 2>&1 &Pod içinden doğrulayın:
curl -s -o /dev/null -w "%{http_code}\n" localhost:8888200--password vermezseniz Studio rastgele bir yönetici parolası üretir
(~/.unsloth/studio/auth/.bootstrap_password) ve varsayılan parola değiştirilmezse 1 saat sonra
kendini kapatır. Başlatırken parolayı vermek en kolayı.

Portu SONRADAN aç
Pod'u dış erişim olmadan başlatmıştık. Uygulama ayağa kalktığına göre şimdi açıyoruz: pod detay → Networking → dış erişimi aç, port 8888.
Bu işlem çalışan pod'a Service + Ingress ekler — pod yeniden başlatılmaz, içindeki kurulum ve çalışan süreç olduğu gibi kalır. Ardından "Üret ve Tarayıcıda Aç" ile erişim token'ı üretip Studio'yu açın.
Modeli seç
Sol menüden Train → Configure. MODEL alanındaki seçiciyi açın. İki sekme var: On Device (pod'da önbelleğe alınmış modeller) ve Hugging Face (arama).

Arama kutusuna yazdığınız metin listenin ilk satırında "Use as local path" olarak da görünür.
Onu seçerseniz model adı düz metin olarak kaydedilir ve eğitim başlarken Hugging Face üzerinde
bulunamaz. Depo kimliğini taşıyan satırı seçin — örneğin
unsloth/qwen2.5-1.5b-instruct-unsloth-bnb-4bit.
Bu örnekte unsloth/qwen2.5-1.5b-instruct-unsloth-bnb-4bit kullanıyoruz: 1,5B parametreli, 4-bit
hazır paketlenmiş bir model. 1g.18gb diliminin 16 GB belleğine rahat sığar.
Veri setini seç
DATASET seçicisinden Hugging Face üzerinde arayın; bu örnekte yahma/alpaca-cleaned. Seçtikten
sonra Studio formatı kendisi tanır (alpaca) ve Subset ile Train Split alanlarını doldurur.

"Checking dataset..." yazısında takılırsa sebebi veri setinin önbellekte yarım olmasıdır; başlat düğmesi o yazıda kalır ve hiç etkinleşmez. Veri setini bir kez tam indirin — pod içinden:
curl -s -X POST localhost:8888/api/hub/datasets/download \
-H "Authorization: Bearer <studio-token>" -H 'Content-Type: application/json' \
-d '{"repo_id":"yahma/alpaca-cleaned"}'İndirme bitince Run preview anında Ready olur. Testimizde takılan formu çalışır hale getiren tek fark buydu.
Parametreleri ver ve başlat
Parameters kartında Simple sekmesi günlük kullanım için yeterli: proje adı, Max Steps,
bağlam uzunluğu ve öğrenme oranı. Daha fazlası Advanced sekmesinde.
Sağdaki Run preview paneli her değişiklikte güncellenir ve donanımı da gösterir:

Method LoRA · 16-bit Context 4.096
Length 20 steps LR 1e-5
Batch 1 × 64 = 64 Hardware NVIDIA H200 NVL MIG 1g.18gb · 16 GBPanel Ready olduğunda Start Training düğmesi etkinleşir.
Eğitimi izle
Studio Current Run sekmesine geçer: ilerleme çubuğu, anlık kayıp, öğrenme oranı, gradyan normu, geçen süre, tahmini bitiş, saniyedeki adım ve işlenen token sayısı; altında canlı grafikler.

MIG diliminde GPU Monitor panelinin iki kutusu boş kalır. Ekran görüntüsündeki gibi
Utilization ve VRAM iki tire gösterir; sıcaklık ve güç okunur (51 °C, 136/600 W). Sebep Gao Kaptan değil:
nvidia-smi --query-gpu=... bir MIG diliminde bu alanlar için [N/A] ve
[Insufficient Permissions] döndürür.
Ama düz nvidia-smi çıktısındaki MIG tablosu dilimin belleğini verir (ör. 30241MiB / 71424MiB). Yani “MIG'de bellek görünmez” demek eksik olur — sorgu biçimi görmez, tablo görür.
Görünen sıcaklık ve güç ise sizin kendi GPU örneğinize aittir — kartın geneline değil.
(İki dilimden aynı anda ölçtük: boştaki konteyner 129 W okurken çalışan 401 W okuyordu.)
Kartın toplam yükünü görmek için host üzerinde nvidia-smi gerekir.
Sonuç
Bitince Studio çıktı yolunu yazar ve iki kısayol sunar: Compare in Chat (temel model ile eğitilmiş modeli yan yana denemek) ve Export Model / Export to GGUF (llama.cpp, Ollama, vLLM için dışa aktarma).

Step 20 / 20 · %100 Loss 1.1340
Elapsed 3m 25s Tokens 248.380
Model saved to /home/kaptan/.unsloth/studio/outputs/...__project-kaptan-ui-demo_1787267344Geçmiş koşular History sekmesinde kalır; kayıp, gradyan normu ve öğrenme oranı eğrileriyle birlikte tekrar açılabilir.

Eğittiğin modeli dene
Sonuç kartındaki Compare in Chat sizi sohbet ekranına götürür. Model seçicide On Device sekmesine geçin: eğittiğiniz çıktı FINE-TUNED başlığı altında listelenir.
UNSLOTH qwen2.5-1.5b-instruct-unsloth-bnb-4bit 1.5B 1.5GB
FINE-TUNED ..._project-kaptan-ui-demo 1.5BModelin yüklenmesi bu dilimde yaklaşık 3 dakika sürer, sonrası normal sohbet.

Veri setinin alanından bir soru sorduk — "Give three tips for staying healthy." — ve aynı soruyu temel modele de sorduk:
| Cevap | Hız | |
|---|---|---|
| Eğitilmiş | Eat a balanced diet… Exercise regularly… Get enough sleep: Aim for 7-9 hours… | 52,4 tok/sn |
| Temel | Maintain a balanced diet… Get regular exercise… Get enough sleep… | 58,4 tok/sn |

Hangi modelin cevapladığını üstteki rozetten görürsünüz: eğitilmiş modelde proje adı ve LoRA, temel modelde Base yazıyor.
İkisi arasında kayda değer bir fark yok — ve bu beklenen sonuç. Temel model zaten talimat
ayarlı bir Qwen2.5-Instruct; alpaca veri seti de tam olarak onun hâlihazırda yaptığı işi
öğretiyor. 20 adımlık bir LoRA, modelin zaten bildiği bir davranışı görünür şekilde
değiştirmez.
İnce ayarın işe yaradığını görmek istiyorsanız, temel modelin bilmediği bir şey seçin: kendi alanınıza ait terminoloji, kurum içi bir yazım biçimi, sabit bir çıktı şeması ya da başka bir dil. Bir de adım sayısını gerçekçi tutun — birkaç yüz ila birkaç bin adım. Yukarıdaki 20 adım, akışın çalıştığını doğrulamak içindir, model kalitesini değiştirmek için değil.
Eğitilmiş modelin biraz daha yavaş olması (52,4'e karşı 58,4 tok/sn) normaldir: LoRA adaptörü her katmanda ek çarpım getirir.
İşiniz bitince pod'u silin
GPU pod'ları saatlik ücretlendirilir ve dilim siz silene kadar başkasına açılmaz. Pod'larım → Sil. Eğittiğiniz adaptörü önce dışa aktarıp indirin — pod'un dosya sistemi kalıcı değildir.
Ölçülen süreler
Aynı pod üzerinde iki koşu; ikisi de 1g.18gb diliminde, Qwen2.5-1.5B-Instruct ve
yahma/alpaca-cleaned ile.
| 60 adım · batch 2×4 · bağlam 2048 | 20 adım · batch 1×64 · bağlam 4096 | |
|---|---|---|
| Eğitim döngüsü | 56,9 sn | 3 dk 25 sn |
| Model ve veri hazırlığı | ~175 sn (ilk indirme dahil) | ~15 sn (önbellekten) |
| Kayıp (ilk → son) | 1,653 → 1,154 | 1,258 → 1,134 |
| İşlenen token | 93.779 | 248.380 |
| Üretilen LoRA adaptörü | 73,9 MB | 73,9 MB |
İkinci koşu daha az adım attığı halde uzun sürüyor: belirleyici olan adım sayısı değil, adım başına işlenen veri (batch × gradyan biriktirme × bağlam).
Diğer süreler: nvidia/cuda:12.4.1-devel imajının düğüme ilk inişi ~8 dk, Unsloth kurulumu ~10 dk,
Studio ilk açılışı (torch ısınması dahil) ~30 sn.
Sık karşılaşılan hatalar
| Belirti | Sebep |
|---|---|
| Başlat düğmesi "Checking dataset..." yazısında kalıyor | Veri seti önbellekte yarım; bir kez tam indirin |
| Eğitim başlarken model bulunamıyor | Seçicide "Use as local path" satırı seçilmiş; depo kimliğini taşıyan satırı seçin |
| GPU Monitor panelinde kullanım ve VRAM boş | MIG dilimi bu sayaçları raporlayamaz — normaldir |
| Kurulum sırasında pod yeniden başlıyor | Sistem belleği yetersiz; dilimin VRAM değeri ayrıdır |
| Kurulum bitti ama dosyalar yok | Konteyner yeniden başladı; yazılabilir katman imajdan kuruldu |
| Studio 1 saat sonra kapandı | Varsayılan parola değiştirilmemiş; --password ile başlatın |
| Tarayıcıda açılıyor ama boş | Studio yalnızca 127.0.0.1 adresine bağlanmış; --host 0.0.0.0 gerekiyor |

Gao Kaptan Docs
Unsloth Studio (MIG)