3 पॉइंट द्वारा GN⁺ 2025-02-17 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • distributed-llama v0.12.2 में deepseek_r1_distill_llama_8b_q40 मॉडल को चार Raspberry Pi 5 8GB पर चलाने पर, 2-device setup की तुलना में evaluation और generation speed दोनों अधिक रहीं
  • 2-device setup ने Evaluation 7.70 tok/s, Prediction 3.54 tok/s दर्ज किया, जबकि 4-device setup ने Evaluation 11.68 tok/s और Prediction 6.43 tok/s दर्ज किया
  • 4-device setup के Prediction log में प्रति token लगभग 155.60ms दिखा, जबकि 2-device setup में प्रति token लगभग 282.22ms था, जिससे समान मॉडल में node count बढ़ने पर processing speed का अंतर दिखाई देता है
  • एक अन्य user ने v0.12.7 पर 8 nodes, 2.5G LAN और पुराने Intel CPU-आधारित setup के साथ Evaluation 33.64 tok/s और Prediction 16.63 tok/s साझा किया
  • Raspberry Pi 5 8GB के 2-device setup में memory कम पड़ने से process terminate होने के मामले पर जवाब दिया गया कि --max-seq-len 4096 से context size घटाना जरूरी है

Raspberry Pi 5 8GB setup के run results

  • test model deepseek_r1_distill_llama_8b_q40 है, और distributed-llama version 0.12.2 है
  • तुलना के लिए 2 x Raspberry Pi 5 8GB और 4 x Raspberry Pi 5 8GB setup लिए गए
setup 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-device setup के log figures

  • 2 x Raspberry Pi 5 8GB setup ने Evaluation में ये आंकड़े दर्ज किए
    • nBatches: 32
    • nTokens: 19
    • tokens/s: 7.70
    • 129.89 ms/tok
  • Prediction में ये आंकड़े दर्ज किए गए
    • nTokens: 77
    • tokens/s: 3.54
    • 282.22 ms/tok
  • run खत्म होने पर log में Network is closed दिखा

4-device setup के log figures

  • 4 x Raspberry Pi 5 8GB setup ने Evaluation में ये आंकड़े दर्ज किए
    • nBatches: 32
    • nTokens: 19
    • tokens/s: 11.68
    • 85.63 ms/tok
  • Prediction में ये आंकड़े दर्ज किए गए
    • nTokens: 77
    • tokens/s: 6.43
    • 155.60 ms/tok
  • log में token generation के दौरान sent 864 kB और received 1191 kB बार-बार दिखा

दूसरे user का 8-node result

  • एक user ने distributed-llama v0.12.7 में 8 nodes इस्तेमाल करने का result साझा किया
    • ज्यादातर पुराने Intel CPU, 4-core या 6-core setups
    • AVX2 support
    • 2.5G LAN connection
  • इस setup के run results इस प्रकार थे
    • Evaluation: 33.64 tok/s, 29.73 ms/tok
    • Prediction: 16.63 tok/s, 60.13 ms/tok
    • Prediction token count 245 था
  • इस्तेमाल की गई command का format ./dllama inference में model, tokenizer, --buffer-float-type q80, --nthreads 6, --max-seq-len 4096, कई --workers, और --steps 256 specify करने जैसा था

run issues और जवाब

  • Raspberry Pi 5 8GB के 2-device setup में run के दौरान RequiredMemory: 20474 MB दिखने के बाद Killed के साथ terminate होने का मामला साझा किया गया
    • root node command में --buffer-float-type q80, --steps 16, --nthreads 4, और 1 worker address शामिल था
    • जवाब था कि --max-seq-len 4096 से context size घटाना होगा
  • एक अन्य user ने कई workers से connect होने के बाद what is 99+12 prompt पर सिर्फ spaces और dots output होने की समस्या साझा की
    • log में RopeScaling: f=8.0, l=1.0, h=4.0, o=8192, RequiredMemory: 3310 MB, Chat template: deepSeek3 दिखा
    • maintainer ने पूछा कि कौन-सा version इस्तेमाल हो रहा है, और जवाब दिया कि जांचें कि latest changes pull किए हैं या नहीं और किस CPU पर चला रहे हैं

