Skip to content

Latest commit

 

History

History
209 lines (111 loc) · 21.3 KB

File metadata and controls

209 lines (111 loc) · 21.3 KB

Tutkimus ja vertailu eri LLM-malleista

Tutkimus ja vertailu eri LLM-malleista

Klikkaa yllä olevaa kuvaa nähdäksesi tämän oppitunnin videon

Edellisessä oppitunnissa näimme, kuinka Generatiivinen AI muuttaa teknologian kenttää, kuinka Suuret Kielimallit (LLM:t) toimivat ja kuinka yritys - kuten meidän startupimme - voi soveltaa niitä omiin käyttötapauksiinsa ja kasvaa! Tässä luvussa tarkastelemme ja vertailemme eri tyyppisiä suuria kielimalleja (LLM) ymmärtääksemme niiden hyvät ja huonot puolet.

Seuraava askel startupimme matkalla on tutkia nykyistä LLM-mallien kenttää ja ymmärtää, mitkä niistä sopivat käyttötapaukseemme.

Johdanto

Tämä oppitunti kattaa:

  • Eri tyyppiset LLM:t nykyisessä kentässä.
  • Mallien testaaminen, iterointi ja vertailu Azurea käyttäen.
  • Kuinka ottaa LLM käyttöön.

Oppimistavoitteet

Tämän oppitunnin jälkeen osaat:

  • Valita oikean mallin käyttötapaukseesi.
  • Ymmärtää, kuinka testata, iteroida ja parantaa mallisi suorituskykyä.
  • Tietää, kuinka yritykset ottavat malleja käyttöön.

Ymmärrä eri tyyppiset LLM:t

LLM:t voidaan luokitella niiden arkkitehtuurin, koulutusdatan ja käyttötapauksen perusteella. Näiden erojen ymmärtäminen auttaa startupiamme valitsemaan oikean mallin tilanteeseen ja ymmärtämään, kuinka testata, iteroida ja parantaa suorituskykyä.

LLM-malleja on monenlaisia, ja mallin valinta riippuu siitä, mihin aiot käyttää niitä, datastasi, budjetistasi ja muista tekijöistä.

Riippuen siitä, aiotko käyttää malleja tekstin, äänen, videon, kuvien generointiin ja niin edelleen, saatat valita eri tyyppisen mallin.

  • Ääni ja puheentunnistus. Tähän tarkoitukseen Whisper-tyyppiset mallit ovat erinomainen valinta, sillä ne ovat yleiskäyttöisiä ja suunniteltu puheentunnistukseen. Malli on koulutettu monipuolisella äänidatalla ja pystyy monikieliseen puheentunnistukseen. Lue lisää Whisper-tyyppisistä malleista täältä.

  • Kuvien generointi. Kuvien generointiin DALL-E ja Midjourney ovat kaksi hyvin tunnettua vaihtoehtoa. DALL-E on saatavilla Azure OpenAI:n kautta. Lue lisää DALL-E:stä täältä ja myös tämän oppimateriaalin luvusta 9.

  • Tekstin generointi. Useimmat mallit on koulutettu tekstin generointiin, ja valittavana on laaja valikoima malleja GPT-3.5:stä GPT-4:ään. Niiden kustannukset vaihtelevat, ja GPT-4 on kallein. Kannattaa tutustua Azure OpenAI -leikkikenttään arvioidaksesi, mitkä mallit sopivat parhaiten tarpeisiisi kyvykkyyden ja kustannusten suhteen.

  • Monimodaalisuus. Jos haluat käsitellä useita datatyyppejä syötteessä ja tulosteessa, kannattaa tutustua malleihin kuten gpt-4 turbo visionilla tai gpt-4o - uusimpiin OpenAI-malleihin - jotka yhdistävät luonnollisen kielen käsittelyn visuaaliseen ymmärrykseen ja mahdollistavat vuorovaikutuksen monimodaalisten käyttöliittymien kautta.

Mallin valinta tarjoaa joitakin perusominaisuuksia, mutta ne eivät välttämättä riitä. Usein yrityksellä on erityistä dataa, joka täytyy jollain tavalla välittää LLM:lle. Tähän on olemassa muutamia eri lähestymistapoja, joista lisää seuraavissa osioissa.

Perusmallit vs. LLM:t

