---
title: "MoE Offloading Her Zaman Daha Hızlı Değildir: 16GB GPU Üzerinde 5 Modeli Test Ettim"
url: https://blog.edumints.com/moe-offloading-her-zaman-daha-hizli-degildir-16gb-gpu-uzerinde-5
category: "LLM"
date: 2026-10-30T15:05:24.330Z
publisher: Edumints Blog
lang: tr-TR
source_name: "dev.to"
source_url: https://dev.to/sizzlebop/moe-offloading-isnt-always-faster-i-tested-5-models-on-a-16gb-gpu-498a
---

# MoE Offloading Her Zaman Daha Hızlı Değildir: 16GB GPU Üzerinde 5 Modeli Test Ettim

Yerel dil modelleriyle (local LLM) çalışırken en sık karşılaşılan darboğaz, modelin ekran kartı belleğine (VRAM) sığmamasıdır. Son dönemde büyük **Mixture-of-Experts (MoE)** modellerini, tüm modeli tutmaya yetecek VRAM'e sahip olmayan GPU'larda çalıştırmak için dikkat çekici bir fikir öne çıkıyor: Tüm model katmanlarını sistem RAM'ine aktarmak yerine, yalnızca MoE uzmanlarını (experts) seçici olarak RAM'e aktarmak ve geri kalan işlemleri GPU üzerinde bırakmak.

16GB VRAM ve 32GB sistem RAM'ine sahip bir dizüstü bilgisayarda bu yaklaşımı test etmek, bir modelden diğerine geçerken beş farklı modeli kıyasladığım ve hangi yapılandırmaların neden daha iyi çalıştığını anlamaya odaklandığım kapsamlı bir deneye dönüştü.

## İlk Olarak, MoE Offloading Tam Olarak Nedir?

Yerel LLM'lerle deneyler yaptıysanız, GPU'nuz için fazla büyük bir modeli yüklemeye çalışmanın getirdiği sorunlara aşinasınızdır. Modeli sığdırmak için CPU offloading kullanabilirsiniz ancak bu durum genellikle ciddi bir performans kaybına yol açar.

Geleneksel katman aktarma (layer offloading), tüm transformer katmanlarını GPU ve CPU arasında taşır. Bu da modelin GPU hızlandırmasından faydalanabilecek bölümlerinin CPU üzerinde çalışması anlamına gelir.

**MoE modelleri** bize başka bir seçenek sunar. Her token işlenirken neredeyse tüm parametrelerin sürece dahil olduğu yoğun (dense) modellerin aksine, MoE modellerinde birden fazla uzman bulunur ve her token için yalnızca belirli bir alt küme etkinleştirilir. Örneğin, Microsoft'un **Phi-3.5-MoE** modeli toplamda yaklaşık 42 milyar parametreye sahiptir, ancak token başına yalnızca yaklaşık 6,6 milyar parametre aktiftir.

Diğer parametreler elbette yok olmaz ve bir yerde saklanmaları gerekir. Ancak her token için yalnızca belirli uzmanlara ihtiyaç duyulduğundan, dikkat (attention) mekanizmasını ve modelin diğer kritik kısımlarını GPU'da bırakırken bazı uzman ağırlıklarını sistem RAM'inde tutabiliriz.

`llama.cpp` içerisinde bu işlem şu parametre ile gerçekleştirilir:

```bash
--n-cpu-moe N
```

Buradaki `N`, başlangıçtaki kaç katmanın MoE uzman ağırlıklarının CPU'da tutulacağını belirtir. Teorik olarak bu yöntem, geleneksel katman aktarmaya kıyasla performanstan çok fazla ödün vermeden daha büyük modelleri çalıştırmanıza olanak tanır. Geliştiriciler için buradaki temel pratik çıkarım, donanım sınırlarını aşarken mimari farkındalığın (yoğun modeller yerine MoE seçimi ve doğru offloading parametreleri) doğrudan çıkarım (inference) hızını belirlediğidir.

## Test Kurulumum

Tüm bu deneyler CachyOS (Arch Linux) çalışan Acer Predator dizüstü bilgisayarımda gerçekleştirildi. Kullanılan donanım ve yazılım altyapısı şu şekildedir:

- **GPU:** NVIDIA RTX 4090 Laptop GPU, 16GB VRAM
- **CPU:** Intel Core i9-14900HX, 24 çekirdek / 32 iş parçacığı
- **RAM:** 32GB DDR5
- **Çıkarım Motoru (Inference engine):** CUDA destekli `llama.cpp`
- **Flash Attention:** Etkin

Deneylerde GGUF modelleri kullanıldı ve her şey `llama-server` üzerinden çalıştırıldı. Bu tekniği test etmek için iyi bir aday gibi göründüğü için sürece **Phi-3.5-MoE** ile başladım. Ardından farklı mimarilere ve nicemleme (quantization) seviyelerine sahip diğer MoE modellerini ekledim.

İlk karşılaştırmalar için 4.096 tokenlik bir bağlam penceresi (context window), bir ısınma (warm-up) isteği ve aynı kısa kıyaslama istemini (prompt) kullandım. Amacım, kendi donanımımda gerçekte neler olup bittiğini ve farkların daha fazla araştırmaya değecek kadar anlamlı olup olmadığını görmekti.

## Test Ettiğim Modeller

Deney sürecinde toplam beş modeli test ettim:

- **Phi-3.5-MoE (42B)** — Nicemleme: **Q4_K_M** — GGUF Boyutu: **24GB**
- **Apex-35B V1.0** — Nicemleme: **Q5_K_M** — GGUF Boyutu: **24GB**
- **Qwen3.5-35B-A3B**

Mühendislik ve öğrenme açısından bu kurulum bize şunu gösterir: Yerel ortamda büyük modelleri devreye alırken yalnızca modelin toplam boyutuna değil, aktif parametre sayısına, nicemleme seviyesine (`Q4_K_M`, `Q5_K_M`) ve `llama.cpp` gibi araçların sunduğu ince ayar parametrelerine hakim olmak, sınırlı VRAM ile maksimum verim almanın anahtarıdır.

---

**Kaynak:** dev.to (https://dev.to/sizzlebop/moe-offloading-isnt-always-faster-i-tested-5-models-on-a-16gb-gpu-498a)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/moe-offloading-her-zaman-daha-hizli-degildir-16gb-gpu-uzerinde-5
