Bestun á ályktun í tæki fyrir Apple Silicon

Sérsniðin staðbundin vél sem bætir afköst forsöfnunar og úrvinnslu.

HöfundarPerplexity Engineering

Hybrid Compute á Apple silicon samhæfir verkefni á milli framvarðargreindar í skýjum og staðbundins líkans á Mac. Skýjalíkön sjá um rannsóknir og rökhugsun, á meðan staðbundið líkan vinnur með einkaskrár og öpp á Mac.

Til þess að þessi verkaskipting virðist óaðfinnanleg verður staðbundin ályktun að halda í við afganginn af verkefninu. Það krefst vélar sem getur unnið úr beiðnum hratt og viðhaldið háum táknmyndunarhraða.

Lily, létt staðbundið ályktunarkerfi okkar, er smíðað sérstaklega fyrir Apple silicon og Qwen3.6-35B-A3B, með aðskildum hagræðingum fyrir forsöfnun og úrvinnslu. Sjálfstæð kynning (demo) er aðgengileg almenningi á GitHub.

Inngangur

Algeng leið til að keyra LLM líkön á Mac er með MLX, opna vélnámsrammanum frá Apple fyrir Apple silicon. Fylgisafn þess, MLX-LM, bætir við þeim íhlutum sem þarf til að hlaða og útbúa texta með fjölbreyttu úrvali tungumálalíkana. Saman bjóða MLX og MLX-LM upp á tilbúinn, almennan stafla fyrir staðbundna LLM ályktun.

Qwen3.6-35B-A3B er strjált blöndunarlíkan: það notar blöndu af sérfræðingum (MoE) leiðarval og sameinar endurteknar stöður í fastri stærð með fullri athygli. Þessar byggingarlistarvalmyndir draga úr útreikningum sem þarf, en þær skapa einnig óregluleg vinnuálag. Táknum er Beint til mismunandi sérfræðingavægi og endurteknar stöður eru í eðli sínu raðbundnar.

MLX-LM velur þegar fínstillta kjarna fyrir ályktunarfasa og algengt vinnuálagsform, en endurnýtanlegar aðgerðir þess verða að styðja margar líkanbyggingar. Vél sem er tileinkuð Qwen getur sérhæft sig á líkans- og keyrsluumhverfisstigi, og samræmt kjarna, gagnaflutning og tímasetningu í kringum fasta uppbyggingu líkansins.

Lily útfærir þessa sérhæfingu frá enda til enda í einu ferli. Rust-keyrsluumhverfi hleður líkansgátpunktinum og stjórnar samtalsstöðu og kynslóðarlykkju, OpenAI-samhæft spjall-samsetninga API tekur við beiðnum og streymir táknum, og sérsniðnir Metal-kjarnar framkvæma Qwen-sérstakar aðgerðir. Hvorki PyTorch né MLX eru á framkvæmdarleiðinni.

Hvar almennni og sérhæfingu er komið fyrir í þessum tveimur ályktunarkerfum. MLX-LM lýsir líkaninu sem samsetningum af MLX-fylkisvirkni, sem MLX tímasetur í gegnum endurnýtanlega kjarna. Lily setur þess í stað líkanbygginguna, fasa-sérhæfðar framkvæmdaáætlanir og kjarnaval í eitt Rust-keyrsluumhverfi byggt í kringum Qwen og Apple silicon.

Við mælum afköst forsöfnunar og úrvinnslu sérstaklega. Forsöfnunarafköst fanga hversu hratt vélin vinnur úr beiðninni; úrvinnsluafköst fanga hversu hratt hún býr til úttakstákn.

Við berum saman Qwen3.6-35B-A3B á einni MacBook Pro sem er knúin M5 Max örgjörva með 40-kjarna GPU og 128 GB af sameiginlegt minni. Yfir tíu promptlengdir fyrir prefill og tíu samhengislengdir fyrir decode, frá 256 upp í 128K tákn (K = 1.024), er meðalhraði vélarinnar 1,22× hærri en hjá MLX-LM fyrir prefill og 1,32× hærri fyrir decode. Við 4K-tákn prompt og 4K-tákn decode-samhengi nær sérsniðna vélin 5.749,9 prefill-táknum á sekúndu og 186,6 decode-táknum á sekúndu, samanborið við 4.737,5 og 140,9 hjá MLX-LM. Á fjölumferðarsamtali safnast þessar tímabætingar upp með hverri viðbótarfyrirspurn til líkansins.

