Tekoäly
Syvä sukellus haun lisättyyn sukupolveen LLM:ssä

Kuvittele, että olet analyytikko ja sinulla on pääsy laajaan kielimalliin. Olet innoissasi tulevaisuudennäkymistä, joita se tuo työnkulkuusi. Mutta sitten kysyt siltä viimeisimmistä osakekursseista tai nykyisestä inflaatiosta, ja se osuu sinuun:
"Olen pahoillani, mutta en voi toimittaa reaaliaikaisia tai katkaisun jälkeisiä tietoja. Viimeiset harjoitustietoni ulottuvat vain tammikuuhun 2022 asti."
Suuri kielimalli, kaikesta kielellisestä voimastaan huolimatta, puuttuu kyvystä ymmärtää 'nyt'. Ja nopeatempoisessa maailmassanyt' on kaikki.
Tutkimukset ovat osoittaneet, että suuret esikoulutetut kielimallit (LLM) ovat myös asiatiedon varastoja.
Heitä on koulutettu käyttämään niin paljon tietoa, että he ovat omaksuneet paljon tosiasioita ja lukuja. Hienosäädettynä ne voivat saavuttaa merkittäviä tuloksia erilaisissa NLP-tehtävissä.
Mutta tässä on saalis: heidän kykynsä käyttää ja manipuloida tätä tallennettua tietoa ei ole toisinaan täydellinen. Varsinkin kun käsillä oleva tehtävä on tietointensiivinen, nämä mallit voivat jäädä jälkeen erikoistuneemmista arkkitehtuureista. Se on kuin kirjastossa olisi kaikki maailman kirjat, mutta ei luetteloa, josta löytyisi tarvitsemaasi.
OpenAI:n ChatGPT saa selauspäivityksen
OpenAI:n äskettäinen ilmoitus ChatGPT:n selauskyvystä on merkittävä harppaus RAG (Retrieval-Augmented Generation) suuntaan. ChatGPT pystyy nyt etsimään Internetistä ajankohtaista ja arvovaltaista tietoa, joten se heijastaa RAG-lähestymistapaa, jossa tietoja haetaan dynaamisesti ulkoisista lähteistä rikastettujen vastausten tarjoamiseksi.
ChatGPT voi nyt selata Internetiä tarjotakseen sinulle ajankohtaista ja arvovaltaista tietoa sekä suoria linkkejä lähteisiin. Se ei enää rajoitu tietoihin ennen syyskuuta 2021. pic.twitter.com/pyj8a9HWkB
- OpenAI (@OpenAI) Syyskuu 27, 2023
Tällä hetkellä Plus- ja Enterprise-käyttäjille saatavilla oleva OpenAI aikoo ottaa tämän ominaisuuden pian käyttöön kaikille käyttäjille. Käyttäjät voivat aktivoida tämän valitsemalla GPT-4-vaihtoehdon alta Selaa Bingillä.
Nopea suunnittelu on tehokasta, mutta riittämätöntä
Kehotteet toimivat porttina LLM:n tietoon. Ne ohjaavat mallia ja antavat suunnan vastaukselle. Tehokkaan kehotteen laatiminen ei kuitenkaan ole täysimittainen ratkaisu saada mitä haluat LLM:ltä. Käydään kuitenkin läpi joitakin hyviä käytäntöjä, jotka on otettava huomioon kehotetta kirjoittaessa:
- Selkeys: Hyvin määritelty kehote poistaa epäselvyyden. Sen tulee olla suoraviivaista ja varmistaa, että malli ymmärtää käyttäjän tarkoituksen. Tämä selkeys merkitsee usein johdonmukaisempia ja osuvampia vastauksia.
- Tausta: Erityisesti laajoissa tuloissa käskyn sijainti voi vaikuttaa lähtöön. Esimerkiksi ohjeen siirtäminen pitkän kehotteen loppuun voi usein tuottaa parempia tuloksia.
- Tarkkuutta opetuksessa: Kysymyksen voima, joka välittyy usein "kuka, mitä, missä, milloin, miksi, miten" -kehyksen kautta, voi ohjata mallia kohti tarkempaa vastausta. Lisäksi halutun tulostusmuodon tai koon määrittäminen voi edelleen tarkentaa mallin tulosta.
- Epävarmuuden käsittely: On välttämätöntä ohjata mallia, kuinka reagoida, kun se on epävarma. Esimerkiksi mallin ohjeistaminen vastaamaan "en tiedä", kun se on epävarma, voi estää sitä luomasta epätarkkoja tai "hallusinoitunut”vastauksia.
- Askel askeleelta ajattelu: Monimutkaisissa ohjeissa mallin ohjaaminen ajatteluun systemaattisesti tai tehtävän jakaminen osatehtäviin voi johtaa kattavampiin ja tarkempiin tuloksiin.
Mitä tulee kehotteiden merkitykseen ChatGPT:n ohjaamisessa, kattava artikkeli löytyy artikkelista osoitteessa Unite.ai.
Generatiivisten AI-mallien haasteita
Nopea suunnittelu sisältää mallillesi annettujen ohjeiden hienosäädön sen suorituskyvyn parantamiseksi. Se on erittäin kustannustehokas tapa parantaa Generative AI -sovelluksesi tarkkuutta, ja se vaatii vain pieniä koodimuutoksia. Vaikka nopea suunnittelu voi parantaa tuloksia merkittävästi, on ratkaisevan tärkeää ymmärtää suurten kielimallien (LLM) luontaiset rajoitukset. Kaksi ensisijaista haastetta ovat hallusinaatiot ja tiedon rajat.
- Hallusinaatiot: Tämä viittaa tapauksiin, joissa malli palauttaa luotettavasti virheellisen tai keksityn vastauksen. Vaikka edistyneellä LLM:llä on sisäänrakennetut mekanismit tällaisten tulosten tunnistamiseksi ja välttämiseksi.
- Tiedon rajat: Jokaisella LLM-mallilla on koulutuksen päättymispäivä, jonka jälkeen se ei ole tietoinen tapahtumista tai kehityksestä. Tämä rajoitus tarkoittaa, että mallin tiedot jäätyvät sen viimeisen koulutuspäivän kohdalla. Esimerkiksi vuoteen 2022 asti koulutettu malli ei tietäisi vuoden 2023 tapahtumia.
Haulla lisätty sukupolvi (RAG) tarjoaa ratkaisun näihin haasteisiin. Sen avulla mallit pääsevät käsiksi ulkoiseen tietoon, mikä lieventää hallusinaatioihin liittyviä ongelmia tarjoamalla pääsyn omistusoikeuteen tai verkkoaluekohtaiseen tietoon. Tiedon katkaisua varten RAG voi päästä käsiksi nykyiseen tietoon mallin koulutuspäivän jälkeen ja varmistaa, että tulos on ajan tasalla.
Sen avulla LLM voi myös noutaa tietoja useista ulkoisista lähteistä reaaliajassa. Tämä voi olla tietokantoja, tietokantoja tai jopa Internetin valtava määrä.
Johdatus noudon lisättyyn sukupolveen
Retrieval-augmented Generation (RAG) on kehys tietyn tekniikan sijaan, jonka avulla suuret kielimallit voivat hyödyntää tietoja, joihin niitä ei ole koulutettu. RAG:n toteuttamiseen on useita tapoja, ja paras sovitus riippuu tehtävästäsi ja tietojesi luonteesta.
RAG-kehys toimii jäsennellysti:
Kehotussyöttö
Prosessi alkaa käyttäjän syötteestä tai kehotuksesta. Tämä voi olla kysymys tai lausunto, jossa etsitään tiettyä tietoa.
Haku ulkoisista lähteistä
Sen sijaan, että malli generoisi suoraan koulutukseensa perustuvan vastauksen, se hakee noutajakomponentin avulla ulkoisista tietolähteistä. Nämä lähteet voivat vaihdella tietokannoista, tietokannoista ja dokumenttivarastoista Internetin kautta saataviin tietoihin.
Haun ymmärtäminen
Pohjimmiltaan haku peilaa hakutoimintoa. Kyse on kaikkein olennaisimpien tietojen poimimisesta vastauksena käyttäjän syötteeseen. Tämä prosessi voidaan jakaa kahteen vaiheeseen:
- Indeksointi: Luultavasti haastavin osa koko RAG-matkaa on tietopohjasi indeksointi. Indeksointiprosessi voidaan jakaa laajasti kahteen vaiheeseen: lataus ja jakaminen. LangChainin kaltaisissa työkaluissa näitä prosesseja kutsutaan nimellä "kuormaajat"Ja"jakajat". Lataajat hakevat sisältöä eri lähteistä, olivatpa ne verkkosivuja tai PDF-tiedostoja. Kun sisältö on haettu, jakajat segmentoivat tämän sisällön pieniin osiin optimoiden ne upottamista ja hakua varten.
- Kyselyt: Tämä on toiminto, jolla poimitaan tärkeimmät tietofragmentit hakusanan perusteella.
Vaikka on olemassa monia tapoja lähestyä hakua, yksinkertaisesta tekstin vastaavuudesta Googlen kaltaisten hakukoneiden käyttöön, nykyaikaiset RAG-järjestelmät perustuvat semanttiseen hakuun. Semanttisen haun ytimessä on upotusten käsite.
Upotukset ovat keskeisiä siinä, kuinka suuret kielimallit (LLM) ymmärtävät kieltä. Kun ihmiset yrittävät ilmaista, kuinka he saavat merkityksen sanoista, selitys kiertää usein takaisin luontaiseen ymmärrykseen. Syvällä kognitiivisissa rakenteissamme ymmärrämme, että "lapsi" ja "lapsi" ovat synonyymejä tai että "punainen" ja "vihreä" tarkoittavat molemmat värejä.
Kehotteen laajentaminen
Haetut tiedot yhdistetään sitten alkuperäiseen kehotteeseen, jolloin luodaan lisätty tai laajennettu kehote. Tämä lisätty kehote antaa mallille lisäkontekstia, mikä on erityisen arvokasta, jos data on toimialuekohtaista tai ei ole osa mallin alkuperäistä koulutuskorpususta.
Valmisteen luominen
Kun laajennettu kehote on kädessä, malli luo sitten täydennyksen tai vastauksen. Tämä vastaus ei perustu pelkästään mallin harjoitteluun, vaan se saadaan myös haetusta reaaliaikaisesta tiedosta.
Ensimmäisen RAG LLM:n arkkitehtuuri
Metan vuonna 2020 julkaistu tutkimuspaperi "Retrieval-Augmented Generation for Information-Intensive NLP Tasks” tarjoaa perusteellisen katsauksen tähän tekniikkaan. Retrieval-Augmented Generation -malli täydentää perinteistä sukupolviprosessia ulkoisella haku- tai hakumekanismilla. Tämä antaa mallille mahdollisuuden poimia olennaista tietoa valtavista tietokokonaisuuksista, mikä parantaa sen kykyä luoda kontekstuaalisia tarkkoja vastauksia.
Näin se toimii:
- Parametrinen muisti: Tämä on perinteinen kielimallisi, kuten seq2seq-malli. Se on koulutettu valtaviin tietomääriin ja tietää paljon.
- Ei-parametrinen muisti: Ajattele tätä hakukoneena. Se on esimerkiksi Wikipedian tiheä vektoriindeksi, jota voidaan käyttää hermonoutajalla.
Yhdistettynä nämä kaksi luovat tarkan mallin. RAG-malli hakee ensin olennaiset tiedot ei-parametrisesta muististaan ja käyttää sitten parametrista tietoaan koherentin vastauksen antamiseen.
1. Kaksivaiheinen prosessi:
RAG LLM toimii kaksivaiheisessa prosessissa:
- haku: Malli etsii ensin asiaankuuluvat asiakirjat tai kohdat suuresta tietojoukosta. Tämä tehdään käyttämällä tiheää hakumekanismia, joka käyttää upotuksia edustamaan sekä kyselyä että asiakirjoja. Upotuksia käytetään sitten samankaltaisuuspisteiden laskemiseen, ja parhaimmat asiakirjat haetaan.
- Sukupolvi: Kun ylin K-asiakirja on käsissä, ne kanavoitetaan sekvenssistä sekvenssiin -generaattoriin alkuperäisen kyselyn rinnalla. Tämä generaattori muodostaa sitten lopullisen tulosteen piirtämällä kontekstin sekä kyselystä että haetuista asiakirjoista.
2. Tiheä haku:
Perinteiset hakujärjestelmät luottavat usein harvaan esitykseen, kuten TF-IDF. RAG LLM käyttää kuitenkin tiheitä esityksiä, joissa sekä kysely että asiakirjat upotetaan jatkuviin vektoritiloihin. Tämä mahdollistaa vivahteikkaammat samankaltaisuusvertailut ja kaappaa semanttisia suhteita pelkän avainsanahaun lisäksi.
3. Jaksosta sekvenssiin luominen:
Haetut asiakirjat toimivat laajennettuna kontekstina sukupolvimallille. Tämä malli, joka perustuu usein arkkitehtuureihin, kuten Transformers, luo sitten lopullisen tuloksen varmistaen, että se on johdonmukainen ja kontekstuaalisesti relevantti.
Asiakirjahaku
Asiakirjojen indeksointi ja haku
Tehokas tiedonhaku, erityisesti suurista asiakirjoista, on usein tallennettu vektoritietokantaan. Jokainen tieto tai asiakirja indeksoidaan upotusvektorin perusteella, joka vangitsee sisällön semanttisen olemuksen. Tehokas indeksointi varmistaa tarvittavien tietojen nopean haun syöttökehotteen perusteella.
Vektoritietokannat

