Binary Hypervector Engine in Rust | Dweve BitWeave

BitWeave is a binary hypervector engine in Rust. Apache-2.0 terms, self-hosted; the repository publishes in the fifth release round.

BitWeave-merkityskerrokseen rakennettu tietoputki.

Oikein pyöristetty matematiikka BitWeaven alla.

BitWeave julkaistaan säätiön julkaisuohjelman viidennellä kierroksella. Rakenna siitä yksi semanttinen tila ja aja se tavallisilla suorittimilla.

Tee merkityksestä laskettavaa, päätä sitten mitä sillä rakennat

Yksi levylle tallennettava indeksimuoto kaikissa kolmessa.

Selainpuoli, yhteensopivat pienemmät tilat, offline.

TCP- tai UDS-palvelin, kieliriippumattomat asiakkaat.

Upota suoraan Rust-, C- tai Python-prosessiin.

BitWeave toimii prosessin sisäisenä kirjastona, erillisenä TCP- tai Unix-socket-palvelimena tai WASM:ksi käännettynä selainpuolen suoritukseen yhteensopivan pienemmän tilan yli. .bwks-tilamuoto on sama kaikissa kolmessa tilassa; rakenna palvelimella ja ota käyttöön sama tila selaimessa ilman uudelleenrakennusta.

Suorituskykytodisteet julkaistaan arkiston mukana viidennellä kierroksella

Julkaistussa DBpedia 100K -ajossa BitWeaven tarkka monikyselykonfiguraatio palautti 9,473 QPS recall-arvolla 1.000 19 Mt:ssa i9-13900KF-työpöydällä, jossa on 24 ydintä, AVX2 ja 48 Gt. Mitattu kaksibittinen likimääräinen vertailujärjestelmä palautti 3,580 QPS 38 Mt:ssa samalla isännällä ja datalla. D4096:ssa yli 10 000 dokumentin mitatut Hybrid-MultiQ-ajot pitivät recall-arvon 1.000 35,842 QPS:ssä satunnaisella datalla, 34,459 klusteroidulla datalla ja 27,828 tekstipohjaisella datalla. 250 000 dokumentilla tarkka monikyselyn raakavoima mittasi 2,653 QPS recall-arvolla 1.000. Nämä ovat suorituskykytodisteita, eivät yleisiä lupauksia; aja sarja uudelleen omalla korpuksellasi ja laitteistollasi, kun arkisto julkaistaan.

10 000 dokumentilla. Kuluttajatason suoritin

Tarkka erittäin suuressa mittakaavassa. Eniten kauhoja.

Enemmän kauhoja, tiukemmat ehdokasjoukot.

Hyvä recall, kohtalainen ehdokkaiden vaihtuvuus.

Lineaarinen haku on nopea SIMD:llä pienessä mittakaavassa, mutta siitä tulee pullonkaula erittäin suurissa korpuksissa. LSH-indeksi jakaa hypervektorit nauhoihin; ehdokkaat, jotka törmäävät missä tahansa nauhassa, arvioidaan tarkasti. Hybrid-MultiQ eräkäsittelee neljä kyselyä SIMD-rekisteriä kohti säilyttääkseen tarkan haun suorituskyvyn. Indeksi rakennetaan kerran ja sitä kysellään monta kertaa.

Sublineaarinen ehdokkaiden tuottaminen mittakaavassa

Syklinen siirto, koodaa järjestyksen ja sijainnin.

Itsensä käänteinen, sitoo avaimen arvoon.

Enemmistöäänestys, superponoi joukon käsitteitä.

Dokumentti, kysely, kappale, koodisymboli: kaikki koodautuvat kiinteän ulottuvuuden binäärisiksi hypervektoreiksi. Oletus on 4096 bittiä, koska satunnaisprojektioaritmetiikka toimii hyvin siinä, ja 4096 bitin XOR ja popcount mahtuvat siististi AVX2-, AVX-512- ja NEON-rekistereihin. Enkooderi on deterministinen; sama teksti tuottaa saman hypervektorin joka ajolla.

Tietämyksen hallinta rakennettu BitWeave-merkityskerroksen päälle.

Rajoitusmoottori haettujen faktojen päällä.