Aritmetískt meðalgegnumstreymi yfir tíu jafngreindar lengdir frá 256 upp í 128K tákn. Lily er að meðaltali með 4.135 prefill-tákn/sek. á móti 3.383 hjá MLX-LM (1,22×), og 167,1 decode-tákn/sek. á móti 126,9 (1,32×). Prefill er breytilegt eftir promptlengd; decode er breytilegt eftir samhengislengd.

Næst útskýrum við hvernig arkitektúr Qwen býr til líkansérstaka hagræðingarmöguleika á Apple silicon. Við förum síðan í gegnum þær breytingar á forsöfnun og úrvinnslu sem af því leiða. Við fjöllum einnig um hvenær frekari hagræðing hættir að borga sig áður en við lokum með samanburði frá enda til enda við MLX-LM.

Hagræðingarmöguleikar sem eiga við um Qwen á Apple silicon

Qwen búa til þrjú mismunandi vinnuálagsform

Qwen3.6-35B-A3B inniheldur 35 milljarða breyta en virkjar aðeins um 3 milljarða fyrir hvert tákn. Leiðarval skorar 256 sérfræðinga undirnet og velur átta, samhliða einum sameiginlegum sérfræðingi sem vinnur úr hverju tákni. Þessi strjála MoE hönnun dregur úr útreikningum en framleiðir ójafna vinnu: sérfræðingar fá mismunandi fjölda tákna, og hvert tákn krefst vægis úr mismunandi samsetningu sérfræðinga.

Qwen sameinar einnig 10 full athyglislög með 30 Gated DeltaNet lögum. Þessar tvær lagategundir varðveita fyrri upplýsingar á mismunandi hátt.

Athyglislögin nota hópa-fyrirspurnarathygli (GQA). Qwen er með 16 fyrirspurnarhausa og tvo lykil-gildis (KV) hausa, þar sem átta fyrirspurnarhausar deila hverjum KV-hausi. Deiling gerir KV-skyndiminnið minna og gerir kleift að endurnýta skyndiminni gögn yfir fyrirspurnarhausa. Skyndiminnið geymir samt nýja lykla og gildi fyrir hvert tákn, þannig að hvert úrvinnsluþrep les fleiri gögn eftir því som samhengið stækkar.

Gated DeltaNet þjappar þess í stað saman fyrri upplýsingum í fastri stærð endurkomustöðu. Lært hlið stjórnar því hversu miklu af núverandi stöðu skal halda eftir, á meðan deltastilling felur í sér upplýsingar úr núverandi tákni. Líkanið skilgreinir þessar uppfærslur í endurkomu, þannig að hvert tákn er háð stöðunni sem framleidd er af undanfarandi tákni. Hins vegar, við forsöfnun, getur vél metið sama útreikning á annan hátt. Hún getur skannað í gegnum táknin beint á meðan hún ber stöðuna áfram, eða endurskipulagt uppfærslurnar í blokkir sem sýna meiri fylkisvirkni og tákn-stigs samhliða vinnunni. Hvaða nálgun er hraðari fer eftir stærðum líkansins, vinnuálagi og vélbúnaði.

Saman mynda þessar skipulagsgerðir þrjú reiknimynstur: ójafna sérfræðingahópa, athygli yfir stækkandi skyndiminni, og endurkomu (recurrence) í fastri stærð sem hægt er að meta beint eða í blokkum.

Apple silicon býður upp á mismunandi leiðir fyrir mismunandi vinnuálag

Forsöfnun vinnur margar táknavirkjunarraðir í einu. Staðbundið vinnuálag sem hér er skoðað afkóðar venjulega eina beiðni í einu (batch 1) og vinnur eina nýja röð í hverju skrefi. Þessi munur breytir því hvernig sömu líkanavægi eru notuð. Forsöfnun getur endurnýtað hverja blokk af vægi yfir hundruð eða þúsundir raða. Úrvinnsla getur það að mestu leyti ekki, þar sem hvert nýtt tákn krefst annarrar umferðar í gegnum vægin.

Apple silicon staðsetur örgjörvann og grafíkörgjörvann á bak við sameiginlegt minni, eitt eðlislægt minnissvæði sem er aðgengilegt fyrir bæði. Þetta gerir líkaninu kleift að vera áfram virkt án þess að viðhalda sérstöku GPU-afriti, en það gerir gagnaflutning ekki ókeypis. Að lesa vægi og milligildi eyðir enn minnisbandbreidd, á meðan skrásetningar og önnur geymsla á flís eru hraðari en mun minni.