Lähde: Redis
Vektoritietokannat, joita joskus kutsutaan vektorivarastoiksi, ovat räätälöityjä tietokantoja, jotka ovat taitavia vektoritietojen tallentamisessa ja hakemisessa. Tekoälyn ja tietojenkäsittelytieteen alalla vektorit ovat pohjimmiltaan lukuluetteloita, jotka symboloivat pisteitä moniulotteisessa avaruudessa. Toisin kuin perinteiset tietokannat, jotka ovat paremmin viritetty taulukkotietoihin, vektoritietokannat loistavat sellaisten tietojen hallinnassa, jotka luonnollisesti sopivat vektorimuotoon, kuten upotuksia tekoälymalleista.
Joitakin merkittäviä vektoritietokantoja ovat Annoy, Faiss kirjoittanut Meta, Milvusja Käpy. Nämä tietokannat ovat keskeisiä tekoälysovelluksissa, ja ne auttavat erilaisissa tehtävissä suositusjärjestelmistä kuvahakuun. Alustat, kuten AWS, tarjoavat myös vektoritietokantatarpeisiin räätälöityjä palveluita, kuten Amazon OpenSearch Service ja Amazon RDS PostgreSQL:lle. Nämä palvelut on optimoitu tiettyihin käyttötapauksiin, mikä varmistaa tehokkaan indeksoinnin ja kyselyn.
Purkaminen osuvuuden vuoksi
Koska monet asiakirjat voivat olla laajoja, käytetään usein "palastuksena" tunnettua tekniikkaa. Tämä tarkoittaa suurten asiakirjojen hajottamista pienempiin, semanttisesti yhtenäisiksi paloiksi. Nämä palaset indeksoidaan ja noudetaan tarvittaessa, mikä varmistaa, että asiakirjan tärkeimpiä osia käytetään nopeaan lisäykseen.
Kontekstiikkunan huomioitavaa
Jokainen LLM toimii kontekstiikkunassa, joka on pohjimmiltaan suurin informaatiomäärä, jonka se voi ottaa huomioon kerralla. Jos ulkoiset tietolähteet tarjoavat tietoja, jotka ylittävät tämän ikkunan, ne on jaettava pienempiin osiin, jotka sopivat mallin kontekstiikkunaan.
Retrieval-Augmented Generation -käytön edut
- Parannettu tarkkuus: Hyödyntämällä ulkoisia tietolähteitä, RAG LLM voi tuottaa vastauksia, jotka eivät perustu pelkästään sen harjoitustietoihin, vaan ne saavat tietoa myös hakukorpuksessa olevista olennaisimmista ja ajantasaisimmista tiedoista.
- Tietopuutteiden voittaminen: RAG puuttuu tehokkaasti LLM:n luontaisiin tiedon rajoituksiin, johtuipa se sitten mallin koulutuksen katkaisusta tai toimialuekohtaisten tietojen puuttumisesta sen koulutuskorpuksesta.
- Monipuolisuus: RAG voidaan integroida useisiin ulkoisiin tietolähteisiin organisaation sisäisistä tietokannoista julkisesti saatavilla oleviin Internet-tietoihin. Tämä tekee siitä soveltuvan monenlaisiin sovelluksiin ja teollisuudenaloihin.
- Vähentää hallusinaatioita: Yksi LLM:n haasteista on "hallusinaatioiden" mahdollisuus tai tosiasiallisesti virheellisen tai tekaistu tiedon tuottaminen. Tarjoamalla reaaliaikaisen datakontekstin RAG voi vähentää merkittävästi tällaisten tulosten mahdollisuuksia.
- skaalautuvuus: Yksi RAG LLM:n tärkeimmistä eduista on sen skaalautumiskyky. Erottamalla haku- ja luontiprosessit malli pystyy käsittelemään tehokkaasti valtavia tietojoukkoja, mikä tekee siitä sopivan tosielämän sovelluksiin, joissa dataa on runsaasti.
Haasteet ja pohdinnat
- Laskennalliset yleiskustannukset: Kaksivaiheinen prosessi voi olla laskennallisesti intensiivinen, varsinkin kun käsitellään suuria tietojoukkoja.
- Tietojen riippuvuus: Haettujen asiakirjojen laatu vaikuttaa suoraan sukupolven laatuun. Tästä syystä kattavan ja hyvin kuratoidun hakukorpuksen luominen on ratkaisevan tärkeää.
Yhteenveto
Integroimalla haku- ja luontiprosesseja Retrieval-Augmented Generation tarjoaa vankan ratkaisun tietointensiivisiin tehtäviin ja varmistaa tulosten, jotka ovat sekä tietoisia että kontekstuaalisia.
RAG:n todellinen lupaus piilee sen mahdollisissa reaalimaailman sovelluksissa. Terveydenhuollon kaltaisilla aloilla, joilla oikea-aikainen ja tarkka tieto voi olla keskeistä, RAG tarjoaa mahdollisuuden poimia ja tuottaa oivalluksia laajasta lääketieteellisestä kirjallisuudesta saumattomasti. Rahoitusalalla, jossa markkinat kehittyvät minuutilla, RAG voi tarjota reaaliaikaisia tietopohjaisia oivalluksia, jotka auttavat tietoon perustuvassa päätöksenteossa. Lisäksi tiedemaailmassa ja tutkimuksessa tutkijat voivat valjastaa RAG:n skannatakseen valtavia tietovarastoja, mikä tekee kirjallisuuskatsauksista ja tietojen analysoinnista tehokkaampia.

