BitWeave ja deterministinen haku ilman pilviteatteria

Haku ei ole parempi vain siksi, että indeksi sijaitsee kaukana ja laskuttaa luovasti. BitWeave on paikallista, binaarista ja toistettavaa hakua, jossa sama...

BitWeave ja deterministinen haku ilman pilviteatteria

Hakutulos, joka muuttui yhdessä yössä

Ärsyttävin hakuvirhe ei ole se, joka epäonnistuu äänekkäästi. Äänekkäillä epäonnistumisilla on sentään käytöstavat. Ärsyttävä virhe on hakutulos, joka muuttuu hiljaa. Sama aineisto. Sama kysely. Sama käyttäjän kysymys. Eilen dokumentti B oli paras ehdokas. Tänään dokumentti A on. Kukaan ei koskenut lähteeseen, tai ainakaan kukaan ei muista koskeneensa, mikä ohjelmistomaailmassa ei ole sama asia.

Tällainen ajautuminen on myrkyllistä vakaville tekoälyjärjestelmille. Lähteisiin perustuva vastaus riippuu hakupolusta. Jos ehdokkaat muuttuvat syistä, joita kukaan ei osaa selittää, myös vastaus muuttuu. Malli saa syyt niskoilleen, koska mallit ovat käteviä syyllisten säilytysastioita, mutta usein heikkous alkaa hausta: vaihtelevat ranking-reunat, epävakaat tasapelit, etäpalvelun käyttäytyminen, muuttuneet upotukset, indeksoinnin ajautuminen tai hakukerros, joka on suunniteltu miellyttävään relevanssiin toistettavan todistusaineiston sijaan.

BitWeave on rakennettu vähemmän muodikkaan kysymyksen ympärille: voiko haku olla niin paikallista, binaarista ja determinististä, että sama aineisto ja kysely tuottavat saman järjestyksen? Toteutus perustuu binaarisiin hypervektoreihin, XNOR- ja POPCNT-etäisyyksiin, deterministiseen tasapelien ratkaisuun, oletusarvoisesti korkeadimensionaaliseen binaarivektorimuotoon, Rust-ytimeen, CLI:hin, C ABI:hin, WASM:iin ja Python-sidoksiin. Tämä ei ole chatbot-ominaisuus. Se on hakua infrastruktuurina.

Suorituskykyluku, jota kaikki haluavat, ei ole kiinnostavin osa. Vanhentuneet liioitellut QPS-väitteet tulisi jättää pois julkisesta materiaalista, ellei niiden mukana kulje tuore, toistettava vertailuarvoaineisto. Hyvä. Se on oikeanlaista kipua. Parempi järjestelmä, joka korjaa väitteensä, kuin laskeutumissivu, joka kasvattaa lihaksia peilin edessä. Tämän artikkelin kannalta hyödyllinen väite on mekanismi: binaarivektorit, suorittimelle ystävälliset operaatiot, vakaa ranking ja paikallinen hallinta.

Binaarihaku tekee samankaltaisuudesta suoritinmuotoista: bittejä, etäisyyttä ja popcountia etäisen mysteerilaatikon sijaan.

Tämä on tärkeää, koska hausta on tulossa osa todistusaineiston polkua. Vakavassa työnkulussa haku ei ole vain mukavuus. Se päättää, mitkä dokumentit malli näkee, mitkä viittaukset ilmestyvät, mitkä faktat otetaan huomioon ja mitkä tietueet ohitetaan. Epävakaa hakukerros on hiljainen politiikkamoottori ilman merkkia.

Binaarisuus ei ole heikennys

Ihmiset kuulevat sanan binaarinen ja olettavat kompromissin. Se on ymmärrettävää. Nykyaikainen tekoäly on opettanut kaikki pitämään suurempia, tiheämpiä ja liukulukupohjaisempia esityksiä vakavampina. Enemmän parametreja, enemmän tarkkuutta, enemmän GPU:ita, enemmän laskuja, enemmän lämpöä. Hyvin tyylikäs tapa muuttaa sähkö riippuvuudeksi.

Binaarivektorit tekevät erilaisen kaupan. Esitä asia bitteinä. Vertaa bittioperaatioilla. XNOR kertoo, missä bitit ovat samaa mieltä. POPCNT laskee samanmielisyyden. Etäisyydestä tulee suorittimelle ystävällinen operaatio. Tämä ei tee kaikista hakutehtävistä triviaaleja, eikä se tarkoita, että binaariesitykset voittaisivat jokaisen tiheän vektorijärjestelyn jokaisessa tehtävässä. Se tarkoittaa, että on olemassa käytännöllinen suunnitteluavaruus, jossa haku voi olla pienempi, paikallinen, tarkasteltavissa ja toistettava.

