Kul

youtube · talk · 2026-09-28 · Stanford Online

Kako delujejo veliki jezikovni modeli: transformerji, razloženi na Stanfordu

Izvirni naslov vira: Stanford CME295 Transformers & LLMs | Jesen 2026 | Predavanje 1 – Transformerji

Dolgo (1 h 44 min), a se splača: tokeni, pozornost in kako nastane besedilo.

Video

Kako stojijo trditve
  • Le tu: 46

Kaj pravi

  1. Transformerji pomenijo prehod od specializiranih rekurentnih modelov do velikih jezikovnih modelov (LLM), ki jih lahko povečujemo, pogovornih izdelkov in agentov. Rekurentni modeli zaporedje obdelujejo korak za korakom, agenti pa so sistemi, ki opravljajo naloge. Besedilo najprej postane zaporedje tokenov, njegovih osnovnih koščkov. Razrez na besede in razrez na znake imata nasprotna kompromisa med velikostjo besednjaka in dolžino zaporedja. Podbesedne metode, kot je BPE, se iz reprezentativne zbirke besedil naučijo pogostih delčkov. BPE besednjak gradi z združevanjem pogostih parov. Naučene vektorske vložitve, številske predstavitve tokenov, z nalogami napovedovanja zajamejo pomenske povezave. Toda statične predstavitve Word2vec ne upoštevajo sobesedila in vrstnega reda besed. Rekurentne nevronske mreže (RNN) vrstni red ohranijo, a imajo težave z oddaljenimi informacijami in stroški učenja korak za korakom. Pozornost namesto tega tokene poveže neposredno. Z naučenimi podobnostmi med poizvedbami in ključi določa uteži vektorjev vrednosti. Poizvedbe iščejo ustrezne informacije, ključi omogočajo ujemanje, vrednosti pa nosijo informacije za združevanje. Izvirni transformer združuje kodirnik, ki predstavi izvorno besedilo, in dekodirnik, ki prevod ustvarja avtoregresivno – vsak naslednji token na podlagi prejšnjih. Podatki o položaju prinesejo vrstni red. Samopozornost, torej pozornost znotraj istega zaporedja, prepleta informacije tokenov. Mreže s prehodom naprej dodajajo nelinearne pretvorbe: spremembe, ki niso le množenje in seštevanje vhodov. Te povezave izvajata skalirana pozornost s skalarnim produktom in večglava pozornost. Prva podobnost vektorjev izračuna s seštevanjem zmnožkov njihovih komponent ter rezultat prilagodi velikosti vektorjev; druga vzporedno izvede več izračunov pozornosti. Navzkrižna pozornost dekodirniku omogoča dostop do izhodov kodirnika, vzročna maska pa prepreči dostop do prihodnjih tokenov. Učenje podpirajo še preostale povezave, normalizacija, izpuščanje in glajenje oznak. Preostale povezave vhod bloka prištejejo njegovemu izhodu. Normalizacija vrednosti spravi na primerljivo lestvico, izpuščanje med učenjem naključno izklaplja dele mreže, glajenje oznak pa del ciljne verjetnosti nameni tudi drugim odgovorom. Skupaj te sestavine tvorijo arhitekturni temelj sodobnih LLM.
  2. Članek »Attention is All You Need« je leta 2017 predstavil arhitekturo transformerja, torej njegovo zasnovo. u47–49 ·
    Lecture slide: "Attention Is All You Need" paper, 2017
  3. Afshine november 2022 navede kot čas izida ChatGPT in ta začetek opiše kot prelomnico v tem, kako je javnost začela uporabljati pogovorne velike jezikovne modele (LLM). u51–52 · Predavatelj opozori, da se meseca morda ne spomni povsem zanesljivo.
  4. Byte Pair Encoding gradi besednjak tako, da vedno znova združi najpogostejši par tokenov – osnovnih koščkov besedila. To ponavlja, dokler ne doseže izbrane velikosti besednjaka. u89–94 ·
  5. Token za neznano običajno predstavlja besedilo, ki ga ni v besednjaku tokenizatorja. Tokenizator je postopek, ki besedilo razreže na osnovne koščke – tokene. u101–103 ·
  6. Pri dogovoru za ustvarjanje besedila, ki ga opiše Afshine, token za začetek zaporedja sproži ustvarjanje. Ko model izpiše token za konec zaporedja, to pomeni, da je končal. Token je osnovni košček, s katerim model obdeluje besedilo. u104–106 · Predavatelj pozneje poudari, da dogovori o posebnih tokenih niso univerzalni.
    Special tokens in tokenization: UNK, BOS, EOS
  7. Afshine pravi, da imajo besednjaki sodobnih velikih jezikovnih modelov (LLM) po velikostnem redu več sto tisoč tokenov – osnovnih koščkov besedila. Kot primer navede 200,000. u112–113 · Ocena se nanaša na tokenizatorje, postopke za razrez besedila, ki podpirajo angleščino in druge jezike, ne na določen model.
  8. Afshine razrez na dele besed opiše kot najbolj priljubljeno raven tokenizacije, torej deljenja besedila na osnovne koščke. BPE pa predstavi kot najpogostejšo vrsto tokenizatorja v trenutni rabi velikih jezikovnih modelov (LLM). BPE besednjak gradi z združevanjem najpogostejših parov koščkov. u112–113 · BPE je že prej v predavanju predstavljen kot tokenizator, ki besedilo deli na dele besed.
  9. Pri Word2vec naloga continuous bag-of-words napoveduje besedo iz okoliškega sobesedila. Naloga skip-gram gre v drugo smer: iz dane besede napoveduje okoliške besede. u125–127 · To sta pomožni nalogi za učenje predstavitev, ne končna naloga, za katero bomo model uporabljali.
    Token representations: one-hot encoding versus learned embedding
    Word2vec overview: CBOW and Skip-gram proxy tasks
  10. V Afshinovi poenostavljeni mreži za učenje vektorskih vložitev – številskih predstavitev tokenov oziroma koščkov besedila – imajo vhodni vektorji one-hot in izhodni vektorji verjetnosti velikost besednjaka V. Vektor one-hot ima eno vrednost 1, preostale pa 0. Skrita predstavitev ima izbrano dimenzijo D, torej D številskih komponent, običajno precej manj kot V. u135–136 ·
  11. LSTM so vrsta rekurentnih nevronskih mrež, ki podatke obdelujejo korak za korakom. Poleg skritega stanja, notranjega zapisa prejšnjih informacij, dodajo še stanje celice, da bi informacije ohranile dlje. A Afshine pravi, da imajo še vedno omejitve pri povezavah med zelo oddaljenimi deli zaporedja. u164–166 ·
  12. Normalizacija plasti prilagaja aktivacije – vrednosti, ki jih izračunajo nevroni – na primerljivo lestvico. Po Afshinovih besedah pomaga, da učenje transformerja konvergira, torej se približa stabilni rešitvi. u262 ·
  13. Glajenje oznak del ciljne verjetnosti nameni tudi drugim elementom besednjaka, ne le določenemu naslednjemu tokenu – koščku besedila, ki naj bi sledil. Afshine poroča, da so avtorji transformerja s to tehniko izboljšali merila uspešnosti strojnega prevajanja. u268–272 · 90% za ciljni token in preostalih 10% sta ponazoritveni vrednosti, ne navedeni nastavitvi poskusa.
  14. Pri zaporedju dolžine n imajo transformerjeve matrike poizvedb, ključev in vrednosti n vrstic ter širine dQ, dK in dV. Matrike so preglednice števil: poizvedbe iščejo ustrezne informacije, ključi omogočajo ujemanje, vrednosti pa nosijo informacije za združevanje. Za matrično množenje poizvedb s ključi se morata širini poizvedb in ključev ujemati. u286–290 · Ustrezne naučene projekcijske matrike – številske preslikave – pretvorijo predstavitve iz prostora z dimenzijo d_model v vsakega od teh prostorov.
    Stitching pieces together: transformer query matrix Q for example sentence
  15. Množenje Q s transponirano K ustvari matriko velikosti n × n. Transponiranje zamenja vrstice in stolpce, matrika pa je preglednica števil. Vsak njen element je skalarni produkt poizvedbe enega tokena in ključa enega tokena: vsota zmnožkov ustreznih komponent njunih vektorjev. Token je osnovni košček besedila, poizvedbe in ključi pa služijo iskanju ujemanj. u291–292 · Tu je n dolžina zaporedja.
  16. Izračun pozornosti je softmax(QKᵀ/√dK)V. Q vsebuje poizvedbe, K ključe za iskanje ujemanj, V pa vrednosti z informacijami za združevanje; Kᵀ pomeni K z zamenjanimi vrsticami in stolpci. Shervine deljenje z √dK pojasni kot prilagoditev zaradi vpliva dimenzije ključev na varianco ocen pozornosti. Dimenzija je število komponent vektorja, varianca pa mera razpršenosti vrednosti. u295–297 · Softmax ocene pretvori v uteži, katerih vsota je ena.
  17. Večglava pozornost vzporedno izvede h izračunov pozornosti – izračunov, ki določajo, katere informacije upoštevati. Njihove izhode združi enega za drugim, nato pa jih z izhodno projekcijo, številsko preslikavo, pretvori iz dimenzije h·dV nazaj v d_model. u296–299 ·
  18. Po Shervinovi razlagi izvirni transformer blok kodirnika ponovi šestkrat. Kodirnik je del modela, ki gradi predstavitve vhodnega besedila. u299–301 ·
  19. Navzkrižna pozornost dekodirnika vzame poizvedbe iz njegovih tokenov, ključe in vrednosti pa iz končnih izhodov kodirnika. Tokeni so osnovni koščki besedila; poizvedbe iščejo informacije, ključi omogočajo ujemanje, vrednosti pa nosijo informacije za združevanje. Kodirnik predstavi vhodno besedilo, dekodirnik pa ustvarja izhod. Vsak blok dekodirnika prejme te končne predstavitve kodirnika. u305–306 ·
  20. Trikotna vzročna maska med učenjem prepreči, da bi se samopozornost dekodirnika povezovala s poznejšimi tokeni. Tokeni so osnovni koščki besedila, samopozornost pa povezuje informacije znotraj istega zaporedja. Maska je zapora teh povezav: zakrite ocene nastavi na negativno neskončnost, zato njihove uteži po uporabi funkcije softmax postanejo nič. Softmax ocene pretvori v uteži, katerih vsota je ena. u314–316 · Maska tokenu prepreči uporabo informacij, ki med ustvarjanjem besedila še ne bi bile na voljo.
  21. Za večjezične aplikacije učite tokenizator — orodje, ki besedilo razdeli na tokene — na korpusu, torej zbirki besedil, ki zastopa vse jezike, s katerimi bo morala aplikacija delati. u96–97 · Priporočilo je namenjeno ljudem, ki se ukvarjajo z večjezičnimi nalogami.
  22. Tokenizacija po besedah — razdelitev besedila na enote, imenovane tokeni, pri kateri je vsaka beseda svoja enota — sama po sebi ne deli naučenih informacij med sorodnimi oblikami, kot sta »bear« in »bears«. Prav tako ne zagotavlja, da bosta imeli podobni številčni predstavitvi. u70–76 · Skupni koreni v delih besed omogočajo ponovno uporabo informacij pri sorodnih besednih oblikah.
  23. BPE, postopek združevanja pogostih parov tokenov, poveča učinkovitost obdelave: dele, ki se pogosto pojavljajo skupaj, združi v tokene. Tako za besedilo, podobno učni zbirki, potrebuje manj tokenov. u94–96 · Po predavateljevi razlagi manj tokenov pomeni manj časa, ki ga model porabi za obdelavo besedila.
  24. Dopolnilni tokeni lahko izenačijo dolžino zaporedij. To omogoča učinkovito obdelavo z vektorji, matrikami in tenzorji ujemajočih se dimenzij — torej s seznami, tabelami in večrazsežnimi zbirkami števil enakih velikosti. u107–108 ·
  25. Če mrežo učimo s pomožno nalogo napovedovanja besed, lahko v njenih notranjih številčnih predstavitvah nastanejo pomenske podobnosti in analogije — podobna razmerja med različnimi pari. To se lahko zgodi, čeprav učenje teh odnosov ni neposredni cilj napovedovanja. u137–141 · Afshine naučene povezave ponazori s paroma Paris–France in Berlin–Germany.
  26. RNN, rekurentne nevronske mreže, zaporedje obdelujejo korak za korakom. Oddaljene informacije jim delajo težave, ker vedno znova spreminjajo en sam vektor skritega stanja — seznam števil, ki mora povzeti zaporedje. Afshine to omejitev pri povezovanju oddaljenih delov poveže s problemom izginjajočega gradienta: učni signal med potovanjem nazaj skozi mrežo postaja vse šibkejši. u160–169 · Ko se besedilo sklicuje na nekaj daleč nazaj, potrebnih informacij v trenutnem skritem stanju morda ni več.
  27. Učenje RNN je počasno, ker je vsaka napoved naslednjega tokena odvisna od skritega stanja — notranjega številčnega povzetka — ki nastane z obdelavo predhodnih tokenov enega za drugim. u170–171 · Ta odvisnost od zaporedne obdelave je ena od omejitev, zaradi katerih iščemo alternative RNN.
  28. Pri mehanizmu pozornosti model določi, koliko naj posamezni token prispeva k rezultatu. Podobnost med poizvedbo in ključem določa, koliko prispeva vrednost vsakega tokena. Nastala predstavitev je utežena kombinacija vektorjev vrednosti: nekateri seznami števil štejejo bolj, drugi manj. Poizvedbe, ključi in vrednosti nastanejo z naučenimi projekcijami — številčnimi pretvorbami predstavitev. u190–200 · Vloge poizvedbe, ključa in vrednosti ločijo ocenjevanje pomembnosti od informacij, ki jih model združuje.
    Lecturer standing at empty chalkboard in Stanford classroom
    Lecturer writing a summation formula on a blackboard
  29. Preostale oziroma rezidualne povezave izhod plasti zapišejo kot rezultat obdelave vhoda plus nespremenjeni vhod. Tako lahko značilnosti obidejo podplast — manjši del plasti. Afshine pravi, da to pomaga pri vzvratnem širjenju napake, torej prenašanju učnega signala nazaj skozi mrežo, in pri učenju globokih mrež z veliko plastmi. u257–261 · Afshine rezidualno plast predstavi kot spreminjanje obstoječe predstavitve, ne kot njeno popolno zamenjavo.
  30. Dropout je postopek, ki med učenjem z določeno verjetnostjo namerno izklaplja enote mreže. Tako se model ne opira preveč na posamezne značilnosti. Afshine pravi, da to izboljša posploševanje — uspešnost modela na novih podatkih. u267–268 ·
  31. Afshine kot prelomnico v zasnovi, ki je omogočila sodobne velike jezikovne modele (LLM), predstavi možnost povečevanja transformerja z več podatki, računske moči in parametrov. Parametri so vrednosti, ki se jih model nauči. u47–51 ·
    Lecture slide: "Attention Is All You Need" paper, 2017
  32. Tokenizacija besedilo razreže na nedeljive enote, imenovane tokeni. Te lahko nato za modele predstavimo s številkami. u58–62 ·
    Tokenization of a sentence into tokens
  33. Naučene predstavitve tokenov – osnovnih koščkov besedila – naj ne bi le ločevale enega tokena od drugega. Odražale naj bi tudi povezave med njimi, da lahko modeli besedilo uporabijo za napovedovanje ali ustvarjanje novega besedila. u120–125 ·
    Token representations: one-hot encoding versus learned embedding
  34. Pozornost je mehanizem, ki modelu omogoča neposreden dostop do prejšnjih tokenov, torej koščkov besedila, in učenje, kateri so pomembni. Tako ni odvisen izključno od skritega stanja – notranjega zapisa, ki ohranja prejšnje informacije. u174–179 ·
  35. Samopozornost predstavitev tokena, koščka besedila, izračuna na podlagi drugih tokenov v istem zaporedju. Ne združuje ga z rekurentnim skritim stanjem – notranjim zapisom, ki se posodablja korak za korakom. u183–187 ·
  36. Izvirni transformer uporablja kodirnik, ki zgradi predstavitve izvornega besedila, in dekodirnik, ki te predstavitve uporablja pri ustvarjanju prevoda. Afshine to zasnovo predstavi kot temelj sodobnih velikih jezikovnih modelov (LLM). u219–222 ·
  37. Shervine kot ključni sestavini transformerja izpostavi pozornost in nevronske mreže s prehodom naprej. Pozornost določa, katere informacije upoštevati, mreže s prehodom naprej pa jih obdelujejo od vhoda proti izhodu. Po njegovih besedah te mreže vsebujejo večino parametrov – naučenih vrednosti – in zmogljivosti modela. Preostale tehnike opiše kot pomoč pri učenju, poudari pa tudi kakovost podatkov. u311–313 ·
  38. Kako se softmax znotraj mehanizma pozornosti razlikuje od končnega softmaxa transformerja? Softmax številčne ocene pretvori v nenegativne deleže, katerih vsota je 1. u317–319 · Softmax pri pozornosti razporedi uteži med ključe tokenov; končni softmax pa ustvari verjetnosti za tokene v besednjaku, da model napove naslednji token.
    Transformer decoder walkthrough: stitching pieces together with an example
  39. Zakaj token za začetek zaporedja ni prikazan kot del ustvarjenega prevoda? u319–320 · Token za začetek zaporedja je vhodna oznaka, s katero model napove prvi izhodni token. Izhodni token za konec zaporedja pa sporoči, kdaj naj se ustvarjanje ustavi.
    Transformer decoder walkthrough: stitching pieces together with an example
  40. Tokenizacija po znakih, pri kateri je vsak znak svoj token, ima majhen besednjak, torej nabor dovoljenih tokenov. Če ta pokriva vse znake v besedi, ne naleti na neznane besede. Toda zaporedja so daljša, vektorske vložitve — številčne predstavitve tokenov — pa težje razložljive. u77–82 · Daljša zaporedja upočasnijo izračune modela.
    Character-level tokenization of a sentence
  41. Tokenizacija po delih besed lahko izkoristi skupne korene in se iz podatkov nauči uporabnih koščkov. Toda tokenizator je treba učiti, rezultat pa je močno odvisen od učne zbirke besedil. u83–88 · Afshine priporoča, naj bodo podatki za učenje tokenizatorja usklajeni z načrtovano uporabo.
    Subword-level tokenization of an example sentence
  42. Pri nespremenjeni velikosti besednjaka lahko večjezični tokenizator za posamezen jezik ustvari daljša zaporedja. Po drugi strani lahko izrazi, skupni več jezikom, koristijo naučenim predstavitvam. u114–117 · Afshine pravi, da skupni učinek na kakovost predstavitev ni jasen. Kot možen vir koristi zaradi povezovanja jezikov navede kratice organizacij.
  43. Obravnavani pristop Word2vec isti besedi v različnih kontekstih dodeli isto predstavitev. Njegove besedne vložitve — številčne predstavitve besed — tudi ne zajamejo besednega reda, čeprav se pomen povedi razlikuje. u146–150 · Afshine omejitve ponazori z besedo »bank«, ki lahko pomeni rečni breg ali finančno banko, in z zamenjavo vlog pri objemanju: otrok objema plišastega medvedka ali medvedek otroka.
  44. Če lahko vsak token sodeluje z vsakim drugim, to samo po sebi še ne ohrani besednega reda. Transformer — model, ki uporablja mehanizem pozornosti — zato številčnim predstavitvam tokenov doda informacije o njihovem položaju. u185–186 · Rešitev s položajnimi vložitvami, torej številčnimi predstavitvami položaja, je pojasnjena pozneje v u227–236.
  45. V Afshineovem primeru naučene položajne vložitve — številčne predstavitve mest v zaporedju — ne morejo predstaviti položajev zunaj tistih, ki so se jih naučile med učenjem. Ko vhod sega dlje, so alternativa vnaprej določene položajne predstavitve na osnovi frekvenc, torej različno hitrih ponavljajočih se vzorcev. u229–234 · Afshine omejitev ponazori z 1,000 vhodnimi tokeni, pri čemer so vložitve naučene le do položaja 500.
  46. Transformer združuje pozornost, podatke o položaju in računanje z mrežami s prehodom naprej nad naučenimi številskimi predstavitvami tokenov – koščkov besedila. Pozornost izbira pomembne informacije, mreže s prehodom naprej pa jih obdelujejo od vhoda proti izhodu. To kombinacijo je mogoče povečevati, zato je arhitekturni temelj sodobnih velikih jezikovnih modelov (LLM). Kako transformer besedilo spremeni v predstavitve, ki upoštevajo sobesedilo, in ustvarja izhod ter zakaj je njegova zasnova omogočila sodobne LLM?
