ChatGLM-6B: Ett lätt chatGPT-alternativ med öppen källkod

Källnod: 2074009

ChatGLM-6B: Ett lätt chatGPT-alternativ med öppen källkod
Bild av författare
 

Den senaste tiden har vi alla haft väldigt svårt att komma ikapp de senaste släppen i LLM-utrymmet. Under de senaste veckorna har flera chatGPT-alternativ med öppen källkod blivit populära. 

Och i den här artikeln kommer vi att lära oss om ChatGLM serie och ChatGLM-6B, ett lättviktigt ChatGPT-alternativ med öppen källkod. 

Nu går vi!

Forskare vid Tsinghua University i Kina har arbetat med att utveckla ChatGLM-serien av modeller som har jämförbar prestanda med andra modeller som GPT-3 och BLOOM.

ChatGLM är en tvåspråkig storspråksmodell utbildad på både kinesiska och engelska. För närvarande finns följande modeller tillgängliga:

  • ChatGLM-130B: en öppen källkod LLM
  • ChatGLM-100B: inte öppen källkod, men tillgänglig via enbart inbjudningsåtkomst
  • ChatGLM-6B: ett lätt alternativ med öppen källkod

Även om dessa modeller kan tyckas likna gruppen Generative Pretrained Transformer (GPT) av stora språkmodeller, General Language Model (GLM) förträningsramverk är det som gör dem olika. Vi kommer att lära oss mer om detta i nästa avsnitt.

Inom maskininlärning skulle du känna till GLM som generaliserade linjära modeller, men GLM i ChatGLM står för Allmän språkmodell

GLM Pretraining Framework

LLM-förutbildning har studerats omfattande och är fortfarande ett område för aktiv forskning. Låt oss försöka förstå de viktigaste skillnaderna mellan GLM-förträning och GPT-modeller.

GPT-3-modellerna använder automatisk regressiv språkmodellering med endast dekoder. I GLM, å andra sidan, formuleras optimering av målet som en automatisk regressiv tomfyllningsproblem.

 

ChatGLM-6B: Ett lätt chatGPT-alternativ med öppen källkod
GLM | Image Source
 

I enkla termer, automatisk regressiv blankfyllning involverar att släcka ut ett kontinuerligt spann av text och sedan sekventiellt rekonstruera texten denna släckning. Förutom kortare masker finns det en längre mask som slumpmässigt tar bort långa tomrum med text från slutet av meningar. Detta görs för att modellen ska prestera någorlunda bra i naturlig språkförståelse samt generationsuppgifter.

En annan skillnad är i vilken typ av uppmärksamhet som används. GPT-gruppen av stora språkmodeller använder enkelriktad uppmärksamhet, medan GLM-gruppen av LLM använder dubbelriktad uppmärksamhet. Att använda dubbelriktad uppmärksamhet över omaskerade sammanhang kan fånga beroenden bättre och kan förbättra prestanda för uppgifter om naturlig språkförståelse. 

GELU-aktivering

I GLM används GELU-aktivering (Gaussian Error Linear Units) istället för ReLU-aktivering [1].

 

ChatGLM-6B: Ett lätt chatGPT-alternativ med öppen källkod
GELU-, ReLU- och ELU-aktiveringar | Image Source
 

GELU-aktiveringen och har icke-nollvärden för alla ingångar och har följande form [3]:

 

ChatGLM-6B: Ett lätt chatGPT-alternativ med öppen källkod
 

GELU-aktiveringen har visat sig förbättra prestanda jämfört med ReLU-aktiveringar, men beräkningsmässigt mer intensiv än ReLU.

I GLM-serien av LLM, ChatGLM-130B som är öppen källkod och presterar lika bra som GPT-3:s Da-Vinci-modell. Som nämnts, när den här artikeln skrevs, finns det en ChatGLM-100B-version, som är begränsad till endast inbjudningsåtkomst.

ChatGLM-6B

Följande detaljer om ChatGLM-6B för att göra den mer tillgänglig för slutanvändare:

  • Har cirka 6.2 miljarder parametrar.
  • Modellen är förtränad på 1 biljon polletter – lika från engelska som kinesiska.
  • Därefter används tekniker som övervakad finjustering och förstärkningsinlärning med mänsklig feedback.

Låt oss avsluta vår diskussion med att gå igenom ChatGLM:s fördelar och begränsningar:

Fördelar

ChatGLM-6B har följande fördelar från att vara en tvåspråkig modell till en öppen källkodsmodell som du kan köra lokalt:

  • De flesta vanliga stora språkmodeller tränas på stora korpus av engelsk text, och stora språkmodeller för andra språk är inte lika vanliga. ChatGLM-serien av LLM:er är tvåspråkiga och ett utmärkt val för kinesiska. Modellen har bra prestanda på både engelska och kinesiska.
  • ChatGLM-6B är optimerad för användarenheter. Slutanvändare har ofta begränsade datorresurser på sina enheter, så det blir nästan omöjligt att köra LLM:er lokalt – utan tillgång till högpresterande GPU:er. Med INT4 kvantisering, ChatGLM-6B kan köras med ett blygsamt minnesbehov på så lite som 6 GB. 
  • Presterar bra på en mängd olika uppgifter, inklusive sammanfattningar och chattar med enstaka och flera frågor.
  • Trots det betydligt mindre antalet parametrar jämfört med andra vanliga LLM:er, stöder ChatGLM-6B kontextlängd på upp till 2048.

Begränsningar

Låt oss sedan lista några begränsningar för ChatGLM-6B:

  • Även om ChatGLM är en tvåspråkig modell, är dess prestanda på engelska sannolikt suboptimal. Detta kan tillskrivas att instruktionerna som används i träningen oftast är på kinesiska.
  • Eftersom ChatGLM-6B har väsentligt färre parametrar jämfört med andra LLM som BLOOM, GPT-3 och ChatGLM-130B kan prestandan bli sämre när sammanhanget är för långt. Som ett resultat kan ChatGLM-6B ge felaktig information oftare än modeller med ett större antal parametrar.
  • Små språkmodeller har begränsad minneskapacitet. Därför kan prestandan för modellen försämras något i chattar med flera svängar.
  • Bias, desinformation och toxicitet är begränsningar för alla LLM, och ChatGLM är också mottagligt för dessa.

Som nästa steg, kör ChatGLM-6B lokalt eller prova demon på HuggingFace-utrymmen. Om du vill fördjupa dig i hur LLM:er fungerar, här är en lista med gratis kurser om stora språkmodeller.

[1] Z Du, Y Qian et al., GLM: General Language Model Pretraining med Autoregressive Blank Infilling, ACL 2022

[2] A Zheng, X Liu et al., GLM-130B – En öppen tvåspråkig förtränad modell, ICML 2023 

[3] D Hendriks, K Gimpel, Gaussiska fel linjära enheter (GELU), arXiv, 2016

[4] ChatGLM-6B: Demo på HuggingFace Spaces

[5] GitHub Repo
 
 
Bala Priya C är en teknisk skribent som tycker om att skapa långformigt innehåll. Hennes intresseområden inkluderar matematik, programmering och datavetenskap. Hon delar med sig av sina lärdomar med utvecklargemenskapen genom att skriva självstudier, instruktionsguider och mer.

Tidsstämpel:

Mer från KDnuggets