---
title: "Saf JAX ile Gemma 4: Turing ve Ada Mimarileri Arasında Neler Değişiyor, Neler Değişmiyor?"
url: https://blog.edumints.com/saf-jax-ile-gemma-4-turing-ve-ada-mimarileri-arasinda-neler-4edx5czy
category: "Backend"
date: 2026-09-05T07:11:04.962Z
publisher: Edumints Blog
lang: tr-TR
source_name: "dev.to"
source_url: https://dev.to/gde/gemma-4-in-pure-jax-what-changes-between-turing-and-ada-and-what-doesnt-4c5e
---

# Saf JAX ile Gemma 4: Turing ve Ada Mimarileri Arasında Neler Değişiyor, Neler Değişmiyor?

Bu rapor, saf JAX ile sıfırdan yazılmış bir Gemma 4 uygulamasının bir nesil fark bulunan iki NVIDIA GPU (Turing ve Ada) üzerindeki davranışını ve JAX soyutlamasının sızdığı noktaları inceliyor. Bu sızıntılardan biri, loglara hiçbir hata yansımadan decode süresinin %87'sini sessizce yok etmektedir.

## Bu Makale Neyi Ölçüyor?
Tek bir kod tabanı, tek bir derleme ve aynı kontrol noktası ile iki kart karşılaştırılmıştır:
- **G5g (Turing):** NVIDIA T4G (SM 7.5, 15.360 MiB), Graviton2 aarch64 g5g.2xlarge spot, `float16` veri tipi, JAX 0.11.1 (pip CUDA) ve `2026-08-28-full-run-cached-g5g` çalıştırması.
- **G6 (Ada):** NVIDIA L4 (SM 8.9, 23.034 MiB), x86_64 g6.2xlarge spot, `bfloat16` veri tipi, JAX 0.11.1 (Python 3.14) ve `2026-08-28-first-serve-g6` çalıştırması.

Her iki tarafta da `google/gemma-4-E2B-it` dense referans modeli ve `ple4 + int8_lm_head` konfigürasyonuyla 6.155.450.950 bayt ağırlık kullanılmıştır; yalnızca GPU çipi ve sunucusu farklıdır.

## Başlamadan Önce Gerekenler
Ortamı kurmak ve test etmek için şu dört gereksinim yeterlidir:
- g5g.2xlarge ve g6.2xlarge spot kapasitesine sahip bir AWS hesabı
- `google/gemma-4-E2B-it` erişimi olan bir Hugging Face token'ı
- Sanal ortamsız, sistem genelinde kurulu Python 3.13 veya üstü
- CUDA toolkit, Rust toolchain veya derleyici gerekmez (hiçbiri zorunlu değildir)

## Neden Saf JAX?
Model `ports/gemma4/` altında OpenAI uyumlu bir sunucu arkasında çalıştırılır. PyTorch, vLLM veya `torch_xla` kullanılmaz. Temel amaç, aynı kaynak kodun konfigürasyon haricinde değişmeden her iki GPU mimarisinde de çalışabilmesidir.

## Gemma 4 E2B Standart Bir Transformer Değildir
Herhangi bir port uygulamasının yönetmesi gereken dört zorunlu mimari farklılık vardır:
- **İki Farklı Attention Geometrisi:** Kayan (sliding) katmanlar `head_dim=256`, global katmanlar `512` kullanır; standart inference motorları tek bir sabit boyut varsayar.
- **8:1 MQA:** KV bellek bütçesi toplam parametre sayısından bağımsız olarak oldukça küçüktür.
- **KV-Share Haritası:** 35 katmanı 15 önbelleğe indirgeyen katman paylaşım haritası.
- **512 Slotluk Kayan Halka:** 512 slotluk kayan halka ve yükleme sırasında 4-bit nicelenen 4.70 GB'lık katman gömme tablosu.

## Diğer Yığınları Bozan Şey Geometridir
Heterojen head boyutları vLLM gibi yığınları Triton attention backend'ine düşmeye zorlar. Turing mimarisinde Triton, donanım sınırını aşan paylaşımlı bellek (65.536 bayt donanım limitine karşılık 147.456 bayt istek) isteyerek `OutOfResources` hatası verir. JAX tarafında ise attention elle optimize edilen kernel yerine standart XLA ile derlendiğinden donanım paylaşımlı bellek tavanına takılmaz; karmaşık geometri burada sadece dizi boyutlarından ibarettir.

## Birinci Sızıntı: dtype Politikası Cihazı Okumalıdır
En kritik mühendislik dersi: Yanlış hesaplama veri tipi (`dtype`) hata fırlatmaz, emüle edilir. Ampere öncesi Turing GPU'larda `bfloat16`, XLA tarafından sessizce `fp32` üzerinden emüle edilir ve decode süresinin %87'si tür dönüştürme maliyetine harcanır. Loglarda hiçbir kırmızı hata görünmez. Pratik çıkarım: Model konfigürasyonunda `dtype` statik yazılmamalı, doğrudan çalışma anında donanım yeteneğine göre dinamik seçilmelidir.

[Orijinal kaynağa buradan ulaşabilirsiniz.](https://dev.to/gde/gemma-4-in-pure-jax-what-changes-between-turing-and-ada-and-what-doesnt-4c5e)

---

Bu konuyu derinlemesine öğrenmek isterseniz: [Ölçeklendirme ve Optimizasyon](https://edumints.com/kesfet/embedding-ve-reranking-modelleri-productionda-depl-blu6) modülüne göz atın.

---

**Kaynak:** [dev.to](https://dev.to/gde/gemma-4-in-pure-jax-what-changes-between-turing-and-ada-and-what-doesnt-4c5e)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/saf-jax-ile-gemma-4-turing-ve-ada-mimarileri-arasinda-neler-4edx5czy
