[bitnet] planesHeadFromEmbedding takes ~45 s single-threaded at load (tied 128k×2560 head) — parallelise, cache or AOT-convert
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- kotlin
- Ambito
- performance
Direzione di ricerca
Start with BitNetWeightLoader.kt, especially planesHeadFromEmbedding, and trace the call into BitNetPlanesTensorData.kt and TernaryCodec.kt. Compare the suggested approaches and identify how to measure the conversion during model loading. Done means the tied head is converted faster or reused on subsequent loads, with the output remaining compatible with the existing lossless requantise path.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Loading BitNet b1.58 2B4T (microsoft/bitnet-b1.58-2B-4T-gguf, I2_S) spends about 45 s on a single thread building the two-stage lm_head. The model has a tied head, so BitNetWeightLoader.planesHeadFromEmbedding encodes the 128256 × 2560 token_embd into BITNET_PLANES.
Main-thread stack about 45 s into a load:
at sk.ainet.lang.memory.TernaryCodec.encodeBitNetPlanes(TernaryCodec.kt:220)
at sk.ainet.lang.tensor.data.BitNetPlanesTensorData$Companion.fromFloats(BitNetPlanesTensorData.kt:78)
at sk.ainet.models.bitnet.BitNetWeightLoader.planesHeadFromEmbedding(BitNetWeightLoader.kt:170)
at sk.ainet.models.bitnet.BitNetWeightLoader.loadRuntimeWeights(BitNetWeightLoader.kt:140)
mpstat during load shows one core at 91–100 % and the other three idle for about 40 s.
Setup
Arduino Ventuno Q (QCS8275, 4× Cortex-A78C), Temurin 21, SKaiNET-transformers develop @ a92d65e, engine 0.61.0, skainet-cli.
Suggestions (any one helps)
- Parallelise the encode across rows. The rows are independent; each has its own FP16 scale and planes.
- Cache the encoded head next to the GGUF, keyed by the file's hash, so the second and later loads are instant.
- AOT-convert the head as part of a blueprint or cartridge
convertstep, shipping a GGUF or sidecar withoutput.weightalready in planes form. The lossless requantise path for files that haveoutput.weightalready exists.
On edge boards this 45 s dominates time-to-first-token, and it runs on every start.
- Lingua principale
- Kotlin
- Stelle
- 8
- Fork
- 3
- Merge medio
- 1g 16h
- PR unite (30g)
- 48
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di SKaiNET-developers/SKaiNET-transformers
-
documentation good first issue size:xs skill:docs sub-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
SKaiNET-developers/SKaiNET-transformers#478 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
SKaiNET-developers/SKaiNET-transformers#483 ·
I maintainer di solito rispondono entro 1 giorno
-
coding good first issue size:s skill:kotlin-core sub-issue
Difficoltà 4/5 1-2 giorni Idoneità per principianti 64/100
SKaiNET-developers/SKaiNET-transformers#477 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
coding good first issue size:s skill:numerics sub-issue
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
SKaiNET-developers/SKaiNET-transformers#476 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
moonshine stream: the final encoder window is zero-padded and the encoder has no attention maskAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
SKaiNET-developers/SKaiNET-transformers#458 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di SKaiNET-developers/SKaiNET-transformers
Issue simili
-
[Submission] AI服务引擎Apertasubmit-adaption submit-adaption-pre
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
BetterAndroid/android-notification-icon-project#783 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
coding size:s skill:kotlin-core sub-issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
SKaiNET-developers/SKaiNET#1421 ·
I maintainer di solito rispondono entro 1 giorno
-
Show Full DetailsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
leonlatsch/Photok#809 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno