3 puan yazan GN⁺ 2025-02-17 | 1 yorum | WhatsApp'ta paylaş
  • distributed-llama v0.12.2’de deepseek_r1_distill_llama_8b_q40 modelini 4 adet Raspberry Pi 5 8GB ile çalıştırma sonucunda, 2 cihazlı kuruluma göre hem değerlendirme hem de üretim hızı daha yüksek çıktı
  • 2 cihazlı kurulum Evaluation 7.70 tok/s, Prediction 3.54 tok/s kaydederken, 4 cihazlı kurulum Evaluation 11.68 tok/s ve Prediction 6.43 tok/s kaydetti
  • 4 cihazlı kurulumun Prediction günlüğünde token başına yaklaşık 155.60ms, 2 cihazlı kurulumda ise token başına yaklaşık 282.22ms görünüyor; bu da aynı modelde düğüm sayısı arttıkça işlem hızı farkını ortaya koyuyor
  • Başka bir kullanıcı v0.12.7’de 8 düğüm, 2.5G LAN ve eski Intel CPU tabanlı bir kurulumla Evaluation 33.64 tok/s ve Prediction 16.63 tok/s sonucunu paylaştı
  • Raspberry Pi 5 8GB’lı 2 cihazlı kurulumda bellek yetersizliği nedeniyle sürecin sonlandırıldığı örneklere, --max-seq-len 4096 ile bağlam boyutunun küçültülmesi gerektiği yanıtı verildi

Raspberry Pi 5 8GB kurulumunun çalışma sonuçları

  • Test modeli deepseek_r1_distill_llama_8b_q40, distributed-llama sürümü ise 0.12.2
  • Karşılaştırılan kurulumlar 2 x Raspberry Pi 5 8GB ve 4 x Raspberry Pi 5 8GB
Kurulum Evaluation Prediction
2 x Raspberry Pi 5 8GB 7.70 tok/s 3.54 tok/s
4 x Raspberry Pi 5 8GB 11.68 tok/s 6.43 tok/s

2 cihazlı kurulumun günlük değerleri

  • 2 x Raspberry Pi 5 8GB kurulumu Evaluation aşamasında şu değerleri kaydetti
    • nBatches: 32
    • nTokens: 19
    • tokens/s: 7.70
    • 129.89 ms/tok
  • Prediction aşamasında şu değerleri kaydetti
    • nTokens: 77
    • tokens/s: 3.54
    • 282.22 ms/tok
  • Çalışma sona ererken günlükte Network is closed göründü

4 cihazlı kurulumun günlük değerleri

  • 4 x Raspberry Pi 5 8GB kurulumu Evaluation aşamasında şu değerleri kaydetti
    • nBatches: 32
    • nTokens: 19
    • tokens/s: 11.68
    • 85.63 ms/tok
  • Prediction aşamasında şu değerleri kaydetti
    • nTokens: 77
    • tokens/s: 6.43
    • 155.60 ms/tok
  • Günlüklerde token üretimi sırasında gönderilen 864 kB ve alınan 1191 kB değerlerinin tekrar tekrar göründüğü belirtiliyor

Başka bir kullanıcının 8 düğümlü sonucu

  • Bir kullanıcı, distributed-llama v0.12.7’de 8 düğüm kullanarak elde ettiği sonucu paylaştı
    • Çoğu eski Intel CPU, 4 çekirdekli veya 6 çekirdekli kurulumlar
    • AVX2 desteği
    • 2.5G LAN bağlantısı
  • Bu kurulumun çalışma sonuçları şöyle
    • Evaluation: 33.64 tok/s, 29.73 ms/tok
    • Prediction: 16.63 tok/s, 60.13 ms/tok
    • Prediction token sayısı 245
  • Kullanılan komut, ./dllama inference için model, tokenizer, --buffer-float-type q80, --nthreads 6, --max-seq-len 4096, birden fazla --workers ve --steps 256 belirtilecek biçimdeydi

Çalıştırma sorunları ve yanıtlar

  • Raspberry Pi 5 8GB’lı 2 cihazlı kurulumda çalışma sırasında RequiredMemory: 20474 MB göründükten sonra Killed ile sonlanan bir örnek paylaşıldı
    • Kök düğüm komutunda --buffer-float-type q80, --steps 16, --nthreads 4 ve 1 worker adresi bulunuyordu
    • Yanıt, --max-seq-len 4096 ile bağlam boyutunun küçültülmesi gerektiği yönündeydi
  • Başka bir kullanıcı, birden fazla worker’a bağlandıktan sonra what is 99+12 istemine karşılık yalnızca boşluk ve nokta çıktısı aldığı bir durumu paylaştı
    • Günlükte RopeScaling: f=8.0, l=1.0, h=4.0, o=8192, RequiredMemory: 3310 MB, Chat template: deepSeek3 görünüyor
    • Yönetici kullanılan sürümü sordu ve son değişikliklerin pull edilip edilmediğini, ayrıca hangi CPU’da çalıştırıldığını kontrol etmelerini istedi