Termi Perusmalli (Foundation Model) keksittiin Stanfordin tutkijoiden toimesta ja määriteltiin AI-malliksi, joka täyttää tietyt kriteerit, kuten:

  • Ne on koulutettu valvomattomalla oppimisella tai itsevalvotulla oppimisella, eli ne on koulutettu merkitsemättömällä monimodaalisella datalla, eikä niiden koulutusprosessissa tarvita ihmisen annotointia tai datan merkitsemistä.
  • Ne ovat erittäin suuria malleja, jotka perustuvat erittäin syviin neuroverkkoihin, jotka on koulutettu miljardeilla parametreilla.
  • Ne on yleensä tarkoitettu toimimaan muiden mallien "perustana", eli niitä voidaan käyttää lähtökohtana muiden mallien rakentamiseen, mikä voidaan tehdä hienosäätämällä.

Perusmallit vs. LLM:t

Kuvan lähde: Essential Guide to Foundation Models and Large Language Models | by Babar M Bhatti | Medium

Tämän eron selventämiseksi otetaan esimerkkinä ChatGPT. Ensimmäisen ChatGPT-version rakentamiseen käytettiin mallia nimeltä GPT-3.5 perusmallina. Tämä tarkoittaa, että OpenAI käytti chat-spesifistä dataa luodakseen GPT-3.5:stä hienosäädetyn version, joka oli erikoistunut suoriutumaan hyvin keskustelutilanteissa, kuten chatbotit.

Perusmalli

Kuvan lähde: 2108.07258.pdf (arxiv.org)

Avoimen lähdekoodin vs. kaupalliset mallit

Toinen tapa luokitella LLM-malleja on se, ovatko ne avoimen lähdekoodin vai kaupallisia.

Avoimen lähdekoodin mallit ovat malleja, jotka ovat julkisesti saatavilla ja kaikkien käytettävissä. Ne ovat usein saatavilla mallin luoneen yrityksen tai tutkimusyhteisön toimesta. Näitä malleja voidaan tarkastella, muokata ja räätälöidä erilaisiin LLM-käyttötapauksiin. Ne eivät kuitenkaan aina ole optimoituja tuotantokäyttöön, eivätkä välttämättä ole yhtä suorituskykyisiä kuin kaupalliset mallit. Lisäksi avoimen lähdekoodin mallien rahoitus voi olla rajallista, eikä niitä välttämättä ylläpidetä pitkällä aikavälillä tai päivitetä uusimmalla tutkimuksella. Esimerkkejä suosituista avoimen lähdekoodin malleista ovat Alpaca, Bloom ja LLaMA.

Kaupalliset mallit ovat malleja, jotka ovat yrityksen omistamia eikä niitä ole saatavilla julkisesti. Nämä mallit ovat usein optimoituja tuotantokäyttöön. Niitä ei kuitenkaan voi tarkastella, muokata tai räätälöidä eri käyttötapauksiin. Lisäksi ne eivät aina ole ilmaisia, ja niiden käyttö voi vaatia tilauksen tai maksun. Käyttäjillä ei myöskään ole kontrollia mallin koulutuksessa käytettyyn dataan, mikä tarkoittaa, että heidän tulee luottaa mallin omistajaan datan yksityisyyden ja vastuullisen AI:n käytön varmistamisessa. Esimerkkejä suosituista kaupallisista malleista ovat OpenAI-mallit, Google Bard ja Claude 2.

Upotukset vs. Kuvien generointi vs. Tekstin ja koodin generointi

LLM:t voidaan myös luokitella niiden tuottaman ulostulon perusteella.

Upotukset ovat joukko malleja, jotka voivat muuntaa tekstin numeeriseen muotoon, jota kutsutaan upotukseksi. Upotus on tekstin numeerinen esitys, joka helpottaa koneiden ymmärtää sanojen tai lauseiden välisiä suhteita ja jota voidaan käyttää syötteenä muille malleille, kuten luokittelumalleille tai klusterointimalleille, jotka toimivat paremmin numeerisella datalla. Upotusmalleja käytetään usein siirto-oppimisessa, jossa malli rakennetaan korvaavaa tehtävää varten, josta on runsaasti dataa, ja sitten mallin painoja (upotuksia) käytetään uudelleen muihin tehtäviin. Esimerkki tästä kategoriasta on OpenAI upotukset.

Upotus

Kuvien generointimallit ovat malleja, jotka tuottavat kuvia. Näitä malleja käytetään usein kuvien muokkaukseen, kuvien synteesiin ja kuvien kääntämiseen. Kuvien generointimallit koulutetaan usein suurilla kuvadataseteillä, kuten LAION-5B, ja niitä voidaan käyttää uusien kuvien luomiseen tai olemassa olevien kuvien muokkaamiseen esimerkiksi täydennyksen, superresoluution ja väritystekniikoiden avulla. Esimerkkejä ovat DALL-E-3 ja Stable Diffusion -mallit.

