BitWeave και ντετερμινιστική ανάκτηση χωρίς θεατρικότητα cloud
Το αποτέλεσμα αναζήτησης που άλλαξε από τη μια μέρα στην άλλη
Ο πιο εκνευριστικός σφάλμα ανάκτησης δεν είναι αυτό που αποτυγχάνει με θόρυβο. Οι θορυβώδεις αποτυχίες τουλάχιστον έχουν ευγένεια. Το εκνευριστικό είναι το αποτέλεσμα αναζήτησης που αλλάζει ήσυχα. Ίδιο σώμα κειμένων. Ίδιο ερώτημα. Ίδια ερώτηση χρήστη. Χθες το έγγραφο Β ήταν το κορυφαίο υποψήφιο. Σήμερα είναι το έγγραφο Α. Κανείς δεν άγγιξε την πηγή, ή τουλάχιστον κανείς δεν θυμάται να την άγγιξε, που στον χώρο του λογισμικού δεν είναι το ίδιο πράγμα.
Αυτού του είδους η μετατόπιση είναι τοξική για σοβαρά συστήματα τεχνητής νοημοσύνης. Μια απάντηση που βασίζεται σε πηγές εξαρτάται από τη διαδρομή ανάκτησης. Αν τα υποψήφια αλλάζουν για λόγους που κανείς δεν μπορεί να εξηγήσει, αλλάζει και η απάντηση. Το μοντέλο κατηγορείται, επειδή τα μοντέλα είναι βολικοί αποδέκτες ευθυνών, αλλά συχνά η αδυναμία ξεκινά από την ανάκτηση: αιωρούμενες άκρες κατάταξης, ασταθείς ισοπαλίες, συμπεριφορά απομακρυσμένων υπηρεσιών, αλλαγμένα ενσωματώματα, μετατόπιση ευρετηρίου ή ένα επίπεδο αναζήτησης σχεδιασμένο για ευχάριστη συνάφεια αντί για επαναλήψιμα τεκμήρια.
Το BitWeave χτίστηκε γύρω από μια λιγότερο μοντέρνα ερώτηση: μπορεί η ανάκτηση να είναι τοπική, δυαδική και αρκετά ντετερμινιστική ώστε το ίδιο σώμα κειμένων και το ίδιο ερώτημα να παράγουν την ίδια σειρά; Η υλοποίηση βασίζεται σε δυαδικά υπερδιανύσματα, απόσταση XNOR και POPCNT, ντετερμινιστική επίλυση ισοπαλιών, προεπιλεγμένο σχήμα υψηλών διαστάσεων δυαδικών διανυσμάτων, πυρήνα σε Rust, CLI, C ABI, WASM και δεσμεύσεις Python. Αυτό δεν είναι χαρακτηριστικό chatbot. Είναι ανάκτηση ως υποδομή.
Ο αριθμός απόδοσης που όλοι θέλουν δεν είναι το ενδιαφέρον κομμάτι. Παλαιότεροι υπερβολικοί ισχυρισμοί QPS θα πρέπει να μένουν εκτός δημόσιου κειμένου, εκτός αν συνοδεύονται από ένα φρέσκο, αναπαραγώγιμο πακέτο συγκριτικής αξιολόγησης. Ωραία. Αυτός είναι ο σωστός τύπος πόνου. Καλύτερα ένα σύστημα που διορθώνει τους ισχυρισμούς του παρά μια σελίδα προορισμού που συνεχίζει να χτίζει μυς μπροστά στον καθρέφτη. Για αυτό το άρθρο, ο χρήσιμος ισχυρισμός είναι ο μηχανισμός: δυαδικά διανύσματα, λειτουργίες φιλικές προς την CPU, σταθερή κατάταξη και τοπικός έλεγχος.
Αυτό έχει σημασία επειδή η ανάκτηση γίνεται μέρος της διαδρομής τεκμηρίων. Σε μια σοβαρή ροή εργασίας, η αναζήτηση δεν είναι απλώς ευκολία. Καθορίζει ποια έγγραφα βλέπει το μοντέλο, ποιες παραπομπές εμφανίζονται, ποια γεγονότα λαμβάνονται υπόψη και ποιες εγγραφές αγνοούνται. Ένα ασταθές επίπεδο ανάκτησης είναι μια ήσυχη μηχανή πολιτικής χωρίς διακριτικό.
Το δυαδικό δεν είναι υποβάθμιση
Οι άνθρωποι ακούν τη λέξη δυαδικό και υποθέτουν συμβιβασμό. Αυτό είναι κατανοητό. Η σύγχρονη τεχνητή νοημοσύνη έχει εκπαιδεύσει τους πάντες να αντιμετωπίζουν τις μεγαλύτερες, πυκνότερες και πιο αιωρούμενες αναπαραστάσεις ως πιο σοβαρές. Περισσότερες παράμετροι, περισσότερη ακρίβεια, περισσότερες GPU, περισσότερα τιμολόγια, περισσότερη θερμότητα. Ένας πολύ κομψός τρόπος να μετατρέψεις τον ηλεκτρισμό σε εξάρτηση.
Τα δυαδικά διανύσματα κάνουν διαφορετική ανταλλαγή. Αναπαράστησε το πράγμα σε bits. Σύγκρινε χρησιμοποιώντας πράξεις bit. Το XNOR σου λέει πού συμφωνούν τα bits. Το POPCNT μετρά τη συμφωνία. Η απόσταση γίνεται μια λειτουργία φιλική προς την CPU. Αυτό δεν καθιστά κάθε πρόβλημα ανάκτησης ασήμαντο, και δεν σημαίνει ότι οι δυαδικές αναπαραστάσεις νικούν κάθε διάταξη πυκνών διανυσμάτων για κάθε εργασία. Σημαίνει ότι υπάρχει ένας πρακτικός χώρος σχεδιασμού όπου η ανάκτηση μπορεί να είναι μικρότερη, τοπική, επιθεωρήσιμη και επαναλήψιμη.
Αυτό είναι ιδιαίτερα χρήσιμο όταν η ανάκτηση δεν είναι χαρακτηριστικό επίδειξης. Αν ο στόχος είναι να απαντάς από ένα ελεγχόμενο σώμα κειμένων, το σύστημα επωφελείται από το να είναι βαρετά προβλέψιμο. Το ευρετήριο δεν θα πρέπει να απαιτεί βωμό GPU. Το σώμα κειμένων δεν θα πρέπει να φεύγει από τον οργανισμό μόνο και μόνο επειδή ο πάροχος αναζήτησης έχει ωραία επωνυμία. Η κατάταξη δεν θα πρέπει να αλλάζει επειδή μια φιλοξενούμενη υπηρεσία ενημέρωσε ένα μοντέλο πίσω από την κουρτίνα.
Η δυαδική προσέγγιση του BitWeave ταιριάζει και με το υπόλοιπο στοίβα Dweve. Το Winnow μπορεί να συλλέγει και να περιτυλίγει πηγές. Το BitWeave μπορεί να τις ευρετηριάζει και να τις ανακτά. Το Spindle μπορεί να διέπει τα γεγονότα. Το Fabric μπορεί να εμφανίζει τις πηγές δίπλα στις απαντήσεις. Το AION και το Trace μπορούν να καθιστούν τις αποφάσεις και τους υπολογισμούς επαληθεύσιμους. Κάθε επίπεδο έχει μια δουλειά. Η δουλειά του BitWeave δεν είναι να είναι ένα γράφημα γνώσης ή ένα σύστημα αποδείξεων. Είναι να κάνει την ανάκτηση να συμπεριφέρεται σαν υποδομή και όχι σαν καιρός.
Ο ντετερμινισμός ξεκινά με τη σειρά
Ο ντετερμινισμός στην ανάκτηση δεν αφορά μόνο την επιστροφή περίπου του ίδιου συνόλου εγγράφων. Το «περίπου» είναι ο λόγος που οι συναντήσεις γίνονται μεγαλύτερες. Το δύσκολο κομμάτι είναι η σειρά. Αν δύο υποψήφια είναι κοντά, το σύστημα χρειάζεται πάλι έναν σταθερό κανόνα ισοβαθμίας. Αν το σώμα κειμένων και το ερώτημα είναι τα ίδια, οι επαναλαμβανόμενες εκτελέσεις δεν θα πρέπει να ανακατεύουν τα οριακά έγγραφα σαν νευρικός ντίλερ.
Αυτό ακούγεται υπερβολικά λεπτομερές μέχρι μια απάντηση να εξαρτάται από τα τρία πρώτα υποψήφια. Η σειρά των υποψηφίων αλλάζει τι διαβάζει πρώτο το μοντέλο. Αλλάζει ποια παραπομπή εμφανίζεται ως κύρια. Αλλάζει ποια πηγή συμπιέζεται όταν το όριο των διακριτικών είναι περιορισμένο. Σε ρυθμιζόμενες ή υψηλού κινδύνου ροές εργασίας, αυτή η σειρά δεν είναι προτίμηση διεπαφής. Είναι μέρος της διαδρομής απόφασης.
Η σταθερή κατάταξη καθιστά επίσης δυνατό τον εντοπισμό σφαλμάτων. Αν ένας χρήστης πει ότι η απάντηση άλλαξε, η ομάδα μπορεί να ρωτήσει αν άλλαξε το σώμα κειμένων, το ερώτημα, η κατάταξη ή το μοντέλο. Χωρίς σταθερή ανάκτηση, κάθε περιστατικό γίνεται μια σούπα από «ίσως». Ίσως το έγγραφο μετακινήθηκε. Ίσως η ενσωμάτωση άλλαξε. Ίσως η υπηρεσία ενημερώθηκε. Ίσως Τρίτη. Εξαιρετική κατηγορία βασικής αιτίας, η Τρίτη.
Η ντετερμινιστική επίλυση ισοβαθμιών δεν είναι εντυπωσιακή, αλλά είναι το είδος της μηχανικής που διαχωρίζει την υποδομή προϊόντος από την υποδομή επίδειξης. Η υποδομή επίδειξης πρέπει να λειτουργεί μόνο όσο κάποιος παρακολουθεί. Η υποδομή προϊόντος πρέπει να εξηγεί τον εαυτό της αφού όλοι έχουν φύγει.
Η τοπικότητα είναι χαρακτηριστικό προϊόντος
Η ανάκτηση γίνεται συχνά εξάρτηση από το νέφος από συνήθεια και όχι από ανάγκη. Μια ομάδα έχει έγγραφα. Μια φιλοξενούμενη υπηρεσία αναζήτησης έχει ένα βολικό API. Το σώμα κειμένων φεύγει. Ο οργανισμός κερδίζει ταχύτητα και χάνει λίγο έλεγχο. Μετά εξαρτάται από αυτό ένα άλλο σύστημα. Μετά εξαρτάται ο έλεγχος. Μετά η έξοδος εξαρτάται από μια μετεγκατάσταση που κανείς δεν σχεδίασε. Έτσι η αρχιτεκτονική γίνεται συνδρομή με συναισθήματα.
Η τοπική στάση του BitWeave είναι σημαντική επειδή πολλά σώματα κειμένων δεν θα πρέπει να ταξιδεύουν. Νομικά αρχεία, εσωτερικές πολιτικές, αρχεία μηχανικής, έγγραφα πελατών, υλικό υγειονομικής περίθαλψης, φάκελοι προμηθειών, πηγές ερευνών: το ερώτημα δεν είναι μόνο αν μπορούμε να το αναζητήσουμε, αλλά πού επιτρέπεται να εκτελείται η αναζήτηση;
Η τοπικότητα βελτιώνει επίσης την ανάλυση σφαλμάτων. Αν το ευρετήριο βρίσκεται υπό τον έλεγχο του οργανισμού, η ομάδα μπορεί να επιθεωρήσει εκδόσεις, εισόδους, διαδρομές ερωτημάτων και στιγμές ενημέρωσης. Αν η ανάκτηση είναι απομακρυσμένη και αδιαφανής, η απάντηση στο γιατί εμφανίστηκε αυτό το υποψήφιο μπορεί να γίνει ρωτήστε τον προμηθευτή. Αυτό είναι μερικές φορές αποδεκτό για αναζήτηση καταναλωτών. Είναι πολύ λιγότερο ελκυστικό όταν η διαδρομή ανάκτησης υποστηρίζει μια επιχειρηματική απόφαση, μια νομική απάντηση ή μια ροή εργασίας του δημόσιου τομέα.
Το ζήτημα δεν είναι ότι οι υπηρεσίες cloud είναι κακόβουλες. Το ζήτημα είναι ότι η τοπικότητα ανάκτησης είναι απόφαση ανάπτυξης, όχι επιλογή τρόπου ζωής. Ορισμένα φορτία εργασίας μπορούν να εκτελούνται φιλοξενούμενα. Ορισμένα θα πρέπει να καθηλώνονται σε μια περιοχή. Ορισμένα ανήκουν σε εγκαταστάσεις εντός του οργανισμού. Ορισμένα ανήκουν σε απομονωμένα δίκτυα. Το επίπεδο ανάκτησης θα πρέπει να προσαρμόζεται στη στάση ασφαλείας, όχι να την επιβάλλει.
Η ανάκτηση χρειάζεται αποδείξεις
Η τεχνητή νοημοσύνη που βασίζεται σε πηγές συχνά εμφανίζει παραπομπές σαν αυτό από μόνο του να λύνει το πρόβλημα των αποδεικτικών στοιχείων. Βοηθά, αλλά δεν αρκεί. Μια παραπομπή δείχνει σε τι αναφέρεται η απάντηση. Δεν εξηγεί αυτόματα πώς συλλέχθηκε η πηγή, πώς εισήλθε στο σώμα κειμένων, πώς ευρετηριάστηκε, γιατί κατατάχθηκε πάνω από ένα άλλο υποψήφιο αποτέλεσμα ή ποιος κανόνας ισοβαθμίας αποφάσισε μια οριακή περίπτωση.
Το BitWeave δεν χρειάζεται να γίνει πλήρες σύστημα ελέγχου για να έχει σημασία εδώ. Χρειάζεται να εκθέσει αρκετή διαδρομή ανάκτησης ώστε άλλα επίπεδα να μπορούν να την καταγράψουν. Ερώτημα, υποψήφια αποτελέσματα, βαθμολογίες ή αποστάσεις, κανόνας ισοβαθμίας, έκδοση σώματος κειμένων, έκδοση ευρετηρίου, επιλεγμένες εγγραφές: αυτά είναι τα θεμέλια μιας απόδειξης ανάκτησης. Το Ledger μπορεί να καταγράφει λειτουργικά συμβάντα. Το Trace μπορεί να μεταφέρει διαδρομές απόδειξης όπου έχει σημασία ο υπολογισμός. Το Fabric μπορεί να εμφανίζει τις πηγές. Η ανάκτηση θα πρέπει να τους δίνει κάτι συγκεκριμένο για να δουλέψουν.
Εδώ είναι που η ντετερμινιστική ανάκτηση γίνεται κάτι περισσότερο από μια μηχανική προτίμηση. Γίνεται χαρακτηριστικό διακυβέρνησης. Αν ο οργανισμός μπορεί αργότερα να ανασυνθέσει γιατί εμφανίστηκαν αυτά τα υποψήφια αποτελέσματα, η απάντηση που βασίζεται σε πηγές είναι ευκολότερο να αμφισβητηθεί, να διορθωθεί και να βελτιωθεί. Αν δεν μπορεί, οι παραπομπές γίνονται διακοσμητικοί σύνδεσμοι. Χρήσιμη διακόσμηση, αλλά εξακολουθεί να είναι διακόσμηση.
Μια καλή απόδειξη ανάκτησης προστατεύει επίσης το μοντέλο από άδικη κατηγορία. Όταν μια απάντηση χάνει μια βασική πηγή, η ομάδα μπορεί να ελέγξει αν η πηγή απουσίαζε από το σώμα κειμένων, ήταν παρούσα αλλά εξήχθη ελάχιστα, ευρετηριάστηκε αλλά κατατάχθηκε πολύ χαμηλά, κατατάχθηκε ψηλά αλλά αγνοήθηκε από το μοντέλο ή παρατέθηκε λανθασμένα. Αυτές είναι διαφορετικές διορθώσεις. Χωρίς τη διαδρομή ανάκτησης, η ομάδα συνήθως επιλέγει την πιο δυνατή θεωρία και την αποκαλεί πρόοδο.
Η παγίδα των συγκριτικών δοκιμών
Κάθε σύστημα ανάκτησης τελικά παρασύρεται σε θέατρο επιδόσεων. QPS, καθυστέρηση, ανάκληση, μέγεθος σώματος κειμένων, υλικό, κατάσταση κρυφής μνήμης, ρυθμίσεις παρτίδας, μορφή συγκριτικής δοκιμής. Ορισμένοι αριθμοί είναι χρήσιμοι. Πολλοί είναι διακοσμητικοί. Ορισμένοι παραπλανούν ενεργά όταν αποσπώνται από τα συμφραζόμενά τους.
Το BitWeave έχει μια σημείωση προειδοποίησης για ασυμφωνία επιδόσεων που αναφέρει ότι παλαιότεροι ισχυρισμοί υψηλού QPS θα πρέπει να αφαιρεθούν. Αυτό δεν είναι πρόβλημα να κρυφτεί. Είναι μια πειθαρχία να διατηρηθεί. Η υποδομή ανάκτησης θα πρέπει να μετράται στο υλικό, στο σώμα κειμένων και στο φορτίο εργασίας που έχουν σημασία. Μια συγκριτική δοκιμή μπορεί να καθοδηγήσει, αλλά δεν μπορεί να αντικαταστήσει τη μέτρηση στο περιβάλλον του χρήστη.
Γι' αυτόν τον λόγο, η ασφαλέστερη ιστορία του BitWeave δεν είναι ένας ηρωικός ισχυρισμός ταχύτητας. Είναι η επαναλήψιμη σχεδιαστική στάση: δυαδικά υπερδιανύσματα, απόσταση φιλική προς την CPU, ντετερμινιστική επίλυση ισοβαθμιών, τοπικές επιλογές ανάπτυξης και δεσμεύσεις που επιτρέπουν στις ομάδες να ενσωματώνουν χωρίς να μετατρέπουν το επίπεδο ανάκτησης σε απομακρυσμένη εξάρτηση από προεπιλογή.
Το πρακτικό ερώτημα δεν είναι αν κάποιος μπορεί να παράγει έναν μεγάλο αριθμό σε μια συγκριτική δοκιμή. Το πρακτικό ερώτημα είναι αν η ομάδα σας μπορεί να εκτελέσει το ευρετήριο εκεί όπου ανήκει το σώμα κειμένων, να πάρει την ίδια διαδρομή απάντησης δύο φορές, να επιθεωρήσει γιατί εμφανίστηκαν τα υποψήφια αποτελέσματα και να διατηρήσει την ανάκτηση χρήσιμη όταν το περιβάλλον σύστημα καθίσταται υπόλογο. Λιγότερα πυροτεχνήματα, περισσότερες σωληνώσεις. Καταλήγουμε συνεχώς στις σωληνώσεις. Το λογισμικό είναι ταπεινωτικό έτσι.
Πού ταιριάζει το BitWeave
Το BitWeave μπαίνει μετά τη συλλογή και πριν τη συλλογιστική. Το Winnow μπορεί να φέρει τις πηγές με φακέλους και σχήμα εξαγωγής. Το BitWeave μπορεί να ευρετηριάσει και να κατατάξει υποψήφια αποτελέσματα. Το Spindle μπορεί να μετατρέψει επαναλαμβανόμενα γεγονότα σε ελεγχόμενη γνώση. Το Fabric μπορεί να βάλει τις πηγές πίσω από την απάντηση. Το AION μπορεί να αποδείξει τα βήματα συλλογιστικής όπου η απόφαση χρειάζεται απόδειξη. Το Ledger μπορεί να καταγράφει λειτουργικά συμβάντα. Αυτή η διάρθρωση έχει σημασία γιατί η ανάκτηση από μόνη της δεν μπορεί να στηρίξει όλη την ιστορία της εμπιστοσύνης.
Αυτό επίσης αποτρέπει τους υπερβολικούς ισχυρισμούς. Το BitWeave δεν αποφασίζει αν μια πηγή είναι νομικά χρησιμοποιήσιμη. Δεν πιστοποιεί ότι ένα γεγονός είναι αληθές. Δεν αποδεικνύει ότι μια τελική απάντηση προκύπτει από τις προκείμενες. Ανακτά. Αν γίνεται σωστά, αυτό είναι ήδη αρκετά δύσκολο. Ο κλάδος μετατρέπει συνεχώς απλά όρια σε ομίχλη στρατηγικής και μετά προσποιείται έκπληξη όταν κανείς δεν μπορεί να εντοπίσει το πρόβλημα στο σύστημα.
Για ομάδες που χτίζουν τεχνητή νοημοσύνη με υποστήριξη πηγών, η άμεση αξία είναι συγκεκριμένη. Κρατήστε το σώμα κειμένων κοντά. Χρησιμοποιήστε ένα επίπεδο ανάκτησης με σταθερή σειρά. Καταγράψτε τη διαδρομή των υποψήφιων αποτελεσμάτων. Αποφύγετε να κάνετε την εξ αποστάσεως αδιαφάνεια προεπιλογή. Μετράτε τοπικά. Στη συνέχεια συνδέστε την ανάκτηση με τα συστήματα που διαχειρίζονται την προέλευση, τη διακυβέρνηση και την απόδειξη.
Το μάθημα
Το μάθημα του BitWeave είναι ότι η ανάκτηση δεν είναι παράπλευρη αποστολή. Είναι μέρος της διαδρομής προς την απάντηση. Αν είναι ασταθής, αδιαφανής ή περιττά απομακρυσμένη, το μοντέλο μπορεί να ακούγεται σίγουρο ενώ πατάει σε κινούμενη άμμο. Αν η ανάκτηση είναι τοπική, δυαδική και ντετερμινιστική, η διαδρομή προς την απάντηση γίνεται πιο εύκολο να επιθεωρηθεί.
Τα δυαδικά διανύσματα δεν είναι μαγεία. Είναι μια πρακτική αναπαράσταση. Το XNOR και το POPCNT δεν είναι επιχειρηματική στρατηγική. Είναι ένας τρόπος να χωρέσει η ομοιότητα σε συνηθισμένες μηχανές. Η ντετερμινιστική επίλυση ισοπαλιών δεν είναι εντυπωσιακή. Είναι αυτό που εμποδίζει το ίδιο ερώτημα να γίνει κουλοχέρης. Η τοπική ανάπτυξη δεν είναι νοσταλγία. Είναι έλεγχος.
Αυτό είναι το χρήσιμο σχήμα του BitWeave: όχι θέατρο νέφους, όχι επίδειξη σημείων αναφοράς, όχι άλλο ένα μαύρο κουτί ανάμεσα στον χρήστη και την πηγή. Ένα επίπεδο ανάκτησης που μπορεί να ζήσει εκεί που ζουν τα δεδομένα, να επιστρέφει σταθερή σειρά και να αφήνει αρκετό ίχνος για να εξηγήσει το υπόλοιπο σύστημα τι συνέβη.
Οι καλές απαντήσεις τεχνητής νοημοσύνης ξεκινούν πριν το μοντέλο γράψει λέξη. Ξεκινούν με συγκεντρωμένες πηγές, καθαρά αποσπάσματα, σταθερή ανάκτηση και αρχεία που μπορούν να αμφισβητηθούν. Το BitWeave είναι ένα από τα βαρετά κομμάτια που κάνουν το συναρπαστικό μέρος λιγότερο ντροπιαστικό. Αυτή είναι μια χαρά δουλειά. Τα περισσότερα αξιόπιστα συστήματα χτίζονται από τέτοιες δουλειές.