Xeon üzerinde 1–2 Arc A770 ile DeepSeek-R1-671B-Q4_K_M çalıştırma
(github.com/intel)- Intel GPU üzerinde llama.cpp’yi doğrudan çalıştırmak isteyen kullanıcılar için hazırlanan IPEX-LLM portable zip/tgz hızlı başlangıç dokümanı; en güncel pakette Xeon üzerindeki 1 veya 2 adet Arc A770 ile DeepSeek-R1-671B-Q4_K_M çalıştırmaya kadar uzanıyor
- Hedef ortam hem Windows hem Linux; Intel Core Ultra/11.~14. nesil ve Intel Arc A-Series/B-Series GPU’larda GGUF model çalıştırma adımlarını anlatıyor
- Temel akış, GGUF modeli yerelde hazırladıktan sonra
llama-cliyi-ngl 99,-c 2500,-n 2048,--temp 0gibi seçeneklerle çalıştırmak - Yalnızca Linux’a özel FlashMoE, DeepSeek V3/R1 ailesi MoE GGUF çalıştırmaya uyarlanmış bir CLI; DeepSeek V3/R1 için 380 GB CPU belleği, 1~8 adet Arc A770 ve 500 GB disk gerekiyor
- Birden fazla Intel GPU’nun karışık bulunduğu ortamlarda varsayılan olarak tüm GPU’lar kullanılıyor; bu yüzden iGPU/dGPU kombinasyonlarında GPU’yu
ONEAPI_DEVICE_SELECTORile belirtmek veya denetimiSYCL_DEVICE_CHECK=0ile kapatmak mümkün
portable zip/tgz ile llama.cpp çalıştırma
- llama.cpp portable zip,
ipex-llmtabanlı olarak Intel GPU üzerinde llama.cpp’yi doğrudan çalıştıran bir paket - Elle kurulum ihtiyacını azaltan portable zip/tgz akışı temel alınıyor; en yeni portable zip, Xeon üzerindeki 1 veya 2 Arc A770’de DeepSeek-R1-671B-Q4_K_M çalıştırmayı kapsıyor
- Doğrulanmış donanım kapsamı:
- Intel Core Ultra processors
- Intel Core 11th~14th gen processors
- Intel Arc A-Series GPU
- Intel Arc B-Series GPU
Windows hızlı başlangıç
-
Intel GPU sürücüsünün en güncel sürüme güncellenmesi öneriliyor
-
v2.3.0-nightly sürümünden Windows için IPEX-LLM llama.cpp portable zip indirilip açılıyor
-
cmdiçinde arşivin açıldığı klasöre gidiliyorcd /d PATH\TO\EXTRACTED\FOLDER
-
Birden fazla GPU kullananlar, çalıştırmadan önce GPU seçimi ayarını uygulayabilir
-
GGUF model çalıştırma
- Çalıştırmadan önce topluluk tarafından hazırlanmış GGUF modeli yerel bir dizine indirmek veya kopyalamak gerekiyor
- Örnek model, bartowski/DeepSeek-R1-Distill-Qwen-7B-GGUF içindeki
DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf - Model yolunu gerçek konumla değiştirip
llama-cli.exeçalıştırılıyor
llama-cli.exe -m PATH\TO\DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf -p "A conversation between User and Assistant. The user asks a question, and the Assistant solves it. The assistant first thinks about the reasoning process in the mind and then provides the user with the answer. The reasoning process and answer are enclosed within <think> </think> and <answer> </answer> tags, respectively, i.e., <think> reasoning process here </think> <answer> answer here </answer>. User: Question:The product of the ages of three teenagers is 4590. How old is the oldest? a. 18 b. 19 c. 15 d. 17 Assistant: <think>" -n 2048 -t 8 -e -ngl 99 --color -c 2500 --temp 0 -no-cnv- Örnek çıktıda 1 adet
Intel Arc A770 GraphicsSYCL aygıtı, KV cache, SYCL compute buffer, sampler ayarları ve token üretim performansı bilgileri görülüyor
Linux hızlı başlangıç
-
GPU sürücü sürümünü kontrol etmek ve gerekirse Intel client GPU driver installation guide üzerinden kurulum yapmak öneriliyor
-
v2.3.0-nightly sürümünden Linux için IPEX-LLM llama.cpp portable tgz indirilip açılıyor
-
Terminalde arşivin açıldığı klasöre gidiliyor
cd /PATH/TO/EXTRACTED/FOLDER
-
Linux’ta llama.cpp portable zip kullanırken oneAPI source edilmemeli
-
GGUF model çalıştırma
- Windows’taki gibi
DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.ggufbenzeri bir topluluk GGUF modeli yerelde hazırlanıyor - Model yolunu gerçek konumla değiştirip
./llama-cliçalıştırılıyor
./llama-cli -m /PATH/TO/DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.gguf -p "A conversation between User and Assistant. The user asks a question, and the Assistant solves it. The assistant first thinks about the reasoning process in the mind and then provides the user with the answer. The reasoning process and answer are enclosed within <think> </think> and <answer> </answer> tags, respectively, i.e., <think> reasoning process here </think> <answer> answer here </answer>. User: Question:The product of the ages of three teenagers is 4590. How old is the oldest? a. 18 b. 19 c. 15 d. 17 Assistant: <think>" -n 2048 -t 8 -e -ngl 99 --color -c 2500 --temp 0 -no-cnv- Örnek çıktıda SYCL aygıt listesi,
llama_kv_cache_init,llama_init_from_model, sampler chain,n_ctx = 2528,n_batch = 4096,n_predict = 2048gibi çalışma bilgileri yer alıyor
- Windows’taki gibi
FlashMoE ile DeepSeek V3/R1 çalıştırma
-
FlashMoE,
llama.cppüzerine inşa edilmiş bir komut satırı aracıdır ve DeepSeek V3/R1 gibi MoE modellerini çalıştırmaya odaklanır -
Şu anda Linux platformunda kullanılabiliyor
-
Test edilmiş MoE GGUF modelleri:
-
Başka MoE GGUF modelleri de destekleniyor
-
Gereksinimler ve dikkat edilmesi gerekenler
- DeepSeek V3/R1 çalıştırma gereksinimleri:
- 380 GB CPU belleği
- 1~8 adet Arc A770
-
500 GB disk
- Daha büyük modeller veya farklı hassasiyetler daha fazla kaynak gerektirebilir
- Tek Arc A770 bulunan platformlarda OOM’den kaçınmak için context uzunluğu azaltılmalı; örnek olarak komutun sonuna
-c 1024ekleniyor - Çift soketli platformlarda BIOS içinde
SNC (Sub-NUMA Clustering)etkinleştirilip çalıştırma komutunun başınanumactl --interleave=alleklenirse daha iyi decoding performansı elde edilebilir - FlashMoE kullanırken de oneAPI source edilmemeli
- DeepSeek V3/R1 çalıştırma gereksinimleri:
-
CLI çalıştırma
- Örnek model DeepSeek-R1-Q4_K_M.gguf; ilk bölünmüş dosyanın yolu veriliyor
./flash-moe -m /PATH/TO/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf --prompt "What's AI?" -no-cnv- Örnek çıktıda 8 SYCL aygıtının KV buffer’ı,
pipeline parallelism enabled, graph nodes/splits,n_threads = 48,n_ctx = 4096,n_batch = 4096gibi çalışma bilgileri görünüyor
-
Serving çalıştırma
./flash-moe -m /PATH/TO/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf --serve -n 512 -np 2 -c 4096-n, üretilecek token sayısı;-np, paralel decoding sequence sayısı;-c, toplam context boyutu- Değerler gereksinimlere göre ayarlanabilir
- Serving özelliği v2.3.0 nightly build ile kullanılabiliyor
- Örnek çıktıda
n_slots = 2, her slot içinn_ctx_slot = 2048, model yükleme, chat template vehttp://127.0.0.1:8080üzerinde sunucunun bekleme durumu yer alıyor
Çoklu GPU seçimi ve SYCL hataları
-
Farklı SYCL aygıtlarının algılanması
- Farklı GPU’lar bir aradaysa
Detected different sycl deviceshatası oluşabilir - Örnekte 2 Arc A770 ve 1 Intel UHD Graphics 770 iGPU’nun birlikte algılandığı bir durum var
- GPU’lar aynı değilse iş yükü aygıt belleğine göre dağıtılır; örnekte iGPU hesaplama işinin 2/3’ünü aldığı için performans ciddi biçimde düşüyor
- İki seçenek bulunuyor
- En iyi performans için iGPU’yu devre dışı bırakmak
- Denetimi kapatıp tüm aygıtları kullanmak
set SYCL_DEVICE_CHECK=0 export SYCL_DEVICE_CHECK=0 - Farklı GPU’lar bir aradaysa
-
Kullanılacak GPU’yu belirtme
- Birden fazla Intel GPU varsa llama.cpp varsayılan olarak hepsinde çalışır
- Yalnızca belirli GPU’ları kullanmak için llama.cpp komutunu başlatmadan önce
ONEAPI_DEVICE_SELECTORortam değişkeni ayarlanır - Windows:
set ONEAPI_DEVICE_SELECTOR=level_zero:0 set ONEAPI_DEVICE_SELECTOR="level_zero:0;level_zero:1"- Linux:
export ONEAPI_DEVICE_SELECTOR=level_zero:0 export ONEAPI_DEVICE_SELECTOR="level_zero:0;level_zero:1"- Çoklu GPU seçimi ayrıntıları için multi_gpus_selection.md dosyasına bakılabilir
Performans seçenekleri ve imza doğrulama
-
Immediate command lists
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS, GPU iş gönderiminde immediate command lists kullanılıp kullanılmayacağını belirler- Genellikle performansı artırabilir, ancak istisnalar olabileceğinden en iyi performansı bulmak için ortam değişkeni açık ve kapalı şekilde test edilmesi önerilir
- Windows:
set SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1- Linux:
export SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1- Ayrıntılar için Intel’in Level Zero immediate command lists dokümantasyonuna bakılabilir
-
portable zip/tgz 2.2.0 imza doğrulama
- portable zip/tgz 2.2.0 sürümünde imza
opensslile doğrulanabiliyor - Doğrulamadan önce sistemde
opensslkurulu olmalı
openssl cms -verify -in <portable-zip-or-tgz-file-name>.pkcs1.sig -inform DER -content <portable-zip-or-tgz-file-name> -out nul -noverify - portable zip/tgz 2.2.0 sürümünde imza
1 yorum
Hacker News yorumları
Bu yapılandırmada VRAM yetersiz olduğundan CPU ile GPU belleği arasında çok veri taşınması gerekecek; bu yüzden performansın çok iyi olmama olasılığı yüksek.
Yine de DeepSeek-R1’in 256 GB altı kuantize modeli var ve bu bir damıtılmış sürüm değil: https://unsloth.ai/blog/deepseekr1-dynamic
Tam FP8 DSR1 ile farkı nicelendirmek zor, ama ~Q2 kuantize model bile beklediğimden oldukça kullanışlıydı.
Ayrıca anmaya değer bir model de DeepSeek v2.5; V3/R1’den daha az parametreye sahip, ancak tüketici donanımında çalıştırmak için hâlâ agresif kuantizasyon gerekiyor. Yakın zamanda biri hazırlamış: https://www.reddit.com/r/LocalLLaMA/comments/1irwx6q/deepsee...
DeepSeek v2.5’in Llama 3 70B’den daha iyi sayılabileceği yönünde de bir argüman var; bu yüzden yerel çıkarım çalıştırmak isteyenlerin daha çok bilmesi gereken bir model olduğunu düşünüyorum.
IQ2_XXS / 183 GB, 16k bağlamda yalnızca CPU kullanınca prompt işleme 3 token/sn, yanıt 1,44 token/sn idi; CPU + NVIDIA RTX 70 GB VRAM ile prompt işleme 4,74 token/sn, yanıt 1,87 token/sn oldu.
Unsloth, DeepSeek V3 için de benzer bir kuantizasyon yayımlarsa daha faydalı olabilir. Akıl yürütme token’larına gerek olmadığından, aynı token/sn değerinde bile toplamda daha hızlı olabilir.
Q2_K_XL kullanıyorum ve kişisel olarak yeterince iyi buluyorum. FP8’e göre eksik kaldığı taraf yaratıcı yazarlık; aynı hikâye prompt’unu birkaç kez verip FP8 ile karşılaştırınca fark görülebiliyor.
Kodlamada 1,58 bit, Q2XXS veya Q2_K_XL’ye göre kesinlikle daha fazla hata üretiyor.
https://github.com/intel/ipex-llm/blob/main/docs/mddocs/Quic...
8 token/sn üzeri için gereksinimler 380 GB CPU belleği, 1–8 adet ARC A770 ve 500 GB disk.
10 bin doların altında gibi görünüyor; token/sn değerlerini de görmemiş gibiyim.
Bu durumda Xeon’un tam olarak ne rol oynadığını merak ediyorum. Başka bir x86 işlemci kullanılamamasının bir nedeni var mı?
Sunucu anakartlarında soket başına 16’ya kadar DIMM yuvası bulunuyor ve RDIMM/LRDIMM destekledikleri için daha fazla modül ve daha yüksek kapasiteli modüller takılabiliyor
Covid’in zirve döneminde 128GB UDIMM’lerin piyasaya sürüldüğü olmuştu
Az önce birkaç dakika aradım; ekran kartı veya SSD eklemeden önce 1500 doların altındakiler kolayca görünüyor, 1024GB RAM’li yapılandırmalar da 2000 doların altında görünüyor
En azından tam hızda birden fazla PCI-Express x16 3.0 kart takmak için yeterli PCIe hattı da gerekiyor; bunu tek soketli Intel iş istasyonu anakartlarında bulmak zor
Örnek olarak 512GB RAM’li görece ucuz birkaç yapılandırma verilebilir. Çok güç tüketecek ve gürültülü olacaktır ama hp veya supermicro gibi diğer x86-64 donanımlarda da yaklaşım aynı. Genelde 16 x 32GB DDR4 DIMM yapılandırması oluyor
https://www.ebay.com/itm/186991103256?_skw=dell+poweredge+t6...
https://www.ebay.com/itm/235978320621?_skw=dell+poweredge+r7...
https://www.ebay.com/itm/115819389940?_skw=dell+poweredge+r7...
Neden daha büyük ama daha yavaş RAM’i bol olan GPU’lar çıkarmadıklarını merak ediyorum. Böylece daha büyük modeller sığdırılabilirken fiyat hâlâ karşılanabilir olurdu
Yapay zeka GPU’larına talep arzdan fazla ve bu talebin büyük kısmının arkasında sübvansiyon, kredi ve yatırım alabilen aşırı ısınmış para var. GPU üreticisi o parayı alabiliyor
Ne yazık ki VRAM, hafif kullanım ile parası olan kullanımı ayırmak için mükemmel bir ölçüt. SSO’nun kurumsal ve kurumsal olmayan kullanımı ayıran mükemmel ölçüt olup SSO vergisi eklenmesine benziyor
DeepSeek model adlandırmayı OpenAI’dan mı öğrendi acaba
K_M terimi GGUF’ye daha özgü görünüyor ve belirli kuantizasyon stratejisini açıklıyor
Yazıda biraz daha bilgi olmalı. TPS değerlerinin neden hepsinin x ile maskelendiğini, bu yapılandırmada nasıl bir performans beklenebileceğini ve son dönemde popüler olan çift Epyc iş istasyonu yapılandırmalarıyla karşılaştırınca nasıl olduğunu merak ediyorum
Örnek çıktıda token/saniye değerlerinin gizlenmiş olmasına bakılırsa, belli ki gayet iyi çalışıyor olmalı.
Nvidia dışında da LLM ve Stable Diffusion çıkarımı çalıştırmak için birkaç seçenek görünüyor. Intel Arc, Apple M serisi, şimdi de AMD Ryzen AI Max var.
Nvidia üzerinde çalıştırmanın en optimize seçenek olduğu açık, ama makul fiyatlı, yüksek VRAM’li Nvidia kart bulmak zor olduğu için Nvidia dışı donanımları da düşünmeye devam ediyorum.
Eğitim veya ince ayarla ilgilenmeyip yalnızca çıkarım yapacaksanız, bu tür çözümler gerçekten kullanılabilir mi? Linux makinelerde mümkün olup olmadığını da merak ediyorum.
Bu yazı aslında Intel’in “biz de GPU yaptık” diye hatırlatmasına daha yakın; bütçe sınıfı kartın kendisi iyi ama ekosistem çok geride.
Açıkçası bu, bütçeden kısarak düzgün yapılması zor bir alan.
Yapay zeka için APU’lar çıkarsa GPU’lara olan ilgi hızla soğuyacak gibi.
AMD Halo Strix veya Apple M3 Studio APU ile 512 GB ya da 128 GB RAM kullanmak mümkünken, neden pahalı bir Nvidia 4090 alınsın ki?
Nvidia, mümkün olduğunca uzun süre fiyatları yüksek, performansı düşük tuttu; rekabet de ancak şimdi geliyor. Intel de bol RAM’li bir APU yapabilir.
Umarım Nvidia biraz tedirgindir.