Jäsennä ja osoita sisältö ennen indeksointia.

Tarkastettava toteutus, versioiden kiinnitys ja ei omaa suljettua ajonaikaista riippuvuutta.

Kiinnitetty semanttinen sopimus, sama järjestetty tulos jokaisella palvelimella.

Indeksit elävät infrastruktuurissa, jota hallitset. Ei toimittajan käsittelyä.

Tiedot pysyvät valitsemassasi lainkäyttöalueessa. Säilytysketju on auditoitavissa. Vaatimustenmukaisuus on käsitelty arkkitehtuurissa, ei lisätty kojelaudan kautta.

Tarkka, säilytetty mitatuissa mittakaavoissa.

9 473 QPS tarkkuudella 1.000 DBpedia 100K:ssa, ei GPU:ta ajossa.

Hybrid-MultiQ 10K asiakirjalla, tarkkuus 1.000.

9 473 kyselyä sekunnissa tarkkuudella 1.000 DBpedia 100K:ssa, 19 Mt:n kokoisena i9-13900KF-työpöydällä AVX2:lla ja ilman GPU:ta ajossa. Dweve-pinon alla oleva semanttinen moottori.

Deterministinen tulos, jonka voit selittää myöhemmin.

Pidä tiedostot ja merkityskartta kiinteinä, niin järjestys voidaan toistaa.

Sama semanttinen tila mahdollistaa samankaltaisuushaun, monivektoriosumien yhteensovituksen, metatietosuodatetun haun, kaksoiskappaleiden tunnistuksen, klusteroinnin, yhden prototyypin prototyypit ja RAG-perustan. Haku on näkyvä kysely. Sen alla oleva uudelleenkäytettävä alusta on arvo.

HDC-enkooderi, LSH-indeksi, SIMD-etäisyys

Rust-laatikko, CLI, vakaa C ABI, WASM-rakennus ja Python-sidokset maturinilla. SDK on prosessin sisäinen polku, palvelin paljastaa jaetun rajan autentikoinnilla ja seurannalla, ja sidokset ylittävät olemassa oleviin kieliin ilman esityksen uudelleentoteutusta. WASM tuo yhteensopivat pienemmät tilat selaimen suoritukseen. Jokainen pinta kantaa saman semanttisen tilan, samat indeksisopimukset ja samat järjestetyt vastaukset, varmistettuna yhtä yhdenmukaisuusperustaa vasten, jotta moottori ei saa uutta merkitystä asiakasta kohti.

Kylmäkäynnistyksen osiointi erittäin suurille tietojoukoille.

Säädettävä tarkkuus, useita bändiperheitä.

LSH-ehdokkaat plus tarkka uudelleenarviointi. Oletus tarkalle haulle.

Tarkka SIMD-skannaus, eräajetut kyselyt. Tarkkuus 1.000.

BruteForce-MultiQ tarkkoihin, tiiviisiin korpuksiin, Hybrid-MultiQ tarkkaan tarkkuuteen suuremmassa mittakaavassa, ja säädettävät LSH- ja IVF-taustajärjestelmät erittäin suurille korpuksille. Jokainen indeksi on yksi toimintoperhe samojen hypervektorien yli.

Sama kiinnitetty semanttinen sopimus, tavallisilla CPU:illa joita jo omistat, palauttaa saman järjestetyn tuloksen.

Paketoi konteksti. Sido suhde. Vaihda järjestys. Vertaa tulosta.

Binääriset hypervektorit kantavat semanttisen merkityksen pakattuina bitteinä. Ulkoiset liukulukulähteet ylittävät määritellyn yksisuuntaisen muunnosrajan; natiivi esitys ja kaikki sisäinen vertailu ja pisteytys pysyvät binäärisinä tai kiinteän pisteen muodossa.

HDC koodaa merkityksen tuhansien binääristen ulottuvuuksien yli, missä paketointi vangitsee joukot, sitominen parit ja permutaatio järjestyksen. Tuloksena on yksi kiinteän levyinen hypervektori, joka mahtuu muutamaan välimuistiriviin. Dokumentti- ja token-tasot toimivat rinnakkain, joten koko dokumentti voidaan paketoida yhdeksi vektoriksi tai pitää joukko token-vektoreita myöhäistä vuorovaikutusta varten. Esitys pysyy samankaltaisena kohtuullisen bittikohinan alla, joten sama rakenne säilyy pienissä häiriöissä ilman vektorin leventämistä tai erillisen paikkatensorin lisäämistä.

