Everyone has an opinion on fine-tuning versus RAG. Scroll through any AI forum and you will find heated threads full of architecture diagrams and benchmark claims. Most of the people writing those comments have never trained a model on their own data or watched a RAG pipeline fail silently in production.

मी महिने प्रयोग करण्यात घालवले. नेमके सांगायचे तर बारा प्रयोग. मी LLMs ला fine-tune केले. मी embedders ला fine-tune केले. मी सहा वेगवेगळ्या RAG कॉन्फिगरेशन्स तयार केल्या. हे क्षेत्र आर्थिक अंदाजाचे (financial prediction) होते, विशेषतः गोंधळलेल्या (noisy) ऐतिहासिक डेटावरून मार्केटच्या निकालांचा अंदाज लावण्याचा प्रयत्न करत होतो. मी स्वतःला कडक सांख्यिकीय मानकांमध्ये (statistical standards) बांधून घेतले होते कारण मला ब्लॉग पोस्टमधील दावे नको होते, तर खरी उत्तरे हवी होती.

बहुतेक प्रयोग अयशस्वी झाले. ते अपयश कोणत्याही नशिबामुळे मिळालेल्या यशापेक्षा कितीतरी पटीने अधिक उपयुक्त ठरले.

सिग्नलबद्दलचे (Signal) कडू सत्य

मुद्द्याच्या गाभ्याकडे जाण्यापूर्वी, येथे एक धडा आहे जो सर्व गोष्टींना एकत्र जोडतो. Fine-tuning आणि RAG हे मॉडेल काय जाणते किंवा ते काय पाहते हे बदलण्यासाठीची साधने आहेत. ते शून्यातून सिग्नल निर्माण करणारी जादूची काठी नाहीत. जर तुमच्या मूळ डेटामध्ये कोणताही खरा, वापरण्यायोग्य पॅटर्न नसेल, तर या तंत्रांमुळे तो निर्माण होणार नाही. ते फक्त तुम्हाला यादृच्छिक गोंधळाभोवती (random noise) एक अधिक पटण्यासारखी कथा तयार करण्यास मदत करतील.

आर्थिक अंदाजाच्या बाबतीत, हा सापळा विशेषतः धोकादायक आहे. मार्केट हे मुळातच गोंधळलेले (noisy) असते. जेव्हा तुम्ही ऐतिहासिक किमतींच्या डेटाला शक्तिशाली LLM सोबत जोडता आणि त्यात retrieval किंवा fine-tuning जोडता, तेव्हा तुम्हाला आपोआप कोणताही फायदा (edge) मिळत नाही. तुम्हाला फक्त नाणेफेक (coin flips) तर्कसंगत ठरवण्याचा एक अधिक स्पष्ट मार्ग मिळतो. जर सिग्नल नसेल, तर मॉडेल तुम्हाला खोटे सांगण्यात खूप पटाईत होते. तुम्हाला आधी हे तपासावे लागेल.

जेव्हा मोठे मॉडेल शिकण्याऐवजी पाठांतर करते

माझी पहिली मोठी चूक ही होती की स्केलमुळे (scale) सर्व काही सुधारेल असे मी मानले. मी ७७७ ट्रेनिंग उदाहरणांवर ७ बिलियन पॅरामीटर मॉडेलच्या विरुद्ध १४ बिलियन पॅरामीटर मॉडेलची चाचणी घेतली. मोठ्या मॉडेलने लक्षणीयरीत्या चांगला eval_loss मिळवला. त्याची perplexity कमी झाली. कागदावर ते शिकत होते.

त्यानंतर मी 'win rate' कडे पाहिले, म्हणजेच मॉडेलने प्रत्यक्षात किती अचूक अंदाज लावले त्याचा दर. १४B मॉडेलने ७B मॉडेलपेक्षा लक्षणीयरीत्या खराब कामगिरी केली. त्याने ट्रेनिंगमधील गोंधळ (noise) पाठांतर केला होता. ३,००० पेक्षा कमी उदाहरणांसह, मोठ्या मॉडेलमध्ये डेटातील चुकीचे संबंध (spurious correlations) आणि यादृच्छिक हालचालींवर (random wiggles) overfitting करण्याची पुरेशी क्षमता होती. त्याने प्रत्यक्षात गोंधळाचा एक 'lookup table' तयार केला होता.

