Tematska celina – Evaluacija učinka LLM

Veliki jezički modeli (LLM) postali su ključni alati koji pokreću neke od najzapanjujućih dostignuća i primena u današnjem svetu veštačke inteligencije. Ovaj praktični kurs će vas opremiti praktičnim znanjem i veštinama potrebnim za razumevanje, izgradnju i korišćenje moći LLM-ova za rešavanje složenih jezičkih zadataka kao što su prevođenje, generisanje jezika, odgovaranje na pitanja i još mnogo toga. Kroz interaktivne vežbe kodiranja, naučićete da radite sa transformatorima. Takođe ćete istražiti prethodno obučene jezičke modele i skupove podataka iz Hugging Face-a. Do kraja ovog kursa, bićete u mogućnosti da fino podesite i procenite prethodno obučene LLM-ove koristeći specijalizovane metrike. Takođe ćete steći razumevanje ključnih izazova i etičkih razmatranja omogućavanja LLM primena u stvarnom svetu.

Lekcija 1. Biblioteka za evaluacije

aktivnost 1: Učitavanje metrika pomoću evaluate

aktivnost 2: Opisivanje metrika

aktivnost 3: Korišćenje metrika za procenu

Lekcija 2. Metrika za jezičke zadatke: BLEU

aktivnost 1: BLEU

aktivnost 2: Učitavanje tokenizatora

aktivnost 3: Učitavanje modela

aktivnost 4: Kodirajte prompt, generišite tekst i dekodirajte ga

Lekcija 3. Metrike za jezičke zadatke: ROUGE, METEOR, EM

aktivnost 1: Procena pomoću ROUGE-a

aktivnost 2: Procena pomoću METEOR-a

aktivnost 3: Procena pomoću EM

Lekcija 4. Zaštita LLM

aktivnost 1: Provera toksičnosti

aktivnost 2: Procena poštovanja

Premium projekat iz stvarnog sveta: Analiziranje recenzija automobila sa LLM-om

Koristite velike jezičke modele (LLM) za rešavanje različitih jezičkih zadataka za kompaniju koja se bavi prodajom automobila.

Opis projekta

Pripremite se da iskoristite svoje praktične veštine koristeći unapred obučene LLM modele! U ovom projektu, vi ste programer veštačke inteligencije koga je zaposlila kompanija za prodaju automobila.

Vaš zadatak je da implementirate unapred obučene LLM modele za zadatke kao što su analiza i klasifikacija recenzija kupaca o automobilima, odgovaranje na upite o dostupnim modelima automobila i prevođenje tekstualnih podataka kompanije na engleskom jeziku na druge jezike.

Car-ing is sharing“ kompanija za prodaju i iznajmljivanje automobila, planira da podigne svoje usluge na viši nivo zahvaljujući velikim jezičkim modelima (LLM).

Kao njihov novozaposleni programer za AI i NLP, zamoljeni ste da napravite prototip aplikacije za četbot sa višestrukim funkcionalnostima koje ne samo da pomažu kupcima već i pružaju podršku zaposlenim kolegama u kompaniji.

Rešenje bi trebalo da prima tekstualne upite i koristi razne prethodno obučene Hugging Face LLM modele kako bi se odgovorilo na niz zadataka, npr. klasifikacija osećanja u tekstualnoj recenziji automobila, odgovaranje na pitanje kupca, sumiranje ili prevođenje teksta itd.

Uputstvo za projekat

Tehnička direktorka kompanije „Car-ing is sharing“, koja se bavi prodajom i iznajmljivanjem automobila, angažovala vas je da pomognete u izradi prototipa chatbot aplikacije koja odgovara na različite upite koristeći LLM-ove. Predložila vam je da sprovedete sledeće pilot zadatke:

  1. Koristite prethodno obučeni LLM za klasifikaciju sentimenta (raspoloženja) pet recenzija automobila u skupu podataka car_reviews.csv te procenite tačnost klasifikacije i F1 rezultat predviđanja.
    1. Sačuvajte izlaze modela u predicted_labels, zatim izdvojite oznake i mapirajte ih na listu {0,1} celobrojnih binarnih oznaka nazvanih predictions.
    2. Sačuvajte izračunate metrike u accuracy_result i f1_result.
  2. Kompanija od nedavno privlači kupce i iz Španije. Izdvojite i prosledite prve dve rečenice prve recenzije u skupu podataka LLM-u za prevod sa engleskog na španski. Izračunajte BLEU rezultat za procenu kvaliteta prevoda, koristeći sadržaj iz reference_translations.txt kao reference.
    1. Sačuvajte prevedeni tekst generisan od strane LLM-a u translated_review.
    2. Sačuvajte rezultat metrike BLEU rezultata u bleu_score.
  3. Drugi pregled u skupu podataka naglašava aspekte brenda. Učitajte ekstraktivni QA LLM kao što je „deepset/minilm-uncased-squad2“ da biste formulisali pitanje „What did he like about the brand?“ i dobili odgovor.
    1. Koristite question i context za dve promenljive koje sadrže LLM ulaze: pitanje i kontekst.
    2. Sačuvajte stvarni tekst odgovora u answer.
  4. Sumirajte poslednju recenziju u skupu podataka, u približno 50-55 tokena dužine. Sačuvajte je u promenljivoj summarized_text.

