1 GB Bellekli Eski Cihazlarda 16 Milyar Parametreli LLM Çalıştırmak
Kaynak: Hacker News
İçindekiler 3 başlık
Çekmecede unuttuğun eski tablet ya da televizyonunun arkasındaki medya kutusu, günün büyük bölümünde işlemcisini, RAM'ini ve flash belleğini boşta bekletiyor. smolmaxxing adlı çalışma, bu atıl donanımların sınırlarını zorlayarak 260 bin parametreden 16 milyar parametreye kadar uzanan dil modellerini doğrudan cihaz üzerinde çalıştırıyor. Üstelik tüm ölçümler simülasyonla değil, bizzat gerçek donanım üzerinde yapılan 160 farklı deneyle (EXPERIMENT.md içindeki E1-E160) kayıt altına alınmış.
Flash Bellekten Uzman Sayfalama ve 1-Bit Çekirdekler#
Kısıtlı RAM'e sahip cihazlarda büyük modelleri koşturmanın önündeki en büyük engel bellek duvarıdır. Bu depoda yer alan çözümler; özel çekirdekler (custom kernels), akıllı bellek kullanımı ve ağırlık akışı (weight streaming) tekniklerine dayanıyor. 1-bit arama tablosu (lookup-table) çekirdeği, çalışmak için yalnızca temel NEON komut setine ihtiyaç duyuyor. Bu sayede teknikler tek bir cihaza bağımlı kalmadan eski telefonlara, yönlendiricilere ve tek kartlı bilgisayarlara taşınabiliyor.
Çalışmada öne çıkan mimari tercih, yoğun (dense) modeller yerine Uzman Karışımı (MoE - Mixture-of-Experts) modellerini ve 1-bit nicelemeyi kullanmak. Örneğin 9 milyar parametreli yoğun bir modelde ağırlıkların çoğunu flash bellekten akıtarak çalıştırdığında hız saniyede 0.27 token'a (tok/s) kadar düşüyor. Buna karşılık MoE mimarisinde yalnızca ihtiyaç duyulan uzmanlar flash bellekten sayfalanıyor (paged) ve bir katman önceden belleğe alınıyor (prefetched). 1-bit yoğun modeller ise "headless" modda tamamen bellekte tutularak arama tablosu çekirdeğiyle hızlandırılıyor.
İki Uç Donanım, Gerçek Sohbet Hızları#
Deneylerin yapıldığı iki cihazda elde edilen sonuçlar, donanım sınırlarının yazılımla nasıl aşıldığını net biçimde gösteriyor:
- 2013 Model 1. Nesil iPad Air: Jailbreak uygulanmış iOS 12.5.7 işletim sistemli bu 13 yıllık tablette 2 çekirdekli Apple A7 işlemci (dotprod desteği olmayan NEON) ve yalnızca 1 GB RAM bulunuyor. Sadece CPU kullanılarak ve cihazın kendi Safari tarayıcısındaki bir sohbet sayfası üzerinden 1-bitlik Bonsai-1.7B modeli 24-26 tok/s (uzun sohbetlerde 18-22 tok/s) hızında çalışıyor. Aynı tablet Bonsai-4B modelini yaklaşık 10 tok/s, uzmanları flash bellekten sayfalanan Moon-Beam-8B-A1B (8B MoE) modelini yaklaşık 3.5 tok/s (kaliteden ödün verip uzmanların yarısıyla 5 tok/s) ve Ling-mini-2.0 (16B MoE) modelini 2.6-4.5 tok/s hızında koşturuyor.
- Xiaomi TV Box S (3. Nesil): Root atılmamış Android 14 çalıştıran bu kutuda 2.5 GHz hızında 4 adet Cortex-A55 çekirdekli Amlogic S7D işlemci, eMMC flash ve yaklaşık 1 GB'ı kullanılabilir olan 1.9 GB RAM yer alıyor. Cihazın hızı gün içinde yaklaşık %10 sapma gösterdiği için tüm adımlar arka arkaya ölçülmüş. Kutuda Qwen3.5-0.8B modeli, stok 7.5 tok/s hızının 2.2 katına çıkarak 16.8 tok/s hıza ulaşıyor. Gerçek sohbette Qwen3.5-2B 7.7 tok/s, 1-bitlik yoğun Bonsai-8B modeli ise 1.2'den 5.2 tok/s hıza çıkıyor. Flash bellekten uzman sayfalama yöntemiyle Moon-Beam-8B-A1B 7.2 tok/s hız verirken, aynı sayfalayıcı hiç değiştirilmeden uygulandığında 16 milyar parametreli Ling-mini-2.0 5.1 tok/s hıza ulaşıyor ve 600 kelimelik yanıtlarda tutarlılığını koruyor.
Geliştirici İçin Anlamı ve Pratik Çıkarımlar#
Yerel LLM çalıştırmak için her zaman pahalı GPU'lara ihtiyacın yok. Bellek bant genişliği ve kapasitesi dar olduğunda, model mimarisini donanıma uydurmak hızı doğrudan belirliyor. Xiaomi kutusundaki deneylerin gösterdiği önemli bir ders var: Ling-mini-2.0, Moon-Beam-8B-A1B modelinin iki katı büyüklüğünde olmasına rağmen bayt başına daha iyi sonuç vermiyor. Bu tür kısıtlı cihazlarda daha büyük bir model, ancak modelin kendisi gerçekten daha iyiyse işine yarıyor.
Kendi projelerinde düşük donanımlı cihazları hedefliyorsan şu adımları inceleyebilirsin:
- Depodaki
EXPERIMENT.mddosyasını okuyarak E1'den E160'a kadar yapılan optimizasyonların (örneğin arka arkaya ölçülerek %11 ve %7 hız artışı sağlayan §16 ve §17 adımlarının veya §19 ve §20'deki uzman sayfalayıcının) nasıl kurgulandığını incele. - Temel NEON destekli eski bir ARM cihazın varsa (
ipad-air/dizinindeki örnek gibi), yoğun ağırlıkları flash bellekten akıtmak yerine 1-bit lookup-table çekirdeğini ya da katman öncesi önbellekleme (prefetching) yapan MoE sayfalama yaklaşımını dene. - Yerel arayüz ihtiyacı için depoda yer alan
tiny-llm-web,tv-llm-ui,tools,patchesvezigccklasörlerindeki araç ve yamaları referans al.
Bu konuyu derinlemesine öğrenmek istersen: Ölçeklendirme ve Optimizasyon modülüne göz at.
Kaynak ve atıf
Bu yazı, Hacker News üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- github.com/hyperionaidev/smolmaxxing