Uhlolojikelele
Le phrojekthi isebenzisa i-Qwen3.8 Flash Next ku-NVIDIA DGX Spark eyodwa nge-API ehambisana ne-OpenAI. Isebenzisa i-TensorFold v0.3.6.3, i-checkpoint ye-MLX engu-4-bit enekhanda le-MTP draft, kanye neqoqo lama-patch aklanyelwe ukusheshisa ukucutshungulwa kwama-prompt ngaphandle kokushintsha umbhalo okhiqizwayo.
Ukucushwa okuzenzakalelayo kusekela izicelo ezinhlanu ezisebenza ngesikhathi esisodwa, ngasinye sinewindi eligcwele lomongo wemodeli elinama-token angu-262,144. Iphinde ilayishe i-vision tower yemodeli ku-CUDA, okwenza imilayezo yengxoxo ibe nezithombe namavidiyo.
- I-ID yemodeli ye-API:
Qwen3.8-Flash-Next - Indawo yokugcina ezenzakalelayo:
http://<spark-address>:8888/v1 - Imifudlana ehambisanayo: 5
- Umongo ngemifudlana: ama-token angu-262,144
- I-KV pool iyonke: ama-token angu-1,310,720
- I-cache ye-KV: int8 ngokuzenzakalelayo
- Izindlela zokufaka: umbhalo, izithombe, namavidiyo
Izici Eziyinhloko
Inference ehambisanayo enomongo omude
ITensorFold inika umfula ngamunye i-cache yawo egcwele yomongo. Ngokucushwa okuzenzakalelayo, imifudlana emihlanu ithola iwindi lama-prompt nezimpendulo elinama-token angu-262,144 ngayinye. I-KV pool ye-int8 ewumphumela idla cishe u-23.4 GiB.
Ukuseva okuhambisana ne-OpenAI
Iseva iveza izindawo zokugcina ezifana ne-/v1/models kanye ne-/v1/chat/completions. Amaklayenti ahambisana ne-OpenAI angaxhuma ngokushintsha i-base URL yawo nokukhetha i-ID yemodeli ethi Qwen3.8-Flash-Next.
Ama-prompt anezindlela eziningi zemidiya
Imilayezo yabasebenzisi ingaba nezingxenye zokuqukethwe ze-image_url ne-video_url zesitayela se-OpenAI. Amafomethi ezithombe asekelwayo afaka i-JPEG, i-PNG, ne-WebP. Amavidiyo angasebenzisa i-MP4, i-WebM, i-MOV, i-MKV, noma enye ifomethi i-FFmpeg engayifunda.
Ukucutshungulwa kwama-prompt okunama-patch
Ama-patch e-TensorFold afakiwe engeza ukufundwa kusengaphambili ku-SSD, ukufundwa kwemicu yomdabu, ukukhethwa okuthuthukisiwe kwamabhulokhi e-sparse attention, izingxenye zama-prompt ezilungisekayo, ama-copy draft, izibali zama-token ezibukhoma, kanye nokusekelwa kombono kwe-Flash Next. Ngokwezilinganiso zekhosombe, ukucutshungulwa kwama-prompt kushesha cishe izikhathi ezingu-1.7 kunenguqulo eqhathanisiwe engenawo ama-patch, kuyilapho izimpendulo zombhalo ezihloliwe zihlala zifana byte-by-byte.
Izidingo Zesistimu
Lungisa i-host ngaphambi kokuklona ikhosombe:
- I-NVIDIA DGX Spark noma olunye uhlelo lwe-GB10 olunememori ehlanganisiwe engu-128 GB.
- Cishe u-115 GiB wememori ekhululekile lapho kuqalwa ukucushwa okuzenzakalelayo.
- I-Docker ene-NVIDIA container runtime.
- I-akhawunti yomsebenzisi eyingxenye yeqembu le-
docker. - Cishe u-160 GB wesikhala sediski esikhululekile ohlelweni olusha.
- Ongakukhetha: i-Hugging Face
hfCLI ukuze kulandwe kabusha ngokushesha. - Ongakukhetha: i-token ye-Hugging Face ku-
~/.cache/huggingface/tokennoma ku-variable yemvelo ethiHF_TOKEN.
Ukusetshenziswa okuzenzakalelayo kuhloselwe i-DGX Spark engasebenzi eminye imisebenzi. Ezinhlelweni ezinememori ehlanganisiwe, ukuphela kwememori kungamisa umshini esikhundleni sokukhiqiza iphutha elijwayelekile lokwabiwa kwememori.
Ukufakwa Nokuqalisa Kokuqala
1. Klona ikhosombe
git clone https://github.com/MiaAI-Lab/Qwen3.8-Flash-Next-Single-DGX-Spark-TensorFold.git
cd Qwen3.8-Flash-Next-Single-DGX-Spark-TensorFold2. Qalisa iseva
./start.shUkuqalisa kokuqala kwenza ukusethwa okuphelele. Idonsa i-container image eyakhiwe ngaphambilini uma ikhona, ilanda i-checkpoint engaba ngu-106 GiB, iyayiqinisekisa, bese ihlanganisa ama-kernel e-CUDA e-GB10. I-image eyakhiwe ngaphambilini icishe ibe ngu-11 GB, kanti i-checkpoint ithatha cishe u-114 GB ku-cache ye-Hugging Face.
Ngesikhathi sokuqalisa, iskripthi sibonisa inqubekelaphambili yokusetha, amalogi eseva, inqubekelaphambili yokulayisha izisindo, nezilinganiso zememori. Bese senza ukuhlolwa okusheshayo. Ukuqalisa okuyimpumelelo kugcina ngomyalezo othi Qwen3.8-Flash-Next iyasebenza ku-port ethi 8888.
Ukuqalisa okulandelayo kweqa umsebenzi wokusetha osuphelile futhi kuthatha cishe imizuzu engu-2.5 ukulayisha izisindo, ngokusho kwe-README.
3. Lungiselela ngaphandle kokuqalisa
Uma ufuna ukulanda nokwakha konke kusengaphambili, sebenzisa:
scripts/prepare.shUkuze wakhe kabusha i-container image kusukela ekuqaleni:
scripts/prepare.sh --rebuildIskripthi sokulungiselela sihlola i-Docker, i-NVIDIA runtime, nesikhala sediski. Bese sithola noma sakhe i-TensorFold image, silande i-checkpoint ku-cache ye-Hugging Face, futhi siqinisekise imodeli nge-tensorfold info.
Ukusetshenziswa Okuyisisekelo kwe-API
Hlola imodeli etholakalayo
curl -s http://<spark-address>:8888/v1/modelsFaka esikhundleni se-<spark-address> igama le-host noma ikheli le-IP le-DGX Spark. Uma ubiza usebenzisa i-Spark uqobo, ungasebenzisa i-127.0.0.1.
Thumela isicelo sokuqedela ingxoxo
curl -s http://<spark-address>:8888/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "Qwen3.8-Flash-Next",
"messages": [
{
"role": "user",
"content": "Bhala umsebenzi we-fibonacci we-Python."
}
],
"max_tokens": 1000
}'Imodeli icabanga ngaphambi kokuphendula ngokuzenzakalelayo, futhi ukucabanga kwayo kusebenzisa isabelo sama-token empendulo. Setha i-max_tokens ibe phezulu ngokwanele ukuze ifake kokubili ukucabanga nempendulo yokugcina. Ukucabanga kubuyiselwa ku-reasoning_content, kanti impendulo yokugcina ivela ku-content.
Xhuma iklayenti elihambisana ne-OpenAI
Lungiselela iklayenti ngamanani alandelayo:
- I-Base URL:
http://<spark-address>:8888/v1 - Imodeli:
Qwen3.8-Flash-Next
I-API isekela ukusakaza, izingcingo zamathuluzi ezinohlobo, okuqukethwe kokucabanga, okokufaka kwezithombe, nokokufaka kwamavidiyo. Amapharamitha amathuluzi afana nama-array abuyiswa kusetshenziswa izinhlobo zawo ezihambisanayo ze-JSON.
Ukuthumela Izithombe
Ngokuzenzakalela, imidiya kufanele inikezwe njengama-URL edatha. Isibonelo esilandelayo se-shell sifaka i-JPEG ngekhodi bese sicela imodeli ukuthi iyichaze:
IMG=$(base64 -w0 photo.jpg)
curl -s http://<spark-address>:8888/v1/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "Qwen3.8-Flash-Next",
"messages": [{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,'"$IMG"'"
}
},
{
"type": "text",
"text": "Yini ekulesi sithombe?"
}
]
}],
"max_tokens": 2000
}'Isicelo singaqukatha izithombe ezingafika kwezine. Isithombe ngasinye singaba ngu-10 MB, kanti umkhawulo ohlanganisiwe ngu-20 MB. Zonke izithombe zihlangene zingasebenzisa amathokheni afinyelela ku-4,096. Ukusetha "detail": "low" kukhawulela isithombe kumathokheni angu-256.
Ukuthumela Amavidiyo
Amavidiyo asebenzisa ingxenye yokuqukethwe ethi video_url:
{
"type": "video_url",
"video_url": {
"url": "data:video/mp4;base64,..."
}
}Isicelo ngasinye singaqukatha amavidiyo afinyelela kwamabili. Ividiyo ingaba ngu-64 MB, kanti umkhawulo wesicelo esihlanganisiwe ngu-96 MB futhi ungafaka okuqukethwe okufika ehoreni elilodwa. Ngokuzenzakalela, iseva ithatha amafreyimu amabili ngomzuzwana, ifike kumafreyimu angu-256 asatshalaliswe kuyo yonke ividiyo, futhi ivumela amathokheni evidiyo afinyelela ku-16,384 ngesicelo ngasinye.
Imiyalelo yezithombe namavidiyo ayigcinelwa ukusetshenziswa kabusha kwesiqalo. Izicelo zombhalo ezijwayelekile azithinteki uma kuvunyelwa ukubona.
Vumela ama-URL emidiya asesidlangalaleni e-HTTPS
Ama-URL edatha asetshenziswa ngokuzenzakalela. Ukuvumela iseva ukuthi ilande ama-URL asesidlangalaleni e-HTTPS ezithombe namavidiyo, yiqale kabusha usebenzisa:
VISION_URLS=1 ./start.sh restartVumela ukulanda okukude kuphela uma kufanelekile kunqubomgomo yokuphepha nenethiwekhi yokuphakelwa kwakho.
Sebenzisa imodi yombhalo kuphela
Khubaza i-vision tower ukuze unikeze umbhalo kuphela:
VISION=0 ./start.sh restartImodi yombhalo kuphela ayilayishi i-vision tower engu-0.84 GiB futhi isebenzisa izingcezu zemiyalelo ezinemigqa engu-4,096 esikhundleni semigqa engu-2,048 esetshenziswa ngokuzenzakalela lapho ukubona kuvuliwe.
Ukuphatha Iseva
Sebenzisa imibhalo yokugoqa ekwindlalifa ukuze wenze imisebenzi evamile:
./start.sh restart
./stop.sh
docker logs -f qwen38-flash-next-tf
curl -s http://<spark-address>:8888/health./start.sh restartiqinisekisa ukusethwa kanye nama-agumenti ngaphambi kokufaka iseva esebenzayo esikhundleni../stop.shimisa i-container futhi ikhulule inkumbulo ye-GPU. Izicelo ezisebenzayo ziyaphazamiseka.docker logs -filandela ilogi yeseva ye-TensorFold./healthibika isimo sokuba matasa kanye nesamba samathokheni esibukhoma.
Uma iseva isivele isebenza, i-./start.sh evamile iyishiya injalo. Kumphathi wezinqubo ofana ne-systemd, sebenzisa imodi yangaphambili:
FOREGROUND=1 ./start.shLungiselela Umongo, Ukuncintisana, kanye Nokunemba kwe-KV
Amanani azenzakalelayo agcinwe ku-scripts/config.sh. Wabhale ngaphezulu usebenzisa okuguquguqukayo kwemvelo noma udlulise amafulegi e-TensorFold ngemva kwe-start.sh.
Yehlisa ukuncintisana ukuze uthole isikhala esengeziwe
PARALLEL=4 ./start.sh restartImifudlana emine ye-int8 inikeza i-KV pool yamathokheni angu-1,048,576 futhi inesilinganiso sokuqala esibikiwe esicishe sibe ngu-97.7 GiB.
Sebenzisa iwindi lomongo elifushane
./start.sh restart --context 131072Amanye ama-agumenti omugqa womyalo adluliselwa ku-tensorfold serve ngemva kwamanani azenzakalelayo, ngakho anokubaluleka kuqala. Sebenzisa ./start.sh --help ukuze uhlole izinketho ezitholakalayo.
Khetha olunye uhlobo lwe-KV cache
KV_DTYPE yamukela bf16, int8, noma int4:
PARALLEL=6 KV_DTYPE=int4 ./start.sh restartI-README iphawula ukuthi i-int4 ishintsha imiphumela kancane futhi ayinikezi isilinganiso sekhwalithi. Sebenzisa i-int8 uma ufuna ibhalansi ezenzakalelayo yephrojekthi. Sebenzisa i-bf16 uma ukugcinwa kwe-KV ngokunemba okuphelele kubaluleke kakhulu kunenani lemifudlana.
Qonda ukuvikelwa kokuqalisa
I-TensorFold ibala isabelomali sayo ngokusekelwe kwimemori etholakalayo kususwe inqolobane ye-host elingana nengxenye yeshumi ye-RAM. Uma ukucushwa okuceliwe kungalingani, ukuqala kuyenqatshwa ngaphambi kokulayishwa kwezisindo, futhi iphutha likhomba iwindi lomongo okufanele lilingane.
Lawula Ukucabanga kanye Nokuthatha Amasampula
Amanani azenzakalelayo okuthatha amasampula kwimodi yokucabanga yi-temperature 1.0, top-p 0.95, kanye ne-top-k 20. Izicelo zingabhala ngaphezulu kwe-temperature, top_p, top_k, kanye ne-seed. I-temperature engu-0 ivumela i-greedy decoding.
Khubaza ukucabanga kwesicelo esisodwa
{
"model": "Qwen3.8-Flash-Next",
"messages": [
{"role": "user", "content": "Phendula ngomusho owodwa."}
],
"chat_template_kwargs": {
"enable_thinking": false
},
"max_tokens": 200
}Setha izinga lomzamo wokucabanga
{
"chat_template_kwargs": {
"reasoning_effort": "low"
}
}I-template futhi yamukela i-"xhigh". Uma izinga lomzamo wokucabanga linganikezwanga, i-template isebenzisa inani layo elizenzakalelayo eliphakathi. Inkambu esezingeni eliphezulu yesitayela se-OpenAI ethi reasoning_effort iyazitshwa, ngakho yibeke ngaphakathi kwe-chat_template_kwargs.
Amathiphu Okusebenza Athuthukile
Gcina amathebula e-n-gram ku-SSD
I-PLE_ON_SSD=1 ezenzakalelayo ishiya u-29.8 GiB wamathebula e-n-gram ku-SSD esikhundleni sokuwabeka kwimemori ehlanganisiwe. Lokhu kugcinela i-KV cache inkumbulo. Ngakho-ke, isitoreji sasendaweni esisheshayo sibalulekile ekucushweni okuzenzakalelayo.
Lungisa usayizi wesiqephu somyalo ngokucophelela
Uma umbono uvuliwe, i-TENSORFOLD_PREFILL_ROWS iba ngu-2048 ngokuzenzakalelayo ukuze kushiywe indawo ye-vision tower. Imodi yombhalo kuphela iba ngu-4096 ngokuzenzakalelayo. I-README ibika ukuthi imigqa engu-4,096 ingathuthukisa ukucutshungulwa kwe-prompt cishe ngo-2–5% kuma-prompt anama-token acishe abe ngu-3,000, kodwa idinga inkumbulo eyengeziwe engaba ngu-0.94 GiB.
TENSORFOLD_PREFILL_ROWS=4096 ./start.sh restartYandisa leli nani kuphela uma kunesikhala esanele senkumbulo.
Lawula i-MTP kanye nama-draft akopishiwe
Ukucushwa okuzenzakalelayo kwe-MTP kukhiqiza ama-draft afinyelela kwayisithupha ngomjikelezo futhi kumisa uchungechunge ngaphambi kokuba i-draft yehle ngaphansi kokuzethemba okungu-60%. Ukulungiselelwa kwe-copy-draft kwenziwa kusebenze ngu-TENSORFOLD_MTP_COPY=1 futhi kudinga okungenani ama-stream amabili asebenza ngokuhambisana. Kuhloselwe ukuthuthukisa izimpendulo ezicaphuna noma ezihlela umbhalo wangaphambilini we-prompt.
Cela ukucaciswa kwereferensi okulandelanayo
Ukuze weqe ukwakhiwa kwama-draft esicelweni esisodwa futhi usebenzise indlela yereferensi ye-TensorFold esebenza nge-token eyodwa ngesikhathi, engeza:
{
"draft": false
}Lokhu kuyasiza uma uqhathanisa ukucaciswa kokuqagela nereferensi elandelanayo.
Phoqa noma weqe ukulungiselela
PREPARE=1 ./start.sh restart
PREPARE=0 ./start.sh restart
PULL=0 scripts/prepare.shPREPARE=1kuphoqa ukuhlolwa kokulungiselela ngaphambi kokuqala kabusha.PREPARE=0kweqa ukulungiselela.PULL=0kwakha i-image endaweni esikhundleni sokuzama i-image eyakhiwe kusengaphambili ekurejista.
Ngemva kokushintsha amafayela aku-patches/, yakha kabusha i-image ukuze lawo ma-patch afakwe ku-TensorFold.
Ukuqinisekisa Nokulinganisa Ukusebenza
Le repository iqukethe amathuluzi axhumana neseva esebenzayo. I-URL ye-API ezenzakalelayo ithi http://127.0.0.1:8888.
tools/bench.py local-test
tools/needle.py
tools/toolcheck.py
tools/visioncheck.pytools/bench.pyikala osayizi abahlukahlukene bama-prompt futhi yenza ukuhlolwa okufushane kokucacisa.tools/needle.pyifihla i-passphrase ku-prompt enama-token acishe abe ngu-195,000 futhi iqinisekise ukutholwa kwayo.tools/toolcheck.pyihlola ukuthi ipharamitha yethuluzi enenani eliyi-array ibuyiswa njenge-JSON array.tools/visioncheck.pyithumela i-image ekhiqiziwe enombuthano obomvu nesikwele esiluhlaza okwesibhakabhaka, bese ihlola ukuthi kokubili kuyabonwa yini.
Ukuhlola komunye umshini, setha i-API_URL:
API_URL=http://<spark-address>:8888 tools/bench.py remote-testUkusebenza Okulindelekile
Le repository ibika imiphumela elandelayo yokucacisa ku-DGX Spark eyodwa ene-int8 KV caching, amatafula e-n-gram asekelwa yi-SSD, kanye nokwakhiwa kwama-draft nge-MTP:
- Isicelo esisodwa: ama-token angu-62.4 ngomzuzwana, ngesikhathi esingu-152 ms kuze kufike i-token yokuqala.
- Izicelo ezimbili: ama-token angu-90.5 ngomzuzwana esewonke.
- Izicelo ezine: ama-token angu-106.7 ngomzuzwana esewonke.
- Izicelo ezinhlanu: ama-token angu-119.3 ngomzuzwana esewonke, noma ama-token angu-27.0 ngomzuzwana ngesicelo ngasinye.
Isivinini esibikiwe se-prefill sisukela cishe kuma-token angu-2,503 ngomzuzwana ku-prompt enama-token angu-8,229 siye kuma-token angu-2,200 ngomzuzwana ku-prompt enama-token angu-131,110. Lezi zibalo ziyizilinganiso zephrojekthi, hhayi iziqinisekiso, futhi zingahluka ngokuya ngokucushwa, ukwakheka kwe-prompt, okokufaka kwemidiya, isitoreji, kanye nenkumbulo etholakalayo.
Isiphetho
Le repository ihlanganisa imodeli, i-TensorFold runtime, ukusethwa okuqondene ne-CUDA, ama-patch okusebenza kahle, kanye nemibhalo yokusebenza edingekayo ukuze kusetshenziswe i-Qwen3.8 Flash Next ku-DGX Spark eyodwa. Qala ngokucushwa okuzenzakalelayo kwe-int8 okunama-stream amahlanu, uqinisekise isevisi nge-API ehambisana ne-OpenAI, bese ulungisa ukuhambisana kwezicelo, usayizi womongo, umbono, kanye nokunemba kwe-KV ngokuvumelana nomthwalo wakho womsebenzi nesikhala senkumbulo esitholakalayo.