M5 grafíkörgjörvinn býður einnig upp á mismunandi útreikningsleiðir. Línuleg lög forsöfnunar nota almenna fylkis-fylkismargföldun (GEMM), sem beitir vægisfylki á margar raðir í einu. Samhæf GEMM geta notað taugahröðulinn (Neural Accelerator) í hverjum GPU-kjarna í gegnum Metal 4 tensor-aðgerðir. Batch-1 úrvinnsla notar í staðinn almenna fylkis-vektormargföldun (GEMV), sem beitir sömu vægum á eina röð. Með litilli endurnýtingu vægis er GEMV aðallega takmarkað af minnisbandbreidd og hentar betur fyrir vektor-reikningsrökfræðieiningar (ALU) grafíkörgjörvanna heldur en taugahröðla sem hannaðir eru fyrir fylkisvirkni með meiri gagnaendurnýtingu.

Þessar framkvæmdarleiðir eru ekki einskonar einkenni Lily. MLX starfar yfir sama sameiginlega minni og velur fínstillta fylkis- og vektorkjarna í samræmi við vinnuálagsformið. Qwen útfærsla MLX-LM flokkar þegar sérfræðingavinnu, metur Gated DeltaNet með samrunnum endurteknum Metal-kjarna, og notar GQA-vissa athygli. Þessir eiginleikar eru sameiginlegur upphafspunktur fyrir skilvirka Qwen-ályktun á Apple silicon.

Hagræðingarstefna

Þrengra svið Lily gerir því kleift að samræma þessar sameiginlegu framkvæmdarleiðir í kringum nákvæma byggingarlist og stærðir Qwen. Hún notar fasa-sérhæfðar GPU-leiðir, kortleggur sérfræðinga-, endurkomu- og athyglisvinnuálag Qwen til að lágmarka gagnaflutning, og velur kjarna og snið út frá mældu vinnuálagsformi. Stefnan hefur þrjá hluta:

  1. Samræma GPU-leiðina við ályktunarfasan. Nota fylkis-miðaða framkvæmd þegar forsöfnun getur endurnýtað vægi yfir margar raðir, og vektor-miðaða framkvæmd þegar batch-1 úrvinnsla vinnur úr einni röð í einu.
  2. Kortleggja uppbyggingu Qwen yfir á grafíkörgjörvann á meðan gagnaflutningur er lágmarkaður. Halda vægjum pökkuðum þar til þau eru notuð, skipuleggja tilbúna sérfræðingavinnu án þess að snúa aftur til örgjörvans, varðveita Gated DeltaNet stöðu á flís í gegnum endurkomuskönnun sína, og endurnýta KV-gögnin sem deilt er af hópa-fyrirspurnarathygli.
  3. Aðlaga kjarna að vinnuálagsformi. Innan hvers fasa skal velja flísastærðir, framkvæmdarsnið og athyglisleiðir út frá tiltækum raðafjölda, dreifingu raða yfir sérfræðinga, stærðum aðgerðarinnar og núverandi samhengislengd.

Eftirfarandi kaflar útskýra þessar ákvarðanir. Fyrir hagræðingar sem metnar eru í samsvarandi brotgreiningum á M5 Max, áætlum við áhrif þeirra með þそれが að bera saman að öðru leyti eins vélarsamstillingar sem greinir aðeins frá þeirri hagræðingu sem verið er að rannsaka. Þar sem þessar tilraunir bera saman útgáfur af vélinni okkar við sjálfa sig, útskýra þær kerfi frekar en að sundurliða endanlegar niðurstöður gegn MLX-LM.

Forsöfnun: endurnýta vægi og halda leiðarvali á grafíkörgjörvanum

Forsöfnun afhjúpar margar táknaraðir í einu, en Qwen beinir þessum röðum ójafnt yfir sérfræðinga og uppfærir endurkomustöðu í gegnum röðina. Hagræðingar þess falla í þrjá hópa: skipuleggja strjálra sérfræðingavinnu í kringum beindu raðirnar, halda Gated DeltaNet skönnuninni á flís, og skipta löngum beiðnum í afmörkuð bút.