Tämä on erityisen hyödyllistä, kun haku ei ole turhamaisuusominaisuus. Jos tavoitteena on vastata hallitusta aineistosta, järjestelmä hyötyy tylsän ennustettavasta käytöksestä. Indeksin ei pitäisi vaatia GPU-alttaria. Aineiston ei pitäisi joutua poistumaan organisaatiosta vain siksi, että hakutoimittajalla on hienot brändit. Rankingin ei pitäisi muuttua siksi, että isännöity palvelu päivitti mallin kulissien takana.

BitWeaven binäärinen lähestymistapa sopii myös muuhun Dweve-pinoon. Winnow voi kerätä ja kapseloida lähteitä. BitWeave voi indeksoida ja hakea niitä. Spindle voi hallita faktoja. Fabric voi näyttää lähteet vastausten vieressä. AION ja Trace voivat tehdä päätöksistä ja laskennoista tarkistettavia. Jokaisella kerroksella on oma tehtävänsä. BitWeaven tehtävä ei ole olla tietograafi tai todistusjärjestelmä. Sen tehtävä on saada haku käyttäytymään infrastruktuurin tavoin, ei sään tavoin.

Determinismi alkaa järjestyksestä

Haun determinismi ei tarkoita vain sitä, että palautetaan suunnilleen sama joukko dokumentteja. Suunnilleen on se, miten kokoukset venyvät. Vaikea osuus on järjestys. Jos kaksi ehdokasta ovat lähellä toisiaan, järjestelmä tarvitsee silti vakaan tasapelin ratkaisusäännön. Jos korpus ja kysely ovat samat, toistuvat ajot eivät saa sekoittaa rajatapauksia kuin hermostunut kortinjakaja.

Tämä kuulostaa nipotukselta, kunnes vastaus riippuu kolmesta parhaasta ehdokkaasta. Ehdokkaiden järjestys muuttaa sen, mitä malli lukee ensin. Se muuttaa sen, mikä viittaus näyttäytyy ensisijaisena. Se muuttaa sen, mikä lähde puristetaan pois, kun token-budjetti on tiukka. Säännellyissä tai korkean panoksen työnkuluissa tämä järjestys ei ole käyttöliittymäasetus. Se on osa päätöspolkua.

Läheiset pisteet ovat normaaleja. Epävakaa järjestys on valinta, ja yleensä huono sellainen.

Vakaa järjestys tekee myös virheenjäljityksestä mahdollista. Jos käyttäjä sanoo vastauksen muuttuneen, tiimi voi kysyä, muuttuiko korpus, muuttuiko kysely, muuttuiko järjestys vai muuttuiko malli. Ilman vakaata hakua jokainen poikkeama muuttuu ehkä-keitoksi. Ehkä dokumentti siirtyi. Ehkä upotus muuttui. Ehkä palvelu päivittyi. Ehkä tiistai. Loistava perussyykategoria, tiistai.

Deterministinen tasapelin ratkaisu ei ole glamouria, mutta se on sellaista insinöörityötä, joka erottaa tuoteinfrastruktuurin demoinfrastruktuurista. Demoinfrastruktuurin tarvitsee toimia vain silloin, kun joku katsoo. Tuoteinfrastruktuurin on osattava selittää itsensä sen jälkeen, kun kaikki ovat menneet kotiin.

Paikallisuus on tuoteominaisuus

Hausta tulee usein pilviriippuvuus tottumuksesta, ei välttämättömyydestä. Tiimillä on dokumentteja. Isännöidyllä hakupalvelulla on kätevä API. Korpus lähtee. Organisaatio saa nopeutta ja menettää hieman hallintaa. Sitten toinen järjestelmä riippuu siitä. Sitten auditointi riippuu siitä. Sitten poistuminen riippuu muutosta, jota kukaan ei suunnitellut. Näin arkkitehtuurista tulee tilaus, johon liittyy tunteita.

BitWeaven paikallinen asenne on tärkeä, koska monet korpukset eivät saisi matkustaa. Lakiasiakirjat, sisäiset käytännöt, tekniset asiakirjat, asiakasdokumentit, terveydenhuollon materiaali, hankinta-asiakirjat, tutkintalähteet: kysymys ei ole vain siitä, voimmeko hakea tästä, vaan siitä, missä haun on sallittu toimia.