Detaljno tehničko uputstvo (korak po korak)

1. Klasifikujte recenzije automobila

Moraćete da učitate LLM za analizu sentimenta (raspoloženja) da biste klasifikovali raspoloženje svake recenzije u skupu podataka kao POSITIVE ili NEGATIVE i koristili stvarne oznake za izračunavanje tačnosti i F1 rezultata predviđanja.

2. Prevedite recenziju automobila

Moraćete da učitate LLM za prevod sa engleskog na španski (na primer „Helsinki-NLP/opus-mt-en-es“) da biste preveli deo prve recenzije automobila u skupu podataka na španski i da biste koristili referentne prevode date u posebnoj datoteci da biste izračunali BLEU rezultat.

3. Postavite pitanje o recenziji automobila

Moraćete da učitate prethodno obučen LLM za ekstraktivni QA, kao što je „deepset/minilm-uncased-squad2“, koji uzima dva ulaza (pitanje i kontekst) i direktno izvlači odgovor iz konteksta.

4. Sažmite i analizirajte recenziju automobila

Moraćete da učitate LLM za sumiranje i da ga prosledite poslednjoj recenziji automobila u skupu podataka da biste generisali rezime od približno 50-55 tokena. Analiziraćete da li postoje potencijalne pristrasnosti u generisanom tekstu rezimea izračunavanjem metrika maksimalne toksičnosti i uvažavanja.

Premium projekat iz stvarnog sveta: Klasifikacija slika hrane upotrebom Hugging Face-a

Klasifikujte slike hrane koristeći modele zagrljenih lica, automatski prepoznajući i kategorišući stavke.

Opis projekta

Koristite modele zagrljenih lica da biste automatski identifikovali i kategorizovali hranu na fotografijama koje su korisnici otpremili na platformi društvenih medija, otkrivajući hranu koja se najverovatnije nalazi na fotografijama. Ovo će održavati sadržaj platforme organizovanim i poboljšati personalizovane preporuke, povećavajući angažovanje korisnika.

Popularna platforma društvenih medija posvećena ljubiteljima hrane želi da poboljša angažovanje korisnika dodavanjem naprednih funkcija za prepoznavanje slika. Kao inženjer mašinskog učenja, zadužen je za razvoj sistema za klasifikaciju slika hrane koristeći najsavremenije modele Hugging Face-a. Ovaj sistem će automatski identifikovati i kategorizovati prehrambene proizvode na fotografijama koje su otpremili korisnici, omogućavajući bolju organizaciju sadržaja i personalizovane preporuke za sadržaj hrane.

Vaša odgovornost je da razvijete robustan sistem za klasifikaciju slika kategorija hrane koristeći prethodno obučene modele iz Hugging Face-a.

Cilj je poboljšanje interakcije korisnika pružanjem tačne klasifikacije hrane, omogućavajući korisnicima da lako pronađu i interaguju sa sadržajem vezanim za njihovu omiljenu hranu i poboljšavajući celokupno iskustvo na platformi.

U ovom dinamičnom projektu, koristimo moć PyTorch-a i transformers-a, koristeći model otvorenog koda iz Hugging Face-a kao okosnicu našeg rešenja.

Uputstvo za projekat

Kompanija društvenih medija vas je angažovala da im pomognete u klasifikaciji slika kako bi identifikovala kategorije hrane. Primer slike je dat u lokalnom direktorijumu. Počinjete pronalaženjem odgovora na sledeća pitanja:

  1. Koji model biste koristili za ovaj zadatak klasifikacije slika? Potražite Hugging Face model koji odgovara zadatku i koristite ga da biste dobili verovatnoće različitih kategorija hrane koje odgovaraju datoj slici-uzorku. Sačuvajte rezultat u listi rečnika pod nazivom class_scores, koja sadrži kategorije hrane i njihovu verovatnoću.
  2. Klasifikujte sliku-uzorak hrane: identifikujte oznaku kategorije hrane sa najvećom verovatnoćom za otpremljenu sliku. Sačuvajte rezultat kao string pod nazivom highest_probability_class.

