An Ocean Model Ported by a Large Language Model: Experience and Lessons from FESOM2 (Fortran to C to C++/Kokkos)
यह शोध पत्र प्रदर्शित करता है कि एक एजेंटिक लार्ज लैंग्वेज मॉडल ने, डोमेन विशेषज्ञों द्वारा निर्देशित एक सख्त दो-चरणीय अनुवाद और कठोर सत्यापन प्रक्रिया के माध्यम से, 74,000-लाइन वाले फोर्ट्रान (Fortran) FESOM2 महासागरीय मॉडल को इसके भौतिक विज्ञान (physics) को सुरक्षित रखते हुए और GPU पर महत्वपूर्ण प्रदर्शन लाभ प्राप्त करते हुए, C++/Kokkos में सफलतापूर्वक पोर्ट किया।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक शानदार, अविश्वसनीय रूप से जटिल और अत्यधिक सफल रेसिपी है जो एक 5-स्टार व्यंजन के लिए है। यह रेसिपी एक बहुत ही पुरानी, विशेष भाषा (मान लीजिए "Fortran") में लिखी गई है जिसे केवल कुछ ही मास्टर शेफ समझते हैं। इसे दशकों तक टेस्ट किया गया है, और हर कोई जानता है कि यह पूरी तरह से काम करती है। हालाँकि, रसोई बदल रही है: नए ओवन (शक्तिशाली GPU वाले आधुनिक सुपरकंप्यूटर) अब "Fortran" नहीं बोलते। वे "C++" बोलते हैं।
समस्या यह है कि इस पुराने भाषा की 74,000 लाइनों वाली रेसिपी को नई भाषा में अनुवाद करना वैसा ही है जैसे किसी उपन्यास का अनुवाद करते समय साथ-साथ उस घर को भी फिर से बनाना जिसमें वह लिखा गया है। यदि आप गणित में एक छोटी सी भी गलती करते हैं, तो व्यंजन ज़हर बन सकता है, या रसोई में आग लग सकती है। आमतौर पर, इसमें मानव विशेषज्ञों की एक टीम को वर्षों लग जाते हैं।
यह शोध पत्र एक नए प्रयोग का वर्णन करता है: क्या एक AI (एक लार्ज लैंग्वेज मॉडल) हमारे लिए यह अनुवाद का काम कर सकता है, और क्या वह यह बिना रेसिपी खराब किए कर सकता है?
उन्होंने इसे कैसे किया, यहाँ सरल उपमाओं का उपयोग करके बताया गया है:
1. दो-चरणीय अनुवाद रणनीति (Two-Step Translation Strategy)
AI को सीधे "पुरानी भाषा" से "नई हाई-स्पीड भाषा" में कूदने के बजाय, टीम ने उसे एक चक्कर लगाने के लिए मजबूर किया।
चरण 1: "साफ प्रतिलिपि" (Fortran → C): सबसे पहले, उन्होंने AI को रेसिपी को एक सरल, बीच की भाषा में अनुवाद करने के लिए कहा जिसे "C" कहा जाता है।
- नियम: AI को रेसिपी में "सुधार" करने से सख्ती से मना किया गया था। वह रेसिपी को "बेहतर" बनाने के लिए सामग्री नहीं बदल सकता था या अधिक कुशल बनाने के लिए खाना पकाने के समय को नहीं बदल सकता था। उसे एक शाब्दिक, शब्द-दर-शब्द प्रतिलिपि बनाना था।
- लक्ष्य: यह सुनिश्चित करना कि स्वाद (भौतिकी/फिजिक्स) बिल्कुल वैसा ही रहे। उन्होंने इस नए "C" संस्करण को पांच साल के सिम्युलेटेड समय के लिए चलाया। इसका स्वाद मूल "Fortran" संस्करण के समान ही था, जिसमें अंतर इतने सूक्ष्म थे जैसे समुद्र में नमक का एक दाना।
चरण 2: "स्पीड अपग्रेड" (C → C++/Kokkos): एक बार जब "C" संस्करण को सिद्ध साबित हो जाने के बाद, उन्होंने AI से उस "C" को आधुनिक "C++" भाषा में अनुवाद करने के लिए कहा, जो सुपर-फास्ट GPU ओवन पर चलने के लिए बनी है।
- सुरक्षा जाल: क्योंकि "C" संस्करण पहले से ही परफेक्ट था, AI अब गति (speed) पर ध्यान केंद्रित कर सकता था। उन्होंने यह सुनिश्चित करने के लिए प्रत्येक चरण की जाँच की कि नया "C++" संस्करण मानक कंप्यूटरों पर "C" संस्करण के साथ बिल्कुल समान संख्याएँ उत्पन्न करता है।
2. "ट्विन" चेक सिस्टम (The "Twin" Check System)
उन्हें कैसे पता चला कि AI ने कोई गलती नहीं की? उन्होंने "जुड़वा" (Twins) की प्रणाली का उपयोग किया।
कल्पना कीजिए कि आपके पास एक मास्टर शेफ (मूल कोड) और एक छात्र शेफ (नया कोड) है। हर बार जब छात्र शेफ प्याज काटता है, तो उसे तुरंत मास्टर शेफ को परिणाम दिखाना होता है।
- "ट्विन" टेस्ट: प्रत्येक खाना पकाने के चरण के लिए, कंप्यूटर नए कोड और पुराने कोड को साथ-साथ चलाता है। यदि संख्याएँ थोड़े से भी भिन्न होती हैं, तो सिस्टम चिल्लाकर कहता है "रुकिए!" और AI को बताता है, "आपने इस विशिष्ट चरण में गलती की है।"
- "स्टेल हेलो" ट्रैप (The "Stale Halo" Trap): AI द्वारा की गई एक सामान्य गलती डेटा के किनारों को अपडेट करना भूल जाना था (जैसे कटिंग के बीच में चॉपिंग बोर्ड को धोना भूल जाना)। टीम ने विशेष रूप से किनारों की जांच करने के लिए एक विशेष "प्रोब" बनाया ताकि इन अदृश्य त्रुटियों को पकड़ा जा सके।
3. परिणाम: गति और सटीकता
प्रयोग सफल रहा। यहाँ क्या हुआ:
- सटीकता: नया कोड वैज्ञानिक रूप से भरोसेमंद है। पांच साल के सिमुलेशन में, नए संस्करण के महासागरीय तापमान और लवणता (salinity) मूल के लगभग अभिन्न थे। नए सुपर-फास्ट GPUs पर, परिणाम "सांख्यिकीय रूप से करीब" थे—जिसका अर्थ है कि सूक्ष्म अंतर केवल इस कारण से थे कि कंप्यूटर गणित कैसे करता है, न कि इसलिए कि भौतिकी गलत थी।
- गति: नया कोड आधुनिक GPUs (जैसे NVIDIA A100) पर चलता है और यह पुराने कोड (जो मानक CPUs पर चलता है) की तुलना में 1.6 से 3.7 गुना तेज़ है।
- पोर्टेबिलिटी: सबसे अच्छी बात? उन्होंने कोड को एक बार लिखा, और यह विभिन्न प्रकार के सुपरकंप्यूटरों (NVIDIA, AMD, और अन्य) पर बिना दोबारा लिखे चल सकता है। यह एक यूनिवर्सल अडैप्टर की तरह है जो किसी भी प्लग में फिट हो जाता है।
4. क्या गलत हुआ (और उन्होंने इसे कैसे ठीक किया)
AI परफेक्ट नहीं है। इसने चीजों को सरल बनाकर "मदद" करने की कोशिश की, जिससे भौतिकी लगभग टूट ही गई थी।
- "सरलीकरण" का जाल: AI संख्याओं को राउंड ऑफ करना या किसी स्थिरांक (constant) के मान को बदलना चाहता था क्योंकि यह अधिक "साफ" दिखता था। टीम को इसे सख्ती से प्रतिबंधित करना पड़ा। उन्होंने AI को बताया: "यदि मूल में 0.1 है, तो आप 0.1 ही लिखें। अनुमान न लगाएं।"
- "कमेंट" का जाल: AI कभी-कभी कोड में एक कमेंट पढ़ लेता था जिसमें लिखा होता था "मान 5 है" लेकिन वास्तविक कोड में "मान 10" होता था। AI ने कमेंट पर भरोसा किया। टीम ने AI को हर बार वास्तविक कोड लाइन की जांच करने के लिए मजबूर करके इसे ठीक किया।
निष्कर्ष
यह शोध पत्र सिद्ध करता है कि सही नियमों और सख्त "सुरक्षा सीढ़ी" के साथ, एक AI एक विशाल, जटिल वैज्ञानिक मॉडल को एक पुरानी भाषा से एक नई, सुपर-फास्ट भाषा में कुछ ही हफ्तों में अनुवाद कर सकता है।
इसने केवल कोड की नकल नहीं की; इसने विज्ञान को संरक्षित किया। महासागरीय मॉडल अभी भी वास्तविक महासागर की तरह ही व्यवहार करता है, लेकिन अब यह दुनिया के सबसे शक्तिशाली कंप्यूटरों पर भविष्य के जलवायु की भविष्यवाणी करने में मदद करने के लिए पर्याप्त तेज़ चलता है। कुंजी केवल AI नहीं थी; बल्कि इसे निर्देशित करने वाले मनुष्यों का अनुशासन था: सख्त नियम, शाब्दिक अनुवाद, और निरंतर जांच।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।