”Vallankumouksellisten” huomiomekanismien juju on siinä, että kaikki nyökyttelevät kuin katsoisivat taikuria, ja toivovat hiljaa, ettei kukaan pyydä selittämään temppua. DeepSeek Sparse Attention (DSA) on yksi näistä tempuista – fiksu, nopea ja, jos tarkastelee yksityiskohtia, itse asiassa ymmärrettävissä ilman sadan sivun matematiikan ahmimista. Lupaus: säilytä älykkyys, hylkää laskentatehovero. Todellisuus: se riippuu, mutta tällä kertaa kompromissit näyttävät virkistävän järkeviltä.
Leikataanpa läpi: DSA on tapa suurille kielimalleille kiinnittää huomiota vain olennaiseen. Ei vähän sinne päin. Ei ”ehkä se on relevanttia”. Se on hienojakoinen harva huomiointijärjestelmä, joka karsii täydestä itsehuomiosta johtuvan neliöllisen räjähdyksen – sahaamatta kuitenkaan oksaa, jolla malli seisoo. Jos vanhan mallin huomiointi oli huone, jossa jokaisen sanan on otettava katsekontakti jokaiseen muuhun sanaan, DSA muuttaa sen juhliksi, joissa introvertit viihtyvät: suorat reitit, vähemmän turhia small talk -kiertoteitä ja paljon vähemmän kohinaa.
Mikä DeepSeek Sparse Attention oikeastaan on?
DSA on harva huomiomekanismi, joka vähentää itsehuomion laskennallista monimutkaisuutta arvosta O(L²) arvoon O(Lk), jossa L on sekvenssin pituus ja k on ”säilytettyjen” yhteyksien määrä per token – valitut, oletettavasti relevantit naapurit. Siinä se pähkinänkuoressa. Vähemmän matematiikkaa, enemmän järkeä: sen sijaan, että jokainen token vertaisi itseään jokaiseen muuhun tokeniin, DSA valitsee osajoukon – naapurit, päät, ikkunat, ”ankkurit”, mikä tahansa heuristiikka tai opittu politiikka on mallille järkevintä – jotta aikaa ei hukata turhuuteen.
Jos tämä kuulostaa tutulta, niin se on: harva huomiointi ei ole uutta. Meillä on ollut Longformer, BigBird, lohkoharvat kernelit ja tusina ”paikallisia + globaaleja” hybridejä. Tavallinen ongelma on, että harvat kuviot joko vuotavat palautusta (ne jättävät neulan heinäsuovasta huomaamatta), tai niitä on niin hankala toteuttaa tehokkaasti, että kaikki teoreettiset säästöt ilmenevät kernelin yleiskustannuksina. DSA:n vahvuus on kaksinkertainen: ensinnäkin harvuuskuvio on hienojakoisempi ja mukautuvampi kuin tavallinen lohkoharvuus; toiseksi se on toteutettu päästä päähän tavalla, joka todella toimii oikeissa päättelypinoissa – vLLM mukaan lukien.
Intuitio: Salamanjohdatin, ei ruohonleikkuri
Hyödyllisin näkemäni analogia: DSA toimii kuin salamanjohdatin. Se ei leikkaa koko peltoa; se syöksyy olennaiseen – kuten hyvä toimittaja, joka ylittää kolme kappaletta ja säilyttää lauseen, joka laulaa. Järjestelmä säilyttää pienen joukon korkean signaalin yhteyksiä per token – ajattele top-k jonkin relevanssipisteytyksen perusteella – sekä ohuen rakenteen rungon (paikalliset ikkunat, jaksolliset globaalit tokenit), jotta pitkän kantaman koherenssi ei muutu velliksi.
Insinöörit välittävät analogian jälkeisestä osasta: mitä ”relevanssi” tarkoittaa käytännössä? Eri DSA-kirjoitukset viittaavat heuristiikkaan, joka valitsee ehdokasnäppäimet läheisyyden ja aikaisemman tärkeyden perusteella, minkä jälkeen seuraa tiivis huomiointi näiden ehdokkaiden kesken. Se ei ole taikuutta; se on ensiapua. Säilytät ilmeiset naapurit (paikallinen konteksti on melkein aina hyödyllinen kielelle), ripottelet joukkoon globaaleja ”maamerkkejä” ja reitität huomion valikoivasti lupaaviin ikkunan ulkopuolisiin tokeneihin. Nettovaikutus: pienennetään hakutilaa heikentämättä palautusta. Oikein tehtynä tämä tuntuu vähemmän karsimiselta ja enemmän kunnollisilta tavoilta.
Matematiikka, minimalistinen versio
- Täysi itsehuomio: O(L²d), jossa d on pään dimensio.
- DSA: O(Lkd). Kiinteällä k:lla se on lineaarista L:n suhteen. Tällä on merkitystä pitkien kontekstien kannalta. 128 000 tokenilla GPU-laskusi kiittää sinua.
- Malli ylläpitää dynaamista ehdokasjoukkoa per token. Maksat ehdokkaiden valinnasta sekä niiden välisestä varsinaisesta huomioinnista. Jos ehdokkaiden valinta on vektorisoitu ja välimuistitietoinen, voitat; jos ei, puristat ilmapalloa.
Se on jännite kaikissa harvoissa menetelmissä: vähennä asymptoottisuutta, mutta älä tuo sitä takaisin datan siirtoon ja kernelin käynnistyskustannuksiin. DSA:n ympärillä olevat toteutukset korostavat kernelitason tukea ja ajastimen integrointia, ja viimeaikaiset viestit osoittavat vLLM-tuen laskeutuvan juuri tämän toteuttamiseksi käyttöönottoympäristöissä.
Miksi DSA:lla on merkitystä nyt?
Koska pitkä konteksti on uusi näytön kokosota. Kaikki haluavat 200 000 tokenia ja enemmän – skriptejä, koodikantoja, PDF-tiedostoja, jotka ovat omantunnon kokoisia. Neliöllinen huomiointi noilla pituuksilla on mahdotonta latenssin, suorituskyvyn ja kustannusten kannalta. Voit teeskennellä sitä älykkäällä pilkkomisella ja hakemisella, mutta se on kuin asennat kirjahyllyn autoosi, koska tavaratilasi täyttyy jatkuvasti. DSA:n argumentti on yksinkertaisempi: tee varsinaisesta huomiointivaiheesta ei typerän kallista.
Sivuhyöty on vakaus. Täysi huomiointi erittäin pitkien sekvenssien yli voi muuttua numeerisesti arveluttavaksi ja muistin suhteen kohinaiseksi. Harva huomiointi pienentää työjoukkoa ja vähentää mallin ”unohtamisen” todennäköisyyttä hukkumalla heikkoihin parittaisiin pisteisiin. Säilytät rakenteen rungon ja pienen siivun mukautuvuutta sen päällä. Se on käytännöllinen kompromissi, joka tuntuu kerrankin enemmän insinööripäätökseltä kuin paperiesittelyltä.
Missä DSA sopii harvaan eläintarhaan
- Kiinteät kuviot (paikalliset ikkunat, laajennukset): Nopea, mutta hauras. Jättää huomaamatta pitkän kantaman viittaukset, ellei onnennumerosi ole maksimissa.
- Globaalit tokenit: Lisää ankkureita. Parempi, mutta epämääräinen. Et voi läimäyttää ”CLS:ää” kaikkeen ja kutsua sitä palautukseksi.
- Reititys opittujen politiikkojen kautta: Potentiaalisesti ihanteellinen, toiminnallisesti sotkuinen. Koulutuksen monimutkaisuus ja hauras päättely.
- DSA:n hienojakoinen hybridi: Luo tiivis ehdokasjoukko per token, joka yhdistää paikallisuuden, jäsennellyt globaalit ja korkean signaalin valinnat. Tarkoituksena ei ole olla fiksu – vaan olla johdonmukaisesti riittävän hyvä, jotta latenssi ja laatu skaalautuvat molemmat.
Suorituskyky: O(L²) -veronpalautus
Tähänastinen kattavuus väittää huomattavia kustannussäästöjä – ”puolittavat” kustannukset näkyvät hengästyneissä osissa – mutta pointti ei ole tarkka luku, vaan se, että skaalauskäyrä taipuu takaisin elinkelpoiseksi pidemmissä kehotteissa ja suuremmassa samanaikaisuudessa.
- RAG ja dokumenttikeskustelu yli 100 sivun
- Usean tiedoston koodinavigointi
- Työkaluja käyttävät agentit, jotka pitävät pitkiä luonnoslehtiöitä
…DSA vähentää tokenikohtaista laskentaa ja muistia. Voit työntää kontekstin sinne, missä se on todella hyödyllinen, sen sijaan, että järjestäisit ikkunoiden hakkien paraatin. Varhainen vLLM-tuki viittaa siihen, että tämä ei ole vain penkki-blingiä – se toimii siellä, missä ihmiset ottavat malleja käyttöön.
Varoitukset (eli miksi kukaan ei saisi julistaa voittoa tiistaina)
- Ehdokkaiden valinta ei ole ilmaista. Jos valintarutiini kompastuu välimuistiriveihin tai törmää CPU-GPU-ping-pongiin, harvuuden voitot haihtuvat.
- k on budjetti, ei synnyinoikeus. Liian pieni ja pudotat tärkeitä viittauksia. Liian suuri ja palaat takaisin tiheään.
- Koulutus vs. päättelyristiriita. Jos mallisi on koulutettu tiheäksi ja suoritat sen harvana päättelyn aikana, odota laadun heikkenemistä. DSA:n vahvimmat tulokset näkyvät, kun harvuus on osa harjoitusruokavaliota, ei vain tarjoiluaikaista koristelua.
- Pitkähäntäinen outous. Harvat kuviot joskus epäonnistuvat tyhjästä tulleessa takaisinkutsussa 30 000 tokenia myöhemmin. Hyvät hybridit suojaavat säännöllisillä globaaleilla tai opituilla ankkureilla.
Jos tämä kaikki kuulostaa hyvän hakemiston tekemiseltä kirjaan, niin se on sitä. Liian lyhyt etkä löydä mitään; liian pitkä ja se on vain kirja uudelleen.
Kuinka DSA todennäköisesti valitsee, mitä säilyttää
Yksityiskohdat vaihtelevat toteutuksen mukaan, mutta käsikirja näyttää tältä:
- Paikallinen ikkuna: Säilytä naapurit liukuvan ikkunan sisällä – suurin osa kielirakenteesta on paikallista. 2) Jaksolliset/globaalit tokenit: Lisää säännöllisiä ”majakkoja”, jotka yhdistyvät aina globaalisti. 3) Salience-pisteytys: Käytä kevyitä signaaleja – aikaisemmista kerrosaktivoista, välimuistiin tallennetusta tärkeydestä tai likiarvoista, kuten top-k-samankaltaisuudesta – valitaksesi lisää etäisiä tokeneita. 4) Tiivis huomiointi: Suorita huomiointi vain säilytetyn joukon unionin yli. 5) Toista per kerros, jolloin eri päät voivat suosia eri rakenteita.
Tämä ei ole ortodoksia; se on vain vähiten yllättävää, mikä voisi toimia. Ja ilmeisesti se toimiikin, kun otetaan huomioon nykyaikaisissa päättelypinoissa oleva operatiivinen tuki.
DSA vs. Pilkkominen vs. Nouto: Valitse myrkkysi
- Naive pilkkominen: Nopea, mutta tyhmä – kontekstirajat muuttuvat kallioiksi. Hyvä suorituskyvylle, huono mille tahansa hienovaraiselle.
- Noutoa tehostettu sukupolvi: Älykkäämpi, mutta hauras – riippuu siitä, muistaako noutaja, mitä generaattori tarvitsee myöhemmin.
- DSA-tyylinen harva huomiointi: Pitää koko ketjun kontekstissa ja kohdistaa laskennan sinne, missä sillä on merkitystä. Se ei korvaa noutoa; se tekee noudosta vähemmän välttämättömän.
Rehellinen ratkaisu on sekoitus: nouto vetää asiaankuuluvat asiakirjat, harva huomiointi päättelee pitkiä sekvenssejä sulamatta. Voit tehdä molemmat vihaamatta pilvilaskua.
Laatu: Ymmärtääkö se edelleen?
Miljoonan dollarin kysymys on, pudottaako harva huomiointi hiljaa merkityksen lauseiden välistä. Varhaiset raportit DeepSeek-malleista viittaavat siihen, että laatu säilyy tai paranee pitkässä kontekstissa, koska malli ei tuhlaa todennäköisyysmassaa merkityksettömiin parittaisiin pisteisiin. Temppu on k:n ja globaalin rakenteen virittäminen niin, että mallilla on luotettava runko kehotteen läpi. Ja jälleen kerran, harjoittelu harvuuden kanssa silmukassa on tärkeää – mallit mukautuvat. Se on kuin oppisi ajamaan manuaalivaihteistolla; kun olet saanut rytmin haltuun, et kaipaa automaattia.
Käyttöönoton todellisuus: Kernelit, välimuistit, ajastimet
vLLM-tukihuomautus on syytä mainita: DSA ei ole vain paperitemppu; kernelituen ja aikataulutuksen parissa tehdään oikeaa työtä, jotta se ei pysäytä GPU:ta hajonta-keräämisen teatraalisuudella. Lohkoharvat kernelit, sulatetut operaatiot ja huolellinen KV-välimuistin asettelu tekevät tai murskaavat tämän jutun. Huonoimmat tulokset harvassa huomioinnissa johtuvat täysin järkevistä ideoista, jotka törmäävät muistin kaistanleveyteen ja käynnistyskustannuksiin. Kun ne on käsitelty, harvuus laulaa.
Missä DSA loistaa
- Pitkän kontekstin Q&A jäsenneltyjen asiakirjojen yli. Paikallinen + majakka -sekoitus seuraa osioita ja viittauksia ilman, että se hukuttaa huomiota.
- Koodikannan päättely. Paikalliset ikkunat kaappaavat tiedoston sisäisen kontekstin; jaksolliset/globaalit linkit kulkevat tiedostojen, funktioiden kutsujen ja tuontien yli.
- Agentit luonnoslehtiöillä. Harva huomiointi antaa agentin pitää pitkän työmuistin ilman, että se heikkenee hölynpölyksi sivun viisi jälkeen.
Missä DSA ei (vielä)
- Pienet kehotteet. Tiheä huomiointi on hienoa; harvat yleiskustannukset eivät välttämättä lyhene.
- Erittäin sotkeutunut runous tai pulmakehotteet, jotka vaativat neula heinäsuovasta -loikkia ilman ilmeisiä rakenteellisia vihjeitä. Voit silti virittää k:n, mutta menetelmä pitää enemmän kuvioista kuin arvoituksista.
Tässä on testi kaikille näille tekniikoille: tekevätkö ne työkaluista parempia muuttamatta käyttäjiä maksamattomiksi laadunvarmistusinsinööreiksi? Ajoissani työkalut, jotka integroivat harvaa huomiointia hyvin – erityisesti asiakirja- ja koodikeskustelussa – tuntuvat vähemmän temperamenttisilta. Sider.AI itse asiassa pelaa tässä: kun liität sisään 80-sivuisia eritelmiä tai tarpot läpi repoa, kyky pitää pitkä, johdonmukainen säie ilman pysähtymistä tai hallusinoimista sivusta 47 on tärkeää. Markkinointi ei ylpeile ”hienojakoisella harvuudella”, ja se on hienoa. Käyttäjät välittävät siitä, että se pysyy reagoivana, pitää kontekstin suorana eikä maksa kuin viikonloppu Vegasissa. Jos työskentelet suurten, sotkuisten syötteiden kanssa, tämäntyyppinen huomiotemppu on juuri sellainen konepellin alainen muutos, joka näkyy vähempinä syylinä ja nopeampina vastauksina. Käytännön ohjeet: Jos olet päättämässä, käytätkö DSA:ta
- Kontekstisi on rutiininomaisesti >32 000 tokenia: kyllä, arvioi se.
- Omistat käyttöönottopinon (vLLM, Triton-kernelit, KV-välimuistin viritys): kyllä, erityisesti.
- Olet jumissa tiheästi koulutettuihin painoihin etkä voi kouluttaa uudelleen: testaa huolellisesti; harkitse osittaista harvuutta tai pääkohtaista harvuutta.
- Latenssiherkät, korkean QPS:n työkuormat: tässä käyrän taivuttaminen on tärkeää. Mittaa p95 ja p99.
Ja ole hyvä ja Jumalan tähden, vertaile oikeilla kehotteilla, älä synteettisellä lorem ipsumilla. Harvat menetelmät elävät tai kuolevat realistisissa relevanssin jakaumissa.
Meta-pointti: Harvuus hyvänä makuna
Tässä on estetiikka. Mallit, jotka huomioivat kaiken yhtä lailla, ovat kuin kokouksia, joissa kaikki puhuvat. Näyttää demokraattiselta, ei saa mitään aikaan. DSA:n herkkyys on toimituksellinen: keskity mielenkiintoisiin osiin, ylläpidä runkoa ja pidä budjetti. Jos haluat oppitunnin, joka on laajempaa kuin koneoppiminen, tässä se on. Hyvät järjestelmät eivät tee kaikkea. Ne tekevät oikeat asiat nopeasti.
Vääjäämätön tulevaisuus: Kouluta harva, palvele harva
Näemme enemmän malleja, jotka on koulutettu päästä päähän harvoilla kuvioilla. Sieltä tulee viimeiset 10–15 % laadusta ja vakaudesta: annetaan mallin induktiivisten vinoumien olla linjassa palvelupolun kanssa. Jos palvelet harva, mutta koulutat tiheästi, pyydät mallia vaihtamaan vaihteita moottoritiellä. Se voi toimia, mutta älä ole järkyttynyt, kun se syöksyy.
Sillä välin kehykset tekevät harvoista kuvioista yhdisteltäviä: paikalliset ikkunat + jaksolliset globaalit + opitut ankkurit + noutotietoiset tokenit. Tuo viimeinen bitti – silmukan sulkeminen noutajan salienssin ja huomion salienssin välillä – tuntuu seuraavalta ilmeiseltä askeleelta. Kun se, mitä noudat, kertoo, mitä huomioit, lopetat ping-pongin kahden puoliksi sokean järjestelmän välillä.
Joten miten DSA toimii? Lyhyt vastaus
- Se valitsee tiiviin joukon todennäköisesti relevantteja tokeneita jokaiselle tokenille – enimmäkseen paikallisia, joitain globaaleja, joitain älykkäitä valintoja.
- Se suorittaa huomioinnin vain tuon joukon yli, mikä vähentää laskennan neliöllisestä suunnilleen lineaariseksi kontekstin pituudessa.
- Se luottaa huolellisiin kerneleihin ja välimuistin asetteluun, jotta teoreettiset säästöt näkyvät todellisina latenssivoittoina.
- Se pitää yllä laatua säilyttämällä rakenteen ja riittävän globaalin yhteyden, jotta pitkän kantaman viittaukset eivät katoa.
Siinä se. Ei suitsukkeita, ei loitsuja. Vain pakotettua hyvää makua siinä, mitä huomioida.
Käännekohta (koska sellainen on aina)
Jokaisella tekoälytempulla on lopulta pettymyksensä hetki. Harva huomiointi jättää huomaamatta jotain tärkeää, luultavasti kehotteessa, jonka on laatinut älykäs kriitikko, joka vaatii, että mallin pitäisi yhdistää säkeistö kolme säkeistöön kolmekymmentäseitsemän kielten yli jonglööraten samalla funktion allekirjoituksen kanssa. Hyvä on. Mutta suurin osa todellisesta työstä ei ole runoutta/vertailuarvoja – se on tekstin, koodin ja faktojen jauhamista. Sitä varten DSA ei ole vain mukava idea. Se on ero mallin välillä, joka teeskentelee lukevansa kontekstisi, ja mallin välillä, joka todella osaa.
Ja jos voit tehdä sen polttamatta reikää pilvibudjettiin? Se ei ole temppu. Se on edistystä.
FAQ
K1: Miten DeepSeek Sparse Attention (DSA) toimii selkokielellä?
DSA kaventaa huomion tokeneihin, joilla on merkitystä – enimmäkseen lähellä olevaan tekstiin, muutamiin globaaleihin ankkureihin sekä lyhyeen luetteloon korkean signaalin valintoja. Sen sijaan, että vertailuja olisi O(L²), se suorittaa O(Lk), säilyttäen laadun säilyttämällä rakenteen ja vähentämällä laskentaa.
K2: Onko DSA parempi kuin pilkkominen tai nouto pitkässä kontekstissa?
DSA pitää kaiken yhdessä säikeessä ja keskittää laskennan sinne, missä sillä on merkitystä; pilkkominen luo kallioita ja nouto voi olla unohdus. Parhaat asetukset sekoittavat noudon hakemiseen DSA:n kanssa päättelemään pitkässä kontekstissa ilman neliöllistä veroa.
K3: Heikentääkö DSA mallin laatua verrattuna tiheään huomiointiin?
Jos koulutat ja palvelet harvuus mielessä pitäen (ja asetat k:n järkevästi), laatu säilyy – usein paremmin pitkien kontekstien kannalta, koska malli ei huku aliarvoisiin pareihin. Tiheästi koulutettujen painojen palveleminen harvoina voi ajautua, joten vertaile oikeilla kehotteilla.
K4: Mitkä työkuormat hyötyvät eniten DSA:sta?
Pitkän kontekstin asiakirjojen Q&A, koodikannan navigointi ja agenttien luonnoslehtiöt. Missä tahansa sekvenssin pituus kasvaa ja tiheä huomiointi muuttuu latenssiksi, muistipaineeksi ja nouseviksi kustannuksiksi.
K5: Tukeeko vLLM DSA:ta käyttöönottoa varten?
Kyllä – viimeaikaiset viestit osoittavat vLLM:n integroivan tuen DeepSeekin hienojakoiselle harvalle huomioinnille, ja kernelin ja ajastimen työ tekevät siitä käytännöllisen tuotantoputkissa.