मैंने एक LLM से गलत लिखे नाम ठीक करने को कहा। उसने प्रोडक्ट का नाम ही बदल दिया।
मेरा AI क्लिपर ट्रांसक्रिप्ट में व्यक्तिवाचक संज्ञाएँ सुधारता है। एक वीडियो में उसने अनजान मॉडल का नाम एक असली प्रतियोगी से बदल दिया। वजह और कोड फिक्स।
28 सितंबर 2026
बनाया गया: 28 September 2026 · अपडेट किया गया: 28 September 2026
Katto एक AI वीडियो क्लिपर है। आप एक लंबा वीडियो डालते हैं, यह अच्छे पलों को वर्टिकल शॉर्ट्स में काटता है, और कैप्शन आपके लिए लिख देता है। मैं इसे अकेले बनाता हूँ, सबके सामने। यह बात उस फीचर की है जिसका प्रचार मैं प्राइसिंग पेज पर करता हूँ, और जिसे मैंने चुपचाप अपने काम का उल्टा करते हुए पकड़ा।
जो समस्या मैं हल कर रहा था
स्पीच-टू-टेक्स्ट शब्दों में बहुत अच्छा है और नामों में बहुत खराब। Whisper एक ऐसा ब्रांड सुनता है जिससे वह पहले कभी नहीं मिला, और उसे उच्चारण के हिसाब से लिख देता है। "Trump" बनकर "trompe" आता है। "Suárez" बनकर "Suares" आता है। "ChatGPT" बनकर "chatgépété" आता है। एक फ्रेंच फुटबॉल वीडियो पर मैंने एक ही ट्रांसक्रिप्ट में इनकी अट्ठानवे गिनतियाँ गिनी थीं।
बिगड़े नामों वाले कैप्शन लापरवाह लगते हैं, और क्लिप में वही सबसे ज्यादा दिखने वाला हिस्सा हैं। तो मैंने एक करेक्शन पास जोड़ा: ट्रांसक्रिप्शन के बाद टेक्स्ट एक छोटे लैंग्वेज मॉडल के पास जाता है, एक ही निर्देश के साथ, ऐसी व्यक्तिवाचक संज्ञाएँ ढूँढो जो उच्चारण के हिसाब से लिखी गई हैं और उनकी स्पेलिंग ठीक करो। इसकी लागत प्रति वीडियो करीब एक सेंट है। इसने वे अट्ठानवे ठीक कर दिए।
असल में जो शिप हुआ
पिछले हफ्ते एक यूजर ने लार्ज लैंग्वेज मॉडल्स पर एक फ्रेंच वीडियो क्लिप किया। वक्ता बार-बार JEV नाम के एक मॉडल का जिक्र कर रहा था। Whisper ने उसे सुना और "Jev" लिखा, जो इतना करीब है कि किसी को खटकता भी नहीं।
क्लिप्स के टाइटल आए "Why Jamba is overrated" और "Jamba: revolution and overrated at once"। कैप्शन में Jamba था। डिस्क्रिप्शन में Jamba था।
Jamba एक असली लार्ज लैंग्वेज मॉडल है, जिसे AI21 ने बनाया है। बस वह वीडियो वाला मॉडल नहीं है।
मैंने देखा कि पाइपलाइन ने क्या स्टोर किया था। आर्काइव किए गए ट्रांसक्रिप्ट में "Jev" दो बार था और "Jamba" शून्य बार। उसके बाद का हर स्टेज "Jamba" कह रहा था और "Jev" कभी नहीं: स्कोर किए गए कैंडिडेट्स, क्लिप मेटाडेटा, क्लिप पूल, कुल चौबीस जगह। ट्रांसक्रिप्शन सही था। जो चीज मैंने उसे बचाने के लिए जोड़ी थी, उसी ने उसे तोड़ दिया।
मॉडल ने ऐसा क्यों किया
उसने बिल्कुल वही किया जो एक मददगार असिस्टेंट करता है। वीडियो लैंग्वेज मॉडल्स के बारे में है। "Jev" कोई मॉडल नहीं है जिसे वह जानता हो। "Jamba" एक मॉडल है जिसे वह जानता है, और आँखें सिकोड़कर देखें तो दोनों बहुत दूर नहीं हैं। संदर्भ में, एक को दूसरे से बदलना सुधार जैसा लगता है, गढ़ंत जैसा नहीं।
इस तरह के काम में यही वह फेलियर मोड है जिसकी चेतावनी कोई नहीं देता। जो स्पेल-चेकर कोई शब्द नहीं पहचानता, वह उसे छोड़ देता है। जो लैंग्वेज मॉडल कोई शब्द नहीं पहचानता, वह सबसे नजदीकी उस शब्द की तरफ हाथ बढ़ाता है जिसे वह पहचानता है, और जितना ज्यादा डोमेन ज्ञान उसके पास है, वह हाथ उतना ही आत्मविश्वासी और उतना ही गलत होता है। मेरा करेक्टर दुर्लभ नामों पर ठीक इसलिए खराब था क्योंकि वह आम नामों पर अच्छा था।
जिस बात ने चुभाया
मैंने यह पहले ही सोच लिया था। प्रॉम्प्ट में कैपिटल अक्षरों में लिखा था:
ONLY fix spelling and capitalization. NEVER replace a name with a DIFFERENT name. Inventing a plausible-but-wrong name is WORSE than leaving an unusual one unchanged. […] Do NOT guess a better-known name from context.
तीन वाक्य, साफ-साफ, खास तौर पर वही रोकने के लिए लिखे गए जो हुआ। मॉडल ने उन्हें पढ़ा और फिर भी प्रोडक्ट का नाम बदल दिया।
मुझे नहीं लगता कि प्रॉम्प्ट खराब लिखा था, और अब मुझे यह भी नहीं लगता कि कोई बेहतर प्रॉम्प्ट काम आता। किसी मॉडल से यह कहना कि वह वो काम न करे जिसकी उसकी प्रवृत्ति है, एक अनुरोध है, अड़चन नहीं। यह ज्यादातर बार टिकता है, जो कभी न टिकने से बुरा है, क्योंकि आप जाँचना बंद कर देते हैं।
इसके बदले मैंने क्या किया
नियम प्रॉम्प्ट से निकलकर कोड में आ गया। मॉडल अब भी सुधार सुझाता है; एक फंक्शन अब तय करता है कि हर सुझाव स्पेलिंग फिक्स है या नाम बदलना, और नाम बदलने वालों को चुपचाप हटा देता है।
जाँच जानबूझकर मोटी है: दोनों स्ट्रिंग्स से केस और एक्सेंट हटाओ, फिर मापो कि मूल का कितना हिस्सा बदले हुए रूप में बचा है। 0.6 से ऊपर हो तो वह वही नाम है, अलग तरह से लिखा हुआ। नीचे हो तो वह दूसरा नाम है।
- 0.90 · rousse peter → rouspéter · रखा गया
- 0.83 · Suares → Suárez · रखा गया
- 0.82 · chatgépété → ChatGPT · रखा गया
- 0.73 · trompe → Trump · रखा गया
- 0.53 · nouillène → Nguyen · हटाया गया
- 0.31 · mistral → Gemini · हटाया गया
- 0.25 · jev → Jamba · हटाया गया
मेरे टेस्ट सेट का हर सुधार बच जाता है। कुछ जायज सुधार नहीं बचेंगे: वह पाँचवीं लाइन असली है। कोई फ्रेंच बोलने वाला "Nguyen" कहता है तो वह "nouillène" सुनाई देता है, एक्सेंट हटाने के बाद दोनों स्ट्रिंग्स में लगभग कुछ भी समान नहीं बचता, और गार्ड अब उस सुधार को फेंक देता है। यही रोमन में लिखे जापानी नामों और किसी दूसरी भाषा में अक्षर-दर-अक्षर बोले गए एक्रोनिम्स के साथ भी होगा।
यही पक्ष मैंने चुना। एक अजीब नाम जो जैसा है वैसा छोड़ दिया गया हो, वह दिखता है, और पढ़ने वाला अंदाजा लगा सकता है कि मतलब क्या था। गलत नाम दिखता नहीं, और कोई अंदाजा नहीं लगा सकता। रिजेक्शन दोनों स्ट्रिंग्स के साथ लॉग होते हैं, क्योंकि रिजेक्शन का मतलब है कि मॉडल ने अभी किसी चीज का नाम बदलने की कोशिश की, और वह देखने लायक बात है।
सबक
वह नियम जिसे मॉडल नजरअंदाज कर सकता है, नियम नहीं है। अगर कोई अड़चन मायने रखती है, तो उसकी जगह मॉडल के बाद चलने वाले कोड में है, उस पैराग्राफ में नहीं जिसे मॉडल पढ़ता है। प्रॉम्प्ट मंशा जाहिर करते हैं। उसे लागू नहीं करते।
सुधार की दिशा देखो, सिर्फ उसकी मौजूदगी नहीं। इस पास पर मेरे पास मेट्रिक्स थे: प्रति वीडियो उसने कितने सुधार किए। अट्ठानवे एक सेहतमंद आँकड़ा लगा। कुछ भी यह नहीं मापता था कि किसी सुधार ने टेक्स्ट को सच के करीब किया या दूर, और अगर आप बस कुल गिनते हैं तो खराब सुधार अच्छे सुधार से अलग नहीं दिखता।
जो पाइपलाइन इनपुट स्टोर करती है और आउटपुट शिप करती है, वह आपसे दो बार झूठ बोल सकती है। आर्काइव किया गया ट्रांसक्रिप्ट "Jev" कह रहा था जबकि हर डिलीवर हुई क्लिप "Jamba" कह रही थी। अगर मैंने सिर्फ आर्काइव पढ़ा होता तो मैं यह नतीजा निकालता कि पाइपलाइन ठीक है। जो जाँच मायने रखती है वह उस पर है जो बाहर गया।
आत्मविश्वास इस फेलियर का एक फीचर है। जो करेक्टर किसी अनजान नाम को छोड़ देता है, वह एक दिखने वाली, नुकसान न करने वाली अजीबियत पैदा करता है। जो उसे बदल देता है, वह साफ, धाराप्रवाह, गलत टेक्स्ट पैदा करता है जिस पर कोई सवाल नहीं उठाता, मैं भी नहीं, जब तक वीडियो बनाने वाला अपने ही कैप्शन नहीं पढ़ लेता।
गार्ड उसी दिन शिप हो गया। अगर आप किसी अनजानी चीज पर वीडियो क्लिप करते हैं और Katto कोई असामान्य नाम ठीक वैसा ही छोड़ देता है जैसा उसने सुना, तो अब वह जानबूझकर है।
<<>>संबंधित लेख
अपने वीडियो को वायरल क्लिप में बदलने के लिए तैयार हैं?
Katto आपके लंबे वीडियो को अपने आप काटता, कैप्शन जोड़ता और रीफ़्रेम करके शॉर्ट-फ़ॉर्म कंटेंट बनाता है।
Katto मुफ़्त आज़माएँ →