Kezdőoldal » Számítástechnika » Programok » A chatGPT az egy nyelvi...

A chatGPT az egy nyelvi modell, amire azt szokták mondani, hogy a következő legvalósznűbb szót köpi vissza. Mégis sztochasztikus, mitől van ez?

Figyelt kérdés

A nagy nyelvi modellekre azt szokták mondani, hogy a következő legvalósznűbb szót köpik vissza, de ez ilyen formában egyszerűsítés, mert ugyanarra a promptra többnyire mást válaszolnak, ha még egyszer kérjük. Szóval mi az igazság az alábbiak közül?


1: A nyelvi modell egy valószínűség eloszlást számol, de annak a maximumát csak becsli, és ez a becslés nem tökéletes, és nem is determinisztikus. Ha így van, akkor miért nem determinisztikus?


2: A nyelvi modell nem is "számolja" ki a valószínűség eloszlást, hanem elve csak mintavételezi, és a következő szót is csak mintavételezi, tehát nem a legnagyobb valószínűségűt adja vissza, csak nagy valószínűséggel az eloszlás magas részéből mintavételez. (Tehát valójában rosszul mondják, akik imseretterjesztő előadásokban azt mondják, hogy a legvalószínűbb szót adja vissza, mert még csak nem is azt akarja visszaadni)


3: Direkt bele van téve egy inicializáló sztohaszticitás, mint a diffúziós képgenerátor modellekbe.


4: vagy valami más oka van?



nov. 28. 09:09
 1/7 anonim ***** válasza:
0%
Indiaiak gépelik be a válaszokat.
nov. 28. 09:56
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
#1 akkor igen fürgeujjúak azok az indiaiak.
nov. 28. 10:59
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
100%

Tudtommal a legvalószínűbb tokenek közül választ a valószínűségeknek megfelelően súlyozva, de random módon. Emiatt nem ugyanazt generálja. Ez a temperature metaparaméter ( [link]

Vannak egyéb metaparaméterei, hogy ne generálja ugyanazt körbe-körbe.

nov. 28. 14:19
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Én is így gondoltam, mert az egy is ezt csinálja kábé, hogy valószínűségeloszlásokból mintavételez, egy csomó kísérlet kimutatta. De akkor nem értem, hogy miért mondják rosszul szinte mindenhol? Sőt én még sehol nem hallottam, hogy jól mondták volna el, még szakértők se különféle konferenciákon, tutorialok-ban, videókon, előadásokon, stb.
nov. 30. 19:38
 5/7 anonim ***** válasza:

Ha kicsit bővebben érdekel, Andrej Karpathynak van youtube-on egy videósorozata erről ( https://www.youtube.com/watch?v=VMj-3S1tku0&list=PLAqhIrjkxb.. ). Nem árt hozzá Python tudás, meg 1-2 epizódhoz (pl. a Backprop ninja-hoz) valamennyi matek.


Ő a tutorialjában a torch.multinomial-t használja ( [link] ), szépen látszik, hogy mintavételez a megadott (vagy kiszámolt) valószínűségek alapján a hozzájuk tartozó indexekből:

>>> weights = torch.tensor([0, 10, 3, 0], dtype=torch.float) # create a tensor of weights

>>> torch.multinomial(weights, 2)

tensor([1, 2])

>>> torch.multinomial(weights, 4) # ERROR!

RuntimeError: invalid argument 2: invalid multinomial distribution (with replacement=False,

not enough non-negative category to sample) at ../aten/src/TH/generic/THTensorRandom.cpp:320

>>> torch.multinomial(weights, 4, replacement=True)

tensor([ 2, 1, 1, 1])


Szóval létrehozunk egy vektort a [0, 10, 3, 0] listából, (valószínűségként persze normálni kellene, hogy 1 legyen az összeg), a fenti függvénnyel elkérünk először 2 indexet (visszaadja a nem 0 valószínűségűeket), 4-et alapból már nem tud, de ha bekapcsoljuk a visszatevéses mintavételt, akkor már igen. A 10-eshez tartozó 1-es indexet 3 alkalommal, a 3-ashoz tartozó 2-eset meg 1 alkalommal választja, ez kb. reális is. (a GPT esetén 1 token indexe elég)


A tutorialos kódban a softmax már gondoskodik a normalizálásról, az

idx_next = torch.multinomial(probs, num_samples=1)

sor meg a mintavételről.


Lehet, hogy az éles ChatGPT kódban ez kicsit szofisztikáltabb, de a véletlen mintavétel ott is jelen van. (különben tényleg ugyanazt generálná)

nov. 30. 20:39
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:
Már elnézést, de engem az elméleti háttér érdekel, ahhoz miért kellen Python tudás?
dec. 1. 12:08
 7/7 anonim ***** válasza:

Nezz bele a videóiba!

Az elméleti hátter mellett le is kódolja, amit nem baj, ha értesz. Amúgy ezen a területen ez a nyelv elégge elterjedt, szóval nem baj, ha ismered (másra is hasznos).


Amit a csatornájára posztolt legutóbb (ez nincs benne a playlistben), az egy alap bevezető, kb. 1 óra csak, és nem mutat kódot sem. Viszont ebből pont az olyan kérdéseidre nem kapsz választ, hogy hogy választ tokent véletlelszerűen, miután a NN végigszámolta a valószínűségeket.

dec. 2. 19:49
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!