Kuvien generointi

Tekstin ja koodin generointimallit ovat malleja, jotka tuottavat tekstiä tai koodia. Näitä malleja käytetään usein tekstin tiivistämiseen, kääntämiseen ja kysymyksiin vastaamiseen. Tekstin generointimallit koulutetaan usein suurilla tekstidataseteillä, kuten BookCorpus, ja niitä voidaan käyttää uuden tekstin luomiseen tai kysymyksiin vastaamiseen. Koodin generointimallit, kuten CodeParrot, koulutetaan usein suurilla koodidataseteillä, kuten GitHubilla, ja niitä voidaan käyttää uuden koodin luomiseen tai olemassa olevan koodin virheiden korjaamiseen.

Tekstin ja koodin generointi

Kooderi-dekooderi vs. Vain dekooderi

Puhutaanpa LLM-mallien eri arkkitehtuureista analogian avulla.

Kuvittele, että esimiehesi antaa sinulle tehtäväksi laatia tietovisan opiskelijoille. Sinulla on kaksi kollegaa; toinen vastaa sisällön luomisesta ja toinen sen tarkistamisesta.

Sisällön luoja on kuin vain dekooderi -malli, hän voi katsoa aihetta ja nähdä, mitä olet jo kirjoittanut, ja sitten kirjoittaa kurssin sen perusteella. Hän on erittäin hyvä kirjoittamaan kiinnostavaa ja informatiivista sisältöä, mutta ei kovin hyvä ymmärtämään aihetta ja oppimistavoitteita. Esimerkkejä vain dekooderi -malleista ovat GPT-perheen mallit, kuten GPT-3.

Tarkistaja on kuin vain kooderi -malli, hän katsoo kirjoitettua kurssia ja vastauksia, huomaa niiden väliset suhteet ja ymmärtää kontekstin, mutta ei ole hyvä sisällön tuottamisessa. Esimerkki vain kooderi -mallista olisi BERT.

Kuvittele, että meillä voisi olla joku, joka sekä luo että tarkistaa tietovisan, tämä on kooderi-dekooderi -malli. Esimerkkejä olisivat BART ja T5.

Palvelu vs. Malli

Puhutaan nyt palvelun ja mallin eroista. Palvelu on pilvipalveluntarjoajan tarjoama tuote, joka on usein yhdistelmä malleja, dataa ja muita komponentteja. Malli on palvelun ydinosa, ja se on usein perusmalli, kuten LLM.

Palvelut ovat usein optimoituja tuotantokäyttöön ja niitä on usein helpompi käyttää kuin malleja graafisen käyttöliittymän kautta. Palvelut eivät kuitenkaan aina ole ilmaisia, ja niiden käyttö voi vaatia tilauksen tai maksun, vastineeksi palvelun omistajan laitteiden ja resurssien hyödyntämisestä, kulujen optimoinnista ja helpposta skaalautumisesta. Esimerkki palvelusta on Azure OpenAI Service, joka tarjoaa käyttömäärään perustuvan hinnoittelumallin, eli käyttäjiltä veloitetaan suhteessa siihen, kuinka paljon he käyttävät palvelua. Lisäksi Azure OpenAI Service tarjoaa yritystason turvallisuutta ja vastuullisen AI-kehyksen mallien kyvykkyyksien päälle.

Mallit ovat vain neuroverkkoja, joissa on parametrit, painot ja muut. Ne mahdollistavat yritysten ajon paikallisesti, mutta vaativat laitteiden ostamista, rakenteen luomista skaalautumiseen ja lisenssin ostamista tai avoimen lähdekoodin mallin käyttöä. Malli kuten LLaMA on saatavilla käytettäväksi, mutta sen ajaminen vaatii laskentatehoa.

Kuinka testata ja iteroida eri malleilla ymmärtääkseen suorituskykyä Azuren avulla

Kun tiimimme on tutkinut nykyistä LLM-mallien kenttää ja tunnistanut hyviä ehdokkaita heidän skenaarioihinsa, seuraava askel on testata niitä heidän datallaan ja työkuormallaan. Tämä on iteratiivinen prosessi, joka tehdään kokeiluilla ja mittauksilla. Useimmat aiemmin mainitsemamme mallit (OpenAI-mallit, avoimen lähdekoodin mallit kuten Llama2 ja Hugging Face transformers) ovat saatavilla Model Catalog -katalogissa Azure AI Studiossa.