1 टिप्पणियां

 
GN⁺ 2025-02-17
Hacker News की रायें
  • Raspberry Pi पर Deepseek R1 चलाने की घोषणाएं आम तौर पर एक ही पैटर्न की होती हैं: असल में यह DeepSeek की distillation तकनीक से बदले गए Llama या Qwen को चलाने जैसा होता है

    • Distilled DeepSeek मॉडल में अक्सर दिखने वाला failure mode यह है कि उसे खुद पता नहीं चलता कि वह एक ही जगह चक्कर काट रहा है
      DeepSeek distilled बड़े भाषा मॉडल को “Wait.” लिखकर अपना output रोकने के लिए प्रेरित करता है, ताकि वह कुछ हद तक reasoning करे, लेकिन यह पूरे मॉडल की reasoning क्षमता से काफी कमजोर होता है और पहले से निकाले गए निष्कर्ष को नए nuance के साथ आगे बढ़ाने के बजाय अंतहीन “Wait.” दोहराते हुए self-doubt के loop में फंस सकता है
    • पता नहीं submission title बदला गया है या नहीं, लेकिन अब यह साफ तौर पर Deepseek R1 Distill 8B Q40 लिखा है, इसलिए इसे “Deepseek R1” कहना नतीजे को गलत तरीके से पेश करना ही है
      हालांकि आधिकारिक R1 repository के Distilled Model Evaluation[1] सेक्शन को देखें तो DeepSeek-R1-Distill-Llama-8B भी काफी अच्छा है, और कुछ benchmarks में 4o-0513 और Sonnet-1022 से बेहतर बताया गया है
      यह भी याद रखना चाहिए कि format grammar से sampling भी होती है। llama.cpp में GBNF है, और lazy grammar[2] सेटिंग भी आ गई है, इसलिए कुछ use cases में यह काफी काम का हो गया है। मतलब grammar बाद में हस्तक्षेप करती है
      इसके अलावा, अतिरिक्त fine-tuning की गुंजाइश भी है। कई कंपनियां अब “RFT” सेवाएं देती हैं, जिनमें सामान्य supervised fine-tuning dataset को बड़े R1 द्वारा बनाए गए synthetic reasoning data से enrich किया जाता है। इसलिए यह result उम्मीद से कहीं ज्यादा मूल्यवान preliminary result हो सकता है
      6 tok/s decoding तेज नहीं है, लेकिन Raspberry Pi इस्तेमाल करने वाले लोग ऐसी बातों की ज्यादा परवाह नहीं करते
      [1] https://github.com/deepseek-ai/DeepSeek-R1#distilled-model-e...
      [2] https://github.com/ggerganov/llama.cpp/pull/9639
    • जो software engineer machine learning को मुख्य काम के तौर पर नहीं करते, उनके लिए कोई समझाए कि यह distillation method क्या मतलब रखती है
      R1 द्वारा Llama model को train करना क्या है, और DeepSeek की distillation method में खास क्या है, यह जानना चाहता हूं
    • यह बस LLaMa है जिसे DeepSeek जैसे chain of thought generate करने के लिए fine-tune किया गया है
      अगर यह ठीक-ठाक ‘distilled’ model होता, तो इसे शुरू से ही बड़े model की पूरी तरह नकल करने के लिए train किया जाना चाहिए था, लेकिन यहां ऐसा नहीं हुआ
    • मुझे सच में पसंद नहीं कि ऐसे models को Deepseek R1 नाम से brand किया जा सकता है
  • हमेशा की तरह tok/s numbers को बहुत ज्यादा सावधानी से लेना चाहिए
    demo में 500 tokens से भी कम वाले सवाल को “solve” किया गया। यह संभव है, यह अपने आप में अब भी चौंकाने वाली बात है, लेकिन real problems और वास्तव में useful context length वाले “thinking” model, यानी 8~16k tokens संभालते समय उस speed के करीब पहुंचना मुश्किल है। कई channels वाला Epyc भी context length करीब 4096 पार करते ही 2~4 tok/s तक गिर जाता है

    • चार Raspberry Pi 5 पर लंबे run में prediction कैसा होता है, यह जांचा
      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
    • छोटे robots आम तौर पर छोटी समस्याएं संभालते हैं
      model अगर थोड़ा भी मदद करे, तो वे अभी से कहीं ज्यादा सक्षम हो सकते हैं
  • खराब result नहीं है, लेकिन अगर Pi 5 की चार units पर £320 खर्च करने हैं, तो इस्तेमाल किया हुआ 12GB 3080 मिल सकता है और token speed भी शायद 10x से ज्यादा तेज होगी

    • या फिर 12GB या 16GB GPU को सीधे एक Pi 5 से जोड़कर, बड़े models पर भी 20 tok/s से ज्यादा मिल सकता है
      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)” होता तो शायद Hacker News पर नहीं आता
    • फिर भी power 48W बनाम 320W है
    • करीब दो 12GB 3060 cards इस्तेमाल करने का तरीका भी है
  • यहां दिलचस्प बात यह है कि कई computers पर distributed तरीके से Llama inference चलाया जा सकता है

    • तो फिर distributed GPU जैसा equivalent कहां है, ऐसा लगता है
      क्या Seti@HOME की तरह दुनिया भर में फैले धीमे R1 full model से tools जोड़कर, गहरे और जटिल tasks को publicly reason नहीं कराया जा सकता?
  • यह आधुनिक Beowulf cluster है

    • Raspberry Pi cluster meme सच कहूं तो मुझे ठीक से समझ नहीं आता
      Pi 5 की चार units से थोड़ा ज्यादा पैसा लगाकर eBay पर 32-core Epyc CPU और 64GB memory वाला 1U Dell server मिल सकता है, और performance कम-से-कम एक order of magnitude ज्यादा होगी
      अगर homelab में Beowulf cluster की बात करनी है, तो मुझे लगता है कि कम-से-कम बहुत सस्ते FDR Infiniband network से जुड़े compute nodes पर Slurm+Lustre या k8s+OpenStack+Ceph जैसी configuration चलानी चाहिए। चार धीमे nodes से linear scaling भी नहीं मिलती, तो ऐसा setup पचाना थोड़ा मुश्किल है
  • मैंने यह नहीं देखा या समझा कि कई Raspberry Pi को parallel में कैसे इस्तेमाल किया जा रहा है
    कोई दिशा बता दे तो अच्छा होगा

  • ये शानदार नए AI टूल्स कब तक apt-get install से install किए जा सकेंगे?

    • Mac पर brew install ollama एक अच्छी शुरुआत हो सकती है
    • जब आपका मौजूदा distribution बड़े भाषा मॉडल टूल्स की packaging शुरू कर दे, या आप ऐसे किसी distribution पर shift कर जाएँ, तब संभव है
    • ollama pull काफी हद तक उसी के करीब है
    • सख्ती से कहें तो apt-get नहीं है, लेकिन “AI टूल्स” के तहत आने वाले ज़्यादातर infrastructure components conda install से install किए जा सकते हैं
    • चाहें तो अच्छे दिखने वाले GUI version के तौर पर lm-studio भी download कर सकते हैं
      यह conversations save करता है और model download करना भी आसान बनाता है
  • अगर आप Mac पर यह model आज़माना चाहते हैं, तो इस्तेमाल किया गया model DeepSeek-R1-Distill-Llama-8B जैसा लग रहा है, और नए llm-mlx plugin से इसे ऐसे चला सकते हैं
    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'
    performance भी काफी अच्छी है; अभी चलाने पर 22 tokens/second मिला: https://gist.github.com/simonw/dada46d027602d6e46ba9e4f48477...

  • ज्यादा memory जोड़ने से मदद मिलेगी? हाल ही में 16GB RAM वाला Rpi 5 आया है

    • inference speed memory size से ज्यादा read/write speed पर निर्भर करती है
      अगर model memory में fit हो जाता है, तो असल कामकाज तय करने वाली चीज़ memory bandwidth है
    • जब तक model और context memory में fit हो रहे हैं, memory capacity अपने-आप में मदद नहीं करती
      8B parameter Q4 model शायद एक 8GB Pi में भी fit हो जाएगा
    • 16GB Pi 5 stock में आया और तुरंत गायब हो गया
      हाल में Adafruit पर stock आया तो मैंने किसी तरह एक खरीदा, लेकिन वह तुरंत फिर sold out हो गया
      फिर भी performance से अलग, कुछ models ऐसे हैं जिन्हें चलाने के लिए 8GB से ज्यादा चाहिए, इसलिए Ollama उन्हें चला ही नहीं पाता
  • Alexa या Google Home जैसा product चाहिए
    लेकिन cloud से connect होने के बजाय इसे local large language model चलाने वाला होना चाहिए। समझ नहीं आता कि ऐसा अभी तक क्यों नहीं है या कोई बना क्यों नहीं रहा

    • शायद वजह price हो सकती है
      अच्छे large language models महंगे होते हैं, इसलिए असली सवाल यह है कि क्या इतना useful model डाला जा सकता है जिसे लोग खरीदें, और फिर भी margin बचाने लायक सस्ता बनाया जा सके
    • Home Assistant से कुछ हद तक वैसा किया जा सकता है
      tool usage संभव है या नहीं, पक्का नहीं, लेकिन weather जैसी पूछी जा सकने वाली चीज़ें expose की जा सकती हैं
    • local large language model से मतलब Ollama + llamacpp जैसी चीज़ है?