Kako utemeljuje
  1. thesis Scalable transformers underpin modern LLMs through contextual token computation How does the transformer turn text into contextual representations and generate output, and why did its architecture enable modern LLMs?
    1. theme Tokenization balances efficiency and coverage Tokenization makes text computationally usable, while subword methods balance vocabulary coverage, sequence length, and corpus dependence.
      1. idea Tokenization turns text into numerically representable units
        1. idea Word tokens do not inherently share related meanings
        2. tension Character coverage comes at the cost of length
      2. idea Subwords share useful pieces but depend on training
        1. mechanism BPE builds vocabulary by merging frequent pairs
          1. implication Frequent merged pieces shorten familiar text
        2. action Train tokenizers on every required language
          1. tension Multilingual vocabularies trade sequence length against shared representations
      3. mechanism Padding aligns sequence dimensions for efficient processing
    2. theme Prediction learns useful but limited representations Word-prediction tasks learn semantic representations, but static embeddings fail to capture context and word order.
      1. idea Token representations should encode relationships, not just identities
        1. mechanism Prediction training indirectly learns semantics and analogies
          1. example Word2vec predicts words from context or context from words
            1. mechanism A compact hidden layer learns vocabulary representations
          2. counterargument Static Word2vec embeddings miss context and word order
    3. theme Attention builds context through direct interactions Attention replaces reliance on recurrent memory with learned token interactions, supplemented by positional information.
      1. idea Attention accesses relevant earlier tokens directly
        1. argument Recurrent memory struggles to preserve distant information
          1. counterargument LSTM cell states help but retain long-range limitations
      2. argument Sequential hidden-state dependencies slow recurrent training
      3. idea Self-attention represents tokens through other sequence tokens
        1. mechanism Query–key similarity weights learned value vectors
          1. mechanism Scaled dot-product attention computes softmax(QKᵀ/√dK)V
            1. mechanism QKᵀ computes every query–key pair's dot product
            2. mechanism Token matrices require matching query and key widths
        2. mechanism Multiple attention heads concatenate and project their outputs
        3. counterargument Token interactions need positional information to preserve order
          1. tension Learned positions have range limits; predefined frequencies offer alternatives
    4. theme Encoder and decoder coordinate generation The encoder represents source text while the decoder generates output using source representations and causally restricted self-attention.
      1. idea Encoders represent sources; decoders generate translations
        1. mechanism Decoder queries attend to final encoder keys and values
        2. mechanism Causal masking prevents attention to future output tokens
        3. mechanism Boundary tokens start generation and signal completion
    5. theme Scalable computation enables modern LLMs Attention and feedforward computation provide the core capacity, while supporting techniques make deep transformer training effective.
      1. idea Transformer scalability enabled modern LLMs
        1. mechanism Attention and parameter-rich feedforward networks supply core capacity
          1. mechanism Residual bypasses support learning in deep architectures
          2. mechanism Layer normalization helps training converge
          3. mechanism Dropout reduces feature dependence and improves generalization
          4. example Label smoothing improved reported translation metrics

Vir, odlomek za odlomkom

Stanford CME295 Transformers & LLMs | Jesen 2026 | Predavanje 1 – Transformerji