Azure AI Studio on pilvialusta, joka on suunniteltu kehittäjille generatiivisten tekoälysovellusten rakentamiseen ja koko kehitysprosessin hallintaan - kokeiluista arviointiin - yhdistämällä kaikki Azure AI -palvelut yhteen keskitettyyn käyttöliittymään. Model Catalog Azure AI Studiossa mahdollistaa käyttäjälle:

  • Löytää kiinnostava Foundation Model - joko omistettu tai avoimen lähdekoodin - suodattamalla tehtävän, lisenssin tai nimen mukaan. Hakujen helpottamiseksi mallit on järjestetty kokoelmiin, kuten Azure OpenAI -kokoelma, Hugging Face -kokoelma ja muita.

Model catalog

  • Tarkastella mallikorttia, joka sisältää yksityiskohtaisen kuvauksen mallin käyttötarkoituksesta ja koulutusdatasta, koodiesimerkkejä sekä arviointituloksia sisäisestä arviointikirjastosta.

Model card

  • Verrata mallien ja teollisuudessa saatavilla olevien datasetien vertailuarvoja arvioidakseen, mikä malli sopii parhaiten liiketoimintaskenaarioon, Model Benchmarks -paneelin kautta.

Model benchmarks

  • Hienosäätää mallia omalla koulutusdatalla parantaakseen mallin suorituskykyä tietyssä työkuormassa hyödyntäen Azure AI Studion kokeilu- ja seurantatoimintoja.

Model fine-tuning

  • Ottaa käyttöön alkuperäinen esikoulutettu malli tai hienosäädetty versio etäreaaliaikaisessa inferenssissä - hallinnoitu laskenta - tai serverittömässä API-päätepisteessä - pay-as-you-go - mahdollistamaan sovellusten kuluttavan sitä.

Model deployment

Note

Kaikkia katalogin malleja ei tällä hetkellä voi hienosäätää ja/tai ottaa käyttöön pay-as-you-go-mallilla. Tarkista mallikortista yksityiskohdat mallin ominaisuuksista ja rajoituksista.

LLM-tulosten parantaminen

Olemme startup-tiimimme kanssa tutkineet erilaisia LLM-malleja ja pilvialustaa (Azure Machine Learning), joka mahdollistaa eri mallien vertailun, niiden arvioinnin testidatalla, suorituskyvyn parantamisen ja käyttöönoton inferenssipäätepisteissä.

Mutta milloin kannattaa harkita mallin hienosäätöä esikoulutetun mallin sijaan? Onko olemassa muita tapoja parantaa mallin suorituskykyä tietyissä työkuormissa?

On olemassa useita lähestymistapoja, joita yritys voi käyttää saadakseen haluamansa tulokset LLM-mallista. Voit valita eri tyyppisiä malleja, joilla on eri koulutustasoja, kun otat LLM:n käyttöön tuotannossa, ja niillä on erilaisia monimutkaisuuden, kustannusten ja laadun tasoja. Tässä joitakin lähestymistapoja:

  • Prompt engineering kontekstilla. Ideana on antaa riittävästi kontekstia kehotuksessa, jotta saat haluamasi vastaukset.

  • Retrieval Augmented Generation, RAG. Tietosi voivat olla esimerkiksi tietokannassa tai verkkopäätepisteessä. Jotta tämä tieto tai sen osa sisältyisi kehotukseen, voit hakea relevantin datan ja lisätä sen osaksi käyttäjän kehotusta.

  • Hienosäädetty malli. Tässä mallia koulutetaan lisää omalla datalla, mikä tekee mallista tarkemman ja vastaamaan paremmin tarpeitasi, mutta voi olla kallista.

LLMs deployment

Kuvan lähde: Four Ways that Enterprises Deploy LLMs | Fiddler AI Blog

Prompt Engineering kontekstilla

Esikoulutetut LLM:t toimivat erittäin hyvin yleisissä luonnollisen kielen tehtävissä, jopa lyhyellä kehotuksella, kuten lauseen täydentämisellä tai kysymyksellä – niin sanottu "zero-shot"-oppiminen.

