Kila mtu ana maoni yake kuhusu fine-tuning dhidi ya RAG. Ukipitia jukwaa lolote la AI, utapata mijadala mikali iliyojaa michoro ya usanifu (architecture diagrams) na madai ya vipimo (benchmark claims). Watu wengi wanaandika maoni hayo hawajawahi kufundisha modeli kwa kutumia data yao wenyewe au kuona mfumo wa RAG ukifeli kimyakimya wakati wa matumizi (production).
Nilitumia miezi kadhaa kufanya majaribio. Kumi na miwili, haswa. Nilifanya fine-tuning kwenye LLMs. Nilifanya fine-tuning kwenye embedders. Nilijenga mipangilio sita tofauti ya RAG. Eneo la utafiti lilikuwa utabiri wa kifedha, hasa kujaribu kutabiri matokeo ya soko yenye kelele (noisy) kutoka kwa data za kihistoria zisizopangwa. Nilijizuia kwa viwango vikali vya kitakwimu kwa sababu nilitaka majibu ya kweli, si madai ya machapisho ya blogu.
Majaribio mengi yalifeli. Mapungufu hayo yaligeuka kuwa na manufaa zaidi kuliko mafanikio yoyote ya bahati mbaya.
Ukweli Mchungu Kuhusu Signal
Kabla ya kuingia ndani zaidi, hapa kuna somo linalounganisha kila kitu. Fine-tuning na RAG ni zana za kubadilisha kile modeli inachokijua au kile inachokiona. Si fimbo za kichawi zinazotengeneza signal kutoka hewani. Ikiwa data yako ya msingi haina mfumo halisi unaoweza kutumiwa, mbinu hizi hazitaunda mfumo huo. Zitakusaidia tu kujenga hadithi inayovutia zaidi kuhusu kelele zisizoeleweka (random noise).
Katika utabiri wa kifedha, mtego huu ni hatari hasa. Masoko yana kelele kwa asili yake. Unapounganisha LLM yenye nguvu na data za bei za kihistoria na kuongeza retrieval au fine-tuning, unapata faida (edge) moja kwa moja. Unapata njia ya kuelezea kwa ufasaha zaidi matokeo ya kubahatisha (coin flips). Ikiwa signal haipo, modeli inakuwa nzuri sana katika kukudanganya. Unapaswa kukagua hilo kwanza.
Wakati Modeli Kubwa Inapokariri Badala ya Kujifunza
Kosa langu la kwanza kubwa lilikuwa kudhani kuwa ukubwa (scale) utarekebisha kila kitu. Nilijaribu modeli yenye vigezo (parameters) bilioni 14 dhidi ya modeli yenye vigezo bilioni 7 kwa mifano 777 ya mafunzo pekee. Modeli kubwa zaidi ilipata eval_loss bora zaidi. Perplexity yake ilishuka. Kwenye karatasi, ilikuwa inajifunza.
Kisha nikaangalia kiwango cha ushindi (win rate), kiwango halisi ambacho modeli ilifanya utabiri sahihi. Modeli ya 14B ilifanya vibaya zaidi kuliko modeli ya 7B. Ilikuwa imekariri kelele za mafunzo (training noise). Kwa chini ya mifano 3,000, modeli kubwa ilikuwa na uwezo wa kutosha kufanya overfitting kwenye uhusiano usio wa kweli (spurious correlations) na mabadiliko ya bahati mbaya katika data. Kwa kiasi fulani, ilijenga jedwali la kutafutia (lookup table) la kelele.
Modeli ya 7B, iliyozuiwa na uwezo wake mdogo, ililazimika kujifunza mifumo mapana zaidi. Haikuweza kuhifadhi kila utofauti mdogo (idiosyncrasy). Ikiwa unafanya kazi na seti ndogo za data, anza na modeli ndogo. Ukubwa (scale) hauji bure. Unaweza kukudhuru kikamilifu wakati data ni chache.
Usiamini Loss Curve
Nilijifunza kuacha kutazama loss curves. Modeli inaweza kuboresha token-level cross-entropy yake huku ikizidi kuwa mbaya katika uamuzi halisi wa kibiashara unaoujali. Hii hutokea kwa sababu hasara ya uundaji wa lugha (language modeling loss) inazidisha utabiri wa token inayofuata kwa usahihi. Katika nyanja nyingi, hasa fedha, uamuzi sahihi na token inayofuata yenye uwezekano mkubwa si kitu kimoja.
Niliona modeli ambazo zilirudia maandishi ya mafunzo kwa uzuri sana lakini zilichagua dau la upande usio sahihi kila wakati. Hasara (loss) ilishuka. Mtaji (bankroll) pia ulishuka pamoja nayo. Chagua kipimo chako cha tathmini (evaluation metric) kulingana na kazi halisi ya ulimwengu. Ikiwa unapanga nyaraka, pima ubora wa upangaji. Ikiwa unatabiri matokeo, pima usahihi wa uamuzi. Usiruhusu eval_loss ikuchagulie modeli.
Fine-Tuning Inang'ara Tu kwenye Msamiati wa Kigeni
Nilifanya majaribio ya fine-tuning ya embedder kwenye aina mbili tofauti za maandishi. Ya kwanza ilitumia habari za kawaida za kifedha na nyaraka za umma. Embedder iliyofanyiwa fine-tuning na toleo la kawaida (off-the-shelf) zilifanya kazi kwa namna sawa. Modeli ya msingi tayari ilijua lugha hii. Nilikuwa nafanya fine-tuning kwenye eneo linalojulikana.
Seti ya pili ya data ilikuwa imejaa misamiati ya ndani (jargon), majina ya siri ya ndani, na kifupi cha kipekee cha nyanja hiyo ambacho hakikuwahi kuonekana kwenye mtandao wa wazi. Hapa, fine-tuning iliboresha usahihi wa retrieval kwa asilimia 79. Modeli ya msingi haikujua kabisa maana ya maneno haya. Fine-tuning ilifundisha msamiati wa ndani.
Hii ilibadilisha mtazamo wangu wa zoezi zima. Fine-tuning si kuhusu kuifanya modeli kuwa na akili zaidi kwa maana ya jumla. Ni kuhusu kuifundisha msamiati mpya, muundo mpya, au mtindo maalum wa uandishi. Ikiwa data yako inafanana na ya mtandao, ruka fine-tune. Ikiwa data yako inazungumza lugha ambayo modeli ya msingi haijawahi kuiona, fine-tuning inakuwa muhimu.
RAG Inakupa Uhakika, Sio Ukweli
Nilijaribu mipangilio minane tofauti ya RAG kwa kazi za utabiri. Kwa ujumla, kuongeza retrieval kulibadilisha takriban asilimia 30 ya maamuzi ya modeli. Hiyo inaonekana kuwa na athari kubwa. Haikuwa hivyo. Mabadiliko hayo yalikuwa kelele tupu. Usahihi wa jumla haukuongezeka. Kilichobadilika ni ujasiri wa modeli. RAG ilifanya mfumo uonekane una uhakika zaidi, utaje vyanzo vingi zaidi, na utoe maelezo marefu zaidi. Huku ikiendelea kuwa na makosa kama kawaida.
Ujasiri huu uliopitiliza ni hatari kwa bidhaa. Mtumiaji huona nukuu na kudhani kuwa modeli imefanya utafiti wake vizuri. Kiuhalisia, ilikuwa ikifanya makisio yanayoonekana kuwa ya kisasa.
Somo la maumivu zaidi lilitokana na kufanya backtesting ya aina moja ya RAG. Ilionyesha faida ya asilimia 11 kwa mwaka. Kwa nje, hiyo inaonekana kama mkakati wa kushinda. Lakini AUC yake, ambayo ni area under the ROC curve na kipimo cha ujuzi wa uainishaji, ilikuwa 0.486. Hiyo ni mbaya zaidi kuliko kutupa sarafu, ambayo iko kwenye 0.500. Faida hiyo ilikuwa bahati ya ghafla ya kipindi fulani cha soko, siyo faida inayoweza kujirudia. Kutumia P&L pekee kama kipimo ni hatari. Masoko hutoa mfululizo wa bahati kila wakati. Unahitaji vipimo vya ujuzi wa kitakwimu ili kutofautisha bahati ya ghafla na umahiri.
Jua Kile Kila Chombo Kinachofanya Haki
Kwa hivyo, hii inatuacha wapi? Tumia fine-tuning wakati modeli inahitaji kujifunza maneno mapya, mifumo maalum, au mtindo wa kipekee. Tumia RAG wakati modeli inahitaji ufikiaji wa ukweli, code repositories, au kumbukumbu za taasisi ambazo zipo nje ya weights zake. Usitumie chombo chochote kugundua signal katika data ambayo haina signal yoyote. Ikiwa muundo wa msingi haupo, retrieval na fine-tuning zitakusaidia tu kupamba kelele hiyo kwa mavazi ya kisasa zaidi.
Kikwazo Halisi
Miundombinu ya fine-tuning na RAG haijawahi kuwa rahisi kusanidiwa kama sasa. Unaweza kuanzisha pipeline ndani ya mchana mmoja. Mbinu siyo tena kikwazo. Tathmini (Evaluation) ndiyo kikwazo. Timu nyingi hupuuza kazi ngumu ya kitakwimu na badala yake kusherehekea vanity metrics. Wanatengeneza mifumo inayoelekea kuonekana ina akili lakini inafeli kimyakimya.
Fanya majaribio ya uaminifu kabla ya kutumia pesa. Hoja kuhusu vipimo vyako. Angalia kama kuna overfitting. Hakikisha kuwa modeli ni bora zaidi kweli,
