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.
Potok wiedzy zbudowany na warstwie znaczeń BitWeave.
Poprawnie zaokrąglona matematyka pod BitWeave.
BitWeave publikuje w piątej rundzie programu wydań fundacji. Zbuduj z niego jeden stan semantyczny i uruchom go na standardowych procesorach.
Uczyń znaczenie obliczalnym, a potem zdecyduj, co z nim zbudować
Jeden format indeksu na dysku dla wszystkich trzech.
Po stronie przeglądarki, kompatybilne mniejsze stany, offline.
Serwer TCP lub UDS, klienci niezależni od języka.
Osadź bezpośrednio w procesie Rust, C lub Python.
BitWeave działa jako biblioteka w procesie, jako samodzielny serwer TCP lub Unix-socket, albo skompilowany do WASM do wykonania po stronie przeglądarki na kompatybilnym mniejszym stanie. Format stanu .bwks jest taki sam we wszystkich trzech trybach; zbuduj na serwerze i wdróż ten sam stan w przeglądarce bez przebudowy.
Dowody wydajności publikowane z repozytorium, w rundzie piątej
W opublikowanym przebiegu DBpedia 100K, dokładna konfiguracja multi-zapytania BitWeave zwróciła 9,473 QPS przy recall 1.000 w 19 MB na komputerze stacjonarnym i9-13900KF z 24 rdzeniami, AVX2 i 48 GB. Zmierzony system porównań przybliżonych dwubitowych zwrócił 3,580 QPS w 38 MB na tym samym hoście i danych. Przy D4096 na 10K dokumentach, zmierzone przebiegi Hybrid-MultiQ utrzymały recall 1.000 przy 35,842 QPS na danych losowych, 34,459 na danych skupionych i 27,828 na danych pochodzących z tekstu. Przy 250K dokumentach, dokładne brute force multi-zapytania zmierzyło 2,653 QPS przy recall 1.000. To dowody wydajności, nie uniwersalne obietnice; uruchom ponownie zestaw na własnym korpusie i sprzęcie, gdy repozytorium zostanie opublikowane.
Dokładny przy bardzo dużej skali. Najwięcej zasobników.
Więcej zasobników, ciaśniejsze zbiory kandydatów.
Dobry recall, umiarkowana rotacja kandydatów.
Niska liczba kandydatów, najwyższa przepustowość.
Skan liniowy jest szybki na SIMD w małej skali, ale staje się wąskim gardłem przy bardzo dużych korpusach. Indeks LSH dzieli hiperwektory na pasma; kandydaci, którzy kolidują w dowolnym paśmie, są oceniani dokładnie. Hybrid-MultiQ przetwarza cztery zapytania na rejestr SIMD, aby utrzymać dokładne przywołanie przy wysokiej przepustowości. Indeks jest budowany raz i odpytywany wielokrotnie.
Generowanie kandydatów w skali subliniowej
Przesunięcie cykliczne, koduje kolejność i pozycję.
Głosowanie większościowe, superponuje zbiór pojęć.
Dokument, zapytanie, fragment, symbol kodu kodują się jako binarny hiperwektor o stałym wymiarze. Domyślnie jest to 4096 bitów, ponieważ arytmetyka rzutowania losowego jest tam dobrze uwarunkowana, a 4096-bitowy XOR i popcount mieszczą się czysto w rejestrach AVX2, AVX-512 i NEON. Enkoder jest deterministyczny; ten sam tekst daje ten sam hiperwektor przy każdym uruchomieniu.
Zarządzanie wiedzą zbudowane na warstwie znaczeniowej BitWeave.
Parsuj i adresuj zawartość przed indeksowaniem.
Możliwa do inspekcji implementacja, przypinanie wersji i brak zależności od zastrzeżonego środowiska uruchomieniowego.
Przypięty kontrakt semantyczny, ten sam uporządkowany wynik na każdym serwerze.
Indeksy żyją na infrastrukturze, którą kontrolujesz. Brak przetwarzania przez dostawcę.
Dane pozostają w jurysdykcji, którą wybierzesz. Łańcuch powiernictwa jest audytowalny. Zgodność jest uwzględniona w architekturze, a nie dodana przez panel.
Dokładne, utrzymane w mierzonych skalach.
9 473 QPS przy recall 1.000 na DBpedia 100K, bez GPU w przebiegu.
Hybrid-MultiQ przy 10K dokumentów, recall 1.000.
9 473 zapytań na sekundę przy recall 1.000 na DBpedia 100K, w 19 MB na komputerze stacjonarnym i9-13900KF z AVX2 i bez GPU w przebiegu. Silnik semantyczny pod stosem Dweve.
Deterministyczny wynik, który można później wyjaśnić.
Korpus pozostaje na maszynach, które kontrolujesz.
Wyszukiwanie na ścieżce żądania, a nie zadanie wsadowe.
Przy stałych plikach i mapie znaczeń kolejność można odtworzyć.
Ten sam stan semantyczny zasila wyszukiwanie podobieństw, dopasowywanie fragmentów wielowektorowych, wyszukiwanie z filtrowaniem po metadanych, wykrywanie duplikatów, grupowanie, prototypy jednorazowe i ugruntowanie RAG. Wyszukiwanie to widoczne zapytanie. Wielokrotnego użytku podłoże pod nim to wartość.
Skrzynka Rust, CLI, stabilne ABI C, kompilacja WASM i powiązania Pythona przez maturin. SDK to ścieżka w procesie, serwer udostępnia wspólną granicę z uwierzytelnianiem i obserwowalnością, a powiązania przechodzą do istniejących języków bez ponownego implementowania reprezentacji. WASM umożliwia wykonywanie po stronie przeglądarki w przypadku mniejszych, zgodnych stanów. Każda powierzchnia niesie ten sam stan semantyczny, te same kontrakty indeksu i te same uporządkowane odpowiedzi, zweryfikowane względem jednej linii bazowej zgodności, aby silnik nie nabierał nowego znaczenia dla każdego klienta.
Jeden stan semantyczny, każda powierzchnia
Partycjonowanie na zimno dla bardzo dużych zbiorów danych.
Kandydaci LSH plus dokładne ponowne punktowanie. Domyślny dla dokładnego wyszukiwania.
Dokładne skanowanie SIMD, zapytania wsadowe. Recall 1.000.
BruteForce-MultiQ dla dokładnych, zwartych korpusów, Hybrid-MultiQ dla dokładnego recallu przy większej skali oraz regulowane backendy LSH i IVF dla największych korpusów. Każdy indeks to jedna rodzina operacji na tych samych hiperwektorach.
Ten sam przypięty kontrakt semantyczny na standardowych procesorach, które już posiadasz, zwraca ten sam uporządkowany wynik.
Połącz kontekst. Zwiąż relację. Permutuj kolejność. Porównaj wynik.
Binarne hiperwektory niosą znaczenie semantyczne jako upakowane bity. Zewnętrzne źródła zmiennoprzecinkowe przekraczają zadeklarowaną granicę jednokierunkowej konwersji; natywna reprezentacja oraz całe wewnętrzne porównywanie i ocenianie pozostają binarne lub stałoprzecinkowe.
Przesunięcie cykliczne, kolejność i pozycja.
XOR dla każdej pary, kodowanie klucz/wartość.
HDC koduje znaczenie w tysiącach binarnych wymiarów, gdzie łączenie przechwytuje zbiory, wiązanie pary, a permutacja kolejność. Wynikiem jest pojedynczy hiperwektor o stałej szerokości, który mieści się w kilku liniach pamięci podręcznej. Tryby na poziomie dokumentu i tokenu współistnieją, więc cały dokument może zostać połączony w jeden wektor lub zachować zbiór wektorów tokenów do późniejszej interakcji. Reprezentacja pozostaje podobna przy umiarkowanym szumie bitowym, więc ta sama konstrukcja przetrwa małe perturbacje bez poszerzania wektora ani dodawania osobnego tensora pozycyjnego.
Dystans XNOR i POPCNT, top-k wyświetlane.
Zapytanie również jest haszowane, przechodzi tylko przez pasujące zasobniki.
Rodziny LSH haszują hiperwektory do zasobników.
Dokument do binarnego hiperwektora przez łączenie i wiązanie.
Wejście staje się binarnym hiperwektorem. Łączenie, wiązanie i permutacja komponują zbiory, role i kolejność przed uruchomieniem jakiegokolwiek zapytania. Indeksy, filtry i ponowne rankingowanie organizują kandydatów bez redefiniowania typu. Stan .bwks utrwala słownik kodów, wektory, metadane i pochodzenie razem. Dyspozytor SIMD wykonuje go na sprzęcie, który już masz, a RAG lub bezpośrednie dopasowanie to jedno z zastosowań wyniku. Kierunek zależności jest celowy: obliczenia nigdy nie importują zagadnień aplikacji, enkodery mogą się zmieniać bez dotykania jąder indeksu, a typ przechodzi przez każdą warstwę. API zapytań to ostatnia warstwa, nie produkt.
To samo zapytanie, inna odpowiedź w przyszłym tygodniu.
Za zapytanie plus za GB plus za zindeksowany dokument.
Semantyczne centrum stosu AI jest dostarczane przez łańcuch dostawców. Jeden osadza treść, jeden przechowuje wektory, jeden wybiera kandydatów, jeden je ponownie rankinguje, a model zamienia wynik na prozę. Każda warstwa zmienia swój model, indeks, cenę i region niezależnie, a nikt nie potrafi nazwać pełnego stanu semantycznego.
BitWeave zamienia tekst, obrazy, dźwięk i istniejące wektory w stałowarstwowe binarne hiperwektory: natywny typ semantyczny z algebrą, którą można komponować, porównywać, indeksować, filtrować, sortować, przechowywać i uruchamiać wszędzie. Wyszukiwanie to jedna operacja. RAG to jedno zastosowanie.
Dane pozostają w wybranej jurysdykcji. Łańcuch powiernictwa jest audytowalny. Zgodność jest uwzględniona w architekturze, a nie dodana przez panel, więc każde zobowiązanie wynikające z przeglądu ma strukturalną odpowiedź, a nie obietnicę.
Po opublikowaniu BitWeave wskaż jeden folder i zbuduj pierwszy stan semantyczny bez polegania na zewnętrznej usłudze.
Folder z Twoimi plikami. Pozostają dokładnie tam, gdzie są, po Twojej stronie ściany.
Standardowe serwery lub komputery, które już masz. Bez GPU, bez specjalistycznych zakupów.
Wdrożenie nie oznacza programu migracji. Ten sam silnik działa na trzy sposoby: wewnątrz narzędzia, którego pracownicy już używają, jako jedna współdzielona usługa wewnętrzna dla każdego zespołu, lub offline na jednej maszynie dla najbardziej wrażliwych materiałów. Zgodny stan semantyczny przenosi się między wszystkimi trzema, więc pierwszy wybór nigdy nie jest drzwiami jednokierunkowymi.
Jedna przypięta umowa semantyczna, odtwarzana na każdej obsługiwanej maszynie.