Az internet pár hete ezen a ChatGPT válaszon röhög.
Kérdés: Az autómosó 100 méterre van. Gyalog menjek vagy autóval?
A válasz: Ha csak 100 méterre van a mosó, akkor szinte mindig érdemesebb gyalog menni. [...]
Elsőre vicces. De ami igazán érdekes: miért válaszolt így a modell?
A kérdés implicit része az, hogy az autót kell elvinni az autómosóba.
A modell viszont ezt nem vette figyelembe, és egy általános „gyalog vagy autó” döntési helyzetként értelmezte a kérdést.
Kipróbáltam ezt egy kis RAG sandboxban.
Ugyanaz a kérdés. Egy hasonló modell.
A fontos különbség az volt, hogy bekerült a kontextusba egy chunk, ami tisztázza, hogy az autót be kell vinni az autómosóba.
A minimális knowledge setup így nézett ki:
Kérdés: Az autómosó 100 méterre van. Gyalog menjek vagy autóval?
Chunkok: 1) Rövid távolságok esetén gyakran érdemes gyalog menni. 2) Rövid utaknál a gyaloglás környezetbarátabb, mint az autó használata. 3) Autómosó használatához az autót fizikailag be kell vinni a mosóba.
Ezután ugyanazt a kérdést több retrieval konfigurációval futtattam.
k = 1 A modell csak az első chunkot látta. Válasz: gyaloglást javasolt.
k = 2 A modell két chunkot kapott. Válasz: még mindig gyaloglást javasolt.
k = 3 Ekkor bekerült a harmadik chunk is a kontextusba. A modell válasza teljesen megváltozott:
Mivel autómosóról van szó, az autót be kell vinni a mosóba, ezért autóval kell odamenni.
A modell nem lett „okosabb”. Egyszerűen megkapta a hiányzó kontextust. (A második képen kiemeltem azt a chunkot, amelyik ezt a változást okozta.)
A kritikus chunk nem a legmagasabb hasonlósági pontszámot kapta, csak a harmadik helyen jelent meg a retrieval listában.
Ez enterprise AI rendszereknél meglepően gyakori jelenség.
Sok esetben a válasz minősége nem a modellen múlik, hanem azon, hogy:
- milyen dokumentumok állnak rendelkezésre
- hogyan vannak felchunkolva
- milyen retrieval paraméterekkel keressük őket
- és mennyi kontextust adunk a modellnek
Vagyis sok AI hiba valójában nem modellhiba, hanem retrieval probléma.
A modell gyakran tudná a választ - csak a rendszer nem adja oda neki a szükséges információt.