Jedna platforma, 1.930 algoritama, svaki backend: kako smo izgradili kompletan stack za diskretni AI
Problem fragmentacije
Vaše okruženje za razvoj umjetne inteligencije fragmentirano je.
Prototipirate u PyTorchu jer ga istraživači preferiraju. Implementirate s TensorFlowom jer proizvodni timovi žele Googleov alat. Pišete CUDA jezgre za NVIDIA GPU-ove. Prenosite na ROCm za AMD hardver. Sve prepisujete za mobilne uređaje koristeći TensorFlow Lite ili Core ML. Koristite ONNX za pretvorbu između okvira, nadajući se da ništa neće puknuti. Održavate zasebne kodne baze za implementaciju u oblaku, na rubu i u pregledniku.
Deset različitih alata. Tisuće ovisnosti. Noćne more s kompatibilnošću verzija. Razorne promjene u svakom ciklusu izdanja.
Ažurirate PyTorch? Nadajte se da vaša CUDA verzija odgovara. Želite implementirati na AMD? Prepišite svoje jezgre. Trebate zaključivanje u pregledniku? Krenite ispočetka s WebAssemblyjem. Prelazite s NVIDIA na AMD GPU-ove? Sretno s prenošenjem te kodne baze. Implementirate na FPGA? Naučite potpuno drugačiji alatni lanac.
Ova fragmentacija nije slučajnost. To je prirodni rezultat toga što svaki okvir optimizira za svoj specifični slučaj upotrebe dok ignorira interoperabilnost. PyTorch izvrstan je u istraživanju, ali implementaciju tretira kao naknadnu misao. TensorFlow cilja na proizvodnju, ali iskustvo istraživanja je bolno. CUDA vas zaključava na NVIDIA hardver. Svaki alat rješava jedan problem dok stvara tri nova.
Postoji bolji način.
Dweve Core: Potpuna platforma za diskretnu umjetnu inteligenciju
Dweve Core jedinstvena je platforma za izgradnju diskretnih neuronskih mreža od binarne do 8-bitne preciznosti. To nije još jedan okvir. To je potpuna zamjena za vaš fragmentirani stog.
Jedna instalacija. Jedan API. Jedna kodna baza. Automatska implementacija na CPU, GPU, FPGA, WebAssembly, gdje god trebate pokrenuti.
Evo što znači potpuno:
1.930 algoritama koji pokrivaju svaku operaciju koja vam je potrebna:
- 415 primitiva: Atomske operacije poput XNOR-a, popcounta, manipulacije bitovima, kvantizacije, pretvorbe između formata
- 500 jezgri: Optimizirane složene operacije za uobičajene obrasce
- 191 slojeva: Potpuni gradivni blokovi neuronskih mreža (konvolucija, gusti sloj, normalizacija, aktivacija, pozornost)
- 674 algoritma: Metode visoke razine uključujući transformacije, postupke treniranja, evolucijsko pretraživanje, destilaciju znanja
- 30 interop uslužnih programa: Opcijski mostovi s pomičnim zarezom za hibridne pristupe
- 120 arhitektura modela: Unaprijed optimizirani predlošci mreža od ResNets do Transformersa
To nije podskup. To je matematička potpunost. Analizirali smo svaku veću arhitekturu neuronskih mreža i izgradili svaku operaciju koju zahtijevaju, optimiziranu za diskretno računanje iz prvih načela.
6 pozadinskih sustava s automatskom kompilacijom:
- SIMD CPU: Ručno optimizirane jezgre za x86 i ARM s automatskom detekcijom ISA-e (SSE2, AVX2, AVX-512, NEON, SVE/SVE2)
- CUDA: Optimizacija za NVIDIA GPU-ove s primitivima na razini warpova i iskorištavanjem Tensor Corea
- Rust-HDL: Izravna sinteza FPGA i ASIC-a iz opisa algoritama
- WebAssembly: Zaključivanje u pregledniku s podrškom za SIMD128 za obradu na uređaju u skladu s GDPR-om
- ROCm: Optimizacija za AMD GPU-ove s operacijama na razini wavefrontova
- Metal: Optimizacija za Apple Silicon koristeći arhitekturu jedinstvene memorije
6 širina bitova s adaptivnom preciznošću:
- Binarno (1-bit): Maksimalna učinkovitost uz 16× kompresiju u odnosu na FP16
- Ternarno: {-1, 0, +1} s eksplicitnom rijetkošću
- 2-bitno: Četiri razine za uravnoteženu kompresiju
- 3-bitno: Osam razina za slojeve osjetljive na kvalitetu
- 4-bitno: Šesnaest razina koje se približavaju kvaliteti FP16
- 8-bitno: Gotovo puna preciznost za kritične operacije
Platforma tijekom treniranja uči optimalnu širinu bita po sloju putem odabira temeljenog na gradijentu. Bez heuristika. Bez nagađanja. Stvarna optimizacija temeljena na tome koliko se točnost poboljšava s dodanom preciznošću.
Napiši jednom, implementiraj svugdje
Platforma koristi deklarativni Rust API. Opisujete što želite, a kompajler pronalazi način da to optimalno izvede na vašem ciljnom hardveru.
Primjer definicije mreže:
let model = NetworkBuilder::new()
.input(BinaryTensor::new([1024, 784]))
.dense(784, 512, activation=BinaryActivation::Sign)
.dense(512, 256, activation=BinaryActivation::Sign)
.output(256, 10)
.build();
To je sve. Napišete ovo jednom, a kompajler automatski generira optimizirane implementacije za svaki pozadinski sustav.
Kompilacijski proces radi na četiri razine:
Razina 1: IR neuronske mreže - Vaš opis mreže na visokoj razini pretvara se u računalni graf s operacijama, protokom podataka i hiperparametrima.
Razina 2: Optimizacija grafa - Standardni kompajlerski prolazi uklanjaju mrtvi kod, sažimaju konstante, dedupliciraju izraze i spajaju sekvencijalne operacije. Gusti sloj nakon kojeg slijedi normalizacija serije i aktivacija postaje jedan spojeni kernel koji učitava ulaz jednom i proizvodi konačni izlaz.
Razina 3: BitOps dijalekt - Graf se spušta na operacije na razini bita eksplicitno tipizirane preciznošću. Taj međuprikaz ne ovisi o hardveru, ali je blizak stvarnim strojnim operacijama. Izgrađen na MLIR (Multi-Level Intermediate Representation) infrastrukturi za industrijski čvrstu optimizaciju.
Razina 4: Spuštanje na hardver - Konačno generiranje koda proizvodi implementacije specifične za platformu. Za AVX-512, bitne operacije postaju VPXORQ i VPOPCNTQ instrukcije. Za CUDA, postaju warp-level intrinsics s koalesciranim pristupom memoriji. Za FPGA, postaju XNOR vrata i stabla zbrajala sintetizirana u Verilog.
Isti izvorni kod radi na CPU-u vašeg prijenosnika tijekom razvoja, implementira se na GPU-ove u oblaku u produkciji i kompajlira na FPGA-ove za determinističko zaključivanje u stvarnom vremenu. Bez prevođenja. Bez portiranja. Bez koda specifičnog za platformu.
Izgrađeno za korisnike koji žele graditi
Dweve Core pokreće Dweve Loom, naš sustav za zaključivanje temeljen na ograničenjima. Ali nije samo za nas. To je potpuna platforma za svakoga tko gradi diskretne neuronske mreže.
Možete izgraditi:
- Prilagođene arhitekture koristeći 191 tip slojeva i 674 algoritma
- Modele specifične za područje optimizirane za vaše točne zahtjeve
- Hibridne pristupe koji miješaju diskretno i kontinuirano računanje putem 30 interop uslužnih programa
- Nove metode treniranja koristeći evolucijsko pretraživanje, destilaciju znanja ili prilagođene procjenitelje gradijenata
Platforma pruža:
Potpunu infrastrukturu za treniranje: Šest varijanti straight-through procjenitelja za binarni/ternarni protok gradijenata. Optimizatore svjesne binarne reprezentacije koji interno održavaju težine pune preciznosti dok ih binariziraju za prolaze unaprijed. Automatski odabir širine bita putem optimizacije temeljene na gradijentima. Progresivnu višestupanjsku destilaciju od FP32 kroz INT8, INT4, ternarni, do binarnog.
Automatsku optimizaciju hardvera: Otkrivanje CPU mogućnosti u stvarnom vremenu (CPUID na x86, sistemski registri na ARM) i automatsko usmjeravanje na najbržu dostupnu SIMD implementaciju. Varijante GPU jezgri odabrane na temelju veličine warp-a, dijeljene memorije i broja registara. FPGA sinteza s automatskim umetanjem registara u cjevovod na temelju vremenskih ograničenja.
Fleksibilnu kvantizaciju: Simetrična i asimetrična kvantizacija s ljestvicama po tenzoru, po kanalu ili po grupi. Dinamička kvantizacija s otkrivanjem raspona u stvarnom vremenu ili statička kvantizacija s unaprijed izračunatim ljestvicama iz kalibracijskih podataka. Izračun ljestvica optimalan prema MSE i temeljen na KL divergenciji za minimalan gubitak točnosti.
Zašto je diskretno računanje važno
Tradicionalne neuronske mreže sve računaju u pomičnom zarezu od 16 ili 32 bita, a zatim donose diskretne odluke na kraju. Mi djelujemo izravno u diskretnom prostoru od binarnog do 8-bitnog, eliminirajući posredno kontinuirano računanje.
Ovo nije jednostavna kvantizacija postojećih modela. Okvir je arhitektonski izgrađen od temelja oko diskretnih operacija:
Hardverska stvarnost: Moderni procesori sastoje se od milijardi tranzistora u dva stanja. XNOR vrata zahtijevaju 6 tranzistora. Množilac s pomičnim zarezom od 32 bita zahtijeva tisuće i troši redove veličine više energije. Diskretne operacije usklađene su s hardverskim temeljima.
Učinkovitost memorije: Binarne težine pakiraju 64 vrijednosti po 64-bitnoj riječi. ResNet-50 s 25,6 milijuna parametara zauzima 3,1 MB u binarnom obliku naspram 50 MB u FP16. Cijeli model stane u L3 predmemoriju CPU-a (tipično: 36-64 MB). Postajete ograničeni računanjem umjesto memorijom.
Fleksibilnost implementacije: Mali modeli omogućuju zaključivanje na uređaju. Bez ovisnosti o oblaku. Bez mrežnog kašnjenja. Bez brige o privatnosti podataka. Obrađujte osjetljive informacije u potpunosti na korisničkim uređajima bez ikakvog slanja poslužiteljima.
Potpuna matrica algoritama
Platforma pruža sveobuhvatan opseg u tri dimenzije: algoritmi, pozadinski sustavi i širine bita.
Temeljne operacije (415 primitiva):
- 46 bitnih operacija: logička vrata, manipulacija, pomaci, brojanje, pronalaženje
- 16 operacija nad poljima: izdvajanje, upisivanje, pakiranje, raspršivanje, prikupljanje, stvaranje maski
- 25 redukcija: logički AND/OR/XOR, aritmetički zbroj/umnožak, glasanje i konsenzus
- 17 mjera udaljenosti: Hamming, Jaccard, Dice, Tanimoto, kosinusna, Manhattan, Euklidska
- 12 operacija ispreplitanja: 2-smjerno do 4-smjerno ispreplitanje, Mortonove i Hilbertove krivulje popunjavanja prostora
- 44 aritmetičke: zbrajanje, oduzimanje, množenje, dijeljenje, operacije s fiksnom točkom
- 39 transformacija: Walsh-Hadamard, FFT, DCT, NTT, valići (Haar, Daubechies, CDF97)
- 11 hashiranja: SHA-256, Blake3, xxHash, MinHash, SimHash, hashiranje osjetljivo na lokalnost
- 22 generiranja slučajnih brojeva: LFSR, Mersenne Twister, ChaCha20, Sobolove sekvence
- 15 kvantizacija: simetrična, asimetrična, po tenzoru, po kanalu, izračun skale
- 30 binarnih matematičkih operacija: XNOR-popcount, ternarno kodiranje, ažuriranje težina, operacije gradijenata
- 48 konverzija formata: FP32/FP16/FP8/INT8/INT4/INT2 konverzije u svim smjerovima
- 42 operacije s fiksnom točkom: aritmetika, transcendentne funkcije, zasićenje na svim širinama bitova
Složene operacije (500 jezgri):
Optimizirane jezgre koje kombiniraju primitive za uobičajene obrasce. Varijante množenja matrica (standardno, transponirano, blokirano). Vrste konvolucije (2D, 3D, dubinska, grupirana, dilatirana). Normalizacija (po seriji, po sloju, po grupi, po instanci). Aktivacijske funkcije (predznak, tvrdi tanh, po dijelovima linearna). Mehanizmi pažnje (samopažnja, unakrsna pažnja, višeglava). Sažimanje (maksimalno, prosječno, stohastičko).
Slojevi mreže (191 sloj):
Kompletni gradivni blokovi za izgradnju mreža. Gusti slojevi s binarnim, ternarnim i višebitnim težinama. Konvolucijski slojevi sa svim uobičajenim varijantama. Rekurentni slojevi (LSTM, GRU s binarnim vratima). Slojevi pažnje (skalirani skalarni produkt, višeglava, relativna pozicija). Slojevi normalizacije sa statistikama serije i naučenim parametrima. Rezidualne veze s usklađivanjem dimenzija.
Algoritmi visoke razine (674 algoritma):
Kompletne metode za treniranje, zaključivanje i optimizaciju. Destilacija znanja s progresivnim višestupanjskim pročišćavanjem. Evolucijsko otkrivanje ograničenja s genetskim programiranjem. Pretraživanje neuronske arhitekture za diskretne mreže. Estimatori gradijenata (izravni, s ograničenjem, adaptivni, s momentumom, hiper-mrežni). Optimizatori (BinaryAdam, TernaryAdam, adaptivna kvantizacija). Distribuirano treniranje s agregacijom otpornom na bizantske kvarove.
Dubina implementacije pozadinskog sustava
Svaki algoritam postoji u više optimiziranih varijanti po pozadinskom sustavu. Ne generičke implementacije. Kod specifičan za hardver koji iskorištava svaku arhitektonsku značajku.
CPU SIMD: SSE2 pruža univerzalnu x86-64 kompatibilnost (svaki procesor od 2001.). AVX2 donosi 4-8× ubrzanje na Haswellu i novijim (2013.+). AVX-512 doseže 10-16× s registrima maski za predikaciju i VPTERNLOG za bilo koju 3-ulaznu Booleovu funkciju. NEON donosi 3-4× ubrzanje svim ARMv8 procesorima uključujući mobilne i Apple Silicon. SVE/SVE2 pruža kod neovisan o duljini vektora koji automatski iskorištava šire vektore na novijem hardveru.
CUDA: Primitivi na razini warp-a organiziraju 32 niti koje se izvršavaju usklađeno. Svaka nit obrađuje 32 binarne vrijednosti pakirane u uint32. Cijeli warp paralelno obrađuje 1.024 binarne vrijednosti. Hardverske intrinsics funkcije uključuju __popc za brojanje jedinica, __ballot_sync za warp glasanje i __shfl_sync za brzu komunikaciju bez dijeljene memorije. Koalescirani pristup memoriji osigurava iskorištenost propusnosti. Iskorištavanje Tensor Core jedinica za matrične operacije čak i s binarnim podacima.
Rust-HDL: Izravna hardverska sinteza iz anotiranog Rust koda. Okvir automatski generira Verilog/VHDL. Binarne XNOR-popcount operacije mapiraju se na XNOR logička vrata (kombinacijska logika, nula propagacijskog kašnjenja) plus stabla zbrajala. Pipeline registri umeću se automatski na temelju vremenskih ograničenja. Sintetizira se na FPGA (Xilinx, Intel) i ASIC čipove.
WebAssembly: SIMD128 pruža 128-bitne vektorske operacije u svim modernim preglednicima (Chrome 91+, Firefox 89+, Safari 16.4+). Operacije uključuju v128.and/or/xor za bitnu logiku i i8x16.popcnt za brojanje jedinica. U kombinaciji s Web Workers za višedretvenost i SharedArrayBuffer za dijeljenu memoriju, postiže 60-80% izvornih CPU performansi. Inferencija u pregledniku omogućuje obradu usklađenu s GDPR-om bez slanja podataka na poslužitelj.
ROCm: Optimizacija na razini wavefront-a za AMD arhitekture sa 64 niti po wavefront-u (dvostruko više od NVIDIA-inih 32). Svaka nit obrađuje 32 binarne vrijednosti, što daje 2.048 vrijednosti po wavefront-u. Slične intrinsics funkcije kao kod CUDA-e: __builtin_popcount, __ballot i ds_swizzle. Programski model dovoljno je sličan da CUDA programeri mogu odmah pisati ROCm kod.
Metal: Optimizacija za Apple Silicon pomoću jedinstvene memorijske arhitekture u kojoj CPU i GPU dijele fizički RAM uz koherenciju predmemorije. Eliminira trošak kopiranja podataka. Binarne operacije koriste Appleove prilagođene matrične motore. M3 Max Neural Engine isporučuje 50-80 TOPS-a na binarnoj inferenciji pomoću namjenskih akceleratora ugrađenih u SoC.
Što ne radimo (i zašto je fokus važan)
Važno je pojasniti: ne radimo sve. Fokus omogućuje izvrsnost.
Bez inferencije s pomičnim zarezom: Isključivo diskretno računanje od binarne do 8-bitne preciznosti. Ako trebate FP32/FP16/BFloat16 za implementaciju, koristite PyTorch ili JAX. Optimiziramo isključivo za diskretne operacije, što omogućuje specijalizacije koje su nemoguće s miješanom preciznošću pomičnog zareza. Ne možete biti izvrsni u svemu. Mi smo odabrali diskretnu umjetnu inteligenciju i optimizirali je bez kompromisa.
Bez dinamičkih grafova inferencije: Modeli se kompiliraju u statičke grafove za implementaciju. Treniranje podržava dinamičko računanje (nužno za fleksibilnost istraživanja), ali produkcijska inferencija je statička. To omogućuje optimizaciju unaprijed: fuziju jezgri kroz cijelu mrežu, optimizaciju rasporeda memorije s poznatim oblicima tenzora, umetanje instrukcija za pretpreuzimanje s predvidljivim obrascima pristupa.
Fokusirana priprema podataka: Nudimo 8 specijaliziranih algoritama za pripremu ulaza neuronske mreže (normalizacija, adaptivno skaliranje, naučena kvantizacija, binarna augmentacija), a ne općenamjenski ETL. Za pipeline-e inženjeringa značajki i učitavanje podataka koristite postojeće alate (Pandas, Polars, DuckDB). Izvrsni smo u diskretnoj inferenciji neuronskih mreža od binarne do 8-bitne preciznosti. Ne zamjenjujemo cijeli vaš podatkovni stog.
To nisu ograničenja. To je fokus. Ograničavanjem opsega na diskretne neuronske mreže sa statičkim grafovima inferencije postižemo dubinu optimizacije koju sveobuhvatni okviri ne mogu dostići.
Nadogradnja na Dweve Core
Platforma je spremna za upotrebu. Već danas možete početi graditi diskretne neuronske mreže.
Kompletan alatni lanac:
- Deklarativni API: Rust DSL s NetworkBuilderom za definiranje modela
- Infrastruktura prevoditelja: MLIR-ov cjevovod optimizacije s četiri razine IR-a
- Okvir za treniranje: Šest STE varijanti, optimizatori svjesni binarne reprezentacije, automatski odabir širine bitova
- Generatori koda za pozadinu: C s intrinsicsima za CPU, CUDA/HIP jezgre za GPU, Verilog za FPGA
- Alati za implementaciju: Izvoz u ONNX, Core ML, TensorFlow Lite ili samostalne binarne datoteke
Primjer tijeka rada:
1. Definirajte svoju mrežu pomoću NetworkBuildera
2. Trenirajte pomoću optimizatora svjesnih binarne reprezentacije s adaptivnim odabirom širine bitova
3. Prevedite za ciljani hardver s automatskim odabirom pozadine
4. Implementirajte kao optimiziranu binarnu datoteku ili izvezite u standardni format
5. Pokrenite bilo gdje: poslužitelji u oblaku, rubni uređaji, preglednici, FPGA
Jedna platforma. Jedna baza koda. Svaka pozadina. Potpuna diskretna umjetna inteligencija.
Prestanite žonglirati s deset okvira. Prestanite prepisivati kod za svaki cilj implementacije. Prestanite se boriti s kompatibilnošću verzija. Gradite jednom na Dweve Coreu i implementirajte svugdje.
Dweve Core pokreće Dweve Loom, naš sustav zaključivanja temeljen na ograničenjima koji se lansira 2026. Okvir implementira kompletan skup od 1.930 algoritama na 6 pozadina s adaptivnom višebitnom kvantizacijom od binarne do 8-bitne. Razvio ga je nizozemski inženjerski tim tijekom tri godine razvoja.