Paikallinen haku pitää korpuksen siellä, minne se kuuluu, ja siirtää järjestetyt ehdokkaat hallitun polun kautta.

Paikallisuus parantaa myös vika-analyysiä. Jos indeksi on organisaation hallinnassa, tiimi voi tarkastella versioita, syötteitä, kyselypolkuja ja päivityshetkiä. Jos haku on etäistä ja läpinäkymätöntä, vastaus kysymykseen miksi tämä ehdokas ilmestyi voi olla kysy toimittajalta. Se on joskus hyväksyttävää kuluttajahaussa. Se on paljon vähemmän houkuttelevaa, kun hakupolku tukee liiketoimintapäätöstä, juridista vastausta tai julkisen sektorin työnkulkua.

Kyse ei ole siitä, että pilvipalvelut olisivat pahoja. Kyse on siitä, että haun sijainti on käyttöönottopäätös, ei elämäntapavalinta. Osa työkuormista voi toimia pilvipalvelussa. Osa kannattaa sitoa tiettyyn alueeseen. Osa kuuluu omiin tiloihin. Osa kuuluu eristettyyn verkkoon. Hakukerroksen tulisi mukautua toimintamalliin, ei pakottaa toimintamallia.

Haku tarvitsee kuittauksia

Lähdepohjainen tekoäly näyttää usein viittauksia ikään kuin se yksin ratkaisisi todisteiden ongelman. Se auttaa, mutta se ei riitä. Viittaus kertoo, mihin vastaus osoittaa. Se ei automaattisesti selitä, miten lähde kerättiin, miten se päätyi aineistoon, miten se indeksoitiin, miksi se sijoittui toisen ehdokkaan yläpuolelle tai mikä tasapelitilanne ratkaisi tiukan valinnan.

BitWeaven ei tarvitse muuttua täysimittaiseksi auditointijärjestelmäksi ollakseen tässä merkityksellinen. Sen on paljastettava riittävästi hakupolkua, jotta muut kerrokset voivat tallentaa sen. Kysely, ehdokkaat, pisteet tai etäisyydet, tasapelitilanne, aineiston versio, indeksin versio, valitut tietueet: nämä ovat hakukuittauksen perusta. Ledger voi tallentaa toiminnallisia tapahtumia. Trace voi kuljettaa todistepolkuja, kun laskennalla on merkitystä. Fabric voi näyttää lähteet. Haun tulisi antaa niille konkreettista työstettävää.

Hakukerros ei tarvitse teatteria. Se tarvitsee polun, joka voidaan tallentaa ja tarkastaa myöhemmin.

Tässä kohtaa deterministinen haku muuttuu muustakin kuin teknisestä mieltymyksestä. Siitä tulee hallinnollinen ominaisuus. Jos organisaatio voi myöhemmin rekonstruoida, miksi nämä ehdokkaat näytettiin, lähdepohjaiseen vastaukseen on helpompi tarttua, sitä on helpompi debugata ja parantaa. Jos se ei voi, viittauksista tulee koristeellisia linkkejä. Hyödyllistä koristelua, mutta silti koristelua.

Hyvä hakukuittaus suojaa myös mallia epäoikeudenmukaiselta syytökseltä. Kun vastauksesta puuttuu keskeinen lähde, tiimi voi tarkistaa, puuttuiko lähde aineistosta, oliko se mukana mutta huonosti poimittu, indeksoitu mutta liian matalalle sijoitettu, korkealle sijoitettu mutta mallin huomiotta jättämä tai viitattu virheellisesti. Nämä ovat erilaisia korjauksia. Ilman hakupolkua tiimi valitsee yleensä äänekkäimmän teorian ja kutsuu sitä edistykseksi.

Suorituskykytestin ansa

Jokainen hakujärjestelmä päätyy lopulta suorituskykytesteriin. QPS, viive, recall, aineiston koko, laitteisto, välimuistin tila, eräasetukset, testin muoto. Osa luvuista on hyödyllisiä. Monet ovat koristeellisia. Osa on aktiivisesti harhaanjohtavia, kun ne irrotetaan kontekstista.

BitWeavella on suorituskykyeroa koskeva huomautus, jonka mukaan vanhat korkean QPS:n väitteet tulisi poistaa. Se ei ole ongelma, joka pitää piilottaa. Se on kurinalaisuus, joka pitää säilyttää. Hakuinfastruktuuria tulisi mitata sillä laitteistolla, aineistolla ja työkuormalla, joilla on merkitystä. Suorituskykytesti voi ohjata, mutta se ei voi korvata mittausta käyttäjän ympäristössä.

