ChatGLM-6B: Kevyt, avoimen lähdekoodin ChatGPT-vaihtoehto

Lähdesolmu: 2074009

ChatGLM-6B: Kevyt, avoimen lähdekoodin ChatGPT-vaihtoehto
Kuva tekijältä
 

Viime aikoina meillä kaikilla on ollut erittäin vaikea saada kiinni viimeisimmistä LLM-avaruuden julkaisuista. Muutaman viime viikon aikana useista avoimen lähdekoodin ChatGPT-vaihtoehdoista on tullut suosittuja. 

Ja tässä artikkelissa opimme siitä ChatGLM sarja ja ChatGLM-6B, avoimen lähdekoodin ja kevyt ChatGPT-vaihtoehto. 

Lähdetään!

Kiinan Tsinghuan yliopiston tutkijat ovat työskennelleet ChatGLM-mallien kehittämiseksi, joiden suorituskyky on verrattavissa muihin malleihin, kuten GPT-3 ja BLOOM.

ChatGLM on kaksikielinen suuri kielimalli, joka on koulutettu sekä kiinaksi että englanniksi. Tällä hetkellä saatavilla seuraavat mallit:

  • ChatGLM-130B: avoimen lähdekoodin LLM
  • ChatGLM-100B: ei avoimen lähdekoodin, mutta saatavilla vain kutsun kautta
  • ChatGLM-6B: kevyt avoimen lähdekoodin vaihtoehto

Vaikka nämä mallit saattavat näyttää samanlaisilta kuin suurten kielimallien GPT (Generative Pretraained Transformer) ryhmä, Yleisen kielimallin (GLM) esikoulutuskehys se tekee niistä erilaisia. Opimme tästä lisää seuraavassa osiossa.

Koneoppimisessa tuntisit GLM:t nimellä yleistetyt lineaariset mallit, mutta ChatGLM:n GLM tarkoittaa Yleinen kielimalli

GLM Pretraining Framework

LLM-esikoulutusta on tutkittu laajasti ja se on edelleen aktiivisen tutkimuksen ala. Yritetään ymmärtää tärkeimmät erot GLM-esikoulutuksen ja GPT-tyylisten mallien välillä.

GPT-3-malliperheessä käytetään vain dekooderin automaattista regressiivistä kielen mallintamista. Toisaalta GLM:ssä tavoitteen optimointi on muotoiltu automaattinen regressiivinen tyhjän täyttöongelma.

 

ChatGLM-6B: Kevyt, avoimen lähdekoodin ChatGPT-vaihtoehto
GLM | Image Source
 

Yksinkertaisesti sanottuna, automaattinen regressiivinen tyhjän täyttö sisältää jatkuvan tekstivälin tyhjentämisen ja sitten tekstin peräkkäisen rekonstruoinnin tällä tyhjennyksellä. Lyhyempien maskien lisäksi on olemassa pidempi maski, joka poistaa satunnaisesti pitkät tekstivälit lauseiden lopusta. Tämä tehdään niin, että malli pärjää kohtuullisen hyvin luonnollisen kielen ymmärtämisessä sekä generointitehtävissä.

Toinen ero on käytetyn huomion tyypissä. Suurten kielimallien GPT-ryhmä käyttää yksisuuntaista huomiota, kun taas GLM-ryhmä LLM:t käyttävät kaksisuuntainen huomio. Kaksisuuntaisen huomion käyttäminen peittämättömissä yhteyksissä voi vangita riippuvuuksia paremmin ja parantaa suorituskykyä luonnollisen kielen ymmärtämistehtävissä. 

GELU-aktivointi

GLM:ssä käytetään GELU-aktivointia (Gaussian Error Linear Units) ReLU-aktivoinnin sijaan [1].

 

ChatGLM-6B: Kevyt, avoimen lähdekoodin ChatGPT-vaihtoehto
GELU-, ReLU- ja ELU-aktivoinnit | Image Source
 

GELU-aktivoinnilla on nollasta poikkeavat arvot kaikille tuloille ja sillä on seuraava muoto [3]:

 

ChatGLM-6B: Kevyt, avoimen lähdekoodin ChatGPT-vaihtoehto
 

GELU-aktivoinnin on havaittu parantavan suorituskykyä ReLU-aktivointiin verrattuna, vaikkakin se on laskennallisesti intensiivisempi kuin ReLU.