Prepis, preveden z umetno inteligenco iz angleščine.

  1. u1 Dobrodošli
  2. u2 Pozdravljeni vsi in dobrodošli pri predmetu CME 295, transformerji in veliki jezikovni modeli. Ime mi je Afshine in ta predmet bom poučeval skupaj s Shervinom, ki je zadaj. Preden začnemo, bi rad povedal nekaj besed o naju.
  3. u3 S Shervinom sva brata dvojčka in imava zelo podobno izobrazbeno in poklicno pot. Oba sva obiskovala šolo v Franciji, imenovano Centrale Paris. Nato sva prišla v ZDA na podiplomski študij. Jaz sem šel na MIT, Shervine pa sem na Stanford, na oddelek ICME. Potem sva oba odšla v tehnološko industrijo.
  4. u4 Najprej sva oba šla v Uber, nato v Google. Zdaj sva oba pri Netflixu. S Shervinom imava rada velike jezikovne modele oziroma LLM-je. Na področju LLM-jev delava, bi rekel, od začetka dvajsetih let tega stoletja.
  5. u5 To je eden od razlogov, zakaj imava tako srečo, da lahko poučujeva ta predmet. V različnih oblikah ga poučujeva od leta 2021. Ker pa se je zanimanje za LLM-je povečalo, sva ga lani dejansko uvedla kot uradni predmet na Stanfordu.
  6. u6 Ta izvedba je tretja. Če ste torej tukaj in se sprašujete, ali je predmet primeren za vas: njegov cilj je pojasniti, kako delujejo LLM-ji, zlasti pa razumeti temeljni mehanizem njihove arhitekture. Ogledali si bomo torej transformer —
    Welcome to CME 295 course goals slide
    1:31 · Welcome to CME 295 course goals slide · A Stanford lecture slide titled "Welcome to CME 295!" lists two course goals: understanding how Transformers work and relate to LLMs, and learning how LLMs are trained and used in applications. A small inset in the top right shows a person standing in a lecture hall. The slide has Stanford and ICME branding.
  7. u7 pa tudi, kako se LLM-ji učijo, kako jih lahko uporabljamo, pri čem so dobri in pri čem niso. Upam, da boste pri tem predmetu dobili občutek za vse to. Kar zadeva ciljno občinstvo, bi rekel, da je precej široko.
  8. u8 Če želite postati raziskovalec, bi bil to lahko odličen predmet, ki vam razširi obzorja glede različnih tehnik, ki se uporabljajo, različnih področij uporabe in tako naprej. To je torej ena skupina.
  9. u9 Druga skupina ste tisti, ki želite izvesti osebni projekt. Dandanes so programerski agenti povsod. Če želite preprosto vzeti neko orodje in nekaj narediti, bi verjetno morali vedeti, pri čem je programerski agent dober in pri čem ni. In tretjič, ne glede na vašo vlogo,
  10. u10 je potreba po pismenosti na področju umetne inteligence vse večja. Obstaja izraz pismenost na področju UI. Ne glede na to, kje delate in kakšna je vaša vloga, postaja poznavanje delovanja teh orodij vse pomembnejše.
  11. u11 Če se prepoznate v kateri od teh skupin, je ta predmet morda primeren za vas. Glede predznanja bi rekel, da je odlično, če imate nekaj osnov linearne algebre, če veste, kaj je matrika in kako množimo, poleg tega pa še nekaj osnov strojnega učenja.
  12. u12 Na primer, kaj je funkcija izgube, kaj je nevronska mreža in kaj je vektorska vložitev, čeprav bomo to obravnavali pri predmetu. Je pa dobro, da to poznate že prej. Je razumljivo?
  13. u13 Razlika v primerjavi z lansko izvedbo
  14. u14 Prav, super. Morda veste, morda pa ne, da se ta predavanja snemajo. Zadaj lahko vidite kamero. Snemali smo jih že lani. Morda se torej sprašujete, kakšen smisel ima prihajati na predavanja, če so že posneta. Področje se razvija tako hitro,
    CME 295 welcome slide: goals and intended audience
    3:43 · CME 295 welcome slide: goals and intended audience · A Stanford ICME lecture slide titled "Welcome to CME 295!" with the Goals section faded out and the Audience section highlighted. It says the course suits people interested in LLMs for career, project or curiosity reasons, and requires machine learning basics and linear algebra. A small inset shows the lecturer standing beside a blackboard.
  15. u15 da se je od lani pojavilo ogromno novosti. Eden od ciljev tega predmeta je prav vključiti ves doseženi napredek. Naštel bom nekaj primerov. Napredek je bil pri naknadnem učenju. Na primer pri destilaciji politike,
  16. u16 če ste že slišali zanjo, seveda pri agentih UI, torej programerskih agentih in podobno, ter pri novih paradigmah LLM-jev. Tradicionalno so napovedovali po en žeton naenkrat. Danes pa je vse več modelov, ki se stvari lotevajo drugače,
  17. u17 med drugim z vidika difuzije. Skratka, če obiskujete ta predmet in se pripravljate na izpite, si oglejte letošnja predavanja, ker bodo precej drugačna.
    Logistics slide: Friday class date and time
    5:01 · Logistics slide: Friday class date and time · A Stanford University lecture slide titled "Logistics" with a maroon header. It lists the date and time of the class as Fridays from 3:30pm to 5:20pm. A small inset video frame in the top right shows a person standing in front of a chalkboard.
  18. u18 Organizacija predmeta
  19. u19 Glede organizacije: zelo sem vesel, da vas je v petek popoldne tukaj toliko. Predavanja bodo vsak petek od 15.30 do 17.20. Potekala bodo v tej učilnici. Predmet je ovrednoten z dvema kreditnima enotama.
  20. u20 Izberete lahko številčno oziroma črkovno oceno ali način opravil/ni opravil. Vsa predavanja se snemajo. Posnetke bomo objavili najpozneje dva dni po predavanju. Če želite, jih torej lahko spremljate na daljavo ali pa pridete osebno.
  21. u21 Pravzaprav bi vas zelo rada videla v živo, a izberite, kar vam ustreza. Pri predmetu ni domačih nalog, sta pa dva izpita: vmesni in zaključni. Vmesni bo zajemal prva štiri predavanja,
  22. u22 in bo čez en mesec, mislim? Ja, 23. oktobra. Zaključni izpit pa bo zajemal zadnjih pet predavanj. Skupaj bo torej devet predavanj. Štel bo 50 % skupne ocene. Ker to ni prvič,
  23. u23 da izvajava ta predmet, sva na spletu že objavila, kako sta videti vmesni in zaključni izpit. Na spletni strani lahko pod zavihkom 2025 vidite, kaj pričakujeva na teh izpitih. Vključujejo vprašanja izbirnega tipa. Imamo tudi nekaj vprašanj z odprtimi odgovori.
  24. u24 Takšna vprašanja bi torej postavila. Imate za zdaj kakšno vprašanje glede organizacije? Ja. Mimogrede, vprašanja bom vedno ponovil za tiste, ki spremljajo na daljavo. Vprašanje je, ali imamo govorilne ure.
    Instructor presenting course logistics slide in Stanford lecture hall
    6:49 · Instructor presenting course logistics slide in Stanford lecture hall · A man in a maroon t-shirt and glasses stands in front of large chalkboards, gesturing with open hands while speaking. A projected Stanford ICME slide titled "Logistics" lists class details: 2 units, grading option, recorded lectures, and midterm and final exam dates with 50% weights each.
  25. u25 Uradnih govorilnih ur nimamo. Bova pa s Shervinom po vsakem predavanju ostala tukaj, če boste želeli kaj vprašati. In to bomo pravzaprav videli tukaj, če imate kakšno — To bomo torej videli pozneje, če boste imeli vprašanja. Na voljo je tudi Ed, platforma, kjer lahko postavljamo vprašanja.
  26. u26 Z veseljem bova odgovorila nanje. Super. Glede gradiva: govoril sem o vmesnih izpitih in podobno. Vsi so — tisti od lani so na spletni strani.
  27. u27 Na spletni strani je tudi učni načrt in tam bodo objavljeni posnetki. Prosojnice objavljamo en dan pred predavanjem, ker so lani nekateri prišli do naju in rekli,
  28. u28 da bi radi nanje pisali zapiske. Zato smo jih zdaj navajeni objavljati en dan pred predavanjem. Prenesete jih lahko s spletne strani. Kar zadeva gradivo, imamo tudi učbenik, in sicer tega: Super Study Guide, Transformers and LLMs.
  29. u29 Mislim, da ima knjižnica nekaj izvodov, tako da si ga lahko tam izposodite. Dobite ga lahko tudi na spletu. Imamo tudi spletno stran. Poleg tega imamo še pregledni list, ki naj bi bil čim bolj ažuren. S Shervinom sva ga pravzaprav posodobila pred nekaj
  30. u30 tedni. Njegov namen je strnjeno zajeti celotno vsebino. Morda je torej dober pripomoček za učenje tik pred posameznim izpitom. Vem tudi, da nas veliko prihaja iz različnih držav.
  31. u31 Če ne najdete prevoda v svoj jezik, se oglasite pri naju. Z veseljem bi sodelovala z vami. Trenutno je na voljo, mislim, v 15 jezikih, vključno z angleščino. Z veseljem bi videl še več jezikov. Super.
  32. u32 Glede komunikacije: obvestila bomo objavljali na platformi Canvas. Dostopate lahko tudi prek Canvasa. Če pa nama želite kaj vprašati zasebno, lahko odgovoriva tudi prek poštnega seznama, ki
  33. u33 je na prosojnici, skupaj z najinima e-poštnima naslovoma na Stanfordu. Mislim, da sem z organizacijo končal. Je kakšno vprašanje? Je strašljivo?
  34. u34 Ker smo imeli samo eno vprašanje. Samo zanima me, ali vas še kaj skrbi. Je vse jasno, povsem jasno? Ja. Vprašanje je, ali bomo videli, kako se to povezuje s prakso v industriji. Odgovor je da.
  35. u35 Ena od stvari, ki jih bomo obravnavali, zlasti v drugem delu predmeta, je uporaba LLM-jev v različnih okoliščinah. Samo kot zanimivost: spomnim se, da so lani med izvajanjem predmeta objavili nekaj novosti. Zato sva vsebino sproti posodabljala.
  36. u36 Prepričan sem, da bova enako naredila tudi tokrat. Odgovor je torej da. Ja. Vprašanje je, kaj priporočava za pripravo, glede na to, da ni domačih nalog in da vmesni in zaključni izpit štejeta vsak polovico. Odvisno je od tega, kako se običajno učite, a mislim, da je najboljše redno učenje.
  37. u37 Najpomembneje je, da ste med predavanjem pozorni na stvari, ki jih obravnavamo. V učbeniku so lahko teme, ki jih ne bomo obravnavali, in teh na nobenem izpitu ne pričakujemo. Grobo rečeno se lahko na izpitu pojavi vse, kar povemo.
  38. u38 Vprašanje je, ali imamo naloge za vajo. Da. Lani sva rekla ne. Zdaj pa da, imate tiste iz leta 2025. Vprašanja bodo sicer drugačna. Prav, odlično. Na voljo imamo samo dve uri oziroma eno uro
  39. u39 in 15 minut na teden. Tako niti približno ne bomo imeli časa obravnavati vsega. Zato bo na vsaki prosojnici, o kateri bomo govorili, vedno — oziroma večinoma — čisto spodaj naveden vir, ki
  40. u40 ga lahko preverite, če vas zanima več podrobnosti. Če vas zanima tema, ki smo jo morda obravnavali le nekaj minut, pa bi radi izvedeli več, poglejte prosojnice. Super. Še nekaj: ko sem se pred nekaj leti začel ukvarjati s področjem obdelave naravnega jezika, NLP,
  41. u41 sem osebno občutil, da je povsod ogromno kratic. To je lahko zastrašujoče. Upava, da boste, če vas te kratice danes preplavljajo, do konca predmeta imeli v glavi povezave med kraticami in
  42. u42 pojmi, ki jih označujejo. To je najin cilj.
  43. u43 Časovnica
  44. u44 Začeli bomo z vprašanjem, kako smo prišli do sem. Pred 10–15 leti, v desetih letih tega stoletja, je bilo področje, kot se spomnim, povsem drugačno.
    CME 295 Transformers & Large Language Models course title slide
    12:42 · CME 295 Transformers & Large Language Models course title slide · A Stanford University title slide for CME 295, "Transformers & Large Language Models", with the Stanford logo and ICME branding on a white left half. The maroon right half lists the lecture outline, with "Introduction" highlighted as the current section. A small inset in the top right corner shows a person standing in a lecture room.
  45. u45 Nismo imeli enega modela, ki bi počel vse. Običajno smo imeli en model za vsak primer uporabe. Na področju so prevladovale RNN, povratne nevronske mreže, ki si jih bomo pri tem predavanju na kratko ogledali. Imeli smo modele za posamezne primere uporabe,
  46. u46 na primer za analizo sentimenta. Sprašujete se torej, ali je stavek oziroma ocena pozitivna, negativna ali nevtralna. Če ste želeli prevesti besedilo, ste imeli za to namenski model. Če ste v besedilu želeli prepoznati imena, kraje in podobno, ste imeli tudi za to namenski model.
  47. u47 Tako je bilo v desetih letih tega stoletja. Uspešnost je bila v redu. Pravi preobrat pa je prineslo leto 2017. Takrat je izšel članek, o katerem bomo danes veliko govorili,
    Lecture slide: "Attention Is All You Need" paper, 2017
    13:56 · Lecture slide: "Attention Is All You Need" paper, 2017 · A Stanford ICME lecture slide shows the title page and abstract of the 2017 Transformer paper by Vaswani et al. A vertical timeline on the left marks the 2010s and the year 2017. A small inset at top right shows a lecturer standing in a classroom.
  48. u48 z naslovom »Attention is All You Need«. Predstavil je novo arhitekturo, ki je temeljila na paradigmi, ki se je izkazala za zelo dobro razširljivo. S tem mislim, da če modelu zagotovite več podatkov, več računskih virov in več parametrov,
  49. u49 dejansko dosežete veliko večje izboljšanje uspešnosti, kot ste ga opažali prej. To bomo danes videli. Ta arhitektura se imenuje transformer. Na desni je prikaz, kako je predstavljena v izvirnem članku.
  50. u50 Ogledali si bomo, kako deluje. Nato so ljudje to arhitekturo povečevali tako po velikosti modela kot po številu žetonov, na katerih so jo učili. Tako so se pojavili sodobni LLM-ji,
  51. u51 LLM-ji, ki dejansko znajo — oziroma precej dobro tvorijo besedila in programsko kodo. Leta 2022 je izšel ChatGPT. Novembra, mislim, kot se spomnim. Ja. To je bila spet prelomnica,
  52. u52 predvsem z vidika izdelka, ker ljudje pred tem niso bili zares vajeni interakcije s pogovornim robotom. Mislim, da je bila ta izdaja res prvi stik ljudi s tem vidikom. In mislim, da niti oseba oziroma podjetje, ki ga je predstavilo, verjetno ni
  53. u53 vedelo, kako veliko bo to postalo. To predvidevam zato, ker so imeli v tvitih ob izdaji modela, mislim, tipkarsko napako. To se mi zdi smešno, ker danes ob vsaki izdaji modela besedilo desetkrat pregledajo.
    Launch of ChatGPT, the "conversational" era, with Sam Altman tweets
    15:52 · Launch of ChatGPT, the "conversational" era, with Sam Altman tweets · A Stanford ICME lecture slide with a vertical timeline (2010s, 2017, 2022, with 2022 highlighted) next to Sam Altman's Nov 30, 2022 tweet announcing ChatGPT. On the right, four follow-up tweets describe language interfaces and assistants. The last tweet, circled in red, corrects a typo ("god" should be "got"). A small inset video shows the speaker standing at the top right.
  54. u54 Predvidevam torej, da pri tej objavi ni bilo tako. Ampak ja, to je še ena prelomnica. In zdaj smo tu, leta 2026. Predvidevam, da vas veliko ali kar vsi skoraj vsak dan uporabljate programerske agente.
  55. u55 Ogledali si bomo, kako smo prišli do te stopnje, kako smo od pogovornega LLM-ja oziroma pomočnika prišli do dejansko agentskega vedenja. To bomo obravnavali zlasti v drugem delu predmeta. Je za zdaj vse jasno?
  56. u56 Super. Zdaj bomo začeli
    Lecture slide "Agentic era!" showing AI coding tools
    16:56 · Lecture slide "Agentic era!" showing AI coding tools · A still from a Stanford lecture video shows a man in a maroon T-shirt standing in a classroom, looking at a projected slide titled "Agentic era!". The slide has a timeline running from the 2010s through 2017 and 2022 to "Now". It lists four agentic coding tools: Anthropic's Claude Code, Cursor, OpenAI's Codex and Google's Antigravity.
  57. u57 Tokenizacija
  58. u58 z enim temeljnim pojmom, tokenizacijo. Kaj je torej tokenizacija? Besedilo ni nekaj, kar bi modeli zares razumeli. Modeli razumejo števila.
  59. u59 Besedila ne razumejo. Prvi cilj je torej najti način, kako besedilo predstaviti v obliki, ki jo modeli razumejo, torej s števili. To naredimo tako, da besedilo najprej poskušamo razdeliti na enote,
  60. u60 ki jih nato lahko predstavimo. Proces deljenja besedila na nedeljive enote imenujemo tokenizacija. V tem primeru imamo »Ljubek plišasti medvedek bere.« Ena možna tokenizacija je, da je »Ljubek« ena
    Tokenization of a sentence into tokens
    17:57 · Tokenization of a sentence into tokens · A Stanford lecture slide titled "Tokenization" shows the sentence "A cute teddy bear is reading." with an arrow pointing down to the sentence split into boxed tokens. "teddy bear" is kept as one token. A small inset video shows a presenter standing beside a chalkboard.
  61. u61 nedeljiva enota. »Plišasti« je druga enota. »Medvedek« je lahko še ena enota. In tako naprej. Vsak tak element imenujemo žeton. Naš cilj je te žetone predstaviti
  62. u62 s smiselnimi matematičnimi predstavitvami. V tem primeru želimo vsak žeton predstaviti z vektorjem, vektorjem števil. Da lahko vhodno besedilo tokenizirate, morate vedeti, katere žetone
  63. u63 smemo uporabljati. Imamo nekaj, čemur pravimo besedišče, ki vsebuje vse možne žetone, ki jih lahko uporabite. Glede na izbrano besedišče lahko dobite različno dolga zaporedja. Z dolžino zaporedja tukaj mislim
  64. u64 število žetonov, na katere ste razdelili besedilo. V tem primeru jih imamo 1, 2, 3, 4, 5, 6, šest žetonov. Kmalu bomo videli, da sta velikost besedišča in dolžina zaporedja tesno povezani, kar
  65. u65 bo vplivalo na izbiro tokenizatorja. Je za zdaj jasno? Morda se zdaj sprašujete: vse to je lepo, ampak kako vem, kako naj tokeniziram besedilo? To je teoretični pojem, ampak kako to naredim?
  66. u66 Eden od naravnih načinov je, da rečete: besedilo bom tokeniziral po besedah. Presledek bom obravnaval kot ločilo med žetoni. Tukaj bi torej rekli »Ljubek plišasti medvedek bere.«
  67. u67 Vsaka beseda v tem besedilu bi predstavljala žeton. Katere so prednosti in slabosti tega pristopa? Prednosti: zelo preprosto je, zlasti v angleščini, žeton preslikate v besedo. Je tudi razložljivo, saj
  68. u68 veste, da predstavitev besede oziroma žetona ustreza določeni besedi. Toda vsaj v angleščini imamo veliko različic besed.
    Word-level tokenization: pros and cons
    20:39 · Word-level tokenization: pros and cons · A Stanford ICME lecture slide shows the sentence "A cute teddy bear is reading." split into seven tokens, one per word plus the final period. Below it, a smiley face lists the advantages (simple, interpretable) and a crying face lists the drawbacks (large vocabulary, ignores word roots, out-of-vocabulary risk). A small inset in the corner shows the lecturer standing near a board.
  69. u69 Samostalnik je lahko na primer v ednini ali množini. Lahko imamo moško in žensko obliko. Različic je lahko zelo veliko. Zaradi tega lahko besedišče postane zelo veliko. To je ena slabost.
  70. u70 Druga slabost, ki jo bomo kmalu videli, je, da pri učenju predstavitve posameznega žetona nič ne zagotavlja, da bosta dva žetona, ki predstavljata isto stvar, dobila enako predstavitev.
  71. u71 Če na primer vzamemo besedi »medved« in »medvedi«, sta to edninska in množinska oblika iste živali, medveda. Ne bi želeli, da sta predstavitvi teh dveh žetonov preveč oddaljeni,
  72. u72 ker predstavljata isto stvar. Pri takšni tokenizaciji pa težko, prvič, izkoristite znanje o podobnem žetonu in, drugič, zagotovite podobnost teh predstavitev.
  73. u73 Tretja slabost pa je, da se morate naučiti predstavitve vsake besede — ena beseda je en žeton — zato se lahko zgodi, da pri učenju tokenizatorja na določenem korpusu
  74. u74 ne naletite na besedo, ki jo nato srečate med sklepanjem. Lahko vam torej manjkajo predstavitve, ki se jih niste mogli naučiti preprosto zato, ker med učenjem te besede niste srečali.
  75. u75 Zato obstaja tveganje besed zunaj besedišča, kar pomeni, da žetona med učenjem niste videli in zanj nimate predstavitve. Skratka, tokenizacija na ravni besed je preprosta,
  76. u76 vendar ima nekaj slabosti. Ena je prav to, da ne morete izkoristiti besed s podobnimi koreni. Posledica sta veliko besedišče in tveganje besed zunaj besedišča.
  77. u77 Naslednje vprašanje je: ali lahko naredimo bolje? Obstaja bolj smiseln način tokenizacije? Naravna zamisel bi bila, da besedila ne delite po besedah, ampak po znakih. Imate določeno število dovoljenih znakov, vsaj
    Character-level tokenization of a sentence
    23:37 · Character-level tokenization of a sentence · A Stanford ICME lecture slide shows the sentence "A cute teddy bear is reading." being split by an arrow into individual character tokens. Each letter, space (shown as an underscore) and the final period gets its own box, so the sentence becomes 27 tokens. A small inset shows the lecturer standing at the right.
  78. u78 v angleščini oziroma v kateremkoli jeziku. Tako ni več tveganja besed zunaj besedišča, ker boste v učni množici srečali vse črke abecede oziroma lahko poskusite to zagotoviti. S tem boste imeli tudi majhno besedišče.
  79. u79 Poleg tega bi bili odporni proti razlikam med velikimi in malimi črkami ter pravopisnim napakam, ki jih ljudje običajno delajo, ko — ne vem, ali se prepoznate v tem, jaz se. Ko tipkam na računalniku, včasih kaj napišem narobe. Ne bi želel, da bi bila predstavitev
  80. u80 besede, ki sem jo nameraval napisati, drugačna od dejanske besede. Tako se ne bi zgodilo, da besede ne prepoznamo zgolj zaradi napačnega zapisa. Toda videli bomo, da je ob tem dolžina zaporedja
  81. u81 veliko večja. Računska zahtevnost modela pa je odvisna od dolžine zaporedja. Če je zaporedje zelo dolgo, ga bo model dolgo obdeloval. Izračuni bodo torej veliko počasnejši.
  82. u82 Tudi same vektorske vložitve so veliko manj razložljive: če vam povemo, da ima črka A takšno predstavitev, je to morda precej bolj abstraktno kot predstavitev besede. To bomo kmalu videli.
  83. u83 Je za zdaj razumljivo? Ja. Upam, da sem dovolj dobro utemeljil kompromis, da je vaša naslednja naravna zamisel nekaj vmes: ne besede, ne znaki, ampak deli besed. Kaj če bi torej besedilo tokenizirali
    Subword-level tokenization of an example sentence
    25:53 · Subword-level tokenization of an example sentence · A Stanford lecture slide titled "Tokenization: subword-level" shows the sentence "A cute teddy bear is reading." split into subword tokens by an arrow. Words like "teddy" and "reading" are broken into pieces ("ted" + "##dy", "read" + "##ing"), while the other words stay whole. A small video inset at top right shows a lecturer standing near a board.
  84. u84 z uporabo znanja o besedah, ki se ga lahko naučimo iz učnega korpusa? Izločimo pogoste skupine črk in jih predstavimo z žetonom.
  85. u85 Na primer, pri »reading« bi »read« predstavili z enim žetonom in »ing« z drugim. Kaj če naredimo tako? Prednost je, da bi izkoristili korene besed. V mojem prejšnjem primeru bi imela »bear« in »bears« na primer skupen žeton »bear«.
  86. u86 Druga prednost je, da se tega naučimo iz podatkov: način tokenizacije temelji na dejanskem zapisu besed. Slabost pa je dodatno delo. Pri tokenizaciji po besedah žetone preprosto dobimo z deljenjem po presledkih.
  87. u87 Tukaj pa bi — morate opraviti nekaj dodatnega dela. Način pridobivanja žetonov bo močno odvisen od vrste podatkov, ki jih imate pri učenju tokenizatorja. To je torej še ena slabost.
  88. u88 Zagotoviti moramo, da so podatki, s katerimi se učimo tokenizacije, usklajeni s končnim ciljem. Tukaj bi rad nekaj povedal. Govoril sem o treh načinih tokenizacije besedila.
  89. u89 Na ravni besed, znakov in delov besed. Med temi tremi je danes zaradi vseh omenjenih razlogov daleč najbolj priljubljena raven delov besed. Pogosto boste slišali kratico BPE. BPE je vrsta tokenizatorja na ravni delov besed,
  90. u90 ki pomeni Byte Pair Encoding oziroma kodiranje parov bajtov. Povezava do članka je na dnu prosojnice, če želite izvedeti več, jaz pa bom opisal bistvo delovanja. BPE se nauči, kateri žetoni naj bodo v besedišču, tako da začne z začetno množico žetonov,
  91. u91 poišče najpogostejše pare v učnih podatkih in uvede namenske žetone, ki združujejo žetona iz teh parov. Dal bom primer.
  92. u92 Predstavljajte si, da začetno besedišče vsebuje vse črke abecede. Imate recimo besedo »an«, kot v »an idea« ali »an amazing course«. »An« se pojavlja zelo pogosto.
  93. u93 Tukaj bo torej rekel: »a« in »an« se zelo pogosto pojavljata skupaj. Dodajmo žeton, ki ju združi. Novi žeton bo dodal v besedišče in postopek ponavljal, dokler ne doseže želene končne velikosti besedišča.
  94. u94 To bo vaše končno besedišče. Lepo je, da se teh žetonov naučimo iz podatkov: stvari, ki se pojavljajo skupaj, prepoznamo in dodamo v besedišče. Tako bo zaporedje krajše. Besedila vam ne bo treba razstaviti
  95. u95 na toliko žetonov. Model tako ne bo potreboval toliko časa za obdelavo besedila. Od tod učinkovitost. Če imate učni korpus z veliko besedami, ki jih srečujete v praksi, bo zaporedje žetonov,
  96. u96 ki ga dobite iz besedila z enakimi besedami kot v učnem korpusu, veliko krajše. Če delate z več jeziki, torej poskrbite, da je tokenizator naučen
  97. u97 na korpusu, ki predstavlja vse jezike, ki vas zanimajo. To je en primer. Tega je bilo veliko, zato se bom za trenutek ustavil. Imate za zdaj kakšno vprašanje o tem delu? Da.
  98. u98 Vprašanje je, kakšna je povezava med BPE in n-gramom. N-gram je pravzaprav nekaj drugega. Ta pa, da, kot pravite, žetone iz korpusa uči z iterativnim združevanjem najpogostejših parov, dokler ne doseže želene končne velikosti besedišča.
  99. u99 Naslednje naravno vprašanje je: imate žetone, kako pa veste, kako jih predstaviti? Morda se to sprašujete. To bomo videli čez približno pet minut. Več o tem torej kmalu. Pravzaprav gledam na uro. Mislim, da zaostajam, zato bom verjetno nadaljeval.
  100. u100 Če imate vprašanja, me kar prekinite. Tokenizacija je res temelj vsega, kar bomo obravnavali od zdaj naprej. Doslej smo videli žetone, ki predstavljajo besedila, ki jih želimo tokenizirati.
  101. u101 Imamo pa tudi posebne žetone. Namenjeni so predstavljanju stvari, ki jih želimo izraziti v zaporedju. Eden takih je za primer, ko naletimo na izraz ali del besedila, ki ni v našem besedišču.
  102. u102 Običajno imamo namenski žeton, ki predstavlja ta del besedila zunaj besedišča, imenuje pa se žeton za neznano. To je en poseben žeton. Primer: »Teddy bear«. Predstavljajte si, da to napišem Teddy DI bear.
  103. u103 V učnem korpusu pa takega zapisa nikoli nismo videli. Če vaše besedišče sestavljajo samo ti štirje žetoni, torej Teddy, cute, bear in unknown, bo Teddy bear tokeniziran kot žeton za neznano in nato bear.
  104. u104 To je en primer. Druga skupina posebnih žetonov: pogosto morate označiti začetek in konec zaporedja, in videli bomo, kako to naredimo. Imamo dve skupini posebnih žetonov.
  105. u105 Ena je začetek zaporedja, BOS, druga pa konec zaporedja, EOS. Večinoma ju uporabljamo pri tvorjenju besedila. Ko želite na primer začeti tvorjenje, modelu po dogovoru podate
  106. u106 žeton za začetek zaporedja, da svojemu žetonu — svojemu modelu nakažete, da želite tvoriti besedilo. Model bo ob koncu tvorjenja izpisal žeton za konec zaporedja in s tem sporočil, da je končal. Tako se to uporablja.
    Special tokens in tokenization: UNK, BOS, EOS
    33:45 · Special tokens in tokenization: UNK, BOS, EOS · A Stanford ICME lecture slide titled "Special tokens" shows three token boxes: [UNK] (unknown, "out of vocabulary"), [BOS] (beginning of sequence) and [EOS] (end of sequence). [UNK] is greyed out, while [BOS] and [EOS] are highlighted in lavender. The example sentence "What a cute teddy bear!" is below, and a small inset shows the lecturer standing at the right.
  107. u107 »Kako ljubek plišasti medvedek« bi bilo torej na primer: začetek zaporedja, »Kako ljubek plišasti medvedek« in konec zaporedja. Zadnji, ki ga morda srečate, pa je dopolnilni žeton. Namenjen je temu, da imajo zaporedja določeno velikost.
  108. u108 To se včasih uporablja zaradi učinkovitosti. Če želite, da so vsa zaporedja enako dolga, ker jih, kot bomo videli, lahko predstavimo z vektorji, matrikami in tenzorji — strojna oprema pa ima rada enake dimenzije — lahko uporabite dopolnjevanje.
  109. u109 Toda ta seznam nikakor ni izčrpen in ljudje uporabljajo številne različne dogovore. Takšen zapis BOS, EOS in takšen zapis dopolnjevanja niso univerzalni.
  110. u110 Naj vas torej ne preseneti, če srečate različice. Danes imamo tudi pomočnike. Imate uporabnika in pomočnika. Tudi to ljudje predstavljajo s posebnimi žetoni. Še enkrat, seznam ni izčrpen.
  111. u111 Vedite le, da taki žetoni obstajajo in da naj bi modelu sporočali nekaj o besedilu, kar mora razumeti. Super. Toliko o tokenizaciji.
  112. u112 Kakšno vprašanje? Da. Vprašanje je, kakšen je danes velikostni red besedišča pri LLM-jih. Odlično vprašanje. Gre za stotisoče. Videli boste torej nekaj v velikostnem redu stotisočev, 200.000, nekaj takega.
  113. u113 Ti tokenizatorji znajo obravnavati angleščino pa tudi druge jezike. Kot sem omenil, je danes najpogostejši tokenizator BPE. To si je torej dobro zapomniti. Ja.
  114. u114 Vprašanje je, ali tokenizator zaradi podpore več jezikom postane nekoliko manj strokoven za posamezen jezik. Mislim, da je težko reči, ker so med jeziki lahko sinergije. Na splošno je torej težko reči.
  115. u115 Vendar pa se bo besedišče, katerega velikost določite ob izvajanju algoritma BPE, zapolnilo z žetoni različnih jezikov. Zato lahko dobite besedišče, ki vodi do daljših zaporedij, če vas zanima samo en jezik.
  116. u116 Z vidika učinkovitosti se torej morda kaj pozna. Z vidika predstavitev pa ni povsem jasno. Primer so kratice organizacij, o katerih ljudje morda govorijo v številnih jezikih.
  117. u117 Morda vam torej koristi učenje te predstavitve iz različnih besedil v različnih jezikih. So prednosti in slabosti. Odlično. Super.
  118. u118 Word2vec (CBOW, Skip-gram)
  119. u119 Zdaj torej vemo oziroma smo se naučili, da lahko iz vhodnega besedila ustvarimo žetone ali besedilo predstavimo z žetoni. Naslednje naravno vprašanje je, kako predstaviti te žetone. To si bomo ogledali zdaj.
    Stanford CME 295 lecture on Transformers and LLMs
    37:27 · Stanford CME 295 lecture on Transformers and LLMs · A lecturer in a maroon T-shirt stands in front of a large dark chalkboard in a Stanford classroom, with a projected slide above him. The slide shows the course title "CME 295 Transformers & Large Language Models" and an agenda in which "Word representation" is highlighted, indicating the current section of the lecture.
  120. u120 Najbolj naiven način je reči, da je vsak žeton drugačen. To je skrajno očitno. Žetone pa lahko predstavimo s tako imenovanim kodiranjem one-hot. Recimo, da imam žeton »mehak«. Lahko rečem, da je to vektor (1, 0, 0).
  121. u121 Če to naredite za vse žetone, je slabost ta, da bodo pri skalarnem produktu vsi med seboj pravokotni. Je to dobro? Ne.
  122. u122 Ni dobro, ker vam nič ne pove o tem, kaj ti žetoni so in kako so povezani. Tega ne želite. Želite jih predstaviti tako, da predstavitev odraža njihovo medsebojno podobnost. To želite.
  123. u123 Želite na primer, da je »plišasti medvedek« podoben »mehak«, ker so plišasti medvedki mehki, knjiga pa je morda neodvisna. Tega se želite naučiti. Želite se naučiti smiselnih predstavitev. In zakaj si jih sploh želite naučiti?
  124. u124 Ker želite z besedilom nekaj narediti. Potrebujete ga kot vhod v model, da dobite neki izhod, na primer naslednje besede ali napoved razreda. Razumeti morate vsebino besedila, zato si želite
  125. u125 smiselnih predstavitev žetonov. To je poskušala doseči starejša metoda Word2vec. Zamisel je, da se teh predstavitev naučimo
    Token representations: one-hot encoding versus learned embedding
    39:34 · Token representations: one-hot encoding versus learned embedding · A Stanford lecture slide compares naive one-hot encoding of tokens with learned embeddings. In one-hot encoding, "teddy bear", "soft" and "book" lie on orthogonal axes, so all dot products are 0. In a learned embedding, related words such as "teddy bear" and "soft" point in similar directions (inner product ~1), while "book" is nearly orthogonal to "teddy bear" (~0). A small video inset shows the lecturer standing at the upper right.
  126. u126 prek tako imenovane nadomestne naloge. To je naloga, ki se je poskušate naučiti, ni pa vaš končni cilj. Naučiti se je poskušate, da dosežete nekaj drugega. Tukaj je nadomestna naloga na primer napovedovanje
  127. u127 besede med nekaj kontekstnimi besedami — to je različica Word2vec z zvezno vrečo besed — ali napovedovanje besed okoli dane besede. To je različica skip-gram. Ogledali si bomo primer, da bo jasno.
    Word2vec overview: CBOW and Skip-gram proxy tasks
    40:23 · Word2vec overview: CBOW and Skip-gram proxy tasks · A Stanford lecture slide introduces Word2vec as a neural network trained on a proxy task over billions of words to learn an embedding layer. It contrasts two proxy tasks using the sentence "A cute teddy bear is reading": CBOW predicts the middle words from surrounding context, while Skip-gram predicts surrounding words from the center words. A small inset shows the lecturer standing beside a board.
  128. u128 Ali vsi veste, kaj je nevronska mreža? Ja. Prav. Tukaj sem prikazal zelo osnovno nevronsko mrežo. Lahko si jo predstavljate kot množenje vhoda z matriko, s katerim dobimo skrito predstavitev velikosti D, nato pa spet množenje z matriko za vrnitev na velikost V oziroma velikost besedišča.
  129. u129 Predpostavimo, da imamo stavek »A cute Teddy bear is reading.« Zaradi preprostosti predpostavimo, da želite iz besede »a« napovedati »cute«. Predstavljajmo si torej, da je nadomestna naloga
  130. u130 napovedati naslednjo besedo. Zelo naivna predstavitev »a« je kodiranje one-hot. Predpostavimo, da ima besedišče šest elementov in da je »a« prvi žeton.
  131. u131 »A« bi torej predstavili z (1, 0, 0, 0, 0, 0). To podate skozi mrežo. Predstavljajte si množenje matrike s tem vektorjem. Dobili bi skrito stanje velikosti 2, recimo dve števili, 0,2 in 0,9.
  132. u132 Nato ga spustite skozi mrežo, torej še eno množenje z matriko. Dobite napovedi, katerih vsota je 1. Za normalizacijo lahko uporabite na primer softmax. Cilj je, da so te verjetnosti čim bližje oznaki, ki jo imate, torej napovedi besede
  133. u133 »cute«. Predpostavimo, da je »cute« druga beseda v besedišču. Predstavljena je torej z (0, 1, 0, 0, 0). Kot na prosojnici želite, da je 0,4 čim bližje 1. Zamisel je torej funkcija izgube, ki
  134. u134 kaznuje to, da je verjetnost določene besede predaleč od besede, ki jo poskušate napovedati — če poznate izgubo navzkrižne entropije — nato pa posodobi uteži modela, da odražajo želeni rezultat.
  135. u135 Da bo jasno, bom šel skozi vse omenjene količine. Kodiranje one-hot, ki predstavlja žeton, ima velikost besedišča. Skrito stanje oziroma latentna predstavitev ima velikost D. D je parameter, ki ga lahko izberete,
  136. u136 in je običajno precej manjši od velikosti besedišča. Napovedane verjetnosti besed: za vsak žeton imate eno verjetnost, zato se morajo ujemati z velikostjo besedišča. Velikost je torej V. Ujema se tudi z velikostjo kodiranja one-hot. Tukaj lahko poskušate
  137. u137 kaznovati odstopanja od besede, ki jo napovedujete. Recimo, da to naredite za »a«, da napoveste »cute«. Enako ponovite za »cute« in »Teddy bear«. Vzamete »cute« in ga predstavite s kodiranjem one-hot.
  138. u138 Spustite ga skozi mrežo. Dobite latentno predstavitev in spet verjetnosti. Primerjate jih z dejansko oznako za »Teddy bear«. Izračunate izgubo. Posodobite uteži glede na oddaljenost od oznake. To ponavljate skozi celoten korpus.
  139. u139 Na koncu so avtorji ugotovili, da je latentna predstavitev, ki se je naučite na sredini mreže, dejansko smiselna: med naučenimi predstavitvami lahko izračunate mere
  140. u140 podobnosti. Vidite, da so predstavitve podobnih žetonov res podobne. V tem primeru je plišasti medvedek v odnosu do mehkobe to, kar je perzijska poezija v odnosu do umetnosti. Drug primer: Pariz je v odnosu do Francije to,
  141. u141 kar je Berlin v odnosu do Nemčije. Model se torej nauči teh lepih povezav. Tako dobite smiselne predstavitve besed. Ta metoda se je pojavila, mislim,
  142. u142 na začetku desetih let tega stoletja. Mislim, da leta 2013, če se prav spomnim. Kdo mi lahko pove, kakšna je omejitev tega pristopa? Videli smo, da so naučene predstavitve besed smiselne.
  143. u143 Toda ali ima ta pristop kakšno omejitev? Ja. Eden od odgovorov je, da bi imeli težave, če naletite na nekaj, česar med učenjem niste videli. Da, to drži.
  144. u144 Mislim, da to pravzaprav velja v večini primerov, ne samo v tem. To je ena omejitev. Je še kakšna — da, še kakšna? Odgovor je, da dimenzija raste z velikostjo besedišča. To je pravzaprav omejitev tokenizatorja,
  145. u145 ker tokenizator določa velikost besedišča. Prav imate, da je to omejitev. Vendar ni značilna samo za ta pristop, saj morate vedno najti predstavitev vsakega elementa besedišča. Je torej omejitev, vendar omejitev
  146. u146 metod na splošno. Da. O, da. Odgovor je, da imajo besede lahko več pomenov. Točno tako. Ena omejitev je, da bo beseda, recimo »ljubek«, v tem stavku in v nekem drugem stavku
  147. u147 dobila enako predstavitev. Če prijazno rečete »ljubek plišasti medvedek«, ali pa nekdo sarkastično reče »o, kako ljubko«, lahko za besedo »ljubek« stojijo različni pomeni. Zelo klasičen primer je angleška beseda »bank«,
  148. u148 ki pomeni rečni breg ali banko, kamor greste. Gre za isto besedo, a drugačen pomen. Težava tega pristopa je, da bi bila predstavitev te besede enaka ne glede na stavek, v katerem je. Odlična pripomba.
  149. u149 Druga omejitev je, da vrstni red besed ni pomemben. Recimo, da rečemo »otrok objema plišastega medvedka« in »plišasti medvedek objema otroka«. Besede so povsem iste, pomenijo pa različne stvari. Pri tem pristopu bi dobili enake vektorske vložitve
  150. u150 v obeh primerih. Vse to so omejitve, zato so to nekaj,
  151. u151 RNN, LSTM
  152. u152 kar so ljudje poskušali rešiti na različne načine. Eden od njih so RNN, ki so bile, kot smo že videli, prevladujoča vrsta modelov v desetih letih tega stoletja.
  153. u153 RNN izračunavajo dodatno količino, ki je tukaj označena z A. Imenuje se tudi skrito stanje in poskuša zajeti pomen doslej videnega
  154. u154 stavka. Ogledali si bomo primer. Vzemimo isti stavek: »Ljubek plišasti medvedek bere.« Besedo podate v RNN. Poskušala bi napovedati besedo »ljubek«. Nato pa ohrani to, čemur
    Stanford ICME slide: Recurrent Neural Networks (RNNs) beginning diagram
    49:13 · Stanford ICME slide: Recurrent Neural Networks (RNNs) beginning diagram · A lecture slide titled "Recurrent Neural Networks (RNNs)" on a maroon header, with the start of a diagram: a small white box labeled "A" with an arrow pointing up into a larger light-blue box. A small inset video in the top right shows a lecturer standing near a chalkboard. Stanford University and ICME branding appear at the bottom.
  155. u155 pravimo skrito stanje, ki kodira pomen doslej videnega zaporedja. To bo vhod za naslednjo napoved. Kot vhod bomo imeli »ljubek« in tudi to skrito stanje, ki bo vplivalo na naslednjo predstavitev,
  156. u156 in tako naprej. Tukaj torej ne upoštevate zgolj vektorskih vložitev posameznih žetonov. Upoštevate tudi vložitev doslej dekodiranega zaporedja. To vam omogoča upoštevanje
  157. u157 vrstnega reda besed v stavku. RNN so se takrat uporabljale za številne naloge. Pri razvrščanju bi na primer obdelovali po en žeton naenkrat in ohranjali sproti spreminjajoče se stanje, ki
  158. u158 kodira pomen doslej videnega zaporedja. Pri analizi sentimenta bi poskušalo napovedati sentiment. Pri večrazrednem razvrščanju, če bi na primer želeli določiti, ali je beseda samostalnik ali glagol, pa bi
  159. u159 uporabili predstavitve, ki ustrezajo posameznim vhodom in spet upoštevajo skrita stanja, ali pa preprosto tvorjenje. Toda ena omejitev RNN je —
    Long Short-Term Memory (LSTM) overview slide with cell diagram
    51:09 · Long Short-Term Memory (LSTM) overview slide with cell diagram · A Stanford lecture slide introducing LSTMs, noting they came from a 1997 paper and use a more structured approach in the cell's hidden state. The "General form" diagram shows an LSTM cell with previous and next cell states c and activations a, four gates (Γf, Γu, Γr, Γo), a candidate state c̃, and input x at time t. A small inset shows the lecturer standing near a board.
  160. u160 Prav. Odlično je bilo, da ste upoštevali vrstni red besed v zaporedju. Težko pa si je zapomnila besede iz oddaljene preteklosti, ker je pomen zaporedja kodirala
  161. u161 v en sam vektor, ki se je nenehno spreminjal. Imeli smo torej težavo tako imenovane dolgoročne odvisnosti: če ste dva stavka za nečim, o čemer ste govorili prej,
  162. u162 bi to težko razbrali zgolj iz trenutnega skritega stanja. To je lahko težava, ko se na primer sklicujete na nekaj iz preteklosti. Lahko rečete: »O, moj plišasti medvedek je tako ljubek.«
  163. u163 »Visok je 3 čevlje.« »On« se torej nanaša na nekaj iz preteklosti. Predpostavimo zdaj, da se ta »on« nanaša na nekaj iz oddaljene preteklosti. Potem imamo težavo, ali skrito stanje, ki ga
  164. u164 upoštevamo, vsebuje prave informacije. Zato so obstajale različice RNN. Ena se je imenovala LSTM, Long Short-Term Memory oziroma dolgi kratkoročni spomin, in je poskušala rešiti to težavo,
  165. u165 tako da ni ohranjala samo skritega stanja, ampak tudi drugo stanje, imenovano stanje celice, ki naj bi informacije prenašalo dlje. Toda tudi take različice
  166. u166 so imele omejitve in spet isto težavo. Če povzamemo dosedanje načine pridobivanja vektorskih vložitev: videli smo Word2vec, zelo preprost pristop
  167. u167 za izračun predstavitev besed. Težava pa je, da je predstavitev besede enaka tudi, če je beseda v drugem zaporedju. To je omejitev. Poleg tega, kot smo že omenili,
  168. u168 lahko ista beseda pomeni različne stvari, česar predstavitev prav tako ne izraža. Pri RNN pa težavo vrstnega reda besed rešujemo s skritim stanjem, ki zajema doslej videno zaporedje.
  169. u169 Toda imamo težavo dolgoročnih odvisnosti. Ta izhaja iz globlje težave, imenovane problem izginjajočega gradienta, ki pri povratnem razširjanju uvaja določene omejitve. Še nekaj, česar nismo omenili: pri RNN
  170. u170 je težava, da za vsako napoved naslednjega žetona potrebujete skrito stanje, ki zajema vse, kar ste videli doslej. Zato morate za naslednjo napoved vedno obdelovati žetone enega za drugim.
  171. u171 Učenje takega modela je zato izjemno počasno. Za tisti čas je dajal dobre rezultate, a ne ravno neverjetnih. Zaradi vseh teh razlogov so v desetih letih tega stoletja ljudje
  172. u172 preizkušali različne tehnike. Ena od njih je res izstopala, zdaj,
  173. u173 Pozornost
  174. u174 ko gledamo nazaj, in imenuje se pozornost. Zamisel je naslednja. Namesto da se za zajetje pomena doslej videnega zaporedja zanašamo samo na skrito stanje, modelu omogočimo neposredne povezave z žetoni,
  175. u175 ki jih je videl v preteklosti. Z drugimi besedami, ne pravimo, naj se glede tega, kaj se je zgodilo prej, zanaša samo na skrito stanje. Pravimo, da ima lahko za napoved naslednjega žetona tudi neposredne povezave z že videnimi žetoni.
  176. u176 Pri prevajanju na primer predpostavimo, da želite v francoščino prevesti »Ljubek plišasti medvedek bere.« Predpostavimo, da rečete — [GOVORI FRANCOSKO] In želite napovedati naslednjo besedo. Intuitivno bi bilo za to odlično vedeti, katero besedo
  177. u177 želite prevesti. Pri tradicionalni RNN do te besede ne bi imeli neposrednega dostopa. Dostopali bi lahko samo prek skritega stanja. Tukaj pa želimo neposredno povezavo s prejšnjimi žetoni in modelu prepustiti, da se nauči, kateri so pomembni.
  178. u178 Pri napovedovanju se nato opre na pomembne žetone. To je koncept pozornosti. Pozornost pomeni, da modelu omogočite neposredne povezave od določenega žetona
  179. u179 do nekaterih preteklih žetonov.
  180. u180 Mehanizem samopozornosti
  181. u181 Ta pojem je zelo pomemben, ker je temelj tega, kar si bomo ogledali zdaj. Prej sem omenil članek »Attention is All You Need«, ki je izšel leta 2017.
  182. u182 To je bila prelomnica, ker so ljudje videli, da omogoča zelo dobro povečevanje obsega in daje izjemne rezultate. Članek temelji na samopozornosti, ki je nekakšna pozornost na steroidih. Natančno si bomo ogledali, kaj s tem mislimo.
  183. u183 Recimo, da imamo zaporedje »Ljubek plišasti medvedek bere.« Zdaj ne pravimo več, da bomo predstavitev dane besede izračunali kot funkcijo skritega stanja, ki zajema pomen dosedanjega zaporedja, in besede same.
  184. u184 Tega ne pravimo. Zdaj pravimo, da lahko predstavitev določenega žetona izračunamo tako, da jo izrazimo kot funkcijo vseh drugih žetonov v tem zaporedju. Prosim?
  185. u185 Mislim, da ste izpostavili pomembno vprašanje: kako veste, kakšen je vrstni red besed, če pustite, da vse medsebojno delujejo z vsemi, če je bilo to vaše vprašanje. Če torej pustite, da žeton deluje z vsemi drugimi žetoni, dejansko izgubite pojem vrstnega reda besed.
  186. u186 To je pravzaprav nekaj, kar obravnavamo pozneje. Torej si bomo ogledali prav ta del. Tukaj pa dejansko ne veste, kje so žetoni, ker imate neposredno povezavo. V tej povsem osnovni predstavitvi ne veste, kje so žetoni. Zato bomo pogledali, kako točno odpraviti to težavo.
  187. u187 Ampak ali je zamisel smiselna? Zamisel, da želite predstavitev žetona izračunati tako, da jo izrazite kot funkcijo vseh drugih žetonov v zaporedju, ali je ta zamisel smiselna? Približno?
  188. u188 Ja, to bom razumel kot pritrditev. Torej bomo šli skozi primere. Shervine ima pozneje tudi podroben primer. Upam, da bo potem nekoliko bolj jasno. Obstaja nabor oznak, ki jih ljudje uporabljajo in ki jih bomo
    Attention mechanism: concept of Query, Key, Value
    59:54 · Attention mechanism: concept of Query, Key, Value · A Stanford lecture slide titled "Attention mechanism" introduces the concept of Query, Key, Value. The sentence "a cute teddy bear is reading ." is shown as separate word boxes, with "teddy bear" highlighted in a dark dotted box and the other tokens greyed out. A small inset in the top right shows the lecturer standing in front of a blackboard.
  189. u189 Poizvedba, ključ, vrednost
  190. u190 zdaj uvedli. Te oznake so poizvedbe, ključi in vrednosti, Q, K in V. Poizvedba je torej entiteta, ki poskuša ugotoviti, o čem govori določen žeton.
  191. u191 Zamisel je, da želi najti žetone, ki so uporabni za sestavljanje smiselne predstavitve žetona, za katerega je odgovorna. Poizvedba za plišastega medvedka torej poskuša najti druge žetone, ki so pomembni
  192. u192 za izračun smiselne predstavitve tega žetona. Zato bo pogledala, kako podobna je ta količina ključem zaporedja, ki so povezani z vsakim žetonom v zaporedju.
  193. u193 Ko ugotovi, v kolikšni meri je podobna posameznemu žetonu, bomo vsakemu od teh žetonov priredili vrednost. Z drugimi besedami, predstavitev plišastega medvedka želimo izraziti kot funkcijo vseh drugih žetonov
  194. u194 v zaporedju. Zato bomo najprej določili uteži. Gre za uteženo povprečje. Potrebujemo uteži. Uteži določimo glede na to, kako podobna je poizvedba za plišastega medvedka posameznemu ključu. Dejanska vrednost pa bo preprosto vektor vrednosti, ki ustreza posameznemu žetonu.
  195. u195 Torej bo nekako tako – če bi to zapisal, je to vsota nečesa, kar predstavlja podobnost. Torej Q in Ki, Vi. To je vaša poizvedba.
    Lecturer standing at empty chalkboard in Stanford classroom
    1:01:45 · Lecturer standing at empty chalkboard in Stanford classroom · A still from a lecture video shows a person in a maroon t-shirt and khaki pants, seen from behind, standing at a large, mostly blank dark chalkboard. A white vertical line is drawn near the right side of the board. A projector screen at the upper right shows partial "Stanford Univers…" text, and a faint "Stanford" watermark is at lower right.
  196. u196 Z nekimi operacijami podobnosti poskušate ugotoviti, kako podobna je vaša poizvedba vsem drugim ključem. Tukaj je kot primer skalarni produkt. In to povežete. To je torej skalar. To je skalar. In to povežete z Vi, ki je prav tako vektor.
  197. u197 To se morda zdi nekoliko abstraktno, zato vam bom dal primer. Predpostavimo, da želimo vedeti, kaj najbolje opisuje plišastega medvedka. Poizvedba se lahko vpraša: v redu, kaj najbolje opisuje plišastega medvedka? Pogledate vse žetone. In rečete: o, »ljubek« pravzaprav kar dobro opisuje plišastega medvedka.
  198. u198 Morda bo torej skalarni produkt med ljubek, plišasti medvedek in K ljubek velik. Predpostavimo torej, da bo predstavitev, ki jo izračunate za plišastega medvedka, močno odvisna od »ljubek«. To so torej pojmi poizvedbe, ključa in vrednosti.
    Lecturer writing a summation formula on a blackboard
    1:03:00 · Lecturer writing a summation formula on a blackboard · A man in a maroon t-shirt stands with his back to the camera, writing on a dark chalkboard in a lecture hall. The board shows part of an equation, a sum over i of an inner product with k_i times v_i, with a brace underneath labeled "scalar". A Stanford University watermark and a projector screen showing "Stanford Univers" are visible.
  199. u199 Naslednje vprašanje je, kako jih dobite. Kako dobite poizvedbe, ključe in vrednosti? To so pravzaprav količine, ki se jih lahko naučite s projekcijskimi matrikami. Na začetku imate neki vhodni žeton,
  200. u200 ki predstavlja posamezni žeton. To predstavitev vzamete in jo prek projekcijskih matrik preslikate v prostor poizvedb, ključev in vrednosti.
  201. u201 Nato te količine uporabite za izračun smiselnih predstavitev žetonov. Ja. Odlično vprašanje. Vprašanje je, kaj je T. T je pravzaprav samo zato, da smo matematično natančni. T pomeni transponiranje.
  202. u202 Torej gre samo za to, da lahko to zapišete tudi kot QK transponirano. Še kakšno vprašanje?
  203. u203 Pozneje imamo podroben primer. Če je to približno razumljivo, je po mojem to odlično. To bomo videli čez trenutek. Izkazalo se je, da je to, kar sem opisal, nekaj, kar lahko zelo lepo – nekaj, kar lahko matematično izrazite z matrikami.
  204. u204 Natančneje, operacijo, ki sem jo pravkar omenil, lahko izrazimo kot softmax poizvedbe in ključev. To skalirate z nekim faktorjem in pomnožite z vrednostmi. Pravzaprav imam morda dovolj časa, da vam povem, zakaj.
  205. u205 Predpostavimo, da imate – softmax je preprosto način, da dosežete, da je vsota koeficientov enaka 1. Približno to počne. Vprašanje pa je: če imate poizvedba ključ transponirano V – mislim, bolj ali manj s softmaxom in skaliranjem,
  206. u206 zakaj vam to da tisto, kar smo videli zgoraj? Predpostavimo, da vaša matrika poizvedb vsebuje vse vaše poizvedbe, torej Q1, Qn. Torej je 1 prvi indeks vašega zaporedja.
  207. u207 Predpostavimo, da na prejšnjih prosojnicah rečemo, da je prvi indeks A. Recimo, da je A enak 1. Pika pa je, predpostavimo, n. Imamo torej poizvedbo za A pa vse do poizvedbe za piko. Enako naredite za K in V.
  208. u208 Če to matriko poizvedb pomnožite s Q transponirano, dobite K1, takole, Kn. In tukaj ste veseli nekaj linearne algebre.
  209. u209 Torej množenje matrik – naredite to krat to, kar je skalarni produkt Q1 K1. Drugi element pa je Q1 K2. Če to ponavljate, boste dobili matriko QIKJ.
  210. u210 Morda bom to zapisal tja gor. Zapisal bom točno to, kar je zgoraj. Torej imate –
    Lecture on attention mechanism: query, key, value slide
    1:07:20 · Lecture on attention mechanism: query, key, value slide · A lecture hall still shows a man in a maroon shirt reaching up to a chalkboard while a projected Stanford ICME slide titled "Attention mechanism" is displayed. The slide illustrates the query, key, value concept with the sentence "a cute teddy bear is reading ." where the query for "teddy bear" connects to the keys of every word. The chalkboards carry handwritten notes on QK^T and inner products.
  211. u211 Q1 K1. Vse do Q1 Kn. Nato to ponovite tukaj. To postavite sem. To ponovite tukaj. Če zdaj sem dodate V, dobite V1 Vn. Spet torej izvedete množenje matrik.
  212. u212 Tukaj pa dobite – to krat to plus to krat to plus to krat to, vse do sem. Imate torej vsoto Q1 Ki Vi. In enako vse do vsote Qn, Ki, Vi.
  213. u213 Skratka, želel sem samo povedati, da lahko izražanje nečesa kot funkcije te operacije podobnosti in vrednosti
  214. u214 zelo dobro predstavite z matrikami. To formulo boste videli precej pogosto. Mislim, da je bilo o tem vprašanje na vmesnem izpitu. Torej namig: ta formula je lahko pomembna.
  215. u215 Arhitektura transformerja
  216. u216 Zdaj ko vemo, kako je definirana samopozornost in kako deluje, bomo, upam, v naslednjih 17 minutah pogledali, kako se samopozornost uporablja v arhitekturi transformerja, ki je – ki je arhitektura, predstavljena v članku »Attention
  217. u217 is All You Need«. Zakaj se torej imenuje »Attention is All You Need«? No, avtorji so takrat, večina modelov je bila rekurentnih. Temeljili so na RNN. Stvari so torej računali rekurentno.
  218. u218 Tukaj pa pravimo, da nam pravzaprav ni pomembno ohranjati skritega stanja z rekurzivnim prehajanjem skozi žetone. Tega ne počnemo. Namesto tega pustimo, da žetoni delujejo z vsemi žetoni prek neposrednih povezav, oziroma
  219. u219 prek samopozornosti, zato je pozornost vse, kar potrebujete. Ta članek je bil objavljen v kontekstu strojnega prevajanja. V tem kontekstu nas zanima prevajanje izvornega besedila, recimo v angleščini, v drug jezik, recimo v francoščino.
  220. u220 V transformerju imamo dve komponenti. Na levi imamo tako imenovani kodirnik. Vloga kodirnika je izračunati smiselne predstavitve izvornega besedila, ki ga podamo kot vhod.
  221. u221 Drugi del transformerja pa se imenuje dekodirnik. Vloga dekodirnika je, da za tvorjenje prevoda uporabi smiselne predstavitve iz kodirnika skupaj z nekaterimi notranjimi vložitvami, ki jih izračunava.
  222. u222 To je torej kontekst, v katerem je bil transformer predstavljen, in deloval je odlično. Je tudi temelj sodobnih velikih jezikovnih modelov, zato se osredotočamo nanj. Zato smo torej tukaj. Razlog, da sem te formule zapisal na tablo,
  223. u223 je, da je to po mojem verjetno najpomembnejša formula pri transformerjih. Zato je zelo pomembno, da si to predstavljate v smislu množenja matrik.
  224. u224 Vhod
  225. u225 Zdaj bomo šli skozi vsako komponento transformerja in pogledali, kako se vse skupaj poveže. In gledam vas glede položajnih vložitev. O tem bomo govorili zdaj. Pri strojnem prevajanju kot vhod dobite besedilo v izvornem jeziku.
  226. u226 Vaša naloga pa je prevesti ta izvorni jezik, to besedilo v izvornem jeziku, v ciljni jezik. Vaša prva naloga je torej razumeti, o čem govori izvorno besedilo. Tukaj imate vhodno vložitev,
  227. u227 katere naloga je samo pretvoriti vhodno besedilo v žetone in nato vsakemu od teh žetonov prirediti neko vložitev, ki se je lahko naučite. Ta vložitev se nanaša samo na posamezni žeton. Nikakor ne upošteva konteksta.
  228. u228 Nato dodate vložitev, povezano s položajem žetona v zaporedju. In tukaj izvemo, kje se žetoni nahajajo. Torej seštejemo vložitev žetona in položajno
    Positional encoding in the Transformer architecture (Stanford lecture slide)
    1:13:24 · Positional encoding in the Transformer architecture (Stanford lecture slide) · A lecture slide titled "...with a trick!" explains positional encoding: position information is added to the inputs and can be learned or hardcoded. On the left is the faded Transformer architecture diagram with the positional encoding blocks highlighted at the encoder and decoder inputs. On the right are two heatmaps: a sinusoidal position-by-dimension pattern ranging from -1 to +1, and a position-by-position dot-product map with a strong diagonal.
  229. u229 vložitev. Morda se sprašujete, kako dobimo položajno vložitev. Obstajajo različni načini. Načini, ki so jih ljudje – denimo avtorji – preizkusili, so pravzaprav dva. Eden je, da se vložitve naučimo.
  230. u230 Drugi način je, da imamo nekaj, kar je funkcija različnih frekvenc. Obstajajo prednosti in slabosti. Ampak želel bi samo – mislim, da je pristop z učenjem zelo naraven. Jasna slabost pa je, če imate vhodno besedilo, ki je daljše
  231. u231 od tistega, na katerem ste se učili med učenjem – če imate recimo 1.000 vhodnih žetonov, vendar ste se že – naučili ste se samo položajev, torej vložitev položajev, do recimo 500, potem nimate sreče. Višjih položajev ne morete predstaviti, zato je lahko poljubna, vnaprej določena predstavitev
  232. u232 uporabna. Želim samo ponazoriti, zakaj je izbira različnih frekvenc lahko dober način za predstavitev nečesa, kot je položaj. Morda imate uro in opazite, da čas predstavljate z,
  233. u233 recimo, tisto zadevo za ure, z minutami, sekundami. Vse se vrtijo z različnimi frekvencami. Če želite odčitati čas, recimo 4.49. Je 4, kar kaže urni del. Nato imate minute in nato sekunde.
  234. u234 Vsak od njih se vrti z drugačno frekvenco. Če jih združite, lahko natančno veste, koliko je ura. To je torej zamisel v ozadju vektorja elementov, ki se spreminjajo z različnimi frekvencami. To lahko dobite s funkcijama kosinus in sinus.
  235. u235 In to uporabljajo tukaj. Dobra lastnost teh predstavitev je, da so položaji, ki so blizu skupaj, zelo podobni. Tisti, ki so daleč narazen, pa so različni. To je torej ena lepa lastnost.
  236. u236 To je en način predstavljanja položajev. Kakorkoli, morda preveč zahajam s teme. O položaju bomo več govorili naslednjič. Skratka, žetone lahko predstavimo skupaj z njihovimi položaji. Na tej stopnji smo torej sešteli vložitev žetona in položajno vložitev.
  237. u237 Kodirnik transformerja
  238. u238 Tukaj vstopimo v kodirnik. Kodirnik je komponenta transformerja, katere naloga je izračunati smiselne predstavitve žetonov. Tukaj imamo zelo pomembno vrsto plasti, imenovano plast pozornosti.
    Transformer Encoder components and parameters (Stanford ICME lecture slide)
    1:16:27 · Transformer Encoder components and parameters (Stanford ICME lecture slide) · A lecture slide titled "Encoder" shows the Transformer architecture diagram from "Attention Is All You Need" with the encoder stack highlighted and the decoder faded. On the right it lists the encoder's components and the hyperparameters that define it. A small video inset in the top right shows a presenter standing by a chalkboard.
  239. u239 Pravzaprav se imenuje plast samopozornosti. Kaj počne plast samopozornosti? Izračunava predstavitve žetonov kot funkcijo vseh drugih žetonov. In tukaj se zgodi ta stvar s poizvedbo, ključem in vrednostjo. To boste videli v primeru,
  240. u240 skozi katerega vas bo vodil Shervine. Zamisel pa je, da se naučimo projekcijskih matrik, s katerimi lahko žetone preslikamo v prostor poizvedb, ključev in vrednosti, kar jim nato omogoči medsebojno delovanje prek formule, ki smo jo videli.
  241. u241 To vam omogoča, da svoje žetone predstavite kot funkcijo drugih. Nato imate še drugo plast, imenovano nevronska mreža s prehodom naprej, ki vaši arhitekturi omogoča preslikavo predstavitev v višjedimenzionalne prostore, skupaj z neko aktivacijsko
  242. u242 funkcijo, ki omogoča učenje nelinearnosti. Torej greste skozi kodirnik. Na koncu kodirnika dobite zelo smiselno predstavitev za vsak žeton. Ta je funkcija vseh drugih žetonov v zaporedju. Ko torej zdaj želite prevesti besedilo,
  243. u243 Dekodirnik transformerja
  244. u244 vzamete posebni žeton, ki smo ga videli čisto na začetku, konec zaporedja – oprostite, začetek zaporedja. Svojemu modelu torej poveste: zdaj želim začeti generiranje. Začetek zaporedja podate kot vhod v dekodirnik. Dodate položajno kodiranje, ki
  245. u245 je povezano s tem žetonom, ki je prvi element zaporedja. Nato vstopite v dekodirnik, ki počne dve stvari. Prva je, da ima tudi mehanizem samopozornosti glede na sam žeton in vse žetone, ki
  246. u246 so bili ustvarjeni doslej. Vsak žeton torej poskuša izraziti kot funkcijo samega sebe in vseh doslej ustvarjenih žetonov. V primeru začetka zaporedja je to edini žeton, ki je bil doslej ustvarjen. To je to.
  247. u247 Nato imate drugo plast pozornosti, ki je drugačne vrste in kjer predstavitvam doslej ustvarjenih žetonov omogočite medsebojno delovanje z žetoni iz izvora,
  248. u248 iz vhodnega izvora, iz izvornega jezika. Ne vem, ali na sliki vidite: ena puščica prihaja od tega, kar je bilo ustvarjeno doslej. Nato pa dve puščici prihajata iz kodirnika. Tista ena puščica od doslej ustvarjenega je poizvedba.
  249. u249 Ključ in vrednost pa prihajata iz kodirnika, ker se sprašujete: kako lahko ta žeton izrazim kot funkcijo vseh žetonov vhodnega besedila? Mimogrede, ali je to smiselno? Ja.
  250. u250 V redu, odlično. In potem to naredite. Nato imate še eno plast, imenovano nevronska mreža s prehodom naprej, ki modelu spet omogoča, da se nauči načinov preslikave podatkov. Na koncu dobite zelo smiselno predstavitev besede, žetona, ki ste ga podali kot vhod.
  251. u251 Tukaj imate torej na samem začetku začetek zaporedja. Na koncu dekodirnika pa imate zelo smiselno predstavitev tega žetona. Nato to predstavitev preslikate v prostor besedišča. In dobite verjetnosti, ki ustrezajo temu, kar je po vašem mnenju
  252. u252 naslednji žeton. Prevajanje tukaj torej pomeni samo ugotavljanje, kateri je naslednji žeton. Ugotovite torej, kateri je naslednji žeton. Nato na podlagi verjetnosti izberete ta naslednji žeton. In to ponavljate avtoregresivno.
  253. u253 Ta novi dekodirani žeton torej podate kot vhod dekodirnika. In ponovite natanko to, kar sem omenil. Imamo pet minut. Povedati vam moram še nekaj trikov, vendar se želim prepričati, da vsi sledimo.
  254. u254 Zato bom zdaj dal besedo vam, če imate do zdaj kakšno vprašanje. Mimogrede, obravnavali smo veliko stvari. To prvo predavanje je glede števila obravnavanih pojmov verjetno eno najtežjih, zato je povsem normalno, če se vam zdi, da smo videli veliko. Kakšno vprašanje o tem?
  255. u255 Ja. Vprašanje je torej – več puščic se združuje
  256. u256 Računski triki
  257. u257 v eno. To je zato, ker tega doslej še nismo videli. To je trik, ki si ga pravzaprav lahko ogledamo zdaj. Morda mislite na tole, rezidualne povezave. To je trik, ki modelu pomaga pri boljšem učenju. Te rezidualne povezave so
  258. u258 zelo uporabne v globokih arhitekturah, ker modelu omogočajo neposredno posredovanje značilk, namesto da bi jih spreminjala neka podplast. O tem rad razmišljam takole: namesto da bi na vsako plast gledali kot na nekaj, kar spremeni celoten vhod –
  259. u259 namesto da bi rekli, da moja plast preprosto spreminja vhod – predpostavimo, da je vaš vhod – predpostavimo, da je vaš vhod x. Namesto da rečete, da je izhod plasti neka funkcija x, pravite,
  260. u260 da je izhod vaše plasti neka funkcija x plus x. O tem rad razmišljam tako, kot da bi vzeli x in ga prilagodili, namesto da bi x povsem spremenili.
  261. u261 V praksi to pomaga pri vzvratnem razširjanju in modelu omogoča boljše učenje. To torej pomeni ta puščica. Ja.
  262. u262 Ko smo že pri trikih, vam moram povedati še nekaj drugih. Eden je normalizacija aktivacij s tako imenovano normalizacijo plasti. Tudi to pomaga pri konvergenci. Morda ste v dekodirniku opazili besedo »maskirana«
  263. u263 samopozornost. Maskirana je zato, ker želite, da žetoni dekodirnika delujejo samo z žetoni, ki ste jih doslej dekodirali, saj ne morete delovati z žetoni, ki jih še niste dekodirali. Večglava pozornost – to, kar sem opisal s QKV,
    Multi-head attention in the Transformer (Stanford lecture slide)
    1:24:31 · Multi-head attention in the Transformer (Stanford lecture slide) · A lecture slide titled "Computational trick: multi-head attention". On the left is the Transformer architecture diagram from "Attention Is All You Need" with the three Multi-Head attention blocks highlighted in orange. On the right, text says the idea is to run multiple self-attention layers in parallel, and compares this to multiple filters of a convolutional layer, shown with a small convolution graphic. A small inset at top right shows the lecturer standing near a blackboard.
  264. u264 lahko naredite na različne načine. Naučite se lahko različnih projekcij. Za tiste med nami, ki poznate tudi modele računalniškega vida: kdo pozna – kdo ima tukaj izkušnje z računalniškim vidom? 1, 2, v redu.
  265. u265 Če torej poznate – pri konvolucijskih nevronskih mrežah lahko pri konvolucijski operaciji uporabite več filtrov, ki predstavljajo različne načine izvajanja konvolucije na vhodih. Različne glave pozornosti so torej tudi način,
  266. u266 da se vaš model uči – da ima različne načine učenja iste stvari prek različnih projekcijskih matrik. Običajno imate h takih glav. Še en trik, izpuščanje – kdo je že slišal za izpuščanje? V redu, odlično.
    Dropout as a computational trick in Transformers
    1:25:23 · Dropout as a computational trick in Transformers · A Stanford lecture slide titled "Computational tricks" explains dropout: randomly dropping neural net connections or units with a small probability, which gives better generalization. On the left, a faded Transformer architecture diagram has blue "D" markers showing where dropout is applied. On the right, two small network diagrams compare a standard neural net with the same net after dropout, where some units are crossed out and their connections removed.
  267. u267 Ja, ta zamisel se ne uporablja samo v transformerju, ampak je široko uporabljena. To je tehnika, pri kateri med učenjem z neko verjetnostjo namerno izpustite nekatere enote, da se model ne bi preveč zanašal na določene značilke.
  268. u268 To modelu omogoča boljše posploševanje. In kaj imam še? Ja, glajenje oznak je še ena tehnika, uporabljena tukaj. Zamisel glajenja oznak je, da modelu naročite napovedovanje naslednjih besed. Namesto da bi rekli – recimo: kako lep dan.
  269. u269 Namesto da rečete: v redu, želim, da besedo »dan« napoveš s 100 %, vaš model pravi, da lahko napoveste besedo »dan« – pravzaprav ne s 100 %. Lahko imate tudi druge besede, saj lahko v jeziku stvari dopolnite na različne načine in so še vedno pravilne. Lahko torej rečete: kako lep dan, kako lepo predavanje,
  270. u270 kako lep večer. Kakorkoli, glajenje oznak vzame te oznake in jih omehča tako, da reče: namesto da bi moral vaš model napovedati to oznako, v smislu, da morate ta model napovedati s 100 %,
  271. u271 rečete: v redu, oznaka, ki sem jo želel napovedati, je morda, ne vem, 90 %. Preostalih 10 % pa so vse druge besede v besedišču. To modelu omogoča nekoliko boljše posploševanje. Avtorji so ugotovili, da to tudi
  272. u272 izboljša metrike pri strojnem prevajanju. Za tiste, ki veste: BLEU je ena takih metrik. S tem pa predajam besedo Shervinu.
  273. u273 Celovit primer
  274. u274 Hvala, Afshine. V tem zadnjem delu bo naš cilj vse, o čemer je govoril Afshine, povezati v en sam primer in natančno pogledati, kako ta izračun deluje na konkretnem primeru. Kot je omenil Afshine, je izvirni transformer
  275. u275 namenjen strojnemu prevajanju. Vzeli bomo torej stavek v angleščini in ga poskusili prevesti v neki drug jezik. V primeru iz izvirnega članka o transformerju so vzeli francoščino in nemščino. Vzemimo torej to. In začnimo z našim najljubšim preprostim primerom,
  276. u276 torej »Ljubek plišasti medvedek bere.« Kot se spomnite, je prvi korak pri vsem tem tokenizacija. Afshine je omenil, da je to način poljubnega razdeljevanja teh besed na osnovne enote. Omenil je, da so podbesede optimalen način za to.
    Stitching all the pieces together with an example
    1:28:33 · Stitching all the pieces together with an example · A Stanford ICME lecture slide with a maroon title bar and an otherwise empty white body. At the bottom is a row of boxed tokens that spell the sentence "A cute teddy bear is reading." A small inset at top right shows the lecturer standing near a blackboard.
  277. u277 Za ta primer pa bom izbral drugo delitev, da pokažem, da je poljubna. Recimo, da razdelimo takole. Kot je omenil Afshine, imamo tudi posebne žetone. Torej začetek stavka in konec zaporedja, ki ju dodate, da označite, kje se zaporedje začne in konča.
  278. u278 Poglejmo zdaj, kako jih kodiramo. V tej arhitekturi imamo iskalno tabelo, sestavljeno iz učljivih uteži. To imenujemo vložitve. Te se bodo naučile v procesu učenja. In kot je nekdo tukaj omenil,
  279. u279 če želite izvajati pozornost tako, da upošteva kontekst in da veste, kje so drugi žetoni, potrebujete informacijo o položaju. Izvirni članek o transformerju to informacijo o položaju doda na začetku vhoda. Dodate jo torej s seštevanjem.
  280. u280 Recimo, da velikost svoje vložitve imenujete D model. Potem bo vaša položajna vložitev, ki jo je Afshine opisal z zaporedjem sinusov in kosinusov različnih frekvenc, vektor enake dolžine, operacija pa je seštevanje. Na tej stopnji torej dobite vložitev,
  281. u281 ki je vsaj napol učljiva. Iskalna tabela, ki sem jo omenil, je vsekakor učljiva. Morda tudi položaji, odvisno od vaše zasnovne odločitve. To boste podali kot vhod kodirniku. Kaj se zgodi nato?
  282. u282 Vsak žeton ima to predstavitev in lahko jo lepo predstavite v matrični obliki. Nadaljujmo s tem. Vstopili boste v kodirnik. Kot smo videli, bo prva komponenta kodirnika ta plast samopozornosti.
  283. u283 Te vhode torej preslikate v prostor poizvedb. Za to imate projekcijsko matriko Wq. Dobite poizvedbe. Iste začetne vložitve preslikate v ključe.
  284. u284 Imate torej projekcijsko matriko Wk, ki se je boste naučili za preslikavo v ključe K. Enako naredite z vrednostmi V. V redu, odlično. Nato na tej podlagi uporabite omenjeno zelo pomembno formulo, formulo s softmaxom.
  285. u285 Izvedemo te matrične produkte. Nato dobimo drugo matriko, ki ima enake dimenzije kot matrika V. Preden se poglobimo v podrobnosti, želim samo, da se uskladimo
  286. u286 glede dimenzij, saj smo govorili o številnih vložitvah. Stvari preslikavamo. Želim se samo prepričati, da govorimo isti jezik glede velikosti teh objektov. Vaše vhodno zaporedje – omenili smo, da je dolžine n. Ena od oznak za velikost teh vložitev
  287. u287 je D model. Projekcijske matrike Q, K in V pa naredijo naslednje: začnete v svetu D model in ga pretvorite v svet poizvedb, nato v svet ključev in nato v svet vrednosti.
  288. u288 Zato je velikosti D model in DQ. Podobno D model Dk, D model DV za vsako projekcijsko matriko. Dobite te poizvedbe, ključe in vrednosti, ki imajo n vrstic, vendar so tokrat
  289. u289 v teh prostorih poizvedb, ključev in vrednosti. Število stolpcev je torej DQ, DK in DV. Ker izvajate to množenje matrik, potrebujete omejitev, da je DQ enak DK. Tukaj sem zapisal DQ in DK samo zato,
  290. u290 da stvari pravilno poimenujem. Toda DQ mora biti že po zasnovi enak DK. In to dobite. Je za zdaj vse v redu? V redu, odlično. Zdaj se za trenutek ustavimo, vrnimo k temu primeru in poglejmo, kako deluje izračun matrika–matrika.
    Stitching pieces together: transformer query matrix Q for example sentence
    1:33:20 · Stitching pieces together: transformer query matrix Q for example sentence · A Stanford ICME lecture slide titled "Stitching all the pieces together with an example". On the left, a tokenized sentence is stacked vertically, with each token in its own box next to a tall gray rectangle labeled Q. The right side is empty, so this appears to be the first step of a build-up. A small inset shows the lecturer standing near a chalkboard.
  291. u291 Kot je prej omenil Afshine, lahko vsak žeton predstavimo kot vrstično vložitev. To imate za Q. Če pogledate K transponirano, bo vsak stolpec vložitev določenega vektorja. Ko torej izvedete množenje matrik,
  292. u292 dobite matriko velikosti n krat n, kjer bo vsaka celica neka podobnost. Tukaj je to na primer skalarni produkt med določeno poizvedbo in določenim ključem.
  293. u293 Predpostavimo, da to tukaj pomnožite z V. Dobite naslednje: za vsako vrstico imate določeno poizvedbo. Preslikate jo v prostor ključev, ki jih imate v stavku. Dobite neko – torej želite dobiti neko verjetnostno porazdelitev po ključih.
    Attention example: QK^T score matrix and value tokens
    1:34:13 · Attention example: QK^T score matrix and value tokens · A Stanford lecture slide titled "Stitching all the pieces together with an example". On the left is a QK^T matrix whose entries are query-key dot products between tokens, such as ⟨q_[BOS], k_[BOS]⟩ and ⟨q_A, k_A⟩. On the right the tokens of "A cute teddy bear is reading." are stacked, with [BOS] and [EOS] at the ends, next to a large gray block labeled V. A small inset shows the lecturer standing at the top right.
  294. u294 Nato boste s temi utežmi utežili vrednosti. Potem boste vse to sešteli. Zdaj boste rekli: v redu, Shervine in Afshine, govorita o QK transponirano V, QK transponirano V. Formula ni taka.
  295. u295 In imate prav. Formula je približno taka. Uporabimo softmax, da dobimo verjetnostno porazdelitev, katere vsota je 1 in ima lepe lastnosti. Nečesa še nismo omenili, a so to izbrali avtorji: normalizirali boste z nekim faktorjem, ker bo dimenzija decay
  296. u296 vplivala na varianco, ki jo lahko dobite pri vsoti. Če torej želite, da je vse ustrezno normalizirano, lahko delite s standardnim odklonom. In to se zgodi tukaj. Kot smo omenili, je to večglavi postopek. Tega postopka torej ne izvedete enkrat, ampak h-krat.
  297. u297 Ta postopek učenja poizvedb, ključev in vrednosti poteka vzporedno. Na koncu nato združite vse te softmaxe QK transponirano, deljeno s kvadratnim korenom DK, krat V.
  298. u298 Nato imate še zadnjo projekcijsko matriko, ki ji rečemo W0 in ki te vložitve iz prostora HDV pretvori nazaj v D model. Mimogrede, v transformerju imate to lepo lastnost, da veliko operacij
  299. u299 ohranja izvirno dimenzijo vložitev nespremenjeno. Začnete torej z D model, izvedete kup izračunov pozornosti in končate z D model. Nato vstopite v naslednjo plast, nevronsko mrežo s prehodom naprej. To je mreža z eno skrito plastjo,
  300. u300 ki to predstavitev D model preslika v DFF1. Običajno je ta dimenzija večja od modela, da omogoča učenje kompleksnih predstavitev. Vse to izvedete veliki N-krat.
  301. u301 V izvirnem članku o transformerju je veliki N enak 6. To torej naredite večkrat. Na koncu kodirnika imate za vsak žeton predstavitev, ki ta žeton predstavlja na naučen način in ob upoštevanju konteksta. Je za zdaj vse v redu?
  302. u302 V redu, super. Sprašujem zato, ker bomo prešli na dekodirnik. Želim se samo prepričati, da je vse razumljivo. Zdaj ko imamo to, kot smo omenili, je izvirni transformer namenjen strojnemu prevajanju. Zato morate začeti svoj prevedeni stavek.
  303. u303 Eden od načinov, da vsilite njegov začetek, je ta nadomestni žeton. Dodate torej žeton BOS. Pogledate iskalno tabelo svojih vložitev. Imate začetno vložitev. Dodate ji položajno vložitev in jo nato podate dekodirniku.
  304. u304 Imate to plast samopozornosti, za katero je Afshine omenil, da je maskirana plast samopozornosti, saj je to, kar se tukaj dogaja, vzročno. Vsak žeton gleda samega sebe in žetone pred seboj. Ko se to zgodi, imate še drugo plast pozornosti,
  305. u305 imenovano navzkrižna pozornost, kjer je poizvedba žeton dekodirnika. Ključi in vrednosti pa so žetoni, ki prihajajo iz kodirnika. Pogledate torej sklad kodirnikov. Pogledate izhodno vložitev. In v vsaki plasti dekodirnika bo vsak blok dekodirnika
  306. u306 dobil to zadnjo vložitev kot ključe in vrednosti. To izvedete in nato imate, tako kot v kodirniku, plast nevronske mreže s prehodom naprej, ki omogoča učenje kompleksnih značilk. Vse to steče. Nato imate neko linearno plast in potem
  307. u307 plast softmax, ki te predstavitve pretvori v verjetnostno porazdelitev po prostoru vaših besed – oziroma vaših žetonov v prostoru besedišča, da napoveste naslednjo besedo. Nato pa se tukaj zgodi – na naslednjih predavanjih bomo videli, katere
  308. u308 hevristike bi lahko uporabili za izbiro naslednje besede. Recimo pa, da tukaj izberemo maksimum. Izberete torej maksimum. Veste, katero besedo smo napovedali. Nato jo znova podate kot vhod dekodirniku. In ponovite popolnoma isti postopek. Tukaj torej vstavimo začetek zaporedja.
  309. u309 Dobite »un«. Nato dobite naslednji žeton [FRANCOŠČINA], ki ustreza »plišastemu medvedku«, in tako naprej. Na koncu dobite svoje zaporedje v ciljnem jeziku. To počnete, dokler ne pridete do žetona za konec zaporedja.
  310. u310 Takrat veste, da morate postopek prevajanja ustaviti. Tako torej začnemo s stavkom v nekem jeziku in končamo s stavkom v ciljnem jeziku. Kakšno vprašanje do zdaj? Ja.
    Encoder-decoder translation example: English to French
    1:40:00 · Encoder-decoder translation example: English to French · A Stanford lecture slide titled "Stitching all the pieces together with an example" shows an encoder box on the left and a decoder box on the right. An English sentence, "A cute teddy bear is reading.", sits under the encoder. The French translation, "Un ours en peluche mignon lit.", sits above the decoder, and a small "encoded embedding" bar floats above the encoder. A lecturer is visible in a small inset at the top right.
  311. u311 Pripomba je, da je vse skupaj videti zapleteno. Če bi morali strniti, kaj točno omogoča delovanje, kaj bi to bilo? Naslov članka »Attention is All You Need« nekoliko razkrije skrivnost uspeha. Tukaj je ključna plast pozornosti. Na naslednjih predavanjih bomo videli, da pravzaprav
  312. u312 veliko teh stvari opustimo. Zanašamo se na podmnožico teh komponent, ki jih ponavljamo znova in znova. Ta plast pozornosti je torej ključna. Druga stvar pa je ta nevronska mreža s prehodom naprej, v kateri je večina parametrov mreže. Če bi torej natančno izračunali parametre
  313. u313 svojega modela, bi ugotovili, da ti vsebujejo večino zmogljivosti. In tukaj poteka učenje. Če bi vprašali mene, torej ti dve stvari, vse drugo pa so samo triki za boljše učenje in izboljšanje vsega skupaj, nato pa seveda še kakovost podatkov, ki je dodatna raven kompleksnosti.
  314. u314 Ja. Vprašanje je, ali lahko poveste več o maskiranem delu. To je računski trik, pri katerem imate trikotno matriko, ki maskira nekatere povezave vaše plasti samopozornosti. Med učenjem preprečuje vzpostavljanje povezav,
  315. u315 ki jih ne bi smeli poznati. Ja, to je bistvo. Ja, točno tako. Vprašanje je torej, kako je to povezano s softmaxom. Imate minus neskončnosti. In potem bo to 0. Softmax minus neskončnosti bo 0. Tako je povezano.
  316. u316 Ja. Ampak to so bolj računski triki. Mislim, da si je predvsem treba zapomniti, da pozabite na vse povezave med določenim žetonom in vsemi, ki so mu sledili. Mislim, da je to dovolj dober miselni model. Ja.
  317. u317 V redu, super. Ja. Vprašanje je o različnih uporabah softmaxa. Tisti, ki se uporabljajo v plasteh samopozornosti in navzkrižne pozornosti, imajo drugačno funkcijo kot tisti v zadnji plasti. Na tiste v plasti pozornosti glejte
  318. u318 kot na projekcijo poizvedbe v prostor ključev. Torej preslikavamo predstavitev določenega žetona, torej med žetoni, medtem ko ima zadnja plast softmax drugačno funkcijo. Ta poskuša napovedati naslednji žeton. V nekem smislu torej ja, razumem –
  319. u319 mislim, da je odlično opažanje, da to funkcijo uporabimo večkrat, vendar za različne stvari. Mislim, da je bilo – ja. Vprašanje je, zakaj prevod nima začetka zaporedja. Ga ima. Ja, to je prvi žeton tukaj. A, ja.
    Transformer decoder walkthrough: stitching pieces together with an example
    1:43:17 · Transformer decoder walkthrough: stitching pieces together with an example · A Stanford ICME lecture slide shows a transformer decoder as a stack of layers inside a large box. An encoded embedding from a faded encoder, whose input is "A cute teddy bear is reading.", feeds the decoder. The decoder starts with a [BOS] token and outputs the first token "Un", which looks like the start of a translation. A small video inset shows the lecturer pointing at the screen.
  320. u320 Prvi žeton tukaj je torej nadomestni žeton za napovedovanje naslednjega žetona za njim. Zato se ne pojavi na izhodu dekodirnika. Je samo vhod dekodirnika. Tisto, kar dobite na izhodu dekodirnika in na kar morate biti pozorni, pa je konec zaporedja, ker se morate tam ustaviti.
  321. u321 Ja. V redu, super. Ob vsem tem vam želim povedati, da je to, kar smo danes predstavili, šele začetek. Na tej točki smo šele v letu 2017. In kot gotovo veste, je bilo veliko uporab te tehnologije, ki zdaj poganja
  322. u322 vse te klepetalnike, ki jih uporabljamo. Na naslednjih nekaj predavanjih bomo obravnavali, kako take modele učimo. V drugem delu predmeta pa se bomo lotili tega, kako lahko poganjajo agente, s katerimi danes komuniciramo in jih uporabljamo, ter kako jih lahko uporabimo v različnih sistemih.
  323. u323 S tem se vam zahvaljujem za pozornost. In upam, da boste imeli lep konec tedna.

Izvirnik

V okolici

Attention Is All You NeedStanford CME295 Transformers & LLMs | Jesen 2026 | Predavanje 1 – TransformerjiKako delujejo veliki jezikovni modeli…Članek, s katerim se je začelo…

source

Attention Is All You Need

Članek predstavi Transformer, arhitekturo za pretvarjanje enega zaporedja v drugo, denimo izvirnega stavka v prevod. Temelji samo na mehanizmih pozornosti: ti določajo, katerim delom podatkov naj model pripiše večjo težo. Odstrani rekurenco, torej zaporedno prenašanje stanja med koraki, in konvolucijo, torej obdelavo z drsečimi filtri. Poroča o takrat najboljših rezultatih strojnega prevajanja na WMT 2014 iz angleščine v nemščino in francoščino, doseženih z le delčkom prejšnjih stroškov učenja. Dobre rezultate doseže tudi pri razčlenjevanju angleških stavkov na skladenjske sestavnike. Avtorji trdijo, da sama pozornost omogoča več vzporednega računanja in hitrejše učenje.

Raziskava

To besedilo je napisano z umetno inteligenco.

Objavljeno v: Zdaj