Tästä syystä turvallisempi BitWeave-tarina ei ole sankarillinen nopeusväite. Se on toistettava suunnittelun toimintamalli: binääriset hypervektorit, CPU-ystävällinen etäisyys, deterministinen tasapelien ratkaisu, paikalliset käyttöönottovaihtoehdot ja sidokset, joiden avulla tiimit voivat integroida muuttamatta hakukerrosta oletusarvoisesti etäriippuvuudeksi.

Käytännön kysymys ei ole, voiko joku tuottaa suuren luvun suorituskykytestissä. Käytännön kysymys on, voiko tiimisi ajaa indeksiä siellä, missä aineisto sijaitsee, saada saman vastauspolun kahdesti, tarkastella, miksi ehdokkaat ilmestyivät, ja pitää haun hyödyllisenä, kun ympäröivästä järjestelmästä tulee vastuullinen. Vähemmän ilotulitteita, enemmän putkityötä. Päädymme jatkuvasti putkitöihin. Ohjelmisto on nöyryyttävää sillä tavalla.

Minne BitWeave sopii

BitWeave sopii keruun jälkeen ja ennen päättelyä. Winnow voi tuoda lähteet mukaan kirjekuorineen ja poiminnan muotoineen. BitWeave voi indeksoida ja asettaa ehdokkaat järjestykseen. Spindle voi muuttaa toistuvat tosiasiat hallituksi tiedoksi. Fabric voi asettaa lähteet vastauksen taakse. AION voi todistaa päättelyvaiheet silloin, kun päätös vaatii todisteen. Ledger voi tallentaa toiminnalliset tapahtumat. Tämä kerrostuminen on tärkeää, koska pelkkä haku ei yksinään kanna koko luottamustarinaa.

Se myös estää ylilyönnit väitteissä. BitWeave ei päätä, onko lähde juridisesti käyttökelpoinen. Se ei vahvista, että tosiasia on totta. Se ei todista, että lopullinen vastaus seuraa premisseistä. Se hakee. Hyvin tehtynä se on jo riittävän vaikeaa. Ala muuttaa jatkuvasti yksinkertaisia rajoja strategiasumuksi ja hämmästyy sitten, kun kukaan ei pysty debuggaamaan järjestelmää.

Lähdepohjaista tekoälyä rakentaville tiimeille välitön arvo on konkreettinen. Pidä korpus lähellä. Käytä hakukerrosta, jossa järjestys on vakaa. Tallenna ehdokkaiden polku. Vältä tekemästä etäisestä läpinäkymättömyydestä oletusta. Mittaa paikallisesti. Yhdistä sitten haku järjestelmiin, jotka hoitavat alkuperän, hallinnan ja todistamisen.

Opetus

BitWeaven opetus on, että haku ei ole sivutehtävä. Se on osa vastauksen polkua. Jos se on epävakaa, läpinäkymätön tai tarpeettoman etäinen, malli voi kuulostaa varmalta samalla kun se seisoo liikkuvalla pohjalla. Jos haku on paikallista, binääristä ja determinististä, vastauksen polkua on helpompi tarkastaa.

Binääriset vektorit eivät ole taikaa. Ne ovat käytännöllinen esitysmuoto. XNOR ja POPCNT eivät ole liiketoimintastrategia. Ne ovat tapa sovittaa samankaltaisuus tavallisiin koneisiin. Deterministinen tasapelien ratkaisu ei ole seksikästä. Se pitää huolen siitä, ettei sama kysely muutu hedelmäpeliksi. Paikallinen käyttöönotto ei ole nostalgiaa. Se on hallintaa.

Tämä on BitWeaven hyödyllinen muoto: ei pilviteatteria, ei vertailuarvojen vääntämistä, ei taas yhtä mustaa laatikkoa käyttäjän ja lähteen välissä. Hakukerros, joka voi elää siellä, missä data elää, palauttaa vakaan järjestyksen ja jättää riittävästi polkua, jotta muu järjestelmä voi selittää, mitä tapahtui.

Hyvät tekoälyvastaukset alkavat ennen kuin malli kirjoittaa ensimmäistäkään sanaa. Ne alkavat kerätyistä lähteistä, siisteistä poiminnoista, vakaasta hausta ja tallenteista, joita voi haastaa. BitWeave on yksi niistä tylsistä osista, jotka tekevät jännittävästä osasta vähemmän noloa. Se on hieno työ. Useimmat luotettavat järjestelmät on rakennettu sellaisista töistä.