सबसे अजीब बात यह है कि मेरे पास कोई मशीन लर्निंग का पृष्ठभूमि नहीं है, मुझे मॉडल ट्रेनिंग की मानक प्रक्रिया का ज्ञान नहीं है, और मुझे कई तकनीकी विवरणों के बारे में भी पता नहीं है। मैंने जो किया, वह बस सोल को लगातार आवश्यकताएँ और परिणामों की प्रतिक्रिया देना था, ताकि वह स्वयं समस्याओं को ढूंढ सके, प्रयोगों की डिज़ाइन कर सके और लगातार अपडेट कर सके।लेखक: Anshu
लेख संकलन, स्रोत: ME News
यह मेरी पहली बार है जब मुझे वास्तव में ऐसा लगा कि AGI आ चुका है।
मैंने GPT-5.6 Sol के साथ अपना खुद का ऑटो-करेक्शन मॉडल ट्रेन किया। अंततः, इस 17 अरब पैरामीटर वाले स्थानीय मॉडल ने टेस्ट सेट पर GPT-5.6 Sol की तुलना में हल्का सा बेहतर प्रदर्शन किया।
सबसे अजीब बात यह है कि मेरे पास कोई मशीन लर्निंग का पृष्ठभूमि नहीं है, मुझे मॉडल ट्रेनिंग की मानक प्रक्रिया का ज्ञान नहीं है, और मुझे कई तकनीकी विवरणों के बारे में भी पता नहीं है। मैंने जो किया, वह बस सोल को लगातार आवश्यकताएँ और परिणामों की प्रतिक्रिया देना था, ताकि वह स्वयं समस्याओं को ढूंढ सके, प्रयोगों की डिज़ाइन कर सके और लगातार अपडेट कर सके।
The entire process costs nothing.
सब कुछ एक बार-बार बढ़ते "टाइपिंग समस्या" से शुरू हुआ
लंबे समय तक AI के साथ बातचीत करने के बाद, मुझे अहसास हुआ कि मेरी टाइपिंग क्षमता धीरे-धीरे खराब हो रही है।
मैंने तेजी से टाइप करने की आदत डाल ली है और वर्तनी, अक्षरों का क्रम या अक्षर छूटने की समस्याओं की जांच नहीं करता। अपनी टाइपिंग क्षमता को पुनः प्रशिक्षित करने के बजाय, मैंने एक ऐसा समाधान अपनाने का फैसला किया जो AI युग के अनुकूल है: समस्याओं को हल करने के लिए अधिक AI का उपयोग करना।
पारंपरिक स्वचालित वर्तनी सुधार लिखते समय लगातार पाठ को संशोधित करता है, जिससे विचारों में बाधा आ सकती है। मेरी कल्पना है कि उपयोगकर्ता बिना बाधा के तेजी से टाइप करे, भले ही उसमें कई त्रुटियाँ हों, और टाइपिंग पूरी होने के बाद AI एक साथ सभी त्रुटियों को साफ कर दे।
At the same time, I want this model to be as small as possible.
छोटा मॉडल और अधिक तेजी से चलता है, कम बिजली का उपयोग करता है, और पूरी तरह से स्थानीय रूप से चलाने के लिए अधिक उपयुक्त होता है। चाहे दक्षता, बैटरी लाइफ, या केवल प्रयोगात्मक रुचि के लिए, मैं देखना चाहता हूं: एक पर्याप्त छोटा स्थानीय मॉडल स्वचालित सुधार को कितना आगे ले जा सकता है।
इसलिए, मैंने खुद एक को ट्रेन करने का फैसला किया।
Make Sol an automated research scientist
इस प्रोजेक्ट की प्रेरणा एंड्रेज कारपथी के "autoresearch" प्रयोग से ली गई है।
मैंने Codex के /goal मोड के माध्यम से Sol के लिए एक चक्रीय कार्यप्रवाह डिज़ाइन किया है:
एक प्रयोग चुनें, प्रयोग करें, और परिणाम को दस्तावेज़ में दर्ज करें; यदि असफल हो जाए, तो इस रास्ते को छोड़ दें; फिर अगला प्रयोग योजनाबद्ध करें, जबकि पहले से सत्यापित त्रुटियों से बचें।
मैंने केवल कुछ अनिवार्य इनपुट उदाहरण, कठोर लेटेंसी लक्ष्य, और अंतिम इच्छित परिणाम प्रदान किए, और फिर सोल को अपने आप चलने दिया।
What happened next exceeded my expectations.
Sol ने पहले कई उम्मीदवार बेस मॉडल, जिनमें Qwen 3.5, Gemma 4 और Liquid LFM 2.5 शामिल हैं, की जाँच की और तुलना की। फिर, इसने Hugging Face पर वास्तविक टाइपिंग टेक्स्ट से संबंधित एक डेटासेट ढूंढा।
लेकिन वास्तविक डेटा अभी पर्याप्त नहीं है।
सॉल ने एक "उंगलियों के साथ मैक कीबोर्ड पर टकराने" का सिमुलेटर लिखा है, जो कीबोर्ड के भौतिक लेआउट के आधार पर उंगलियों के गिरने के स्थान को गॉसियन वितरण के साथ सिमुलेट करता है और निम्नलिखित आम त्रुटियों को उत्पन्न करता है:
- दबाएं आसन्न कुंजी;
- अक्षर क्रम उल्टा;
- Repeat input;
- Missing characters;
- एक साथ कई कुंजियों को स्पर्श करें।
बेस मॉडल, टेक्स्ट डेटा और कीबोर्ड त्रुटि सिमुलेटर के साथ, मैंने Sol को अपने MacBook पर MLX का उपयोग करके सूक्ष्म समायोजित किया।
It had a working prototype in less than an hour.
समस्या यह है कि पहले संस्करण की सटीकता अच्छी नहीं थी।
पहला बाधा: टोकनाइज़र वर्तनी की त्रुटियों को नहीं समझता
Sol ने संबंधित पेपर पढ़ा और एक श्रृंखला परीक्षण डिज़ाइन किए, जिसके आधार पर उन्होंने निष्कर्ष निकाला: मॉडल की मुख्य सीमा प्रशिक्षण डेटा में नहीं, बल्कि Tokenizer, यानी टोकनाइज़र में है।
भारी भाषा मॉडल आमतौर पर पाठ को अक्षर-दर-अक्षर समझते नहीं हैं, बल्कि पहले पाठ को टोकन में विभाजित कर देते हैं। सामान्य शब्दों को स्थिर अर्थ इकाइयों में विभाजित किया जा सकता है, लेकिन वर्तनी की गलतियाँ अक्सर मूल टोकन संरचना को बगाड़ देती हैं।
इसका अर्थ है कि मानवों के लिए स्पष्ट एक अक्षर त्रुटि, मॉडल की दृष्टि में पूरी तरह अज्ञात टोकन का समूह बन सकती है।
मॉडल वास्तव में "समझ" नहीं सकता कि गलती क्या है, बल्कि केवल गलत वर्तनी और सही वर्तनी के बीच के मैपिंग को मैकेनिकल रूप से याद रखता है। ऐसा करने से सामान्यीकरण क्षमता कम होती है और मॉडल के मूल भाषाई ज्ञान का पूरी तरह से उपयोग नहीं हो पाता।
Sol ने पहले Google के ByT5 का प्रयास किया।
ByT5 एक ऐसा मॉडल है जो पारंपरिक Tokenizer पर निर्भर नहीं करता और सीधे बाइट सीक्वेंस को प्रोसेस करता है। इस प्रयास से स्पष्ट सुधार आया, लेकिन ByT5 का प्रकाशन पहले हुआ था, और मॉडल स्वयं में सीमित भाषा ज्ञान है, इसलिए अंतिम प्रदर्शन अभी भी GPT-5.6 Sol के स्तर तक नहीं पहुँच पाया।
अध्ययन जारी रखने के बाद, सोल ने ध्यान दिया कि समस्या को हल करने के लिए "टोकनाइज़र को पूरी तरह से रद्द करना" आवश्यक नहीं है।
इसने बदले में T5Gemma को चुना, जो एक Encoder-Decoder आर्किटेक्चर का मॉडल है।
एन्कोडर-डिकोडर मॉडल, जो केवल अगले टोकन का अनुमान लगाने वाले मॉडल से अलग है, इनपुट को पूरी तरह समझने के लिए एन्कोडर का उपयोग करता है और फिर डिकोडर द्वारा सुधारित पाठ उत्पन्न करता है। इससे भी महत्वपूर्ण बात यह है कि Sol, एन्कोडर के लिए अतिरिक्त प्रशिक्षण भी कर सकता है, जिससे मॉडल वर्तनी की त्रुटियों वाले इनपुट को बेहतर ढंग से पहचान सके।
This route significantly raises the model's performance ceiling.
दूसरा बाधा: पारंपरिक हानि फ़ंक्शन मॉडल को "न बदलें" के लिए प्रोत्साहित करता है
मॉडल आर्किटेक्चर के बदलने के बाद, एक नया समस्या उभरी।
मॉडल पहले से कुछ त्रुटियों को सही करने में सक्षम है, लेकिन अक्सर अन्य स्पष्ट वर्तनी की त्रुटियों को नजरअंदाज कर देता है। भले ही इनपुट में त्रुटियाँ हों, यह उन्हें मूल रूप में प्रतिलिखित करने की प्रवृत्ति रखता है।
Sol ने अंततः पाया कि समस्या सबसे सामान्य क्रॉस-एंट्रॉपी लॉस फंक्शन से आ रही है।
ऑटो-करेक्शन डेटा में, अधिकांश वर्ण मूल रूप से सही होते हैं, और वास्तव में संशोधित किए जाने वाले वर्ण का अनुपात बहुत कम होता है। यदि मानक क्रॉस-एंट्रॉपी का उपयोग करके प्रशिक्षण दिया जाता है, तो मॉडल की सबसे सुरक्षित रणनीति "जितना संभव हो उतना संशोधन न करें" होगी।
क्योंकि मूल पाठ कॉपी करने से अधिकांश स्थानों पर सही उत्तर प्राप्त होता है, जबकि सक्रिय रूप से संशोधित करने से त्रुटियाँ आ सकती हैं।
दूसरे शब्दों में, पारंपरिक प्रशिक्षण लक्ष्य मॉडल को अपरिवर्तित रखने के लिए पुरस्कृत कर रहे हैं।
इस समस्या को हल करने के लिए, सॉल ने एक कस्टम लॉस फंक्शन लिखा।
यह पहले मूल पाठ और लक्ष्य पाठ को बाइट स्तर पर संरेखित करता है, फिर गतिशील कार्यक्रम एल्गोरिदम का उपयोग करके दो पाठों के बीच न्यूनतम संपादन मार्ग की गणना करता है, और पहचानता है कि कौन सी स्थितियाँ प्रतिलिपि हैं और कौन सी वास्तविक डालना, हटाना या प्रतिस्थापित करना हैं।
इसके आधार पर, सॉल ने “सही संशोधन” के संगत प्रशिक्षण भार को बढ़ा दिया है, जबकि वर्णों की सीधी प्रतिलिपि से मिलने वाले लाभ को कम कर दिया है।
कई चरणों में पैरामीटर एडजस्टमेंट के बाद, मॉडल की एरर करेक्शन एक्यूरेसी में उल्लेखनीय सुधार हुआ।
तीसरा बाधा: जब मॉडल गलत दिशा में चल दे, तो वह वापस नहीं आ सकता
अंतिम प्रमुख समस्या स्वयं-पुनर्क्रमित उत्पादन तंत्र से आती है।
मॉडल टेक्स्ट उत्पन्न करते समय, केवल पहले से उत्पन्न किए गए सामग्री के आधार पर अगला टोकन भविष्यवाणी कर सकता है। एक बार जब किसी पिछले चरण में त्रुटि हो जाती है, तो आगे की उत्पादन प्रक्रिया गलत परिणाम पर आधारित हो जाती है, और मॉडल वास्तव में पीछे मुड़कर संशोधन नहीं कर सकता।
सिद्धांत रूप से, मॉडल को एक निष्कर्ष निकालने वाले मॉडल की तरह पहले "सोचने" और फिर उत्तर देने के लिए प्रशिक्षित किया जा सकता है, लेकिन इससे देरी में भारी वृद्धि होगी और तत्काल प्रतिक्रिया की आवश्यकता वाले स्वचालित सुधार परिदृश्यों के लिए उपयुक्त नहीं होगा।
Sol ने अंततः एक अधिक उपयुक्त समाधान खोज लिया: Beam Search, यानी बीम सर्च।
मॉडल अब केवल प्रायिकता सबसे अधिक एकल पथ का चयन नहीं करता, बल्कि एक साथ कई संभावित उत्पादन शाखाओं को बरकरार रखता है और विभिन्न सुधार परिणामों का समानांतर अन्वेषण करता है। खोज पूरी होने के बाद, सबसे अधिक संचयी लघुगणक प्रायिकता वाला पूर्ण पथ चुना जाता है।
यह एकल थ्रेड निष्कर्षण के स्थान पर समानांतर खोज के बराबर है।
Beam Search अंतिम परिणाम में स्पष्ट सुधार करता है, लेकिन एक अनुभव समस्या भी लाता है: पूरे खोज प्रक्रिया पूरा होने से पहले, उपयोगकर्ता को कोई आउटपुट नहीं दिखाई देता।
Sol ने बाद में एक बहुत ही बुद्धिमानी भरी टिप्पणी की।
प्रत्येक खोज चक्र के बाद, सभी बचे हुए शाखाओं की तुलना की जा सकती है। जब तक ये शाखाएँ समान प्रारंभिक भाग रखती हैं, तब तक यह “सर्वाधिक सामान्य पूर्ववर्ती” अंतिम परिणाम में अवश्य दिखाई देगा।
इसलिए, सिस्टम तुरंत इस सामग्री को उपयोगकर्ता को प्रदर्शित कर सकता है।
जब खोज जारी रहती है, तो कमजोर मार्ग धीरे-धीरे हटा दिए जाते हैं और शेष शाखाओं का सामान्य पूर्वरूप लगातार लंबा होता जाता है। अंततः, उपयोगकर्ता को एकल बार में आने वाले परिणाम नहीं, बल्कि लगातार उत्पन्न होते हुए सुधारित पाठ दिखाई देते हैं।
Sol ने पूरी प्रक्रिया को एक कस्टम MLX निष्पादन पाइपलाइन में बदल दिया है, जो MacBook GPU का उपयोग करके समानांतर डिकोडिंग करती है।
अंततः, पहले टोकन की आउटपुट लेटेंसी केवल लगभग 40 मिलीसेकंड है, जो पर्याप्त तेज़ है, और पूरी प्रक्रिया पूरी तरह से स्थानीय रूप से पूरी होती है।
Final result: 1.7 billion parameter model outperforms GPT-5.6 Sol
Final evaluation uses "error reduction rate" as the metric; the higher the value, the more input errors the model fixes.
निम्नलिखित मूल्यांकन परिणाम हैं:
- Apple ऑटो-करेक्शन: 49.66%
- GPT-5.6 Luna: 82.47%
- GPT-5.6 Terra: 87.64%
- GPT-5.6 सॉल्व: 90.56%
- हमने ट्रेन किया गया 17 अरब पैरामीटर मॉडल: 91.02%
यह स्थानीय छोटा मॉडल, GPT-5.6 Sol को बहुत ही सूक्ष्म लाभ से पार कर गया।
मैंने डेटा लीक या मॉडल के "धोखेबाजी" की स्थिति की विशेष रूप से जांच भी की है। परीक्षण के दौरान, हम जानबूझकर ट्रेनिंग डेटा में आए शब्दों को बाहर रखते हैं, ताकि यह सत्यापित किया जा सके कि मॉडल केवल गलतियों और उत्तरों के बीच के मैपिंग को याद नहीं कर रहा है।
प्रोजेक्ट की कुल लागत है:
एक मॉडल की कोटा रीसेट और 0 डॉलर कैश खर्च।
जो मुझे सचमुच प्रभावित करता है, वह केवल अंतिम अंक नहीं है
प्रोजेक्ट के दौरान, तुलनात्मक अधिगम, GRPO, DPO, डायनामिक मास्किंग जैसे कई अन्य दिशाओं में अनेक प्रयोग अपूर्ण रह गए।
सभी प्रयास सफल नहीं हुए, लेकिन सोल ने सक्रिय रूप से दस्तावेज़ पढ़े, समस्याओं की पहचान की, परिकल्पनाएँ बनाईं, प्रयोग डिज़ाइन किए, परिणामों का विश्लेषण किया, और असफलता के अनुभव के आधार पर अगले प्रयास की योजना बनाई।
मेरे लिए, वास्तविक आश्चर्य यह नहीं है कि "एक 17 बिलियन पैरामीटर मॉडल GPT-5.6 Sol को पार कर गया"।
अधिक महत्वपूर्ण बात यह है कि एक ऐसा व्यक्ति जिसके पास मशीन लर्निंग की कोई पृष्ठभूमि नहीं है, अब AI की सहायता से ऐसे प्रयोगों को पूरा कर सकता है जिनके लिए पहले एक पेशेवर अनुसंधान टीम की आवश्यकता होती थी।
मुझे सभी निचले स्तर के ज्ञान का अधिकार नहीं है, और मैंने पहले से कोई पूर्ण तकनीकी रास्ता नहीं डिज़ाइन किया है। मैंने केवल यह स्पष्ट किया है कि मैं किस समस्या को हल करना चाहता हूँ, और फिर मैंने Sol को जवाब ढूँढने के लिए लगातार प्रेरित किया।
यह केवल कोड लिखने ही नहीं, बल्कि अनुसंधानकर्ता, इंजीनियर और प्रयोगात्मक डिजाइनर की भूमिका भी निभा रहा है।
यह शायद वह पहला क्षण था जब मैंने वास्तव में “AGI को महसूस किया”।
Don't let inexperience stop you from starting to experiment.
जब AI सामान्य लोगों को पेशेवर बाधाओं को पार करने में मदद कर सकता है, तो कई पुराने प्रोजेक्ट्स जो पहले अप्राप्य लगते थे, अब इतने दूर नहीं लगते।