LLM-sarjan GLM-sarjassa ChatGLM-130B, joka on avoimen lähdekoodin ja toimii yhtä hyvin kuin GPT-3:n Da-Vinci-malli. Kuten mainittiin, tätä artikkelia kirjoitettaessa on olemassa ChatGLM-100B-versio, joka on rajoitettu vain kutsuihin.

ChatGLM-6B

Seuraavat tiedot ChatGLM-6B:stä, jotta se olisi helpommin loppukäyttäjien saatavilla:

  • Siinä on noin 6.2 miljardia parametria.
  • Malli on esikoulutettu 1 biljoonalla rahakkeella – yhtä paljon englannista ja kiinasta.
  • Myöhemmin käytetään tekniikoita, kuten ohjattua hienosäätöä ja vahvistavaa oppimista ihmisen palautteen avulla.

Päätetään keskustelumme käymällä läpi ChatGLM:n edut ja rajoitukset:

edut

Kaksikielisestä mallista avoimen lähdekoodin malliin, jota voit käyttää paikallisesti, ChatGLM-6B:llä on seuraavat edut:

  • Suurin osa valtavirran suurista kielimalleista on koulutettu suurilla englanninkielisen tekstin runoilla, ja muiden kielten suuret kielimallit eivät ole yhtä yleisiä. ChatGLM-sarjan LLM:t ovat kaksikielisiä ja loistava valinta kiinalaisille. Mallissa on hyvä suorituskyky sekä englanniksi että kiinaksi.
  • ChatGLM-6B on optimoitu käyttäjien laitteille. Loppukäyttäjillä on usein rajalliset laskentaresurssit laitteissaan, joten LLM:ien suorittaminen paikallisesti on lähes mahdotonta ilman pääsyä korkean suorituskyvyn GPU:iin. Kanssa INT4 kvantisointi, ChatGLM-6B:tä voi käyttää vaatimattomalla, jopa 6 Gt:n muistitarpeella. 
  • Suorittaa hyvin monenlaisia ​​tehtäviä, mukaan lukien yhteenvedot ja yhden ja usean kyselyn chatit.
  • Huolimatta huomattavasti pienemmästä parametrien määrästä verrattuna muihin valtavirran LLM:iin, ChatGLM-6B tukee kontekstin pituutta jopa 2048 asti.

Rajoitukset

Seuraavaksi luetellaan muutamia ChatGLM-6B:n rajoituksia:

  • Vaikka ChatGLM on kaksikielinen malli, sen suorituskyky englannin kielellä ei todennäköisesti ole optimaalinen. Tämä johtuu siitä, että koulutuksessa käytetyt ohjeet ovat enimmäkseen kiinaksi.
  • Koska ChatGLM-6B:llä on huomattavasti vähemmän parametreja verrattuna muihin LLM:ihin, kuten BLOOM, GPT-3 ja ChatGLM-130B, suorituskyky voi olla huonompi, jos konteksti on liian pitkä. Tämän seurauksena ChatGLM-6B voi antaa epätarkkoja tietoja useammin kuin mallit, joissa on suurempi määrä parametreja.
  • Pienillä kielimalleilla on rajoitettu muistikapasiteetti. Siksi usean kierroksen keskusteluissa mallin suorituskyky saattaa heikentyä hieman.
  • Harha, väärä tieto ja myrkyllisyys ovat kaikkien LLM-yritysten rajoituksia, ja ChatGLM on myös herkkä näille.

Seuraavana vaiheena suorita ChatGLM-6B paikallisesti tai kokeile demoa HuggingFace-tiloissa. Jos haluat syventää LLM:ien toimintaa, tässä on luettelo ilmaisia ​​kursseja suurista kielimalleista.

[1] Z Du, Y Qian et al., GLM: Yleisen kielimallin esikoulutus automaattisen regressiivisen tyhjän täytön kanssa, ACL 2022

[2] A Zheng, X Liu et al., GLM-130B – Avoin kaksikielinen esikoulutettu malli, ICML 2023 

[3] D Hendryks, K Gimpel, Gaussin virheen lineaariset yksiköt (GELU:t), arXiv, 2016

[4] ChatGLM-6B: HuggingFace Spaces -esittely

[5] GitHub Repo
 
 
Bala Priya C on tekninen kirjoittaja, joka nauttii pitkän sisällön luomisesta. Hänen kiinnostuksen kohteitaan ovat matematiikka, ohjelmointi ja datatiede. Hän jakaa oppimisensa kehittäjäyhteisön kanssa kirjoittamalla opetusohjelmia, oppaita ja paljon muuta.

Aikaleima:

Lisää aiheesta KDnuggets