Framkvæmd og gagnastaðsetning fyrir einn afmarkaðan forsöfnunarbút í gegnum Qwen-lag. Athygli stækkar KV-skyndiminnið, á meðan Gated DeltaNet ber vinnuendurkomustöðu sína í skrásetningum. Lýsigögn um sérfræðingaleiðarval eru áfram á grafíkörgjörvanum, Q4-vægi haldast pökkuð þar til þau eru afbylgð innan flokkaðs GEMM, og tímabundnar virkjanir eru takmarkaðar við núverandi bút.

Hagræða strjálaf sérfræðingaútreikninga

Afbylgja vægi með fylkismargföldun

Gátpunkturinn Qwen3.6-35B-A3B notar hópsækna afmörkun 4-bita kvörðun. Hvert vægi er geymt sem 4-bita heiltölukóði, á meðan hver hópur af 64 vægum deilir bfloat16-kvarða og hlutdrægni sem notuð er til að endurbyggja gildi sín. Þetta dregur úr 35 milljarða breytu líkaninu úr um það bil 70 GB af bfloat16-vægi niður í 19.4 GB gátpunkt, sem gerir það að verkum að það er framkvæmanlegt að halda líkaninu staðsettu á Mac tölvunni.

Metal 4 tensor-aðgerðin sem notuð er fyrir fylkismargföldun notar bfloat16-gildi í stað pökkuðu 4-bita táknunarinnar. Fyrir margföldun verður grafíkörgjörvinn að endurbyggja vægin í bfloat16. Fínstillti flokkaði GEMM í Lily framkvæmir þessa breytingu eina litla vægisflís í einu og geymir niðurstöðuna í þráðarhópsminni á flís næstum nógu lengi til að margfalda hana með beindu virkjunarröðunum. Uppsöfnun notar 32-bita fljótkommutölu, og úttakið er skrifað í bfloat16. Fulla stækkaða vægisfylkið er aldrei búið til í sameiginlegu minni.

Í brotgreiningunni keyrir afbylgjun sem sérstök aðgerð: hún stækkar 4-bita vægin í bfloat16-fylki í sameiginlegu minni, eftir það les fylkiskjarninn það fylki til baka. Við 512 tákna beiðni jók það að færa afbylgjun inn í flokkaða GEMM forsöfnunarafköst end-to-end um 77.4% með því að útrýma þessari milliskrift og lestri.

Halda leiðarvali sérfræðinga á grafíkörgjörvanum

Flokkaði GEMM þarf að virkjunarraðirnar sem úthlutað er til hvers sérfræðings séu geymdar saman. Eftir að hafa valið átta sérfræðinga á hvern tákn telur línurit hversu margar úthlutanir fóru til hvers sérfræðings. Forliðaskönnun breytir þessum talningum í upphafsskeið, dreifingarþrep setur raðirnar inn í sérfræðingahópa þeirra, og blokkort telur upp fasta stærð fylkisblokkanna sem flokkaði GEMM verður að vinna úr.

Fínstillta leiðin heldur allri þessari röð í einum skipanabuffi, raðaðri lotu GPU-aðgerða, fyrir bita hvers beiðnablokkar. Brotgreining gerir í staðinn hlé svo örgjörvinn getur skoðað milliliði leiðarvalsins og sent inn næstu aðgerð. Að halda línuritinu og forliðaskönnuninni á grafíkörgjörvanum bætir við tveimur kjörnum en fjarlægir CPU–GPU samstillingu innan hvers MoE lags.

Við 512 tákna beiðni jók það að virkja GPU-staðbundið leiðarval end-to-end forsöfnun um 89%. Þetta sýnir einnig hvers vegna kjarnafjöldi ein og sér getur verið villandi: hraðari leiðin ræsir fleiri kjarna en bíður aldrei eftir örgjörvanum innan lagsins.

Samræma flísastærð við sérfræðingaálag

Við 2K tákna beiðni framleiðir það að beina hverju tákni til átta af 256 sérfræðingum 16.384 tákna-sérfræðingaúthlutanir, eða að jafnaði 64 virkjunarraðir á hvern sérfræðing. Raunveruleg dreifing er ójöfn: sumir sérfræðingar fá margar raðir, á meðan aðrir fá fáar.

Flokkaði GEMM skiptir úttaki hvers sérfræðings í flísar, sem eru litlar rétthyrndar blokkir úr úttaki fylkismargföldunar. Hverri flís er úthlutað á einn GPU-þráðarhóp. Á grafíkörgjörvum Apple silicon inniheldur þráðarhópur einn eða fleiri simdgroup, þar sem hver um sig samanstendur af 32 þræðum sem framkvæma leiðbeiningar í takt.

