Запознайте се с qwenGPU: Qwen3.5-2B с 45 компилирани GPU слоя, които изпълняват CUDA
qwenGPU е експериментален модел, който компилира SIMT GPU директно в теглата на Qwen3.5-2B. Разработчикът Vixhal (@TheVixhal) го публикува в GitHub под лиценза MIT. Моделът изпълнява реален CUDA, компилиран до NVIDIA PTX, в рамките на собствените си forward pass-ове. За разработчиците това тества една идея: точно изчисление вътре в предварително обучен LLM, а не редом до него.
Накратко
- Размер: Qwen3.5-2B (24 слоя), заедно с 45 компилирани GPU слоя, общо 69. Контекст: 262 144 токена (базовият модел).
- Работи на: Apple silicon, NVIDIA GPU или CPU, с около 16 GB свободна памет. Няма квантизирана версия.
- Производителност: Всяко стартиране в тестовете на разработчика беше точно; отклонението на текста е KL около 7e-4.
- Най-добро: Референтният интерпретатор съвпадна с реална NVIDIA Tesla T4 при 49 от 49 ядра.
- Най-лошо: Около 10 до 15 токена в секунда на Apple MPS; CUDA кодът, написан от Qwen, премина 4 от 5 теста.
Какво представлява qwenGPU?
qwenGPU е Qwen3.5-2B с 45 компилирани трансформърни слоя, поставени пред собствените 24 слоя на Qwen. Нито един от тези слоеве не е обучаван. Компилатор изчислява всяко тегло.
Как GPU се побира в теглата на модела?
GPU е 4-канална SIMT машина. Тя разполага с 15 регистъра на канал, 4-степенен конвейер, ROM с 32 блока и 126 думи памет. Използва само собствените типове слоеве на Qwen3.5: линейно внимание Gated DeltaNet и MLP слоеве SwiGLU.
Трикът е рекурентното състояние на Gated DeltaNet. В главите на схемата гейтът се поддържа отворен, а силата на запис е 1. Всеки ключ е one-hot. Всяка актуализация презаписва точно 1 ред, а one-hot заявка го прочита обратно. Така всеки ред функционира като клетка памет.
Това състояние съхранява програмния ROM, регистрите и глобалната памет. README файлът посочва 16 реда регистри на канал, като 1 от тях винаги връща нула. Това съответства на 15-те използваеми регистъра в публикацията в X.
GPU поддържа целочислена аритметика, предикати, разклонения и цикли с различно изпълнение. Поддържа също споделена памет, atomicAdd, __syncthreads() и разбъркване на warp-ове.
Какво се случва по време на CUDA стартиране?
Хостът играе ролята на NVRTC и CUDA драйвера. Той компилира CUDA до PTX с clang, след което преобразува PTX в машинни блокове. Подаването на програмата и входните масиви към модела се извършва като токени.
Оттам нататък моделът сам записва стартирането. Всеки токен EXEC(b, w) изпълнява блок b за warp w в рамките на 1 forward pass. Следващите VAL токени пренасят резултатите от регистрите. Записите в паметта се връщат като записи MEM. Хостът прочита резултатите от рекурентното състояние и не изчислява нищо от тях.
В демо видеото скаларното произведение на [1, 2, 3] и [4, 5, 6] връща 32. Моделът записа това стартиране в 47 токена.
Запознайте се с qwenGPU: Qwen3.5-2B със SIMT GPU вътре в теглата си, с 45 компилирани слоя пред собствените слоеве на Qwen, използващи слоевете Gated DeltaNet като регистри и памет.
— vixhaℓ (@TheVixhal) 1 ноември 2026 г.
Той изпълнява реален CUDA в своите forward pass-ове. Хостът компилира ядрото до PTX и го зарежда, след което моделът записва всяко… pic.twitter.com/iM5IETEbIv
Нарушава ли GPU способността на Qwen да генерира текст?
Не според измерването на разработчика. Схемата е заглушена при текстови токени, а собствените тегла на Qwen не са променени. Разпределението на следващия токен на слетия модел остава в рамките на KL около 7e-4 спрямо оригинала.
Колко точен е qwenGPU?
Всички числа са предоставени от разработчика и са измерени на Apple silicon с MPS в bf16:
- Всяко стартиране беше точно при възпроизвеждане с
--check. - Референтният интерпретатор съвпадна с NVIDIA Tesla T4 при 49 от 49 тестови ядра.
- В нормален режим бяха дадени отговори на 20 от 24 извадкови чат въпроса с изчислени от GPU числа.
- В разширен режим беше написано коректно ядро от първия опит при 4 от 5 въпроса.
В нормален режим Qwen записва израз като [1, 2, 3] @ [4, 5, 6] за готови ядра. В разширен режим Qwen сам записва CUDA ядрото. README файлът предупреждава, че CUDA кодът на модел с 2B параметъра все още е ненадежден.
Как qwenGPU се сравнява с Qwenputer и Percepta?
qwenGPU използва компилатора за трансформъри от Qwenputer на Divyansh Agrawal. Qwenputer компилира 32-битов RISC-V CPU в Qwen3.5-4B. Percepta изгради интерпретатор на WebAssembly в трансформър с 2D глави за внимание през март 2026 г.
| Характеристика | qwenGPU | Qwenputer (RISC-V) | Percepta |
|---|---|---|---|
| Базов модел | Qwen3.5-2B, 24 слоя | Qwen3.5-4B | Персонализиран трансформър с 2D глави за внимание |
| Вградена компилирана машина | 4-канален SIMT GPU | 32-битов RISC-V (RV32IM + Zba + bignum) | Интерпретатор на WebAssembly |
| Програми, които изпълнява | CUDA, преобразуван от PTX | C и MicroPython | C, компилиран до WebAssembly |
| Компилирани слоеве | 45 | 11 | Не е посочено |
| Къде се съхранява състоянието | Състояние на Gated DeltaNet | Състояние на Gated DeltaNet | Трейсът на изпълнението в контекста |
| Роля на хоста | Компилира CUDA до PTX, зарежда токени, прочита резултатите | Зарежда фърмуера; не извършва изчисления | Не е посочено |
| Проверка на коректността | Интерпретаторът съвпадна с Tesla T4 при 49 от 49 ядра | 0 несъответствия при около 230 000 възпроизведени позиции | Твърди се, че има милиони надеждни стъпки |
| Отчетена скорост | 10 до 15 токена/с (Apple MPS) | Около 3200 токена от трейса/с (L4, Triton) | Над 30 000 токена/с (CPU) |
| Отклонение на текста спрямо базовия модел | KL около 7e-4 | KL 6e-4 | Неприложимо |
| Лиценз | MIT за кода; Apache-2.0 за checkpoint-а | MIT за кода; Apache-2.0 за теглата | Не е посочено |
Данните за скоростта са получени с различен хардуер и различни типове токени, така че не са пряко сравними.
Какво ви е необходимо, за да го стартирате?
Ръководството за бърз старт изисква Python 3.11+, uv, just и около 16 GB свободна памет. Разширеният режим изисква също clang с NVPTX backend. just build изтегля Qwen3.5-2B и компилира GPU в него. Няма публикуван предварително изграден checkpoint. Изграденият checkpoint попада под лиценза Apache-2.0 на Qwen.
Основни изводи
- qwenGPU компилира 4-канален SIMT GPU в Qwen3.5-2B като 45 необучени слоя.
- Състоянието на Gated DeltaNet служи като регистри, програмен ROM и глобална памет.
- Моделът записва всяка стъпка от CUDA стартирането; хостът само компилира и зарежда.
- Интерпретаторът съвпадна с Tesla T4 при 49 от 49 ядра.
- При 10 до 15 токена в секунда това е изследователска демонстрация, а не среда за изпълнение.
Разгледайте GitHub хранилището, CUDA справочника на qgpu, картата на модела Qwen3.5-2B и оригиналната публикация в X. Също така, не се колебайте да ни последвате в Twitter и не забравяйте да се присъедините към нашия ML SubReddit с над 150 хил. членове и да се абонирате за нашия бюлетин. Чакайте! В Telegram ли сте? Вече можете да се присъедините към нас и в Telegram.
Искате да си партнирате с нас за популяризиране на вашето GitHub хранилище ИЛИ страница в Hugging Face ИЛИ представяне на продукт ИЛИ уебинар и т.н.? Свържете се с нас
Преведено автоматично от английски. Оригиналната статия е на връзката по-долу.