Spring til indhold
AiNews.dkDanske nyheder om Kunstig Intelligens

Topnyheder

Flere chips deler AI-arbejdet og letter tunge modeller

Ny row-split i Hexagon-bagenden deler rækker mellem flere enheder i en gruppe og fordeler arbejdet i fused kernels.

1 kildeVedtaget af NIel AutopilotRettet 12. september 2026 kl. 09.18
Læst op af en AI-stemme

Læs i dit tempo

Kort

Llama.cpp-udgivelsen b10920 fordeler modelrækker over flere Hexagon-enheder (specialchips til AI-beregning) i samme gruppe. Det betyder noget, fordi arbejdet deles mere jævnt, fejl i synkronisering (samkøring af enheder) rettes, og unødig flytning af data reduceres. Nu er dokumentationen opdateret, men der mangler stadig tal for hastighed og hukommelse.

Begynder

Hvad nu hvis en stor opgave deles som en lagkage i rækker? Det er idéen her. Llama punkt cpp, altså programmet mange bruger til at køre sprogmodeller selv, kommer i udgaven b10920. Den tilføjer rækkeopdeling, kaldet row-split, til Hexagon, altså en bestemt type regnechip. Modellen deles over flere enheder, så rækker fordeles mellem enheder i samme gruppe. Det er lidt som naboer i samme opgang, der hver tager nogle etager ved trappevask. Enhedsopsætningen skrives om til at støtte grupper. Kørselsskriptet, altså den lille opskrift der starter programmet, opdateres til at læse grupper. Bidragene kommer fra Max Krasnyansky og Alexander Lu.

Hvordan holder man styr på delingen uden rod? Arbejdsdelingen lægges ind i sammensmeltede kerner, kaldet fused kernels, altså små færdige regnemaskiner hvor flere trin er bagt sammen. Det gælder også sammensmeltet dobbelt og tredobbelt matrixmultiplikation, kaldet fused 2x og 3x matmuls, altså at gange store taltabeller to eller tre ad gangen. Det hele samles bag et tjek på, om mere end én enhed er aktiv. Det skal holde al fordelingslogik ét sted. Rettelsen dækker både tunge og simple operatorer, altså regneregler i programmet. Det er matrixmultiplikation i koden kaldet MUL_MAT, kopiering i koden kaldet CPY, binære operatorer altså regler med to inputs, Gated Linear Unit forkortet GLU altså en lågestyret filterregel, Rotary Position Embedding forkortet ROPE altså en regel for rækkefølge af ord, udfyldning i koden kaldet PAD, aktiveringsfunktioner altså tænd-sluk-regler, og sortering med positioner kaldet argsort. De får alle rettet fordeling af arbejdet. Klumper til mnpu, altså små datapakker til regnedelen, rettes til cachelinjer, altså små faste portioner i hurtig hukommelse. Fejl i stride, altså springlængden i hukommelsen, og brug af trådtælling, altså antal samtidige arbejdsstrenge, rettes.

Mon delene så kan mødes pænt igen? Synkronisering fylder det meste af listen. Det er lidt som at vente ved vejarbejde, til alle er klar. Hegnsposter til synkronisering, kaldet fence-tildeling, får reserverede pladser til brug med flere enheder. Tømningslogik for mellemlager, kaldet flush-logik, forenkles. Beskidte områder, altså ændrede hukommelsesfelter, flettes for at skære i antallet af tømninger. Fejlhåndtering for fælles summering i koden kaldet ALLREDUCE, altså at alle enheder lægger deres del sammen, og kopieringshegn i koden kaldet CPY_FENCE strammes. Koden fletter ikke fælles summering og addition i koden kaldet ADD, når de skriver til samme mål. Bruger- og udviklerdokumentation opdateres med de nye funktioner og en guide til udvikling af operatorer. Buffer-håndtering, altså styring af midlertidig lagerplads, ved affrakobling af kopi kaldet uncloning rettes til tensoropdeling kaldet tensor-split, altså opdeling af den store taltabel. Listen nævner ingen tal for hastighed, hukommelse eller understøttede enheder.

Redaktionel illustration til „Flere chips deler AI-arbejdet og letter tunge modeller“
Genereret illustration · ikke et fotografi fra historien

Llama.cpp-udgivelsen b10920 tilføjer row-split til Hexagon. Modellen deles over flere enheder, så rækker fordeles mellem enheder i samme gruppe.

Enhedsopsætningen skrives om til at støtte grupper. Run-scriptet opdateres til at læse grupper. Bidragene kommer fra Max Krasnyansky og Alexander Lu.

Arbejdsdelingen lægges ind i fused kernels, herunder fused 2x og 3x matmuls. Den samles bag et tjek på, om mere end én enhed er aktiv. Det skal holde al fordelingslogik ét sted.

Rettelsen dækker både tunge og simple operatorer. MUL_MAT, CPY, binære operatorer, GLU, ROPE, PAD, aktiveringsfunktioner og argsort får rettet fordeling af arbejdet. Chunks til mnpu rettes til cachelinjer. Fejl i stride og brug af trådtælling rettes.

Synkronisering fylder det meste af listen. Fence-tildeling får reserverede pladser til multi-device, flush-logik forenkles, og beskidte områder flettes for at skære i antallet af flush. Fejlhåndtering for ALLREDUCE og CPY_FENCE strammes. Koden fletter ikke ALLREDUCE og ADD, når de skriver til samme mål.

Bruger- og udviklerdokumentation opdateres med de nye funktioner og en guide til udvikling af operatorer. Buffer-håndtering ved uncloning rettes til tensor-split. Listen nævner ingen tal for hastighed, hukommelse eller understøttede enheder.

Det er uklart: Kilden er kun commit-titler uden tal for hastighed eller hukommelse, uden liste over understøttede enheder og uden eksempel på brug.

Kilder

  1. b10920: hexagon: support for multi-device model split (aka row-split) (#28589) github.com
Produktionshistorie
  1. Radar Signal ? af 100 · spredning 1 kilder
  2. Vurdering Nyheds 3/5 — teknisk llama.cpp-forbedring til split-inference på Hexagon-hardware
  3. Skrevet Model: deepseek-v4-flash · temperatur 0.4
  4. Overskrift 5 kandidater, valgt af deepseek-v4-flash
  5. Korrektur 1 zen · 4 rettelser
  6. Billede Genereret af gemini-2.5-flash-image
  7. Vedtagelse ainews-auto-v3 · score 0.4322