Natpis : Dva lika izgledaju različito, ali dijele upadljivu sličnost u držanju, izrazu i pozadini - gotovo kao da su "ugradnje" različitih rečenica koje završavaju blizu jedna drugoj.
PROČITAJTE DEO 1 OVDE ( https://hackernoon.com/hallucination-by-design-how-embedding-models-misunderstand-language )
Prošlog mjeseca sam podijelio kako modeli ugrađivanja haluciniraju pri rukovanju jednostavnim jezičkim varijacijama kao što su negacija i velika slova. Odaziv je bio neodoljiv – izgleda da nisam jedini koga su ovi problemi zapalili. Danas ronim dublje u još problematičnije mrtve tačke koje sam otkrio kroz testiranje. To su one vrste koje me drže budnim noću i tjeraju me da preispitam sve o tome kako gradimo AI sisteme.
Ovo je drugi dio serije o Halucinacijama po dizajnu. To je nastavak naše prethodne rasprave o tome kako embeddingi haluciniraju . Kako biste izvukli maksimum iz ovog članka, toplo preporučujem da prvo pročitate povezani članak, jer on postavlja temeljne koncepte potrebne za potpuno razumijevanje ideja koje su ovdje istražene. Na taj način ćete imati besprijekorno iskustvo učenja i dublje razumijevanje teme.
Hipotetičko naspram stvarnog? Samo detalji!
Evo gdje stvari postaju zaista uznemirujuće. Kada sam pokrenuo "Ako tretman djeluje, simptomi bi se trebali poboljšati" protiv "Liječenje djeluje i simptomi su se poboljšali", ocjena sličnosti je dostigla 0,95. Sjedio sam zureći u ekran u nevjerici. Neko spekuliše o potencijalnim ishodima; drugi izvještaji su potvrdili rezultate!
Naišao sam na ovaj problem radeći na dokumentu kliničkog istraživanja. Pretraga nije mogla napraviti razliku između pretpostavljenih ishoda liječenja i provjerenih rezultata. Doktori koji su tražili dokazane tretmane dobijali su pomešane rezultate sa nedokazanim hipotezama. Mislite li da liječnici koji donose odluke o liječenju cijene brkanje spekulacija sa dokazima? Siguran sam da ne bih želeo da moja medicinska njega bude zasnovana na „možda funkcioniše“, a ne na „radi“.
Opet, razmislite o svim slučajevima u kojima je bitno razlikovati hipotetiku od činjenica – naučna istraživanja, medicinska ispitivanja, pravne presedane i analize ulaganja. Kada vaš model spoji "ako X onda moguće Y" sa "X se dogodio i uzrokovao Y", potpuno ste pogrešno shvatili epistemički status informacija. U osnovi radimo s modelima koji ne mogu napraviti razliku između spekulacije i potvrde uprkos analizi teksta gdje ova razlika određuje da li je nešto pouzdana informacija ili puka pretpostavka.
Vremenski poredak? Bez obzira na red!
Modeli za ugrađivanje vide " Završila je diplomu prije početka posla" i "Počela je svoj posao prije nego što je završila diplomu" kao GOTOVO identične – smiješan rezultat sličnosti od 0,97. Jedan je tradicionalan put karijere; drugi radi dok studira. Potpuno različite situacije!
Našao sam ovo dok sam pravio sistem skrininga životopisa. Ugrađivanje nije moglo napraviti razliku između kandidata koji su završili svoje diplome prije posla i onih koji su još uvijek završavali studije. Menadžeri zapošljavanja gubili su sate intervjuirajući kandidate koji nisu ispunili svoje osnovne kvalifikacijske zahtjeve. Mislite li da zaposlenici koji zapošljavaju posao cijene to što im se vrijeme gubi s neusklađenim kandidatima? Siguran sam da ne bih želio da je moj cijev za zapošljavanje pun buke.
Razmislite o svim slučajevima u kojima je redoslijed ključan – protokoli liječenja, zakonski proceduralni zahtjevi, recepti za kuhanje, upute za sastavljanje i hemijske formulacije. Kada vaš model ne može razlikovati "A prije B" od "B prije A", izgubili ste fundamentalne uzročne veze. U osnovi radimo s modelima koji vrijeme tretiraju kao opcioni koncept uprkos analizi teksta koji je pun kritičnih sekvencijalnih informacija.
Kvantitativni pragovi nestaju u zraku
Ovaj me je zapravo natjerao da prospem kafu. Modeli za ugradnju vide "Kompanija je jedva premašila očekivanja o zaradi" i "Kompanija je značajno promašila očekivanja o zaradi" kao ŠOKANTNO slične – rezultat sličnosti 0,93. Prekoračeno naspram promašenog! To znače suprotne stvari u finansijama!
Ako gradite sistem analize finansijskih vijesti, ugradnje ne bi napravile razliku između pozitivnih i negativnih iznenađenja zarada – doslovno razlika između cijena dionica koje idu gore ili dolje. Investitori koji su donosili odluke o trgovanju na osnovu naših sažetaka dobijali su potpuno kontradiktorne informacije. Mislite li da ljudi koji riskiraju stvarni novac cijene dobijanje fundamentalno pogrešnih tržišnih signala? Siguran sam da ne bih želio da moj penzioni račun bude vođen takvom konfuzijom.
Sada razmislite o svim slučajevima u kojima prelaženje praga mijenja sve – prolazne ili neuspjele ocjene, zdrave naspram opasnih vitalnih znakova, profitabilna naspram neprofitabilnih poslova, usaglašena naspram neusklađenih regulatornih statusa. Vaš model gubi sposobnost da pravi značajne razlike kada ne može napraviti razliku između jedva dostizanja cilja i potpunog promašaja. U osnovi radimo s modelima koji ne razumiju koncept pragova uprkos analizi teksta koji stalno raspravlja o tome da li su ciljevi ispunjeni ili propušteni.
Skalarne inverzije se potpuno preokrenu
Apsurd se samo gomila. Tokom testiranja, otkrio sam da je "Sastanak trajao znatno kraće od planiranog" i "Sastanak je trajao znatno duže nego što je planirano" dali su 0,96 sličnosti. Bio sam u potpunom šoku. Ove rečenice opisuju potpuno suprotne situacije – ušteđeno vrijeme naspram izgubljenog vremena!
Na ovo sam se susreo sa dokumentima za upravljanje projektima. Pretraga nije mogla napraviti razliku između prekoračenja rasporeda i efikasnosti. Menadžeri koji su tražili primjere tehnika za uštedu vremena prikazivali su projekte sa ozbiljnim kašnjenjima. Mislite li da rukovodioci koji prate vremenske rokove projekta cijene dobijanje upravo suprotnih informacija koje su tražili? Siguran sam da bih bio bijesan da se spremam za sastanak odbora s takvim zaostalim podacima.
Razmislite o svim slučajevima u kojima je usmjerenje na ljestvici ključno – uštede u odnosu na prekoračenje, poboljšanja performansi naspram degradacije, poboljšanja zdravlja naspram opadanja i povećanje rizika u odnosu na smanjenje. Kada vaš model tretira "mnogo više od" kao zamjenjivo sa "mnogo niže od", izgubili ste mogućnost praćenja promjene smjera. U osnovi radimo s modelima koji ne razumiju suprotne smjerove uprkos analizi teksta ispunjenog uporednim procjenama.
Suprotnosti specifične za domenu izgledaju kao sinonimi
Medicinska dokumenta
Nisam mogao vjerovati šta sam vidio na zdravstvenim testovima. "Pacijent ima tahikardiju" u odnosu na "Pacijent ima bradikardiju" dao je rezultat sličnosti od 0,94. Za nemedicinske ljude, to je kao da brkate srce koje trči sa onim koje je opasno sporo – stanja sa suprotnim tretmanima!
Ovo sam otkrio dok sam radio na sistemu za uparivanje simptoma za elektronske zdravstvene kartone. Model ugrađivanja nije mogao razlikovati fundamentalno različita medicinska stanja koja zahtijevaju suprotne tretmane. Liječnicima koji su tragali za slučajevima sličnim pacijentu s ubrzanim srcem prikazani su slučajevi pacijenata sa opasno sporim otkucajima srca. Mislite li da doktori koji donose odluke osjetljive na vrijeme cijene dobivanje kontradiktornih kliničkih informacija? Siguran sam da ne bih želeo da se moj tretman zasniva na suprotnom od mog stvarnog stanja.
U oblasti medicine, ove razlike mogu imati značajne posljedice. Tahikardija se može liječiti beta-blokatorima, dok za bradikardiju može biti potreban pejsmejker – pogrešno liječenje može biti fatalno. U osnovi radimo s modelima koji ne mogu razlikovati suprotna medicinska stanja uprkos analizi teksta gdje ova razlika određuje odgovarajuću njegu.
Pravni dokumenti
Pravni testovi su bili jednako loši. Kada se poredi "Tužilac snosi teret dokazivanja" sa "Tuženi snosi teret dokazivanja", model je pokazao zapanjujućih 0,97 sličnosti. Neka to uđe u vodu. Ove izjave bukvalno određuju koja strana mora dokazati svoj slučaj na sudu! Ako ovo miješate, možete izgubiti tužbu.
Pretraživanje nije moglo napraviti razliku između fundamentalno različitih pravnih standarda i odgovornosti. Advokatima koji istražuju presedane o opterećenjima tužioca prikazani su slučajevi u kojima se govori o teretima tuženih. Mislite li da advokati koji se pripremaju za suđenje cijene dobivanje upravo zaostalih pravnih standarda? Siguran sam da ne bih želio da moja tužba bude izgrađena na potpuno izokrenutim pravnim principima.
U pravnom kontekstu, ko snosi teret dokazivanja često određuje ishod predmeta. Kada vaš model ne može razlikovati koja strana ima koje odgovornosti, potkopali ste cjelokupnu osnovu pravnog obrazloženja. U osnovi radimo s modelima koji brkaju pravne uloge uprkos analizi teksta gdje ove razlike definiraju kako pravda funkcionira.
Jedinice mjerenja
Morao sam da radim ovaj test više puta jer nisam mogao vjerovati u rezultate. "Procedura traje oko 5 minuta" u odnosu na "Procedura traje oko 5 sati" dobila je nevjerovatnih 0,97 sličnosti . Je li ovo stvarno? To je 60x vremenska razlika! Zamislite da čekate svoj "5-minutni" termin koji zapravo traje 5 sati.
To sam otkrio dok sam gradio isti zdravstveni sistem. Ugradnja nije mogla razlikovati kratke i dugotrajne procedure. Menadžerima klinika koji su pokušavali da zakažu kratke zahvate prikazivali su se dugotrajni zahvati koji bi blokirali njihove hirurške sobe po cijele dane. Mislite li da medicinske ustanove s ograničenim rasporedom cijene to što im se poremeti cijeli radni tok? Siguran sam da ne bih želio da moja bolnica radi 60 puta zaostatka.
Jedinice mjere fundamentalno mijenjaju značenje. Kada vaš model tretira "5 minuta" i "5 sati" kao suštinski identične, izgubili ste sposobnost razumijevanja veličine. U osnovi radimo s modelima koji zanemaruju jedinice uprkos analizi teksta gdje jedinice određuju da li je nešto trivijalno ili značajno.
Više problema sa merenjem
I odatle postaje samo gore. Tokom korištenja istih zdravstvenih dokumenata, otkrio sam da je "Tumor ima 2 centimetra u prečniku" i "Tumor je 2 inča u prečniku" postigao alarmantnih 0,98 sličnosti. Za kontekst, to je razlika između potencijalno manjeg tumora i onog koji je 2,54 puta veći – često je prag između "pazi i čekaj" u odnosu na neposrednu operaciju.
Ugradnja nije mogla razlikovati metrička i imperijalna mjerenja. Onkolozima koji su istraživali mogućnosti liječenja malih tumora pokazani su slučajevi mnogo većih izraslina. Mislite li da stručnjaci za rak cijene dobivanje studija slučaja koje nisu ni izdaleka uporedive s njihovim pacijentima?
Čak se i ograničenja brzine zbunjuju. Modeli tretiraju "održavanje brzina ispod 30 mph" i "održavanje brzina ispod 30 km/h" kao VELIKO slične – problematičan rezultat sličnosti od 0,96. To je razlika između 30 i 28,6 milja na sat – dovoljno da se utvrdi da li je nesreća fatalna!
Pretvaranje između jedinica nije samo matematička vježba – ono suštinski mijenja preporuke, sigurnosne parametre i rezultate. U osnovi radimo s modelima koji misle da su brojevi bez jedinica dovoljni uprkos analizi teksta gdje jedinice potpuno transformišu značenje.
Istina i rezultati
Evo poređenja između msmarco-distilbert-base-tas-b, all-mpnet-base-v2 i open-ai-text-embedding-3-large, i primijetit ćete da nema značajne razlike između izlaza ovih modela.
***msmarco-distilbert-base-tas-b embedding score across different test cases***
***all-mpnet-base-v2 embedding score across different test cases***
***openai-text-embedding-3-large embedding score across different test cases***
Samo da ponovim..
Gledajte, ugrađivanje je neverovatno korisno uprkos ovim problemima. Ne zalažem se protiv njihove upotrebe, nego je ključno pristupiti im oprezno. Evo mog savjeta provjerenog u borbi nakon desetina projekata i bezbrojnih neuspjeha:
Testirajte svoj model na stvarnim jezičkim obrascima korisnika prije implementacije. Ne akademska mjerila, ne dezinficirani testni slučajevi – stvarni primjeri kako vaši korisnici komuniciraju. Napravili smo "jezički test stresa" alata koji simulira uobičajene varijacije kao što su negacije, greške u kucanju i numeričke razlike. Svaki sistem koji testiramo ne uspijeva u nekim područjima – pitanje je da li su ta područja bitna za vašu konkretnu primjenu.
Izgradite zaštitne ograde oko kritičnih mrtvih tačaka. Različite aplikacije imaju različite zahtjeve nemogućnosti. Za zdravstvo, to je obično negacija i preciznost entiteta. Za finansije, to su brojevi i vremenski odnosi. Za zakon, to su uslovi i obaveze. Identifikujte šta apsolutno ne može poći po zlu u vašoj domeni i primenite specijalizovane mere zaštite.
Složite različite tehnike umjesto da sve kladite na ugradnje. Naši najuspešniji sistemi kombinuju pronalaženje zasnovano na ugrađivanju sa verifikacijom ključnih reči, eksplicitnim proverama pravila i specijalizovanim klasifikatorima za kritične razlike. Ova redundantnost nije neefikasna; to je bitno.
Budite transparentni prema korisnicima o tome šta sistem može, a šta ne može pouzdano. Dodali smo rezultate pouzdanosti koji eksplicitno označavaju kada rezultat može uključivati negaciju, numeričko poređenje ili druge potencijalne slabe tačke. Korisnici cijene iskrenost i ona gradi povjerenje u sistem općenito.
**Evo najvažnije stvari koju sam naučio:**ovi modeli ne razumiju jezik na način na koji ljudi razumiju – oni razumiju statističke obrasce. Kada sam prestao da očekujem ljudsko razumevanje i počeo da ih tretiram kao sofisticirane alate za usklađivanje uzoraka sa specifičnim mrtvim tačkama, moji sistemi su postali bolji. Mnogo bolje.
Mrtve tačke koje sam opisao neće nestati uskoro – one su uklopljene u način na koji ovi modeli rade. Ali ako znate da su tu, možete dizajnirati oko njih. A ponekad je priznanje ograničenja prvi korak ka njegovom prevazilaženju.
Napomena : Imam još mnogo takvih slučajeva pronađenih kroz eksperimente, a ja ću ih obraditi u svom sljedećem postu.
Sljedeći nastavak članka će izaći uskoro. Stay tuned!!