Stærri flísar dreifa uppsetningarkostnaði yfir fleiri raðir og sýna meiri samhliða vinnu, en hluti af stórri flís er áfram aðgerðalaus þegar sérfræðingur fær aðeins nokkrar raðir. Flísastærð og simdgroup-fjöldi eru því tengd.

Brotgreining festir flísina við 16 raðir. Gegn þeirri stýringu jók það að virkja 32-raða flísina með fjórum simdgroup end-to-end forsöfnun um 13,2% við 2K tákn.

Halda endurkomustöðu á flís

Á meðan á forsöfnun stendur skannar hvert Gated DeltaNet lag beiðnina í röð á meðan það ber endurkomustöðu sína áfram. Með skráningarstöðu óvirka notar brotgreiningin blokkarmiðaða skönnun. Við 2K tákna beiðni flytur sú leið 256 MiB (mebibæt) af stöðu á hvert lag og stöðvar endurtekið samvinnuþræði við hindranir, samstillingarpunkta þar sem öll þátttökuþræði verða að bíða hvert eftir öðru.

Endurkomustaðan er fylki. Fínstillti kjarninn úthlutar hverjum dálki á einn simdgroup. Simdgroup skiptir dálkinum á milli þráða sinna, hleður dálknum inn í skrásetningar (registers) þeirra einu sinni og flytur stöðuna í gegnum alla leitina. Þræðirnir skiptast á milliniðurstöðum í gegnum simdgroup-aðgerðir í stað þráðarhópsminnis (threadgroup memory), sem er á-flísskyndiminni sem er deilt milli þráðarhóps. Lokið á stöðunni er aðeins skrifað til baka eftir skönnunina.

Staðan og hlið hennar nota 32-bita fljótkommutengt snið vegna þess að litlar afmörkunarvillur safnast saman í röðum uppfærslna. Fyrirspurnar- og lykilvirkjanir eru áfram í bfloat16.

Við 2K tákna beiðni bætti það að virkja skrásetningar-staðbundið skönnun end-to-end forsöfnun um 5,6%. Sérfræðinga-GEMM stóðu fyrir um 90% af forsöfnunartímanum. Raðbundin skönnun afhjúpar ekki næga endurnýtanlega fylkisvinnu til að njóta góðs af taugahröðlum (Neural Accelerators).

Taka saman tímabundið minni með beiðnisbútun

Keyrsluumhverfið vinnur úr langri beiðni sem röð af afmörkuðum bútum í stað þess að geyma tímabundin gögn fyrir hvert beiðnitákn í minni í einu. Líkansvægi eru áfram í sameiginlegu minni, á meðan endurkomustaðan og KV-skyndiminnið flytja samhengi frá einum bút til annars. Engu fyrra samhengi er fargað.

Án bútunar stækka tímabundin virkjunarfylki með fullri beiðni og keppa við líkansvægi, endurkomustöðu og KV-skyndiminni um sameiginlegt minni. Bútun heldur aðeins tímabundnum gildum eins hluta lifandi í einu, sleppir eða endurnýtir síðan þá geymslu áður en unnið er úr næsta hluta. Þetta setur þak á hámarksvinnsluminni og gerir vélinni kleift að vinna úr lengri beiðnum án þess að breyta úttaki líkansins.

Bútuð forsöfnun er vinsæl í mörgum vélum og er mikilvæg til að þjóna löngum margra þrepa ferlum í þessum minnis-takmörkuðu umhverfum. Heildarforsöfnunartími fyrir athyglislög er áfram ferningslaga við beiðnilengd, með nokkrum aukakostnaði frá endurteknum KV-álögum fyrri búta.

Úrvinnsla: lágmarka flutt bít á hvern tákn

Batch-1 úrvinnsla vinnur úr einni nýju röð í einu. Með litilli endurnýtingu vægis fer afköst hennar aðallega eftir því hversu mörg bít vélin færir fyrir hvert tákn. Breytingar á úrvinnslu falla í fjóra hópa: hagræða eins raðar vægisleiðinni, halda hverju skrefi á grafíkörgjörvanum, fækka millistigs- og stöðuumferð, og lesa athyglisskyndiminnið á skilvirkan hátt.