Kuitenkin mitä tarkemmin käyttäjä voi muotoilla kysymyksensä, yksityiskohtaisella pyynnöllä ja esimerkeillä – Kontekstilla – sitä tarkempi ja lähempänä käyttäjän odotuksia vastaus on. Tässä tapauksessa puhutaan "one-shot"-oppimisesta, jos kehotus sisältää vain yhden esimerkin, ja "few-shot"-oppimisesta, jos se sisältää useita esimerkkejä. Prompt engineering kontekstilla on kustannustehokkain tapa aloittaa.

Retrieval Augmented Generation (RAG)

LLM-malleilla on rajoitus, että ne voivat käyttää vain dataa, joka on käytetty niiden koulutuksessa vastauksen tuottamiseen. Tämä tarkoittaa, että ne eivät tiedä mitään koulutuksen jälkeen tapahtuneista asioista, eivätkä ne voi käyttää ei-julkista tietoa (kuten yrityksen dataa).

Tämä voidaan ratkaista RAG-tekniikalla, joka täydentää kehotusta ulkoisella datalla dokumenttien osina, ottaen huomioon kehotuksen pituusrajoitukset. Tätä tukevat vektoridatabasetyökalut (kuten Azure Vector Search), jotka hakevat hyödylliset osat ennalta määritellyistä tietolähteistä ja lisäävät ne kehotuksen kontekstiin.

Tämä tekniikka on erittäin hyödyllinen, kun yrityksellä ei ole tarpeeksi dataa, aikaa tai resursseja hienosäätää LLM-mallia, mutta haluaa silti parantaa suorituskykyä tietyssä työkuormassa ja vähentää virheellisten tietojen riskiä, kuten todellisuuden vääristelyä tai haitallista sisältöä.

Hienosäädetty malli

Hienosäätö on prosessi, joka hyödyntää siirto-oppimista "mukauttaakseen" mallin tiettyyn tehtävään tai ongelman ratkaisuun. Toisin kuin few-shot-oppiminen ja RAG, se tuottaa uuden mallin, jossa on päivitetyt painot ja vinoumat. Se vaatii joukon koulutusesimerkkejä, jotka koostuvat yksittäisestä syötteestä (kehotus) ja siihen liittyvästä vastauksesta (täydennys).

Tämä olisi suositeltava lähestymistapa, jos:

  • Hienosäädettyjen mallien käyttö. Yritys haluaa käyttää hienosäädettyjä vähemmän kyvykkäitä malleja (kuten upotusmalleja) korkeatasoisten mallien sijaan, mikä johtaa kustannustehokkaampaan ja nopeampaan ratkaisuun.

  • Huomioida viive. Viive on tärkeä tietylle käyttötapaukselle, joten ei ole mahdollista käyttää erittäin pitkiä kehotuksia tai esimerkkien määrää, joka ylittää kehotuksen pituusrajan.

  • Pysyä ajan tasalla. Yrityksellä on paljon korkealaatuista dataa ja totuudenmukaisia merkintöjä sekä resursseja pitää tämä data ajan tasalla ajan myötä.

Koulutettu malli

LLM:n kouluttaminen alusta alkaen on epäilemättä vaikein ja monimutkaisin lähestymistapa, joka vaatii valtavia määriä dataa, osaavia resursseja ja asianmukaista laskentatehoa. Tätä vaihtoehtoa tulisi harkita vain tilanteessa, jossa yrityksellä on toimialakohtainen käyttötapaus ja suuri määrä toimialakohtaista dataa.

Tietotesti

Mikä voisi olla hyvä lähestymistapa LLM:n täydennystulosten parantamiseen?

  1. Prompt engineering kontekstilla
  2. RAG
  3. Hienosäädetty malli

V: 3, jos sinulla on aikaa, resursseja ja korkealaatuista dataa, hienosäätö on parempi vaihtoehto pysyä ajan tasalla. Kuitenkin, jos haluat parantaa tuloksia ja sinulla ei ole aikaa, kannattaa harkita ensin RAG:ia.

🚀 Haaste

Lue lisää siitä, miten voit käyttää RAG:ia yrityksessäsi.

Hienoa työtä, jatka oppimista

Kun olet suorittanut tämän oppitunnin, tutustu Generative AI Learning collection -kokoelmaan jatkaaksesi generatiivisen tekoälyn tietämyksesi kehittämistä!

Siirry oppituntiin 3, jossa tarkastelemme, miten rakentaa generatiivista tekoälyä vastuullisesti!


Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa tämän käännöksen käytöstä johtuvista väärinkäsityksistä tai virhetulkinnoista.