Kysely tiivistää myös, kulkee vain vastaavia koreja.

LSH-perheet tiivistävät hypervektorit koreihin.

Dokumentti binääriseksi hypervektoriksi paketoimalla ja sitomalla.

Syöte muuttuu binääriseksi hypervektoriksi. Paketointi, sitominen ja permutaatio koostavat joukot, roolit ja järjestyksen ennen kuin kyselyt ajetaan. Indeksit, suodattimet ja uudelleenjärjestys järjestävät ehdokkaat määrittelemättä tyyppiä uudelleen. .bwks-tila säilyttää koodikirjan, vektorit, metadatan ja alkuperän yhdessä. SIMD-dispatch suorittaa sen laitteistolla, joka sinulla jo on, ja RAG tai suora osuma on yksi tuloksen käyttötapa. Riippuvuussuunta on tarkoituksellinen: laskenta ei koskaan tuo sovellusnäkökohtia, koodaajat voivat muuttua koskematta indeksiytimiin, ja tyyppi kulkee jokaisen kerroksen läpi. Kysely-API on viimeinen kerros, ei tuote.

Per kysely plus per GB plus per indeksoitu dokumentti.

Indeksit sijaitsevat siellä, missä toimittaja haluaa.

AI-pinon semanttinen keskiosa toimitetaan toimittajaketjulla. Yksi upottaa sisällön, yksi tallentaa vektorit, yksi valitsee ehdokkaat, yksi järjestää ne uudelleen, ja malli muuttaa tuloksen proosaksi. Jokainen kerros muuttaa malliaan, indeksiään, hintaansa ja aluettaan itsenäisesti, eikä kukaan pysty nimeämään täydellistä semanttista tilaa.

Kyllästää SIMD:n kuluttajatason laitteistolla.

BitWeave muuttaa tekstin, kuvat, äänen ja olemassa olevat vektorit kiinteälevyisiksi binäärisiksi hypervektoreiksi: natiiviksi semanttiseksi tyypiksi, jolla on algebra, jota voit yhdistää, vertailla, indeksoida, suodattaa, järjestää, tallentaa ja ajaa missä tahansa. Haku on yksi operaatio. RAG on yksi sovellus.

Tiedot pysyvät valitsemassasi lainkäyttöalueessa. Säilytysketju on auditoitavissa. Vaatimustenmukaisuus on huomioitu arkkitehtuurissa, ei lisätty kojelaudan kautta, joten jokaiselle arvioinnin esiin nostamalle velvoitteelle on rakenteellinen vastaus, ei lupaus.

Kun BitWeave on julkaistu, osoita se yhteen kansioon ja rakenna ensimmäinen semanttinen tila ilman ulkoista palvelua.

Kansio omia tiedostojasi. Ne pysyvät tarkalleen siellä, missä ovat, muurin sinulla puolellasi.

Tavalliset palvelimet tai tietokoneet, joita jo käytät. Ei GPU:ta, ei mitään erikoista ostettavaa.

Käyttöönotto ei tarkoita migraatio-ohjelmaa. Sama moottori toimii kolmella tavalla: työkalussa, jota henkilöstösi jo käyttää, yhtenä jaettuna sisäisenä palveluna kaikille tiimeille tai offline-tilassa yhdellä koneella arkaluonteisimmalle materiaalille. Yhteensopiva semanttinen tila siirtyy kaikkien kolmen välillä, joten ensimmäinen valinta ei ole koskaan yksisuuntainen ovi.

Yksi kiinnitetty semanttinen sopimus, toistettu jokaisella tuetulla koneella.

Lisensoitu koodi, jonka voit pitää ja siirtää, ilman pelkoa alasajosta.

Ei maksua kyselyltä eikä erikoistunutta kiihdytinkoneistoa; käyttökustannus on tavallinen CPU-infrastruktuuri, jonka valitset.