Gagnastraumur fyrir eitt batch-1 úrvinnsluþrep og tvær aðferðir sem draga úr biðtíma og skyndiminnisumferð. (A) Grafíkörgjörvinn streymir Q4-vægi og líkansstöðu í gegnum athygli, Gated DeltaNet, leiðarval og samrunnaða sérfræðingakjarna, skrifar síðan valda táknið beint inn í inntakshólf næsta þrefs á meðan afrit er sent á örgjörvann. (B) Háð-vitrur tímasetning gerir sjálfstæðum kjörnum kleift að skarast. (C) GQA-pökkun gerir fjórum fyrirspurnarhausum kleift að deila hverju KV-raðarálagi, sem fækkar átta sjálfstæðum beiðnum niður í tvö sameiginleg álag.

Hagræða eins raðar vægisleiðinni

MLX úthlutar þegar eins-raðar vinnu til sérhæfðra fylkis-vektorkjarna. Vegna þess að Lily notar ekki MLX, verður sérsniðna keyrsluumhverfið að bjóða upp á sömu grunndýptarstefnu. Rað-hliðstæði GEMV okkar er hannaður fyrir eina virkjunarröð. Simdgroup vinnur saman að úttakinu á meðan hún les mismunandi hluta vægisfylkisins samhliða.

Halda hverju úrvinnsluþrepi á grafíkörgjörvanum

Halda táknaafhendingunni á grafíkörgjörvanum

Hvert úrvinnsluþrep endar á því að velja næsta tákn; næsta skrep byrjar á því tákni sem inntak. Að senda valið á örgjörvann og svo aftur á grafíkörgjörvann bætir við samstillingarpunkti við hvert tákn. Keyrsluumhverfið okkar skiptist í staðinn á milli tveggja skipanabuffa og tveggja GPU-staðbundinna táknhólfa. Grafíkörgjörvinn velur hæst skoruðu táknið og skrifar táknauðkenni þess beint inn í inntakshólfið fyrir næsta úrvinnsluþrep, á meðan örgjörvinn undirbýr síðari vinnu.

Láta sjálfstæða GPU-vinnu skarast

Í einu skráðu batch-1 úrvinnsluþrepi ræsti táknmyndun 795 GPU-kjarna. Óháðir þættir þeirra mynduðu 555 raðbundin stig, sem gerði sumum kjörnum kleift að keyra samtímis. Raðbundinn framkvæmdarhamur Metal keyrði samt sem áður hvern kjarna í röð.

Fínstillta úrvinnsluleiðin skráir raunveruleg gagnaháðleiti í samfelldri Metal-umferð. Sjálfstæðar kjarnaræsingar geturlar keyrt á sama tíma þegar GPU-auðlindir leyfa. Hindrun er aðeins sett inn þegar síðari vinna krefst fyrri niðurstöðu.

Fækka millistigsumferð og stöðu-umferð

Aðskildir kjarnar útfæra oft millistig: einn kjarni skrifar tímabundinni niðurstöðu í minni, og næsti les niðurstöðuna til baka. Fínstillta úrvinnsluleiðin samrunar fjórar keðjur: inntaksspár tveggja sérfræðinga með hliðsettri virkjun sinni; úttaksspá sérfræðingsins með leiðarvalseinkunn sinni og sameiginlegu sérfræðinganiðurstöðunni; undirbúningur fyrirspurnar og lykils áður en athygli er veitt; og endurtekna uppfærslan með stöðlun sinni. Hver samrunni kjarni heldur tímabundnum gildum í skrásetningum í stað þess að senda þau í gegnum minni.

Samruni styttir einnig háðleitsritið: þegar tímabundin skrift hvarf, þá gerir hindrunin (barrier) sem verndaði neytanda hennar það líka.

Lesa athyglisskyndiminnið á skilvirkan hátt

Sameina lestur á athyglisskyndiminni

Athygli les lykla og gildi úr KV-skyndiminni við hvert úrvinnsluþrep. Í brotgreiningunni biðja aðlæg GPU-þræði ekki alltaf um aðlæg bít, sem neyðir minnisskerfið til að þjóna fleiri sérstökum færslum. Að virkja samsett álag gerir aðlægum þræðum kleift að biðja um aðlæg bít svo vélbúnaðurinn getur sameinað lestur þeirra.

Á bfloat16-stillingunni jók sameining (coalescing) lykilbandbreidd úr 33,8 í 47,9 GB/s, jók gildi bandbreiddar úr 42,0 í 61,8 GB/s og bætti end-to-end úrvinnslu um 2,1% við 3.840 tákna samhengi.

Pakka fyrirspurnarhausum til að endurnýta KV-raðir

