Vicuna: An Open-Source Chatbot, der imponerer GPT-4 med 90 %* ChatGPT-kvalitet
Oversigt
Den hurtige udvikling af store sprogmodeller (LLM'er) har revolutioneret chatbot-systemer, hvilket har resulteret i hidtil uset niveauer af intelligens som set i OpenAI's ChatGPT. Men på trods af dens imponerende ydeevne forbliver trænings- og arkitekturdetaljerne i ChatGPT uklare, hvilket hindrer forskning og open source-innovation på dette område. Inspireret af Meta LLaMA og Stanford Alpaca-projektet introducerer vi Vicuna-13B, en open source chatbot understøttet af et forbedret datasæt og en brugervenlig, skalerbar infrastruktur. Ved at finjustere en LLaMA-basismodel på brugerdelte samtaler indsamlet fra ShareGPT.com, har Vicuna-13B demonstreret konkurrencedygtig ydeevne sammenlignet med andre open source-modeller som Stanford Alpaca. Dette blogindlæg giver en foreløbig evaluering af Vicuna-13B's ydeevne og beskriver dens trænings- og serviceinfrastruktur. Vi inviterer også fællesskabet til at interagere med vores onlinedemo for at teste denne chatbots muligheder.
Hvor god er Vicuna?
Efter at have finjusteret Vicuna med 70.000 brugerdelte ChatGPT-samtaler, opdager vi, at Vicuna bliver kapabel at generere mere detaljerede og velstrukturerede svar sammenlignet med Alpaca (se eksempler nedenfor), med kvaliteten på niveau med ChatGPT.
Onlinedemo
Prøv Vicuna-13B-demoen her!
Træning
Vicuna er skabt ved at finjustere en LLaMA-basismodel ved hjælp af cirka 70.000 brugerdelte samtaler indsamlet fra ShareGPT.com med offentlige API'er. For at sikre datakvalitet konverterer vi HTML tilbage til markdown og filtrerer nogle upassende prøver eller prøver af lav kvalitet fra. Derudover opdeler vi lange samtaler i mindre segmenter, der passer til modellens maksimale kontekstlængde.
- Multi-turn-samtaler: Vi justerer træningstabet for at tage højde for multi-turn-samtaler og beregner finjusteringstabet udelukkende på chatbots output.
- Hukommelsesoptimeringer: For at muliggøre Vicunas forståelse af lang kontekst udvider vi den maksimale kontekstlængde fra 512 i alpaca til 2048, hvilket øger GPU-hukommelseskravene væsentligt. Vi tackler hukommelsespresset ved at bruge gradient checkpointing og flash opmærksomhed.
- Omkostningsreduktion via Spot Instance: Det 40x større datasæt og 4x sekvenslængden til træning udgør en betydelig udfordring i træningsudgifter. Vi anvender SkyPilot-administrerede spot til at reducere omkostningerne ved at udnytte de billigere spot-forekomster med automatisk gendannelse for forkøb og automatisk zoneskift. Denne løsning reducerer omkostningerne til træning af 7B-modellen fra omkring 140 og 13B-modellen fra omkring 300.
Servering
Vi bygger et serveringssystem, der er i stand til at betjene flere modeller med distribueret arbejdere. Det understøtter fleksibel plug-in af GPU-medarbejdere fra både on-premise-klynger og skyen. Ved at bruge en fejltolerant controller og administreret spot-funktion i SkyPilot kan dette serveringssystem fungere godt sammen med billigere spotforekomster fra flere skyer for at reducere serveringsomkostningerne. Det er i øjeblikket en letvægtsimplementering, og vi arbejder på at integrere mere af vores seneste forskning i den.
Hvordan evaluerer man en chatbot?
Evaluering af AI-chatbots er en udfordrende opgave, da det kræver undersøgelse af sprogforståelse, ræsonnement, og kontekstbevidsthed. Med AI-chatbots, der bliver mere avancerede, er de nuværende åbne benchmarks muligvis ikke længere tilstrækkelige. For eksempel kan evalueringsdatasættet, der bruges i Stanfords Alpaca, selvinstruktion, effektivt besvares af SOTA-chatbots, hvilket gør det vanskeligt for mennesker at skelne forskelle i ydeevne. Flere begrænsninger omfatter trænings-/testdataforurening og de potentielt høje omkostninger ved at skabe nye benchmarks. For at tackle disse problemer foreslår vi en evalueringsramme baseret på GPT-4 for at automatisere vurdering af chatbot-performance.
Begrænsninger
Vi har bemærket, at i lighed med andre store sprogmodeller har Vicuna visse begrænsninger. For eksempel er den ikke god til opgaver, der involverer ræsonnement eller matematik, og den kan have begrænsninger i at identificere sig selv nøjagtigt eller sikre den faktuelle nøjagtighed af dens output. Derudover er det ikke blevet tilstrækkeligt optimeret til at garantere sikkerhed eller afbøde potentiel toksicitet eller bias. For at løse sikkerhedsproblemerne bruger vi OpenAI-moderations-API'en til at bortfiltrere upassende brugerinput i vores onlinedemo. Ikke desto mindre forventer vi, at Vicuna kan tjene som et åbent udgangspunkt for fremtidig forskning for at tackle disse begrænsninger.
Udgivelse
I vores første udgivelse vil vi dele trænings-, serverings- og evalueringskoden på en GitHub-repo: https://github.com/lm-sys/FastChat. Vi udgav også Vicuna-13B modelvægtene. Der er ingen plan om at frigive datasættet. Tilmeld dig vores Discord-server og følg vores Twitter for at få de seneste opdateringer.
Hvor god er Vicuna?
Efter at have finjusteret Vicuna med 70.000 brugerdelte ChatGPT-samtaler, opdager vi, at Vicuna bliver i stand til at generere mere detaljerede og velstrukturerede svar sammenlignet med Alpaca (se eksempler nedenfor ), med kvaliteten på niveau med ChatGPT.
Onlinedemo
Prøv Vicuna-13B-demoen
her< /a>!
Oversigt
Den hurtige udvikling af store sprogmodeller (LLM'er) har revolutioneret chatbot-systemer, hvilket har resulteret i hidtil usete niveauer af intelligens, som det ses i OpenAI's ChatGPT. Men på trods af dens imponerende ydeevne forbliver trænings- og arkitekturdetaljerne i ChatGPT uklare, hvilket hindrer forskning og open source-innovation på dette område. Inspireret af Meta LLaMA og Stanford Alpaca-projektet introducerer vi Vicuna-13B, en open source chatbot understøttet af et forbedret datasæt og en brugervenlig, skalerbar infrastruktur. Ved at finjustere en LLaMA-basismodel på brugerdelte samtaler indsamlet fra ShareGPT.com, har Vicuna-13B demonstreret konkurrencedygtig ydeevne sammenlignet med andre open source-modeller som Stanford Alpaca. Dette blogindlæg giver en foreløbig evaluering af Vicuna-13B's ydeevne og beskriver dens trænings- og serviceinfrastruktur. Vi inviterer også fællesskabet til at interagere med vores online demo for at teste denne chatbots muligheder.
Træning
Vicuna er skabt ved at finjustere en LLaMA-basismodel ved hjælp af ca. 70.000 bruger- delte samtaler indsamlet fra ShareGPT.com med offentlige API'er. For at sikre datakvalitet konverterer vi HTML tilbage til markdown og filtrerer nogle upassende prøver eller prøver af lav kvalitet fra. Derudover opdeler vi lange samtaler i mindre segmenter, der passer til modellens maksimale kontekstlængde.
Servering
Vi bygger et serveringssystem, der er i stand til at betjene flere modeller med distribuerede arbejdere. Det understøtter fleksibel plug-in af GPU-medarbejdere fra både on-premise-klynger og skyen. Ved at bruge en fejltolerant controller og administreret spot-funktion i SkyPilot kan dette serveringssystem fungere godt sammen med billigere spotforekomster fra flere skyer for at reducere serveringsomkostningerne. Det er i øjeblikket en letvægtsimplementering, og vi arbejder på at integrere mere af vores seneste
forskning
i den.
Hvordan At evaluere en chatbot?
Evaluering af AI-chatbots er en udfordrende opgave, da det kræver at undersøge sprogforståelse, ræsonnement og kontekstbevidsthed. Med AI-chatbots, der bliver mere avancerede, er de nuværende åbne benchmarks muligvis ikke længere tilstrækkelige. For eksempel kan evalueringsdatasættet, der bruges i Stanfords Alpaca,
self-instruct, effektivt besvares af SOTA chatbots, hvilket gør det svært for mennesker at skelne forskelle i ydeevne. Flere begrænsninger omfatter trænings-/testdataforurening og de potentielt høje omkostninger ved at skabe nye benchmarks. For at tackle disse problemer foreslår vi en evalueringsramme baseret på GPT-4 for at automatisere vurdering af chatbot-ydelse.
Begrænsninger
Vi har bemærket, at Vicuna i lighed med andre store sprogmodeller har visse begrænsninger. For eksempel er den ikke god til opgaver, der involverer ræsonnement eller matematik, og den kan have begrænsninger i at identificere sig selv nøjagtigt eller sikre den faktuelle nøjagtighed af dens output. Derudover er det ikke blevet tilstrækkeligt optimeret til at garantere sikkerhed eller afbøde potentiel toksicitet eller bias. For at løse sikkerhedsproblemerne bruger vi OpenAI
moderation
API til at bortfiltrere upassende brugerinput i vores online demo . Ikke desto mindre forventer vi, at Vicuna kan tjene som et åbent udgangspunkt for fremtidig forskning for at tackle disse begrænsninger.