७B मॉडेलने, त्याच्या कमी क्षमतेमुळे, व्यापक पॅटर्न शिकण्यास भाग पाडले गेले. त्याला प्रत्येक बारकावा पाठांतर करणे परवडणारे नव्हते. जर तुम्ही लहान डेटासेटवर काम करत असाल, तर लहान मॉडेल्सपासून सुरुवात करा. स्केल मोफत नसते. जेव्हा डेटा कमी असतो, तेव्हा ते तुम्हाला सक्रियपणे हानी पोहोचवू शकते.

Loss Curve वर विश्वास ठेवू नका

मी loss curves कडे पाहत बसणे थांबवले. एखादे मॉडेल त्याच्या token-level cross-entropy मध्ये सुधारणा करू शकते, परंतु तुम्हाला ज्या प्रत्यक्ष व्यावसायिक निर्णयाची काळजी आहे, त्यात ते अधिक खराब होऊ शकते. असे घडते कारण लँग्वेज मॉडेलिंग लॉस (language modeling loss) पुढचा टोकन अचूकपणे वर्तवण्याला रिवॉर्ड देते. अनेक क्षेत्रांमध्ये, विशेषतः फायनान्समध्ये, योग्य निर्णय आणि सर्वात संभाव्य पुढचा टोकन या दोन वेगळ्या गोष्टी आहेत.

मी अशी मॉडेल्स पाहिली जी ट्रेनिंगमधील मजकूर (prose) अतिशय सुंदरपणे पुन्हा तयार करत होती, परंतु प्रत्येक वेळी चुकीचा दिशात्मक निर्णय (directional bet) घेत होती. लॉस कमी होत होता, पण त्यासोबतच भांडवल (bankroll) देखील कमी होत होते. तुमच्या वास्तविक जगातील कामावर आधारित तुमची इव्हॅल्युएशन मेट्रिक (evaluation metric) निवडा. जर तुम्ही डॉक्युमेंट्स रँक करत असाल, तर रँकिंगची गुणवत्ता मोजा. जर तुम्ही निकालांचा अंदाज लावत असाल, तर निर्णयाची अचूकता मोजा. eval_loss ला तुमच्यासाठी मॉडेल निवडू देऊ नका.

Fine-Tuning फक्त अनोळखी शब्दसंग्रहासाठी प्रभावी ठरते

मी दोन वेगवेगळ्या प्रकारच्या मजकुरांवर embedder fine-tuning चाचण्या केल्या. पहिल्यामध्ये मानक आर्थिक बातम्या आणि सार्वजनिक फाइल्स (public filings) वापरल्या होत्या. fine-tuned embedder आणि तयार उपलब्ध (off-the-shelf) आवृत्तीने सारखीच कामगिरी केली. मूळ मॉडेलला ही भाषा आधीच माहित होती. मी ओळखीच्या क्षेत्रात ट्यूनिंग करत होतो.

दुसरा डेटासेट खाजगी शब्दसंग्रह (jargon), अंतर्गत कोडनेम आणि डोमेन-विशिष्ट शॉर्टहँडने भरलेला होता जो इंटरनेटवर कधीही दिसला नव्हता. येथे, fine-tuning ने रिट्रिव्हल अचूकता (retrieval accuracy) ७९ टक्क्यांनी सुधारली. मूळ मॉडेलला या शब्दांचा अर्थ माहितच नव्हता. Fine-tuning ने त्याला स्थानिक शब्दसंग्रह शिकवला.

यामुळे माझ्यासाठी संपूर्ण दृष्टिकोन बदलला. Fine-tuning म्हणजे मॉडेलला सामान्य अर्थाने हुशार बनवणे नाही. ते त्याला नवीन शब्दसंग्रह, नवीन फॉरमॅट किंवा एखादी विशिष्ट शैली (house style) शिकवण्याबद्दल आहे. जर तुमचा डेटा इंटरनेटसारखा दिसत असेल, तर fine-tune करणे टाळा. जर तुमचा डेटा अशी भाषा बोलत असेल जी मूळ मॉडेलने कधीही पाहिली नसेल, तर fine-tuning अत्यावश्यक ठरते.

RAG तुम्हाला खात्री देते, सत्य नाही