Hópa-fyrirspurnarathygli (grouped-query attention) gerir átta fyrirspurnarhausum kleift að deila einum KV-haus. Í brotgreiningunni (ablation) keyrir hver fyrirspurnarhaus í aðskildum simdgroup, þannig að allir átta biðja sjálfstætt um sömu skyndiminnis KV-röðina. Fínstillti kjarninn pakkar fjórum fyrirspurnarhausum í einn þráðarhóp (threadgroup), sem hleður inn hverri KV-röð einu sinni og endurnýtur hana yfir fjóra athyglisútreikninga. Annar þráðarhópur sér um þrjá... afsakið, þá síðustu fjóra hausa.

Þessi tækni, sem oft er kölluð GQA-pökkun, framkvæmir sömu reikninga og framleiðir eins úttaksbít á meðan hún fækkar átta sjálfstæðum KV-beiðnum niður í tvö sameiginleg álag. Gegn ópökkuðu brotgreiningunni jók hún afköst end-to-end úrvinnslu um 23.8% við 32K tákna samhengi.

Skipta um athyglissnið við langt samhengi

Hvert úrvinnsluþrep í fullu athyglislagi skannar núverandi KV-skyndiminni. Fastblokkarsnið skiptir því skyndiminni í jafna hluta sem grafíkörgjörvinn getur unnið samhliða. Viðbótartímasetning þess er ekki þess virði þegar skyndiminnið er lítið, en fastblokkarsniðið jafnar vinnuna betur eftir því sem samhengið stækkar.

Fyrir þetta líkan heldur keyrsluumhverfið almennu athyglisleiðinni undir 32K táknum og notar fastblokkaleiðina við 32K eða lengur. Skiptingin á við þegar hver haus er með 256 gildi og átta fyrirspurnarhausar deila KV-hausi; aðrar stærðir eru áfram á almennu leiðinni. Brotgreining gerir þessa skiptingu óvirka og notar alltaf almennu leiðina. Að virkja fastblokkaleiðina bætti end-to-end úrvinnslu um 7,7% við 32K, 27,4% við 64K og 40,2% við 128K.

Takmörk frekari hagræðingar

Sumar breytingar bættu einangraða aðgerð en bættu ekki end-to-end ályktun.

Sviðsmyndaágyðing (Speculative decoding), sem notar minna líkan til að leggja til tákn fyrir fulla líkanið til að sannreyna, gerði batch-1 úrvinnslu 18% hægari. Sannprófun vann úr hópum af tveimur til fimm röðum, óhagkvæmu formi fyrir þennan vélbúnað, og raðirnar völdu oft mismunandi sérfræðinga, sem jók magn lesinna sérfræðingavægisgagna. Að minnka úttaksorðabókar dráttarvélarinnar jók afköst dráttarvélarinnar um 4,7–5,1%, en gerði heildar sviðsmyndalykkjuna ekki hraðari. Þessi niðurstaða er vinnuálagssértæk: okkar hópaða Qwen útfærsla á Blackwell notar sviðsmyndaágyðingu við mismunandi aðstæður.

Aðrar tilraunir innihéldu að fækka GPU-ræsingum, láta alla fasa skarast, nota stærri forsöfnunarflísar, beitavíðtækari samruna, flýta fyrir leiðarvalinu og sameina úttaksspá með táknavali. Ekkert af þessu bætti heildar-ályktunarlykkjuna.

Mælingar á vélbúnaðarmörkum sýndu einnig lítið eftirstandandi svigrúm í helstu forsöfnunar- og úrvinnsluaðgerðum. MoE GEMM og GEMV náðu 97,9% og 90,3% af hröðustu viðvarandi lestrarhraða vægis fyrir aðgangsmynstur þeirra. Að fjarlægja reikning úr strjálum GEMV breytti afköstum aðeins um 0,2%, sem staðfestir að vægilestur en ekki útreikningar voru takmarkandi auðlindin. Fylkismargföldun forsöfnunar náði svipað og 93% af fræðilegum fylkismörkum í einangrun og 80–86% innan prófaðra líkana.

Frammistaða frá enda til enda

End-to-end samanburðurinn hleður eins 4-bita gátpunktsbítum í báðum vélum og keyrir eina beiðni í einu á einum 40 kjarna, 128 GB M5 Max. Innan hverrar umferðar keyra vélarnar tvær í skiptisröð til að draga úr hlutdrægni vegna bakgrunnsálags og breytinga á hitastigi flísarinnar. Við berum saman við hraðustu beinu kynslóðarleið MLX-LM, ekki þjóninn hennar, þannig að mælingin einbeitir sér að líkanskeyrslu frekar en þjónustuálagi.

