AI-mallit ja alustat
Syvä analysyi Retrieval-Augmented Generationista LLM:ssä
Kuvitella, että olet analyytikko, ja sinulla on pääsy Large Language Modeliin. Olet innoissasi siitä, mitä se tuo työskentelyysi. Mutta sitten kysyt siitä viimeisimmistä osakkeiden hinnoista tai nykyisestä inflaatiosta, ja se iskee sinuun:
“I’m sorry, but I cannot provide real-time or post-cutoff data. My last training data only goes up to tammikuu 2022.”
Large Language Model, kaikessa kielellisessä voimassaan, ei pysty käsittelemään “nyt”. Ja nopeasti muuttuvassa maailmassa “nyt” on kaikki.
Tutkimukset ovat osoittaneet, että suuret esikoulutetut kielen mallit (LLM) ovat myös faktatietojen varastoja.
Ne ovat käyneet läpi niin paljon dataa, että ne ovat omaksuneet paljon faktoja ja lukuja. Kun ne on hienosäädetty, ne voivat saavuttaa huomattavia tuloksia monilla NLP-tehtävillä.
Mutta tässä on ongelmia: heidän kykynsä päästä ja muokata tätä tallennettua tietoa ei aina ole täydellinen. Erityisesti kun tehtävänä on tietoinen, nämä mallit voivat jäädä jälkeen erikoistuneista arkkitehtuureista. Se on kuin olisi kirjasto, jossa on kaikki maailman kirjat, mutta ei katalogia löytääkseen, mitä tarvitsee.
OpenAI:n ChatGPT saa selaamisen päivityksen
OpenAI:n viimeisin ilmoitus ChatGPT:n selaamismahdollisuudesta on merkittävä askel Retrieval-Augmented Generationin (RAG) suuntaan. Kun ChatGPT pystyy nyt etsimään internetistä ajankohtaisia ja virallisia tietoja, se heijastaa RAG-lähestymistapaa, jossa dynaamisesti haetaan tietoja ulkoisista lähteistä rikastamaan vastauksia.
https://twitter.com/OpenAI/status/1707077710047216095
Tällä hetkellä tämä ominaisuus on saatavilla vain Plus- ja Enterprise-käyttäjille, mutta OpenAI aikoo julkaista tämän ominaisuuden kaikille käyttäjille pian. Käyttäjät voivat aktivoida tämän valitsemalla “Selaus Bingin kanssa” GPT-4-vaihtoehdon alta.
Ohjelmointi on tehokasta, mutta riittämätöntä
Kysymykset toimivat LLM:n tietojen porttina. Ne ohjaavat mallia antaen suunnan vastaukselle. Kuitenkin tehokkaan kysymyksen luominen ei ole täydellinen ratkaisu saada, mitä haluat LLM:stä. Käydään kuitenkin läpi joitakin hyviä käytäntöjä, jotka kannattaa ottaa huomioon kysymyksen kirjoittamisessa:
- Selkeä: Hyvin määritelty kysymys poistaa epäselvyyden. Se pitäisi olla suora, varmistaen, että malli ymmärtää käyttäjän aikomuksen. Tämä selkeä ymmärrys usein kääntyy yhdenmukaisemmaksi ja relevantimmaksi vastaukseksi.
- Konteksti: Erityisesti laajojen syötteen osalta, ohjeen sijoittaminen voi vaikuttaa tulokseen. Esimerkiksi ohjeen siirtäminen pitkän kysymyksen loppuun voi usein tuottaa parempia tuloksia.
- Tarkkuus ohjeistuksessa: Kysymyksen voima, usein välitetty “ken, mitä, missä, milloin, miksi, miten” -kehyksessä, voi ohjata mallia kohti tarkemmin kohdennettua vastausta. Lisäksi määrittelemällä toivottu vastauksen muoto tai koko voidaan mallin tulosta edelleen raffinoida.
- Epävarmuuden käsittely: On tärkeää ohjata mallia siinä, miten se vastaa, kun se on epävarma. Esimerkiksi ohjeistamalla mallia vastaamaan “En tiedä”, kun se on epävarma, voidaan estää sen luominen epätarkoista tai “hallusinointi”-vastauksia.
- Askeltainen ajattelu: Monimutkaisissa ohjeissa ohjaamalla mallia systemaattiseen ajatteluun tai jakamalla tehtävän alitehtäviin voidaan johtaa kattavampiin ja tarkempiin tuloksiin.
Haasteet generatiivisissa tekoälymallissa
Kysymyksen muotoilu liittyy ohjeiden antamiseen mallille parantamaan sen suorituskykyä. Se on erittäin kustannustehokas tapa parantaa generatiivisen tekoälysovelluksen tarkkuutta, vaativan vain vähäisiä koodin muutoksia. Vaikka kysymyksen muotoilu voi parantaa tuloksia merkittävästi, on tärkeää ymmärtää suurten kielen mallien (LLM) sisäisiä rajoituksia. Kaksi ensisijaista haastetta ovat “hallusinaatiot” ja “tietojen leikkaukset”.
- Hallusinaatiot: Tämä viittaa tilanteisiin, joissa malli palauttaa varman, mutta väärän tai keksityn vastauksen. Vaikka edistyneet LLM:t ovat sisäisiä mekanismeja, jotka tunnistavat ja välttävät tällaisia tuloksia.
- Tietojen leikkaukset: Jokaisella LLM-mallilla on koulutuksen päättymispäivä, jonka jälkeen se ei ole tietoinen tapahtumista tai kehityksestä. Tämä rajoitus tarkoittaa, että mallin tietämys on jäädytetty sen viimeisen koulutuspäivämäärään. Esimerkiksi malli, joka on koulutettu vuoteen 2022 asti, ei tiedä vuoden 2023 tapahtumista.
Haun täydentäminen (RAG) tarjoaa ratkaisun näihin haasteisiin. Se sallii malleja päästä ulkoisiin tietolähteisiin, lieventäen hallusinaatioita antamalla pääsyn omistajiin tai alakohtaisiin tietoihin. Tietojen leikkauksille RAG voi päästä ajankohtaisiin tietoihin mallin koulutuksen päättymispäivämäärän jälkeen, varmistaen, että tulokset ovat ajan tasalla.
Se myös sallii LLM:n hakea tietoja eri ulkoisista lähteistä reaaliajassa. Tämä voi olla tietokantoja, tietokantoja tai jopa laaja internet.
Johdanto haun täydentämiseen
Haun täydentäminen (RAG) on kehys, ei tiettyä teknologiaa, joka mahdollistaa suurten kielen mallien (LLM) pääsyn tietoihin, joita ne eivät ole koulutettu. On useita tapoja toteuttaa RAG, ja paras sopii riippuen tehtävästäsi ja tietojen luonteesta.
RAG-kehys toimii järjestetyllä tavalla:
Kysymyksen syöttäminen
Prosessi alkaa käyttäjän syötteen tai kysymyksen kanssa. Tämä voi olla kysymys tai lause, joka etsii tiettyä tietoa.
Haun teko ulkoisista lähteistä
Sen sijaan, että malli suoraan generoisi vastauksen koulutuksensa perusteella, malli, haun komponentin avulla, etsii tietoja ulkoisista tietolähteistä. Nämä lähteet voivat olla tietokantoja, tietokantoja, asiakirjoja tai internetin tietoja.
Tietojen ymmärtäminen
Olennaisesti ottaen, haun teko heijastaa hakutoimintoa. Se on tietojen etsintää, joka on tärkeintä käyttäjän syötteen mukaan. Tämä prosessi voidaan jakaa kahteen vaiheeseen:
- Indeksointi: Väittäen, että haun täydentämisen matkan haasteellisin osa on indeksointi tietokannasta. Indeksointiprosessi voidaan jakaa kahteen vaiheeseen: Lataaminen ja Jakaminen. Työkaluissa, kuten LangChain, nämä prosessit ovat termejä “lataajat” ja “jakajat”. Lataajat hakevat sisältöä eri lähteistä, kuten verkkosivuilta tai PDF-tiedostoista. Kun sisältö on haettu, jakajat jakavat tämän sisällön pieniin, optimaalisiin palasiin, jotka sopivat upottamiseen ja hakemiseen.
- Kysely: Tämä on tietojen etsintä perusteella hakusanaa.
Vaikka on useita tapoja lähestyä haun tekoa, yksinkertaisesta tekstikohtaisesta vastaamisesta käyttäen hakukoneita, kuten Google , modernit RAG-järjestelmät luottavat semanttiseen hakemiseen. Semanttisen hakemisen ytimessä on upotusten käsite.
Upotukset ovat keskeisiä siinä, miten suuret kielen mallit (LLM) ymmärtävät kieltä. Kun ihmiset yrittävät selittää, miten he saavat merkityksen sanoista, selitys usein kiertää takaisin sisäiseen ymmärrykseen. Syvällä kognitiivisissa rakenteissamme, tunnustamme, että “lapsi” ja “poika” ovat synonyymejä, tai että “punainen” ja “vihreä” molemmat tarkoittavat värejä.
Kysymyksen täydentäminen
Haettu tieto yhdistetään alkuperäiseen kysymykseen, luoden täydentävän tai laajennetun kysymyksen. Tämä täydentävä kysymys antaa mallille lisäkontekstia, joka on erityisen arvokasta, jos data on alakohtainen tai ei kuulu mallin alkuperäiseen koulutusaineistoon.
Vastauksen generointi
Täydentävän kysymyksen kanssa malli generoi vastauksen. Tämä vastaus ei perustu ainoastaan mallin koulutukseen, vaan myös haettuihin tietoihin.
Ensimmäisen RAG LLM:n arkkitehtuuri
Tutkimusartikkeli, jonka Meta julkaisi vuonna 2020 “Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks”, tarjoaa syvän katsauksen tähän tekniikkaan. Haun täydentämismalli täydentää perinteisen generoinnin prosessin ulkoisella hakumekanismilla. Tämä mahdollistaa mallille haettavien tietojen hakemisen laajoista tietokannoista, parantaen sen kykyä generoida kontekstuaalisesti tarkkoja vastauksia.
Tässä on, miten se toimii:
- Parametrinen muisti: Tämä on perinteinen kielen malli, kuten seq2seq-malli. Se on koulutettu laajoilla määrillä dataa ja tietää paljon.
- Ei-parametrinen muisti: Ajattele tätä hakukoneena. Se on tiheä vektori-indeksi, esimerkiksi Wikipediasta, jota voidaan käyttää neuronirakentajaa.
Kun nämä yhdistetään, ne luovat tarkan mallin. RAG-malli hakee ensin relevantteja tietoja ei-parametrinen muistista ja sitten käyttää parametrinen tietämys antamaan yhdenmukaisen vastauksen.
1. Kahden vaiheen prosessi:
RAG LLM toimii kahdessa vaiheessa:
- Haun teko: Malli etsii ensin relevantteja asiakirjoja tai kohtia laajasta tietokannasta. Tämä tehdään tiheän hakumekanismin avulla, joka käyttää upotuksia edustamaan sekä kysymystä että asiakirjoja. Upotukset käytetään laskea yhtäläisyyden arvoja, ja ylin sijoitettu asiakirja haetaan.
- Generointi: Kun ylin sijoitettu asiakirja on käsiin, ne kanavoituvat sekvenssi-sekvenssi-generaattoriin alkuperäisen kysymyksen kanssa. Tämä generaattori luo lopullisen tuloksen, joka perustuu sekä kysymykseen että haettuihin asiakirjoihin.
2. Tiheä hakeminen:
Perinteiset hakujärjestelmät usein luottavat harvoihin edustuksiin, kuten TF-IDF:hen. RAG LLM kuitenkin käyttää tiheitä edustuksia, joissa sekä kysymys että asiakirjat upotetaan jatkuviin vektoriavaruuteen. Tämä mahdollistaa hienostuneemmat yhtäläisyyden vertailut, jotka havaitsevat semanttiset suhteet yksinkertaisen avainsanan vastaamisen ulkopuolella.
3. Sekvenssi-sekvenssi-generointi:
Haetut asiakirjat toimivat laajennettuna kontekstina generointimallille. Tämä malli, usein perustuva arkkitehtuureihin, kuten Transformer, generoi lopullisen tuloksen, varmistaen, että se on yhdenmukainen ja kontekstuaalisesti relevantti.
Asiakirjan hakeminen
Asiakirjan indeksointi ja hakeminen
Tehokkaan tiedon hakemisen vuoksi, erityisesti suurista asiakirjoista, data tallennetaan usein vektoritietokantaan. Jokainen tieto tai asiakirja indeksoidaan upotusvektorin perusteella, joka sieppaa asiakirjan semanttisen olennaisuuden. Tehokas indeksointi varmistaa nopean relevantin tiedon hakemisen käyttäjän syötteen perusteella.
Veektoritietokannat

