🌍 English | Türkçe
LLM'lere tek komutla ince ayar ve sonradan eğitim uygulayın. SSH yok, yapılandırma cehennemi yok.
Web sitesi · Hızlı Başlangıç · Web Arayüzü · Yapılandırma · Belgeler · Komutlar · Modeller · Discord · Telegram · Product Hunt
Soup, LLM ince ayarının zahmetini basit bir iş akışına dönüştürür. Tek yapılandırma, tek komut, bitti.
pip install "soup-cli[train]" # ince ayar için [train] ekleyin; yalın `soup-cli` hafif CLI'dır
soup init --template chat
soup train4 GB dizüstü GPU'da 8B bir modele ince ayar yapın. Katman akışı, dondurulmuş tabanı VRAM'in
dışında tutar ve GPU'ya her seferinde bir kod çözücü katman besler. RTX 3050 Laptop 4 GB üzerinde
ölçüldü: Llama-3.1-8B-Instruct + NF4 ile 119,6 tok/s, 3,32 GB tepe — normal, belleğe tamamen
yerleşik bir çalıştırmayla bit düzeyinde özdeş ve bir H100 üzerinde aynı 3,32 GB'da 113,00 tok/s
ile bağımsız olarak yeniden üretildi. (tok/s rakamı, 32B'de −%4,8'e mal olan v0.73.0 doğruluk
onarımından önce, v0.72.2'de ölçüldü; o zamandan beri 4 GB bir kartta yeniden çalıştırılmadı.)
İsteğe bağlıdır (stream_layers: true) ve hâlâ BETA —
nasıl çalışır ·
tüm ölçümler · makale ·
ücretsiz bir Colab T4'te kendiniz doğrulayın (işlemi 4 GB ile
sınırlar, ardından akışlı bir modelin normal bir modelle bit düzeyinde özdeş olduğunu doğrular)