Sveifan nær yfir tíu beiðnilengdir fyrir forsöfnun og tíu samhengislengdir fyrir úrvinnslu, frá 256 til 128K tákna. Forsöfnunarafköst hækka fyrst þegar vélin dreifir föstum uppsetningarkostnaði yfir fleiri tákn. Forsöfnun nær hámarki í kringum 4K tákna beiðni, og fellur síðan vegna þess að tíu full athyglislög framkvæma meiri vinnu eftir því sem beiðnin stækkar. Úrvinnsla er nálægt því að vera slétt við stutt samhengi og minnkar þegar lestur á stækkandi KV-skyndiminni verður verulegur. Sérsniðna vélin er hraðari á öllum skráðum lengdum.

Vegna þess að sérhæfð framkvæmd getur breytt röð fljótkommutengdra aðgerða, könnuðum við einnig tölulegt samræmi við MLX-LM. Í kennara-neyddu samanburði spáðu báðar vélar næsta tákni út frá sama tilvísunarforliði á hverjum 192 staðsetningum, sem kom í veg fyrir að fyrri mismunur hefði áhrif á síðari inntök. Torfkennd (perplexity) Lily var aðeins 0.4% hærri, og hún valdi sama efst-raðaða táknið á 96,35% af prófuðum staðsetningum.

Prefill-gegnumstreymi eftir promptlengd og decode-gegnumstreymi eftir samhengislengd fyrir Qwen3.6-35B-A3B Q4, batch 1, á einni 40-kjarna, 128 GB M5 Max. Yfir tíu lengdir frá 256 upp í 128K tákn er Lily hraðari á hverjum skráðum punkti: 1,13–1,50× prefill-gegnumstreymi MLX-LM og 1,26–1,34× decode-gegnumstreymi þess. Samanburðurinn notar hraðasta beina kynslóðarleið MLX-LM. Báðir láréttu ásarnir nota logaritmískan kvarða; hvorugur lóðrétti ásinn byrjar á núlli.

Smíðað fyrir staðbundið umhverfi

Apple silicon er ekki minni gagnavers-GPU. Það er heildstæður staðbundinn ályktunarvettvangur með sína eigin vélbúnaðar- og hugbúnaðareinkenni. Sameiginlegt minni gefur stökum hnúti mjög hátt þak á hversu mikið líkan og stöðu hann getur geymt. M5 taugahröðlarnir taka við þéttri fylkisvinnu í forsöfnun. VektorALU-arnir sjá um bandbreiddarbundna, litlu-endurnýtingar afganginn í úrvinnslu.

Qwen bætir við frekari tækifærum til sérhæfingar: halda sérfræðingaleiðarvali og endurkomustöðu á grafíkörgjörvanum, útrýma óþarfa millistigum, láta sjálfstæða vinnu skarast, endurnýta deild KV-gögn, og aðlaga kjarna að vinnuálagsformi.

Með líkans- og vettvangssérhæfðri hagræðingu getur ein Mac tölva keyrt stórt strjált líkan á skilvirkan hátt. Framtíðarvinna mun auka umfjöllun yfir líkön, flísar og þjónustuvinnuálag, og breyta þeim kerfum sem staðfest eru hér á einni stillingu í almennari stefnu keyrsluumhverfis.

Víðtækari meginreglan er að aðlaga vélina bæði að arkitektúr líkansins og sérstökum útreiknings- og minnisleiðum vélbúnaðarins. Eftir þar sem framvarðar opnar-þyngdar líkön og vélbúnaður þróast, mun afkastamikil staðbundin ályktun í auknum mæli treysta á vélar sem eru sérsniðnar að hvoru tveggja í stað þeirra sem fela muninn þar á milli.

Tilvitnun

BibTeX
@online{perplexity2026OptimizingOnDeviceInferenceForAppleSilicon,
  author = {{Perplexity} and Yibo Wu and Lequn Chen and Kevin Hu and Phi Hoang and Claire Beamer and Jeremy Yang and Denis Yarats},
  title = {{Optimizing on-device inference for Apple Silicon}},
  date = {2026-09-01},
  url = {https://www.perplexity.ai/hub/blog/optimizing-on-device-inference-for-apple-silicon}
}