Detaljno tehničko uputstvo (korak po korak)

1. Učitajte sliku hrane i konvertujte je u RGB format

Pročitajte sliku hrane i konvertujte je u RGB format kako biste osigurali kompatibilnost sa modelom klasifikacije.

2. Prikaži otpremljenu sliku

Prikažite sliku, uklanjajući osne linije, oznake i markere sa grafikona radi jasnijeg prikaza.

3. Pronađite prethodno obučen model na Hugging Face-u i kreirajte njegovu instancu

Idite na veb-sajt Hugging Face Model Hub i koristite funkciju pretrage da biste pronašli odgovarajući model klasifikacije kategorije hrane. Kada identifikujete odgovarajući model na Hugging Face-u, zapišite njegov jedinstveni ID modela.

4. Učitajte i sačuvajte prethodno obučen model klasifikacije slika

Učitajte prethodno obučen model klasifikacije slika iz Hugging Face-a. Ovo vam omogućava da koristite model za klasifikaciju slika u različite kategorije. Zatim sačuvajte učitani prethodno obučen model u lokalni direktorijum za buduću upotrebu. Ovaj korak osigurava da imate lokalnu kopiju modela, koja se može ponovo učitati bez potrebe za ponovnim preuzimanjem.

5. Izračunajte verovatnoće za različite kategorije hrane

Ovaj korak podrazumeva prosleđivanje učitane slike prethodno obučenom modelu za klasifikaciju slika kako bi se dobile verovatnoće za različite kategorije hrane. Model će obraditi sliku i vratiti listu mogućih kategorija zajedno sa njihovim povezanim verovatnoćama.

6. Identifikujte i odštampajte kategoriju hrane sa najvećom verovatnoćom

Odredite kategoriju hrane sa najvećom verovatnoćom iz rezultata klasifikacije i prikažite oznaku ove kategorije kao najbolje predviđanje modela.

Tehnički detalji interaktivne obuke

Obuka je interaktivnog karaktera, jer svaki polaznik radi i unosi komande za svojim računarom, prateći predavača. Predavač (čiji je računar povezan na projektor) polako objašnjava poslovni projekat i rešava ga unoseći jednu po jednu liniju kôda u okviru pajton razvojnog okruženja. Svaka linija kôda se detaljno elaborira.

U okviru interaktivne obuke, dobićete i detaljno napisan priručnik, sa svim aktivnostima, koji su rađeni na obuci, uključujući i sve linije kôda koje ste napisali. Takođe interaktivnu obuku prati i kreirani video materijal za svaku lekciju, gde je opet detaljno objašnjeno rešavanje poslovnog projekta i elaboracija svake linije kôda. Na ovaj način bićete u stanju da potpuno razumete i savladate AI kao i odgovarajuće komande programskog jezika pajton.

Za potrebe praćenja ove obuke potrebno je umereno znanje programskog jezika pajton. Ukoliko nemate predznanje iz programiranja u pajtonu, predlaže se da prvo odslušate sledeće dve interaktivne obuke:

Uvod u pajton za finansije, kao i

Srednji nivo pajtona za finansije.

Svaka od datih interaktivnih obuka, traje takođe po dva dana, i potkrepljena je detaljno napisanim priručnicima, kao i kvalitetnim snimljenim video materijalima.

Predavač na obuci je dr Vladimir Vasić, doktor statističkih nauka, redovni profesor na Beogradskoj bankarskoj akademiji – Fakultetu za bankarstvo, osiguranje i finansije, koji ima višedecenijsko iskustvo u rešavanju brojnih privrednih poslovnih projekata u zemlji i regionu. Predavač je 17 godina, učestvovao kao najviši istraživač (klasa A1) na projektima nacionalnog značaja na istraživanjima kvantifikacije verovatnoće difolta i izgradnje kreditnog rejtinga preduzeća. Dati projekti, finansirani od Ministarstva za nauku Srbije su: „Razvoj institucija i instrumenata hipoteke i financijskog tržišta u Srbiji“ (2006-2010) i „Rizici financijskih institucija i tržišta u Srbiji – mikroekonomski i makroekonomski pristup“ (2011-2022). Takođe, predavač je više od 15 godina vodeći konsultant, kada su u pitanju izgradnja algoritama i modela alatima data mining-a. Osim višedecenijskog iskustva u prenošenju znanja naprednog modeliranja i predikcije studentima završnih godina, predavač je i autor 25 naučnih radova objavljenih u časopisima na SCI i SSCI listi.

Prijavite se putem: linka