Source: Redis
Veektoritietokannat, jotka voidaan kutsua myös vektorisäilöksi, ovat erikoistuneita tietokantoja, jotka osaavat hallita vektorigrafiikkaa, kuten AI-malleista saatavia upotuksia. Veektoritietokannat ovat olennaisia tekoälysovelluksissa, joissa tehdään suosituksia, kuvahakuja tai muita tehtäviä, joissa tarvitaan vektoreiden vertailua.
Jotkut merkittävät veektoritietokannat ovat Annoy, Faiss Meta, Milvus ja Pinecone. Nämä tietokannat ovat tärkeitä tekoälysovelluksissa, joissa tarvitaan nopeita ja tehokkaita hakutoimintoja.
Haun täydentämisen hyödyt
- Parannettu tarkkuus: Käyttämällä ulkoisia tietolähteitä, RAG LLM voi generoida vastauksia, jotka eivät perustu ainoastaan mallin koulutukseen, vaan myös ajankohtaisiin ja relevantteihin tietoihin, jotka ovat saatavilla hakukorpuksessa.
- Tietojen aukkojen ylittäminen: RAG ratkaisee tehokkaasti LLM:n sisäiset tietorajoitukset, olivat ne johtuneet mallin koulutuksen päättymisajankohdasta tai puutteesta alakohtaisista tiedoista koulutusaineistossa.
- Monikäyttöisyys: RAG voidaan integroida eri ulkoisiin tietolähteisiin, organisaation omiin tietokantoihin tai julkisesti saatavilla oleviin internet-tietoihin. Tämä tekee siitä soveltuvan laajaan valikoimaan sovelluksiin ja aloihin.
- Hallusinaatioiden vähentäminen: Yksi LLM:n haasteista on “hallusinaatioiden” tai virheellisten tai keksittyjen tietojen generoimisen mahdollisuus. Tarjoamalla reaaliaikaisen kontekstin, RAG voi merkittävästi vähentää näiden tulosten todennäköisyyttä.
- Skalautuvuus: Yksi RAG LLM:n ensisijaisista hyödyistä on sen kyky skaalautua. Erottamalla hakemisen ja generoinnin prosessit, malli voi tehokkaasti käsitellä laajoja tietomääriä, mikä tekee siitä sovellettavissa todellisen maailman sovelluksiin, joissa data on runsasta.
Haasteet ja huomioon otettavat seikat
- Laskennallinen kuormitus: Kahden vaiheen prosessi voi olla laskennallisesti raskas, erityisesti suurten tietomäärien käsittelyssä.
- Riippuvuus tiedosta: Haettujen asiakirjojen laatu vaikuttaa suoraan generoinnin laatuun. On siis tärkeää, että hakukorpus on kattava ja hyvin ylläpidetty.
Johtopäätös
Yhdistämällä hakemisen ja generoinnin prosessit, haun täydentäminen tarjoaa vahvan ratkaisun tietointensiivisiin tehtäviin, varmistaen, että tulokset ovat sekä perusteltuja että kontekstuaalisesti relevantteja.
Haun täydentämisen todellinen lupa piilee sen soveltamismahdollisuuksissa. Esimerkiksi terveydenhuollossa, jossa ajankohtainen ja tarkka tieto voi olla ratkaisevaa, haun täydentäminen tarjoaa kyvyn etsiä ja generoida oivalluksia laajoista lääketieteellisistä kirjallisuudesta. Rahoituksessa, jossa markkinat kehittyvät minuuttia minuutilta, haun täydentäminen voi tarjota reaaliaikaisia, tietoihin perustuvia oivalluksia, jotka auttavat päätöksentekoa. Lisäksi akateemisissa ja tutkimuspiireissä tutkijat voivat hyödyntää haun täydentämistä skannataksensa laajoja tietovaroja, tehdäkseen kirjallisuuskatsaukset ja tietojen analyysin tehokkaammaksi.

















