- Ini adalah dokumen quick start IPEX-LLM portable zip/tgz untuk pengguna yang ingin langsung menjalankan llama.cpp di GPU Intel, dan pada paket terbaru juga membahas cara menjalankan DeepSeek-R1-671B-Q4_K_M dengan 1 atau 2 Arc A770 pada Xeon
- Lingkungan target mencakup Windows dan Linux, serta memandu prosedur menjalankan model GGUF pada Intel Core Ultra/generasi ke-11~14 dan GPU Intel Arc A-Series/B-Series
- Alur dasarnya adalah menyiapkan model GGUF secara lokal lalu menjalankan
llama-clidengan opsi seperti-ngl 99,-c 2500,-n 2048,--temp 0 - FlashMoE khusus Linux adalah CLI yang disesuaikan untuk menjalankan MoE GGUF keluarga DeepSeek V3/R1, dengan kebutuhan memori CPU 380GB, 1~8 Arc A770, dan disk 500GB untuk DeepSeek V3/R1
- Dalam lingkungan dengan beberapa GPU Intel campuran, semua GPU akan digunakan secara default, sehingga pada kombinasi iGPU/dGPU Anda dapat memilih GPU dengan
ONEAPI_DEVICE_SELECTORatau mematikan pemeriksaan denganSYCL_DEVICE_CHECK=0
Menjalankan llama.cpp dengan portable zip/tgz
- llama.cpp portable zip adalah paket berbasis
ipex-llmuntuk menjalankan llama.cpp langsung di GPU Intel - Dokumen ini mengasumsikan alur portable zip/tgz yang mengurangi instalasi manual, dan portable zip terbaru mencakup menjalankan DeepSeek-R1-671B-Q4_K_M pada 1 atau 2 Arc A770 di Xeon
- Cakupan perangkat keras yang telah divalidasi:
- Intel Core Ultra processors
- Intel Core generasi ke-11~14
- Intel Arc A-Series GPU
- Intel Arc B-Series GPU
Quick start Windows
-
Disarankan memperbarui driver GPU Intel ke versi terbaru
-
Unduh IPEX-LLM llama.cpp portable zip untuk Windows dari rilis v2.3.0-nightly lalu ekstrak
-
Pindah ke folder hasil ekstraksi di
cmdcd /d PATH\\TO\\EXTRACTED\\FOLDER
-
Pengguna yang memakai beberapa GPU dapat menerapkan pengaturan pemilihan GPU sebelum menjalankan
-
Menjalankan model GGUF
- Sebelum menjalankan, Anda harus mengunduh atau menyalin model GGUF komunitas ke direktori lokal
- Model contoh adalah
DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.ggufdari bartowski/DeepSeek-R1-Distill-Qwen-7B-GGUF - Ganti path model dengan lokasi sebenarnya lalu jalankan
llama-cli.exe
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- Output contoh menampilkan 1 perangkat SYCL
Intel Arc A770 Graphics, KV cache, SYCL compute buffer, pengaturan sampler, dan informasi performa pembuatan token
Quick start Linux
-
Disarankan memeriksa versi driver GPU dan, bila perlu, memasang sesuai panduan instalasi driver GPU client Intel
-
Unduh IPEX-LLM llama.cpp portable tgz untuk Linux dari rilis v2.3.0-nightly lalu ekstrak
-
Pindah ke folder hasil ekstraksi di terminal
cd /PATH/TO/EXTRACTED/FOLDER
-
Saat menggunakan llama.cpp portable zip di Linux, jangan melakukan source oneAPI
-
Menjalankan model GGUF
- Seperti di Windows, siapkan model GGUF komunitas seperti
DeepSeek-R1-Distill-Qwen-7B-Q4_K_M.ggufsecara lokal - Ganti path model dengan lokasi sebenarnya lalu jalankan
./llama-cli
./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- Output contoh mencakup daftar perangkat SYCL,
llama_kv_cache_init,llama_init_from_model, sampler chain, serta informasi eksekusi sepertin_ctx = 2528,n_batch = 4096,n_predict = 2048
- Seperti di Windows, siapkan model GGUF komunitas seperti
Menjalankan DeepSeek V3/R1 dengan FlashMoE
-
FlashMoE adalah alat command-line yang dibangun di atas
llama.cpp, dan dioptimalkan untuk menjalankan model MoE seperti DeepSeek V3/R1 -
Saat ini tersedia di platform Linux
-
Model MoE GGUF yang telah diuji:
-
Model MoE GGUF lainnya juga didukung
-
Persyaratan dan hal yang perlu diperhatikan
- Persyaratan untuk menjalankan DeepSeek V3/R1:
- Memori CPU 380GB
- 1~8 Arc A770
-
Disk 500GB
- Model yang lebih besar atau presisi lain mungkin memerlukan lebih banyak sumber daya
- Pada platform dengan 1 Arc A770, panjang konteks harus dikurangi untuk menghindari OOM, misalnya dengan menambahkan
-c 1024di akhir perintah - Pada platform dual-socket, Anda bisa mendapatkan performa decoding yang lebih baik dengan mengaktifkan
SNC (Sub-NUMA Clustering)di BIOS dan menambahkannumactl --interleave=alldi depan perintah eksekusi - Saat menggunakan FlashMoE juga, jangan melakukan source oneAPI
- Persyaratan untuk menjalankan DeepSeek V3/R1:
-
Menjalankan CLI
- Model contoh adalah DeepSeek-R1-Q4_K_M.gguf, dan path file pecahan pertama yang ditentukan
./flash-moe -m /PATH/TO/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf --prompt "What's AI?" -no-cnv- Output contoh menampilkan informasi eksekusi seperti KV buffer untuk 8 perangkat SYCL,
pipeline parallelism enabled, graph nodes/splits,n_threads = 48,n_ctx = 4096,n_batch = 4096
-
Menjalankan serving
./flash-moe -m /PATH/TO/DeepSeek-R1-Q4_K_M-00001-of-00009.gguf --serve -n 512 -np 2 -c 4096-nadalah jumlah token yang akan diprediksi,-npadalah jumlah urutan decoding paralel, dan-cadalah ukuran konteks total- Nilainya dapat disesuaikan dengan kebutuhan
- Fitur serving tersedia mulai dari v2.3.0 nightly build
- Output contoh mencakup
n_slots = 2,n_ctx_slot = 2048untuk tiap slot, pemuatan model, chat template, dan status menunggu server dihttp://127.0.0.1:8080
Pemilihan multi-GPU dan error SYCL
-
Deteksi perangkat SYCL yang berbeda
- Jika GPU yang berbeda tercampur, error
Detected different sycl devicesdapat muncul - Contohnya adalah situasi ketika 2 Arc A770 dan 1 iGPU Intel UHD Graphics 770 terdeteksi bersama
- Jika GPU tidak sama, pekerjaan akan dialokasikan berdasarkan memori perangkat, dan pada contoh ini iGPU menerima 2/3 beban komputasi sehingga performa turun drastis
- Ada dua pilihan
- Nonaktifkan iGPU untuk mendapatkan performa terbaik
- Matikan pemeriksaan dan gunakan semua perangkat
set SYCL_DEVICE_CHECK=0 export SYCL_DEVICE_CHECK=0 - Jika GPU yang berbeda tercampur, error
-
Menentukan GPU yang akan digunakan
- Jika ada beberapa GPU Intel, llama.cpp secara default akan berjalan di semua GPU
- Untuk menggunakan hanya GPU tertentu, setel variabel lingkungan
ONEAPI_DEVICE_SELECTORsebelum memulai perintah llama.cpp - 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"- Untuk detail pemilihan multi-GPU, lihat multi_gpus_selection.md
Opsi performa dan verifikasi tanda tangan
-
Immediate command lists
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTSmenentukan apakah immediate command lists digunakan untuk pengiriman pekerjaan GPU- Secara umum dapat meningkatkan performa, tetapi mungkin ada pengecualian, sehingga disarankan menguji baik saat variabel lingkungan diaktifkan maupun dimatikan untuk menemukan performa terbaik
- Windows:
set SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1- Linux:
export SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1- Untuk detail lebih lanjut, lihat dokumentasi Level Zero immediate command lists dari Intel
-
Verifikasi tanda tangan portable zip/tgz 2.2.0
- Versi portable zip/tgz 2.2.0 dapat memverifikasi tanda tangan dengan
openssl - Sebelum verifikasi,
opensslharus sudah terpasang di sistem
openssl cms -verify -in <portable-zip-or-tgz-file-name>.pkcs1.sig -inform DER -content <portable-zip-or-tgz-file-name> -out nul -noverify - Versi portable zip/tgz 2.2.0 dapat memverifikasi tanda tangan dengan
1 komentar
Opini Hacker News
Konfigurasi ini kemungkinan besar performanya tidak akan terlalu bagus karena VRAM tidak cukup, sehingga harus banyak memindahkan data antara memori CPU dan GPU
Meski begitu, ada model kuantisasi DeepSeek-R1 di bawah 256GB, dan ini bukan versi distilasi: https://unsloth.ai/blog/deepseekr1-dynamic
Sulit menguantifikasi perbedaannya dengan DSR1 FP8 penuh, tetapi model kuantisasi ~Q2 pun ternyata cukup layak dipakai
Model lain yang patut disebut adalah DeepSeek v2.5; parameternya lebih sedikit daripada V3/R1, tetapi untuk menjalankannya di perangkat konsumen tetap perlu kuantisasi yang agresif. Baru-baru ini ada yang membuatnya: https://www.reddit.com/r/LocalLLaMA/comments/1irwx6q/deepsee...
DeepSeek v2.5 bisa dibilang mungkin lebih baik daripada Llama 3 70B, jadi menurut saya ini model yang perlu lebih banyak diketahui oleh orang yang ingin menjalankan inferensi lokal
Dengan IQ2_XXS / 183GB dan konteks 16k, jika hanya memakai CPU, pemrosesan prompt mencapai 3 token/detik dan respons 1,44 token/detik; dengan CPU + NVIDIA RTX 70GB VRAM, pemrosesan prompt 4,74 token/detik dan respons 1,87 token/detik
Akan lebih berguna jika Unsloth merilis kuantisasi serupa untuk DeepSeek V3 juga. Karena tidak perlu token reasoning, pada token/detik yang sama pun secara keseluruhan bisa lebih cepat
Saya memakai Q2_K_XL dan secara pribadi menurut saya sudah cukup bagus. Kekurangannya dibanding FP8 ada di sisi penulisan kreatif, jadi kalau memasukkan prompt cerita yang sama beberapa kali lalu membandingkannya dengan FP8, perbedaannya terlihat
Untuk coding, 1,58-bit jelas menghasilkan lebih banyak kesalahan daripada Q2XXS atau Q2_K_XL
https://github.com/intel/ipex-llm/blob/main/docs/mddocs/Quic...
Persyaratan untuk lebih dari 8 token/detik adalah memori CPU 380GB, 1–8 kartu ARC A770, dan disk 500GB
Sepertinya di bawah 10 ribu dolar AS, dan rasanya saya juga belum melihat angka token/detiknya
Saya penasaran, dalam situasi ini Xeon sebenarnya berperan sebagai apa. Apakah ada alasan tidak bisa memakai prosesor x86 lain?
Motherboard server punya hingga 16 slot DIMM per soket dan mendukung RDIMM/LRDIMM, sehingga bisa memasang lebih banyak modul dan modul berkapasitas lebih besar
Memang sempat ada peluncuran UDIMM 128GB pada masa puncak COVID
Setelah mencari beberapa menit barusan, mudah menemukan yang di bawah 1.500 dolar sebelum menambahkan kartu video atau SSD, dan konfigurasi RAM 1024GB juga terlihat di bawah 2.000 dolar
Setidaknya untuk memasang beberapa kartu PCI-Express x16 3.0 dengan kecepatan penuh, lane PCIe juga harus mencukupi, dan ini sulit ditemukan pada motherboard workstation Intel soket tunggal
Sebagai contoh, ada beberapa konfigurasi relatif murah dengan RAM 512GB. Konsumsi dayanya besar dan berisik, tetapi pendekatan yang sama juga berlaku untuk perangkat keras x86-64 lain seperti hp atau supermicro. Biasanya konfigurasinya 16 x 32GB DDR4 DIMM
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...
Saya penasaran kenapa tidak ada GPU dengan RAM yang lebih besar tetapi lebih lambat dalam jumlah banyak. Dengan begitu model yang lebih besar bisa dimuat, sementara harganya tetap terjangkau
Permintaan GPU untuk AI lebih besar daripada pasokan, dan sebagian besar permintaan itu ditopang uang panas yang bisa mendapatkan subsidi, pinjaman, dan investasi. Vendor GPU bisa mengambil uang itu
Sayangnya VRAM adalah pembeda yang sempurna antara penggunaan ringan dan penggunaan yang punya uang. Mirip dengan SSO yang menjadi pembeda sempurna antara enterprise dan non-enterprise sehingga dikenakan pajak SSO
Apakah DeepSeek belajar cara menamai model dari OpenAI?
Istilah K_M tampaknya lebih spesifik untuk GGUF, dan menjelaskan strategi kuantisasi tertentu
Artikelnya perlu memuat lebih banyak informasi. Saya penasaran kenapa angka TPS semuanya ditutupi dengan x, performa seperti apa yang bisa diharapkan dari konfigurasi ini, dan bagaimana perbandingannya dengan konfigurasi workstation dual Epyc yang belakangan populer
Dari keluaran sampel, nilai token/detik disensor, jadi jelas tampaknya berjalan sangat baik
Di luar Nvidia pun terlihat ada beberapa opsi untuk menjalankan inferensi LLM dan Stable Diffusion. Ada Intel Arc, seri Apple M, dan sekarang juga AMD Ryzen AI Max
Memang jelas menjalankannya di Nvidia adalah yang paling optimal, tetapi karena sulit mendapatkan kartu Nvidia dengan VRAM besar dengan harga masuk akal, perangkat non-Nvidia pun terus terpikirkan
Kalau tidak tertarik pada pelatihan atau fine-tuning dan hanya inferensi, apakah solusi seperti ini benar-benar layak dipakai? Saya juga penasaran apakah bisa dilakukan di mesin Linux
Tulisan ini pada dasarnya lebih seperti pengingat dari Intel bahwa “kami juga membuat GPU”, dan kartu kelas anggarannya sendiri bagus, tetapi ekosistemnya terlalu tertinggal
Sejujurnya, ini adalah bidang yang sulit dilakukan dengan benar sambil menghemat anggaran
Kalau APU untuk AI muncul, minat terhadap GPU sepertinya akan cepat mereda
Dengan AMD Halo Strix atau APU Apple M3 Studio, kita bisa memakai RAM 512GB atau 128GB; jadi mengapa membeli Nvidia 4090 yang mahal?
Nvidia selama mungkin mempertahankan harga tetap tinggi dan performa tetap rendah, dan baru sekarang kompetisi mulai datang. Intel juga bisa membuat APU dengan RAM melimpah
Saya berharap Nvidia sedikit gelisah