Llama-3.1-8B-Instruct + NF4, LoRA, toplu iş 1, dizi 512, RTX 3050 Laptop 4 GB üzerinde — 3,32 GB tepe, 119,6 tok/s. Tam video (90 sn)
LLM eğitmek hâlâ zahmetli. Deneyimli ekipler bile zamanlarının %30-50'sini modelleri iyileştirmek yerine altyapıyla boğuşarak geçiriyor. Soup bunu çözer.
- SSH yok. Bozuk bir GPU makinesine bir daha asla SSH ile bağlanmayın.
- Tek yapılandırma. İhtiyacınız olan tek şey basit bir YAML dosyası.
- Her şey otomatik. Toplu iş boyutu, GPU algılama, niceleme — halledilir.
- Yerelde çalışır. QLoRA ile kendi GPU'nuzda eğitin. Bulut gerekmez.
v0.74.0 — dondurulmuş taban baştan beri fp32'de yükleniyordu. Yalnızca bunu düzeltmek, değiştirilmemiş bir yapılandırmada tepe VRAM'i 2,59 kat düşürüyor. Bu sürümde birleştirilen 120 pull request'in 116'sı bakımcı dışından geldi, 25 kişiden.
- Her SFT yüklemesi dondurulmuş tabanı sessizce fp32'ye yükseltiyordu. Hiç optimizer adımı almayan bir taban, üç yükleme yolunun üçünde de denetim noktası hassasiyetinin iki katında somutlaştırılıyordu. Bir H100'de Llama-3.1-8B + LoRA ile ölçüldü: 48.241 MiB → 18.658 MiB tepe — 2,59 kat, 28,9 GB, üç tekrarda bayt bayt özdeş. Eğitilebilir bir taban, kasıtlı olarak, hâlâ fp32 yüklenir.
- Transformers 5.x, TRL 0.29, PEFT 0.20. Qwen3.5 ailesi metin kod çözücüleri Transformers
yolunda eğitilir ve
pip install "soup-cli[train,mlx]"yeniden çözümlenir — bu iki ek, daha önce birlikte karşılanamayan sürüm aralıkları bildiriyordu. - Ücretsiz Colab/Kaggle katmanı hiç akış yapamıyordu. T4 / P100 / V100 / GTX 16xx katman akışında çöküyordu; çünkü peft, LoRA bağdaştırıcılarını denetim noktasının veri türünde oluştururken fp16 GradScaler fp32 gradyanlara ihtiyaç duyar.
- Aynı biçimde dört SSRF atlatması. Kısaltılmış, ondalık, onaltılık ve sekizlik IPv4
yazımları (
127.1,2130706433,0x7f000001,0177.0.0.1) telemetri ve webhook korumasına ulaşıyordu — ve ilk düzeltmenin hiç dokunmadığı bir yol üzerinden OTLP izleme doğrulayıcısına. - Geriye dönük uyumsuz:
soup serveartık 2 koduyla çıkıyor;--tool-auth-tokenolmadan loopback dışı bir adrese bağlandığında uyarı basmak yerine./v1/tools/bash, gerçek işletim sistemi düzeyinde yalıtımın arkasında yeniden etkinleştirildi; böylece koruduğu uç nokta artık gerçekten çalışıyor. soup train --cloud lambda, varsayılan olarak yalnızca plan; sonlandırma, gerçekleştiğini doğrulamak için ayrıca yoklama da yapan birfinallyiçinde.
Bilinen sınırlama: bildirilen
torch>=2.5.0alt sınırıtrl>=0.29ile çalışmaz — torch 2.5.1'de trl içe aktarılamaz. Temiz bir kurulum daha yeni bir torch çözümler ve etkilenmez; 2.5.x'e sabitlenmiş bir ortam ise etkilenir. Bkz. #651.
Yalnızca Python 3.10–3.12. 3.13+ sürümlerinde pip, Soup daha hiç çalışmadan yerel eklentide çöken, test edilmemiş PyTorch tekerleklerini çözümlüyordu.
Önceki sürüm — v0.73.3, her pull request bakımcı dışından geldi
v0.73.3 — bu sürümdeki her pull request bakımcıdan başka birinden geldi. Sekiz kişiden 24'ünün tamamı; bunlardan beşi burada ilk kez yer alıyor. Buldukları şey işin ilginç kısmı: doğrulanan, belgelenen ve sonra hiçbir şey tarafından okunmayan dört ayrı bayrak.
- Yalnızca asistan maskelemesi sıfır token üzerinde eğitiyordu, normal bir kayıp eğrisiyle.
Bir
dictolmayanBatchEncodingdöndüren bir tokenizer korumadan sızdı; bu yüzden etiket maskesi eşlemenin anahtar dizelerinden oluşturuldu. İstisna yok, uyarı yok, eğitim gibi görünen bir kayıp eğrisi. Hata tetiklenerek değil, tür okunarak bulundu. - Apple Silicon'da
quantization: 4bitsessizcenoneolarak yeniden yazılıyordu.
Önceki sürüm — v0.72.4, dizüstünde hizalama (katman akışı üzerinde DPO / ORPO / SimPO / KTO)
Katman akışı eskiden yalnızca denetimli ince ayarı destekliyordu; v0.72.4 onu tercih kayıplarına
açtı. Risk tek bir şeydi: DPO bir referans modele ihtiyaç duyar ve ikinci bir kopya belleği ikiye
katlayıp amacı boşa çıkarırdı. Soup, bağdaştırıcıları kapatılmış aynı akışlı tabanı kullanır —
SFT tepesinin 0,914×'ü olarak ölçüldü; gerçek bir ikinci örneği zorlamak ise +730 MB, tam
olarak ağırlıkların bir kopyası kadar maliyet getirdi. Dördü için de normal, akışsız bir
çalıştırmaya karşı bit düzeyinde özdeş. Dürüst maliyet: bellekte bedava, zamanda değil — DPO
katman yığınını adım başına 1,52× daha sık okur. grpo / ppo bilerek dışarıda bırakıldı.
v0.72.0'da
stream_layers: trueile mi eğittiniz? O bağdaştırıcı etkisizdir — tensörleri fazladan bir.inner.bölümü içeren anahtarlar altında kaydedildi; bu yüzden her yükleyici ayarlanmamış tabanı döndürdü. v0.72.1'de düzeltildi; yeniden çalıştırın ya da yeniden kaydedin. Şununla kontrol edin:python -c "from safetensors.torch import load_file; print([k for k in load_file('adapter_model.safetensors') if '.inner.' in k][:3])"
Önceki sürüm — v0.71.40, soup reward synth (verinizden bir ödül doğrulayıcısı üretin)
soup reward synth'i referans çıktılardan oluşan bir JSONL dosyasına yöneltin; deterministik bir
doğrulayıcı çıkarır, okunabilir / commit'lenebilir bir .py ödül fonksiyonu yazar ve — başka hiç
kimsenin yapmadığı kısım — referanslarınızı kötü yanıtlardan ayırt edemeyen bir fonksiyon üretmeyi
reddeder (dört aile: numeric / json_schema / regex / tool_call; zorunlu kalibrasyon
raporu asıl rekabet avantajıdır). Ödül toplulukları (reward_fn: "accuracy,format") da artık
eğitiliyor. (#311)
soup reward synth references.jsonl -o reward.py --output-report calib.jsonTüm geçmiş: CHANGELOG.md · GitHub Releases.
Soup bir komut satırı uygulamasıdır; bu yüzden en temiz kurulum ona kendi ortamını verir ve
soup'u PATH'inize ekler:
# Hafif çekirdek: CLI + yapılandırma + veri araçları, PyTorch yok
pipx install soup-cli
uv tool install soup-cli # aynı fikir, zaten uv kullanıyorsanız
# Eğitim yığınını ekleyin (torch, transformers, peft, trl, datasets, …)
pipx install "soup-cli[train]"
# Her şey (train + serve + ui + data) tek seferde
pipx install "soup-cli[all]"
# Ya da GitHub'dan (en son geliştirme sürümü)
pipx install "git+https://github.com/MakazhanAlpamys/Soup.git"Zaten bir virtualenv'in, bir Colab not defterinin ya da bir Docker imajının içinde misiniz? Aynı
adlar ve eklerle doğrudan pip kullanın:
pip install soup-cli
pip install "soup-cli[train]"
pip install "soup-cli[all]"
pip install git+https://github.com/MakazhanAlpamys/Soup.gitKendi kodunuzdan da import soup_cli yapmak istiyorsanız pipx yerine pip kullanın; çünkü
pipx uygulamayı kasıtlı olarak diğer her şeyden yalıtır.
Eklerin tam tablosu (fast, mlx, serve, eval, ui, vision, audio, …)
docs/models.md içinde yer alır.
error: externally-managed-environmentmı? Bu, PEP 668'dir; bir Soup sorunu değil. Debian 12, Ubuntu 23.04 ve sonrasıpip'in sistem Python'una yazmasını engeller, çünkü bu dosyalarıaptde yönetir.pipxveuv tool, Soup'a kendi ortamını vererek bunu aşar; yukarıda ilk sırada yer almalarının nedeni budur.python3 -m venv .venv && source .venv/bin/activateardından düzpipde aynı ölçüde işe yarar.
Tek tırnak değil, çift tırnak.
"soup-cli[train]"her kabukta çalışan tek yazımdır —cmd.exe, PowerShell, bash ve zsh.'soup-cli[train]'biçimini eski bir eğitimden kopyaladıysanız ve pip reddettiyse, nedeni budur: nedeni ve hatanın tam metni.
soup init, soup data … ve diğer veri/inceleme komutları hafif kurulumda çalışır.
İnce ayar (soup train) [train] ekini gerektirir.
soup init # etkileşimli sihirbaz
soup init --template chat # ya da bir şablondan başlayınŞablonlar: chat, code, tool-calling, medical, reasoning, vision, kto, orpo,
simpo, ipo, bco, rlhf, pretrain, moe, longcontext, embedding, audio.
soup train --config soup.yaml # LoRA, niceleme, toplu işleme — hepsi halledilir
soup chat --model ./output # modelinizle konuşun
soup push --model ./output --repo you/my-model
soup merge --adapter ./output # LoRA'yı tabana birleştirin
soup export --model ./output --format gguf --quant q4_k_m # Ollama / llama.cpp için GGUFDiğer dışa aktarma hedefleri (ONNX, TensorRT, AWQ, GPTQ, BitNet) ve dağıtım seçenekleri
docs/serving-and-export.md içinde yer alır.
Tarayıcı mı tercih edersiniz? soup ui; deneyler, eğitim kurulumu, canlı ölçümler, veri kümesi
keşfi ve modelle sohbet için yerel bir pano sunar.
pip install "soup-cli[ui]"
soup ui
# http://127.0.0.1:7860 adresini açarEksiksiz bir soup.yaml:
base: meta-llama/Llama-3.1-8B-Instruct
task: sft
# backend: unsloth # 2-5 kat daha hızlı, pip install "soup-cli[fast]"
data:
train: ./data/train.jsonl
format: alpaca
val_split: 0.1
training:
epochs: 3
lr: 2e-5
batch_size: auto
lora:
r: 64
alpha: 16
quantization: 4bit
output: ./outputconfig/schema.py her alanın tek doğru kaynağıdır. Gelişmiş veri, eğitim ve PEFT seçenekleri
Belgeler altında belgelenmiştir.
Bilinmeyen yapılandırma anahtarları bugün uyarı veriyor, v0.75'te reddedilecek. Hiçbir modelin bildirmediği bir anahtar —
quantizatongibi bir yazım hatası ya da yalnızca daha yeni bir Soup'ta bulunan bir alan — eskiden temiz biçimde doğrulanıp atılıyordu; yani çalıştırma, o ayar hiç uygulanmadan devam ediyordu. Artık yükleme sırasında, muhtemelen kastettiğiniz alanla birlikte raporlanıyor. v0.75'ten itibaren aynı yapılandırma uyarı vermek yerine yüklenemeyecek; bu yüzden anahtarın yok sayılmasına güvenmek yerine onu düzeltin ya da kaldırın. Bkz. Bilinmeyen yapılandırma anahtarları.
Tam özellik başvurusu docs/ içinde. Buradan başlayın:
| Rehber | Kapsam |
|---|---|
| Eğitim görevleri ve yöntemleri | SFT, DPO/GRPO/PPO/KTO/ORPO/SimPO/IPO/BCO, araç çağırma, PRM, ön eğitim, damıtma, sınıflandırma, görü/ses/TTS, unutturma, RAFT/RA-DIT, döngü sağlamlaştırma dedektörleri |
| PEFT, uzun bağlam ve verimlilik | DoRA, LoRA+, rsLoRA, VeRA, OLoRA, NEFTune, PiSSA, ReLoRA, optimizer ve PEFT koleksiyonu, LLaMA Pro, GaLore, YaRN/LongLoRA, paketleme, müfredat, otomatik ayarlama |
| Performans ve niceleme | QAT, FP8, Niceleme Menüsü (I + II), KV önbelleği, NVFP4, kayıt biçimleri, Cut Cross-Entropy, gradyan denetim noktası, çekirdekler, aktivasyon boşaltma, katman akışı, çoklu GPU / DeepSpeed / FSDP |
| Veri mühendisliği | Biçimler, Axolotl/LF eşdeğeri ardışık düzen, veri araçları, sentetik üretim ve forge, kalite karneleri, iz (trace) araçları, uzak veri kümeleri, karıştırma, tarif DAG'ları |
| Değerlendirme ve sondalar | Değerlendirme tasarımı/kapısı, değerlendirme kapılı eğitim, kıyaslamalar, NLG ölçütleri, kalibrasyon, Elo arenası, teşhis, eğitim sonrası X-ray sondaları, A/B, kayma, ayarlanabilirlik, soup advise |
| Sunum ve dışa aktarma | OpenAI uyumlu sunucu, toplu çıkarım, kıyaslama, birleştirme/dışa aktarma, Anthropic Messages uç noktası, spekülatif kod çözme (kendi taslak modelinizi eğitin + ölçün), dağıtım otomatik pilotu, Web Arayüzü, Agent Forge |
| Bağdaştırıcılar, kayıt defteri ve yönetişim | Bağdaştırıcı yaşam döngüsü/yönetimi, model kayıt defteri, Soup Cans, veri çarkı (soup loop), bilgi düzenleme, yönlendirme (steering), tedarik zinciri denetimleri (scan/sign/BOM/attest/audit/airgap) |
| Uyumluluk ve yönetişim için hızlı başlangıç | HIPAA/SOC2/EU-AI-Act/SR-11-7 init şablonları, köken bilgisi (BOM/attest/repro-receipt), denetim günlüğü, air-gap, model kartı otomatik üretimi (soup card), CI kapısı (soup ci init) |
| Arka uçlar, platform ve operasyon | MLX/Unsloth arka uçları, alternatif hub'lar, HF Hub entegrasyonu, otomatik pilot, deney takibi, plan/apply, ortam kilit dosyaları, donanım uygunluğu, tamamlamalar, eklentiler, yardımcı komutlar |
| Komut başvurusu | Tam soup komut listesi |
| Desteklenen modeller ve ekler | Önerilen model aileleri, VRAM boyut rehberi, pip ekleri matrisi |
Alpaca, ShareGPT, ChatML, tercih çiftleri (DPO / ORPO / SimPO / IPO / KTO), görü, ses, ASR, düz
metin, gömme (embedding), RAFT ve daha fazlası — hepsi JSONL, JSON, CSV, Parquet veya TXT'den
otomatik algılanır; bu yüzden çoğu durumda data.train'i bir dosyaya yöneltirsiniz ve başka hiçbir
şey değişmez. Her biçim için çalışılmış bir örnekle şemalar ve veri ardışık düzeni (uzak URI'ler,
akış, parçalama, iç içe geçirme, sözcük dağarcığı genişletme, belge alımı)
docs/data.md içinde.
soup train --config soup.yaml # eğitin (SFT/DPO/GRPO/PPO/KTO/ORPO/SimPO/IPO/...)
soup infer --model ./output --input prompts.jsonl # toplu çıkarım
soup chat --model ./output # etkileşimli sohbet
soup serve --model ./output # OpenAI uyumlu API sunucusu
soup ui # yerel tarayıcı panosu
soup merge --adapter ./output # LoRA'yı taban modele birleştirin
soup export --model ./output --format gguf # dağıtım için dışa aktarın
soup eval benchmark --model ./output # değerlendirin
soup data inspect ./data/train.jsonl # veri kümesi istatistikleri
soup recipes list # 100+ hazır model tarifi
soup autopilot --model <id> --data d.jsonl --goal chat # sıfır yapılandırma
soup doctor # GPU / bağımlılıklar / ortamı denetleyinTam komut listesi docs/commands.md içinde.
Soup, HuggingFace Hub üzerindeki
herhangi bir metin üretim modeliyle çalışır — AutoModelForCausalLM ile yükleniyorsa, sıfır
yapılandırma değişikliğiyle çalışır. Llama 3.x/4, Qwen 2.5/3, Gemma 3, Mistral, Mixtral, DeepSeek
R1/V3, Phi-4 ve 100'den fazlası hazır tarifler olarak gelir (soup recipes list).
| VRAM | En büyük model (QLoRA 4-bit) | Örnek |
|---|---|---|
| 8 GB | ~7B | Llama-3.1-8B, Mistral-7B |
| 16 GB | ~14B | Phi-4-14B, Qwen2.5-14B |
| 24 GB | ~34B | CodeLlama-34B, Yi-1.5-34B |
| 48 GB | ~70B | Llama-3.3-70B |
| 80 GB+ | 70B+ (tam) veya MoE | Mixtral-8x22B, DeepSeek-V3 |
Tam model + görü tabloları ve isteğe bağlı ekler matrisi docs/models.md içinde.
CUDA ya da PyTorch'u yerel olarak kurmadan Soup'u çalıştırın (imaj her sürümde GHCR'a yayımlanır):
docker pull ghcr.io/makazhanalpamys/soup:latest
docker run --gpus all -v $(pwd):/workspace ghcr.io/makazhanalpamys/soup train --config soup.yaml
docker compose up # ya da yerel olarak derleyin- Python 3.10, 3.11 veya 3.12 (CI'ın test ettiği sürümler bunlar; PyTorch yığını orada henüz doğrulanmadığı için 3.13+ şimdilik desteklenmiyor)
- CUDA'lı GPU (önerilen), Apple Silicon (MPS) veya CPU (deneysel — çok yavaş)
- QLoRA ile 7B modeller için 8 GB+ VRAM
Tüm eğitim görevleri test amacıyla CPU'da çalışır (niceleme otomatik olarak kapatılır). İsteğe bağlı
ekler (train, all, fast, vision, qat, serve, serve-fast, ui, eval, deepspeed,
liger, mlx, onnx, tensorrt, …) docs/models.md içinde
listelenmiştir.
soup doctor # GPU, sistem kaynakları, bağımlılıklar ve sürüm tek yerdeCUDA tekerlekleri, sürüm uyumsuzlukları: docs/backends-and-ops.md.
git clone https://github.com/MakazhanAlpamys/Soup.git
cd Soup
pip install -e ".[dev]"
ruff check src/soup_cli/ tests/ # lint
pytest tests/ -v # birim testleri (hızlı, GPU yok)
pytest tests/ -m smoke -v # duman testleri (küçük bir model indirir, eğitir)
pre-commit install # isteğe bağlı: commit'te ruff lint+formatTam iş akışı için CONTRIBUTING.md'ye, bir güvenlik açığı bildirmek için
SECURITY.md'ye bakın. Telemetri kesinlikle isteğe bağlıdır (SOUP_TELEMETRY=1,
varsayılan kapalı; bkz. Gizlilik Politikası).
Soup Apache-2.0 lisanslı ve ücretsizdir — ve öyle kalacak. Tek bir 4 GB dizüstü bilgisayarda, açık olarak geliştirilir ve sürdürülür; bu belgelerdeki her performans rakamının iddia edilmek yerine ölçülmüş olmasının nedeni budur.
Soup size bir eğitim çalıştırması kazandırdıysa, depoya yıldız vermek en çok yardımı sağlar ve hiçbir maliyeti yoktur. Çalışmayı doğrudan finanse etmek isterseniz:
❤️ Bağış yapın — tek seferlik, istediğiniz miktarda (ödeme sayfasında Tutarı değiştir / Change amount seçeneğini kullanın). Ödemeler, bakımcının kayıtlı işletmesi MePlay, Inc. adına Stripe tarafından işlenir — ödeme sayfasında ve kart ekstrenizde "Soup" değil, bu ad görünür.
Bağışlar, donanıma bağlı işler için GPU süresi satın alır — çoklu GPU, 8B+ doğrulama, Apple Silicon — tek bir 4 GB dizüstünün ulaşamadığı işler.
Tam da bu kalemleri ilerletmenin diğer yolu donanımın kendisidir. Bunlar doğrulanmamış iddialar
yerine dürüst "<donanım> gerektirir" kapılarının arkasında yayımlanır; dolayısıyla daha büyük bir
makineye — ya da kullanılmayan GPU kredilerine — erişiminiz varsa,
help wanted
konularından birini çalıştırıp sayıları paylaşmak, GPU süresini finanse etmek kadar yardımcı olur.
Bu konular, bugün donanım yüzünden tam olarak neyin engellendiğini söyler.
Topluluk tarafından inşa edildi ❤️ — katkıda bulunan herkese teşekkürler. Bkz. CONTRIBUTORS.md.
Hatalar ve özellik istekleri sorun takipçisine, sorular Discussions'a aittir — ikisi de daha hızlı yanıtlanır ve aynı sorunu yaşayan bir sonraki kişiye yardım eder.
Canlı sohbet, kurulum yardımı ve sohbet olarak daha iyi okunan her şey için Discord'a ya da Telegram topluluğuna katılın. Altı ay sonra hâlâ bulunabilir olması gereken her şey Issues'a ya da Discussions'a aittir — bir Discord yanıtı tek bir kişiye yardım eder, bir issue ise aynı şeyle karşılaşan herkese. Davranış Kuralları orada da geçerlidir.
Herkese açık olmaya uygun olmayan her şey için — güvenlik bildirimleri (bkz. SECURITY.md), Davranış Kuralları meseleleri ya da basın — team@trysoup.dev adresine e-posta gönderin. Bu, projenin adresidir ve Soup'la ilgili her şey için doğru adres budur. makazanalpamys@gmail.com bakımcının kişisel adresidir; aynı kişiye ulaşır ve iyi bir yedektir.
Katman akışı — dondurulmuş tabanı ana bilgisayar RAM'inden her seferinde bir kod çözücü katman olarak aktararak 4 GB dizüstü GPU'da 8B bir model eğitmek — bir ön baskıda, akışlı bir çalıştırmayı belleğe yerleşik bir çalıştırmaya karşı doğrulayan doğruluk protokolüyle birlikte anlatılır (ileri ve geri geçiş ayrı ayrı belirtilir; çünkü bunlar tek değil, iki iddiadır).
Makazhan, A. (2026). Exact Layer Streaming: LoRA Fine-Tuning of an 8B Model on a 4 GB Laptop GPU (v3). Zenodo. https://doi.org/10.5281/zenodo.21918325
Sürüm 3 (13 Ağustos 2026) günceldir. Başlık ve iddia değişmedi — 4 GB'da 8B — ve v1'den bu yana ölçülmüş hiçbir sayı değişmedi. v3'ün yaptığı şey yayımladığımız bir açıklamayı geri çekmektir; bu aynı zamanda makalenin ne işe yaradığını anlatmanın en kısa yoludur:
- v3'te geri çekildi: "katman akışını sınırlayan GPU değil, ana bilgisayardan cihaza aktarımdır." Bu, aşağıdaki H100 yeniden üretiminden yapılmış bir çıkarımdı ve hiç ölçülmemişti. 11 Ağustos'ta ölçtük ve yayımlanan yapılandırmada yanlış: ana bilgisayardan cihaza giden her baytı silmek yalnızca %1,4 kazandırıyor, hesaplama akışı adımın %0,20'sinde bir kopyayı bekliyor ve adım, o kartın aynı oturumdaki GEMM tavanının %71,3'ünde çalışıyor. Akışa özgü en büyük maliyet, %9,8 ile katman başına NF4 ters nicelemesi (kayıt). Her ölçüm geçerliliğini koruyor; yeniden üretim daha zayıf bir biçimde ayakta kalıyor — kısıt her iki makinede ortak ve GPU'nun hesaplama gücü değil.
- Özgününe hiç benzemeyen donanımda yeniden üretim (v2'de eklendi): RTX 3050'de 119,6 tok/s'ye karşı bir H100'de medyan 113,00, aynı 3,32 GB tepede.
- Sessiz bir yanlış gradyan kusuru, bulundu ve onarıldı. Katman başına ~165 MiB'ın üzerindeki NF4'te ileri geçiş bit düzeyinde özdeş kaldı ve kayıp eğrisi sağlıklı göründü, ama gradyanlar yanlıştı. Neden, üst akış kütüphanesinde adıyla belirtildi ve orada bildirildi; onarım, gerçek 32B ve 72B üzerinde kontrollere karşı kapılandı.
- Gerçek model boyutlarında bit düzeyinde özdeşlik, üç katmanlı oyuncaklar yerine: ileri geçiş 0,5B'den 72B'ye, geri geçiş 8B ve 14B'de.
- Eğitilmiş model kalitesi, ilk kez ölçüldü ve belleğe yerleşik bir çalıştırmadan ayırt edilemiyor.
- DeepSpeed ile karşılaştırma — bizi pohpohlamayan sonuç dahil: sekiz kartlık ZeRO-3, belleğe yerleşik eğiten tek bir karttan daha yavaş.
- Sınırlamalar bölümü yeniden yazıldı: v1'in on maddesinden biri kapandı, dördü daha daraldı ve yedi yeni madde eklendi.
Kullandığınız sürüme atıf yapın. 10.5281/zenodo.21771064 kavram DOI'sidir ve her zaman en son
sürüme (bugün v3) çözümlenir; v1 ve v2 kendi sürüm DOI'leriyle atıf yapılabilir durumda kalır ve
düzenlenmez — yukarıdaki geri çekme, neyi ne zaman iddia ettiğimizin kaydı bozulmadan kalsın diye
tam da bu yüzden yeni bir sürümdür.
Makaledeki her sayının arkasındaki ölçüm kayıtları, yazıldığı haliyle benchmarks/
içinde yayımlanmıştır — başarısızlıklar, yanlış çıkan varsayımlar ve ölçülüp sonra atılan sayılar
dahil.
@misc{makazhan2026exact,
title = {Exact Layer Streaming: LoRA Fine-Tuning of an 8B Model on a 4 GB Laptop GPU},
author = {Makazhan, Alpamys},
year = {2026},
publisher = {Zenodo},
version = {v3},
doi = {10.5281/zenodo.21918325},
url = {https://doi.org/10.5281/zenodo.21918325}
}Apache-2.0. Telif hakkı © Soup katkıda bulunanları.