1 yorum

 
GN⁺ 2025-02-17
Hacker News yorumları
  • Raspberry Pi üzerinde Deepseek R1 çalıştırıldığına dair duyurular genelde aynı kalıbı izliyor: gerçekte DeepSeek'in damıtma tekniğiyle değiştirilmiş Llama ya da Qwen çalıştırmaya daha yakınlar

    • Damıtılmış DeepSeek modellerinde sık görülen hata modu, modelin kendi kendine yerinde saydığını fark etmemesi
      DeepSeek, damıtılmış büyük dil modelinin “Wait.” diyerek kendi çıktısını kesmesini teşvik edip bir ölçüde akıl yürütme yaptırıyor; ancak bu, tam modelin akıl yürütme gücünden çok daha zayıf ve varılmış sonucu yeni nüanslarla geliştirmek yerine durmadan “Wait.” tekrarlayıp kendinden şüphe etme döngüsüne girebiliyor
    • Gönderi başlığı değişti mi bilmiyorum ama şu anda açıkça Deepseek R1 Distill 8B Q40 deniyor; bu yüzden buna “Deepseek R1” demek sonucu yanlış temsil etmek olur
      Yine de resmi R1 deposundaki Distilled Model Evaluation[1] bölümüne bakınca DeepSeek-R1-Distill-Llama-8B de oldukça iyi görünüyor; bazı benchmark'larda 4o-0513 ve Sonnet-1022'den daha iyi olduğu söyleniyor
      Biçimsel gramerden örnekleme yapma meselesi de olduğunu hatırlamak gerek. llama.cpp'de GBNF var, ayrıca lazy grammar[2] ayarı da eklendi; bu da bazı kullanımlar için epey işe yarar hale geldi. Yani gramer sonradan devreye giriyor
      Üstelik ek ince ayar yapma payı da var. Birçok şirket artık “RFT” hizmetleri sunuyor; bunlar sıradan gözetimli ince ayar veri kümelerini, büyük R1'in ürettiği sentetik akıl yürütme verileriyle zenginleştirme yöntemini kullanıyor. Bu yüzden bu sonuç sanıldığından çok daha değerli bir ön sonuç olabilir
      6 tok/s kod çözme hızı yüksek değil ama Raspberry Pi kullananlar bu tür şeyleri pek dert etmez
      [1] https://github.com/deepseek-ai/DeepSeek-R1#distilled-model-e...
      [2] https://github.com/ggerganov/llama.cpp/pull/9639
    • Makine öğrenmesi asıl işi olmayan bir yazılım mühendisine bu damıtma yönteminin ne anlama geldiği açıklansa iyi olurdu
      R1'in Llama modelini eğitmesinin ne demek olduğunu ve DeepSeek'in damıtma yönteminin ne açıdan özel olduğunu merak ediyorum
    • Bu, DeepSeek benzeri düşünce zinciri üretmesi için ince ayar yapılmış bir LLaMa'dan ibaret
      Düzgün bir ‘damıtılmış’ model olsaydı, daha büyük modeli tamamen taklit edecek şekilde baştan eğitilmesi gerekirdi; burada böyle bir şey olmuyor
    • Bu tür modellerin Deepseek R1 adıyla markalanabilmesi gerçekten hoşuma gitmiyor
  • Her zamanki gibi tok/s değerlerine ciddi bir ihtiyat payıyla bakmak gerek
    Demoda 500 tokenden kısa bir soruyu “çözüyor”. Bunun mümkün olması hâlâ şaşırtıcı; ama gerçek problemler ve gerçekten kullanışlı bağlam uzunluğuna sahip “düşünen” bir modelle, yani 8~16k token söz konusu olduğunda o hıza yaklaşmak zor. Kanal sayısı yüksek Epyc bile bağlam uzunluğu 4096 civarını geçince 2~4 tok/s'ye düşüyor

    • Dört Raspberry Pi 5 üzerinde uzun bir çalıştırmada, yani tahminin nasıl gittiğini kontrol ettim
      pos=0 => P 138 ms S 864 kB R 1191 kB Connect
      pos=2000 => P 215 ms S 864 kB R 1191 kB .
      pos=4000 => P 256 ms S 864 kB R 1191 kB manager
      pos=6000 => P 335 ms S 864 kB R 1191 kB the
    • Küçük robotlar genelde küçük problemlerle uğraşır
      Model azıcık yardım etse bile bugünkünden çok daha yetenekli hale gelebilirler
  • Kötü bir sonuç değil ama dört Pi 5'e £320 harcayacaksanız ikinci el 12GB 3080 bulabilirsiniz; token hızı da muhtemelen 10 kattan fazla yüksek olur

    • Ya da 12GB veya 16GB bir GPU'yu doğrudan tek bir Pi 5'e bağlayıp daha büyük modellerde bile 20 tok/s üstü elde edebilirsiniz
      https://github.com/geerlingguy/ollama-benchmark?tab=readme-o...
    • “Deepseek R1 Distill 8B Q40 on 1x 3080, 60.43 tok/s (eval 110.68 tok/s)” olsaydı muhtemelen Hacker News'e çıkmazdı
    • Yine de güç tüketimi 48W'ye karşı 320W
    • Yaklaşık iki adet 12GB 3060 kullanma yolu da var
  • Buradaki ilginç nokta, Llama çıkarımını birden fazla bilgisayara yayılmış dağıtık bir şekilde çalıştırabilmek

    • O halde dağıtık GPU karşılığı nerede diye düşünüyorum
      Seti@HOME gibi dünyanın dört yanına dağılmış yavaş bir tam R1 modeline araçlar bağlayıp derin ve karmaşık işleri açık şekilde akıl yürüterek çözdüremez miyiz?
  • Bu, modern bir Beowulf kümesi

    • Raspberry Pi kümesi mem'ini açıkçası pek anlayamıyorum
      Dört Pi 5'ten biraz daha fazla para ekleyince eBay'de 32 çekirdekli Epyc CPU ve 64GB belleğe sahip 1U Dell sunucu bulabilirsiniz; performansı da en az bir basamak daha yüksek olur
      Homelab'de Beowulf kümesinden söz etmek istiyorsanız, bence en azından çok ucuz bir FDR Infiniband ağı bağlanmış hesaplama düğümlerinde Slurm+Lustre ya da k8s+OpenStack+Ceph gibi bir yapı çalıştırmak gerekir. Dört yavaş düğümle doğrusal ölçeklenme bile sağlamayan böyle bir şeyi hoş görmek biraz zor
  • Birden fazla Raspberry Pi'nin nasıl paralel kullanıldığını göremedim ya da anlayamadım
    Biri yön gösterebilirse iyi olur

  • Bu harika yeni yapay zeka araçlarını ne zaman apt-get install ile kurabileceğiz?

    • Mac’te brew install ollama iyi bir başlangıç noktası olabilir
    • Kullandığınız dağıtım büyük dil modeli araçlarını paketlemeye başladığında ya da böyle bir dağıtıma geçtiğinizde mümkün olur
    • ollama pull buna oldukça yakın bir biçim
    • Tam olarak apt-get değil ama “yapay zeka araçları” altındaki altyapı bileşenlerinin çoğu conda install ile kurulabiliyor
    • Güzel görünümlü bir GUI sürümü olarak lm-studio da indirilebilir
      Sohbetleri kaydediyor ve model indirmeyi de kolaylaştırıyor
  • Bu modeli Mac’te denemek istiyorsanız, kullanılan model DeepSeek-R1-Distill-Llama-8B’ye benziyor; yeni llm-mlx eklentisiyle şöyle çalıştırabilirsiniz
    brew install llm # or pipx install llm or uv tool install llm
    llm install llm-mlx
    llm mlx download-model mlx-community/DeepSeek-R1-Distill-Llama-8B
    llm -m mlx-community/DeepSeek-R1-Distill-Llama-8B 'poem about an otter'
    Performansı da oldukça iyi; az önce çalıştırdığımda 22 tokens/second aldım: https://gist.github.com/simonw/dada46d027602d6e46ba9e4f48477...

  • Bellek eklemek yardımcı olur mu? Yakın zamanda 16GB RAM’li Rpi 5 çıktı

    • Çıkarım hızı, bellek boyutundan çok okuma/yazma hızına bağlıdır
      Model belleğe sığdığı sürece gerçek çalışma hızını belirleyen şey bellek bant genişliğidir
    • Model ve bağlam belleğe sığdığı sürece, bellek kapasitesinin kendisi yardımcı olmaz
      8B parametreli Q4 model tek bir 8GB Pi’ye de sığacaktır
    • 16GB Pi 5 geldi ve kısa sürede tükendi
      Geçenlerde Adafruit’e stok geldiğinde zar zor bir tane aldım, hemen ardından yine tükendi
      Yine de performanstan bağımsız olarak, çalışmak için 8GB’tan fazlasını istediği için Ollama’nın hiç çalıştıramadığı modeller var
  • Alexa ya da Google Home gibi bir ürüne ihtiyaç var
    Ancak buluta bağlanmak yerine yerel büyük dil modeli çalıştıran bir biçimde olmalı. Neden hâlâ yok ya da neden kimse yapmıyor, bilmiyorum

    • Sanırım sebebi fiyat olabilir
      İyi büyük dil modelleri pahalı; asıl soru, insanların satın alacağı kadar kullanışlı bir modeli koyup yine de kâr bırakacak kadar ucuza üretmenin mümkün olup olmadığı
    • Home Assistant ile bir ölçüde buna benzer bir noktaya gidilebilir
      Araç kullanımının mümkün olup olmadığından emin değilim ama hava durumu gibi sorulabilecek şeyleri dışa açabilirsiniz
    • Yerel büyük dil modeli derken Ollama + llamacpp gibi bir şeyden mi bahsediyorsunuz?