Hvad er Vektorindlejring og Vektordatabaser?
Hvorfor Rememberizer er mere end bare en database eller søgemaskine til nøgleord.
Last updated
Hvorfor Rememberizer er mere end bare en database eller søgemaskine til nøgleord.
Last updated
Rememberizer bruger vektorindlejringer i vektordatabaser til at muliggøre søgninger efter semantisk lighed inden for brugerens videnskilder. Dette er en fundamentalt mere avanceret og nuanceret form for informationshentning end blot at lede efter nøgleord i indhold gennem en søgemaskine eller database.
I deres mest avancerede form (som anvendt af Rememberizer) skabes vektorindlejringer af sprogmodeller med arkitekturer, der ligner AI LLM'er (Store Sprogmodeller), som ligger til grund for OpenAI's gpt-modeller og ChatGPT-tjenesten samt modeller/tjenester fra Google (Gemini), Anthropic (Claude), Facebook (LLama 2) og andre. Af denne grund er det naturligt at bruge vektorindlejringer til at opdage relevant viden, der skal inkluderes i konteksten af AI-modellens prompts. Teknologierne er komplementære og nogenlunde ækvivalente. Af denne grund vil de fleste udbydere af LLM'er som en tjeneste også producere vektorindlejringer som en tjeneste (for eksempel: en blog fra Together AI eller en anden blog fra OpenAI).
Hvordan ser en vektorindlejring ud? Overvej en koordinat (x,y) i to dimensioner. Hvis det repræsenterer en linje fra oprindelsen til dette punkt, kan vi tænke på det som en linje med en retning, med andre ord en vektor i to dimensioner. I vores kontekst vil en vektorindlejring være en liste af noget som 768 tal, der repræsenterer en vektor i et 768-dimensionelt rum. I sidste ende kan denne liste af tal repræsentere vægte mellem nul og en i en Transformer-model, der definerer betydningen i en sætning som "Et lyn fra den blå himmel." Dette er fundamentalt den samme underliggende repræsentation af betydning, der bruges i GPT-4 for eksempel. Som et resultat kan vi forvente, at en god vektorindlejring muliggør den samme strålende tilsyneladende forståelse, som vi ser i moderne AI sprogmodeller.
Det er værd at bemærke, at vektorindlejringer kan bruges til at repræsentere mere end blot tekst, men også andre typer data som billeder eller lyd. Og med en korrekt trænet model kan man sammenligne på tværs af medier, så en vektorindlejring på et tekstafsnit kan sammenlignes med et billede, eller omvendt. I dag muliggør Rememberizer søgninger inden for kun tekstkomponenten af brugerens dokumenter og viden. Men tekst-til-billede og billede-til-tekst søgning er på køreplanen. Google bruger vektorindlejringer til at drive deres tekstsøgning (tekst-til-tekst) og også deres billedsøgning (tekst-til-billede) (reference). Facebook har overvejet at bruge indlejringer til deres sociale netværkssøgning (reference). Snapchat bruger vektorindlejringer til at forstå konteksten for at vise den rigtige annonce til den rigtige bruger på det rigtige tidspunkt (reference).
For at forstå dybt, hvordan vektorindlejring og vektordatabaser fungerer, start med oversigten fra Hugging Face. Pinecone (en vektorindlejringsdatabase som en tjeneste) har en god oversigt også.
En anden fantastisk kilde til at forstå søgning og viden i vektorer er Meta/Facebook-papiret og koden til FAISS-biblioteket. "FAISS: Et bibliotek til effektiv lighedssøgning og klyngedannelse af tætte vektorer" af Johnson, Douze og Jégou (2017): FAISS giver en omfattende oversigt over et bibliotek designet til effektiv lighedssøgning og klyngedannelse af tætte vektorer. Det diskuterer metoder til at optimere indekserings- og søgeprocesserne i store vektordatabaser, herunder dem baseret på produktkvantisering. Det bedste sted at lære mere om dette er dokumentationen sammen med koden på Github.
Sørg for at overveje juni 2017-papiret, der startede genAI (generativ kunstig intelligens) revolutionen, "Attention Is All You Need." (reference), som introducerer Transformer-arkitekturen bag GPT-modellerne og alle LLM'erne, der følger fra OpenAI, Google, Meta (Facebook), Nvidia, Microsoft, IBM, Anthropic, Mistral, Salesforce, xAI (Elon Musk), Stability AI, Cohere og mange andre open sources. Overvej også, "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality" (reference 1998, reference 2010). Disse papirer diskuterer teorien bag tilnærmet nærmeste nabo (ANN) søgning i højdimensionale rum, et kernekoncept i vektordatabaser til effektivt at hente lignende elementer.
En spændende ting ved disse Transformer-baserede modeller er, at jo mere data de brugte, jo større (flere parametre) blev de, jo bedre blev deres forståelse og evner. OpenAI bemærkede først dette, da de trænede deres GPT-2-model. Da de indså dette potentiale, stoppede de straks med at være en open-source-orienteret non-profit og blev en lukket kilde for-profit virksomhed med fokus på at producere GPT-3, GPT-4 og dens berømte front-end, ChatGPT. Interessant nok ejer Google patentet på denne teknologi -- det var deres forskere bag Transformers og Attention Is All You Need (reference). ChatGPT er lidt uenig i min karakterisering og skriver, at "Narrativet omkring OpenAI's overgang fra en open-source-orienteret non-profit til en lukket kilde for-profit enhed forenkler en kompleks udvikling. OpenAI's skift omfattede et fokus på sikkerhed og ansvarlig AI-udvikling sammen med kommercielle aspekter. Det er også værd at bemærke, at mens OpenAI har prioriteret udviklingen af proprietær teknologi som GPT-3 og videre, fortsætter de med at engagere sig med forskningssamfundet gennem publikationer og samarbejder."
BERT sprogmodeller er baseret på Transformers og bruges ofte i avancerede vektorindlejringsmotorer. Dette blev introduceret i 2018-papiret "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" (reference). BERT (Bidirectional Encoder Representations from Transformers) markerede et betydeligt skift mod fortrænede modeller, der kan finjusteres til en bred vifte af NLP-opgaver. Dens innovative brug af bidirektionel træning og transformerarkitektur satte nye standarder for modelpræstation på tværs af adskillige benchmarks. Tidligere innovative metoder til at skabe vektorindlejringer blev introduceret af GloVe (2014, Stanford), Word2Vec (2013, Google). "GloVe: Global Vectors for Word Representation" (reference): GloVe (Global Vectors) papiret foreslog en ny global log-bilineær regressionsmodel til den usuperviserede læring af ordrepræsentationer, der kombinerer fordelene ved de to hovedmetoder til indlejring: global matrixfaktorisering og lokale kontekstvinduesmetoder. "Efficient Estimation of Word Representations in Vector Space" (reference): Dette papir introducerede Word2Vec, en banebrydende tilgang til at generere ordindlejringer. Word2Vec-modeller, herunder Continuous Bag of Words (CBOW) og Skip-Gram-modeller, er centrale i udviklingen af ordindlejringer.