मी प्रेडिक्शन टास्कसाठी आठ वेगवेगळ्या RAG कॉन्फिगरेशनची चाचणी घेतली. सर्वसाधारणपणे, रिट्रिव्हल (retrieval) जोडल्यामुळे मॉडेलच्या सुमारे ३० टक्के निर्णयांमध्ये बदल झाला. हे ऐकायला प्रभावशाली वाटते, पण तसे नव्हते. ते बदल निव्वळ गोंधळ (noise) होते. एकूण अचूकतेमध्ये (accuracy) कोणतीही सुधारणा झाली नाही. जे बदलले ते म्हणजे मॉडेलचा आत्मविश्वास. RAG मुळे सिस्टम अधिक खात्रीशीर वाटू लागली, अधिक संदर्भांचा (sources) उल्लेख करू लागली आणि अधिक लांब स्पष्टीकरणे देऊ लागली. पण तरीही ती तितकीच चुकीची होती.

हा अतिआत्मविश्वास हा उत्पादनाचा एक धोका (product risk) आहे. वापरकर्ता संदर्भांकडे (citations) पाहतो आणि असे मानतो की मॉडेलने नीट अभ्यास केला आहे. प्रत्यक्षात, ते केवळ प्रगत वाटणारे अंदाज (guesswork) लावत होते.

सर्वात कडू अनुभव एका RAG व्हेरिएंटच्या बॅकटेस्टिंगमधून (backtesting) मिळाला. त्याने ११ टक्के वार्षिक नफा दाखवला. वरवर पाहता, हे एक यशस्वी धोरण वाटते. पण त्याचा AUC (area under the ROC curve आणि क्लासिफिकेशन कौशल्याचे मोजमाप) ०.४८६ होता. हे नाणेफेकीपेक्षाही (coin flip) वाईट आहे, ज्याचे मूल्य ०.५०० असते. तो नफा विशिष्ट बाजार कालावधीचा एक योगायोग (fluke) होता, कोणताही पुन्हा निर्माण करता येण्याजोगा फायदा (repeatable edge) नव्हता. केवळ P&L ला एक मेट्रिक (metric) म्हणून वापरणे धोकादायक आहे. बाजार नेहमीच नशिबाचे खेळ खेळत असतो. योगायोग आणि क्षमता यातील फरक ओळखण्यासाठी तुम्हाला सांख्यिकीय कौशल्य मेट्रिक्सची (statistical skill metrics) गरज आहे.

प्रत्येक टूल नेमके काय करते ते जाणून घ्या

मग आता आपण कुठे आहोत? जेव्हा मॉडेलला नवीन शब्द, विशिष्ट फॉरमॅट्स किंवा एक वेगळी शैली शिकण्याची गरज असते, तेव्हा fine-tuning वापरा. जेव्हा मॉडेलला तथ्ये (facts), कोड रिपॉझिटरीज (code repositories) किंवा त्याच्या वेट्सच्या (weights) बाहेर असलेल्या संस्थात्मक स्मृतीचा (institutional memory) वापर करण्याची गरज असते, तेव्हा RAG वापरा. ज्या डेटामध्ये कोणताही सिग्नल (signal) नाही, त्यातून सिग्नल शोधण्यासाठी यापैकी कोणतेही टूल वापरू नका. जर मूळ पॅटर्न तिथे नसेल, तर रिट्रिव्हल आणि fine-tuning तुम्हाला केवळ त्या गोंधळाला (noise) अधिक चांगल्या स्वरूपात सादर करण्यास मदत करतील.

खरा अडथळा

fine-tuning आणि RAG साठीची इन्फ्रास्ट्रक्चर (infrastructure) सेट करणे आता पूर्वीपेक्षा खूप सोपे झाले आहे. तुम्ही एका दुपारी एखादी पाइपलाइन (pipeline) तयार करू शकता. तंत्रज्ञान आता अडथळा राहिलेले नाही. अडथळा आहे तो 'इव्हॅल्युएशन' (Evaluation). बहुतेक टीम्स कठीण सांख्यिकीय काम टाळतात आणि त्याऐवजी केवळ दिखाऊ मेट्रिक्सचा (vanity metrics) आनंद साजरा करतात. ते अशी सिस्टम्स तयार करतात जी ऐकायला हुशार वाटतात पण पडद्यामागे अपयशी ठरतात.

पैसे खर्च करण्यापूर्वी प्रामाणिक चाचण्या करा. तुमच्या मेट्रिक्सवर प्रश्नचिन्ह निर्माण करा. overfitting तपासा. मॉडेल खरोखरच चांगले आहे याची खात्री करा,