प्रॉम्प्ट और संदर्भ
एक प्लेटफ़ॉर्म टेक्स्ट, इमेज, ऑडियो और वीडियो स्वीकार करता है। उपयोगकर्ता उम्मीद करते हैं कि पोस्ट जल्दी दिखाई दें, जबकि प्लेटफ़ॉर्म को उच्च-जोखिम वाले (high-risk) कंटेंट के व्यापक रूप से फैलने से पहले कार्रवाई करनी होगी। अपलोड प्री-स्क्रीनिंग, एसिंक्रोनस डीप एनालिसिस, मानव समीक्षा, अपील, पोस्ट-पब्लिकेशन री-स्कैनिंग और पॉलिसी पुनरावृत्ति (iteration) डिज़ाइन करें। आपको मॉडल को प्रशिक्षित करने की आवश्यकता नहीं है, लेकिन आपको यह समझाना होगा कि मॉडल आउटपुट ऑडिट करने योग्य व्यावसायिक निर्णय कैसे बनते हैं।
सार्वजनिक सिस्टम-डिज़ाइन इंटरव्यू सामग्री इस समस्या को कॉन्फिडेंस बैंड, एक मानव कतार (human queue) और एक अपील पथ के साथ एक लेयर्ड पाइपलाइन के रूप में प्रस्तुत करती है। पुनर्गणना योग्य क्षमता धारणा के लिए, 1,000,000 अपलोड प्रति घंटे से शुरू करें, औसतन लगभग 278 अनुरोध प्रति सेकंड और 10x पीक पर लगभग 2,778; सिंक्रोनस प्री-स्क्रीनिंग पब्लिशिंग में अधिकतम 100 ms जोड़ सकती है, और समीक्षक प्रति दिन 100,000 मामलों को संभाल सकते हैं। जब साक्षात्कारकर्ता अलग संख्याएं प्रदान करे तो इन नंबरों को बदलें।
साक्षात्कारकर्ता क्या परीक्षण कर रहा है
साक्षात्कारकर्ता यह देखना चाहता है कि क्या आप केवल एक क्लासिफायर तैयार करने के बजाय मॉडरेशन को अलग-अलग लेटेंसी और जोखिम वाले निर्णयों में विभाजित करते हैं। एक मजबूत उत्तर तत्काल ब्लॉकिंग, पब्लिश-देन-रीस्कैन और मानव समीक्षा को अलग करता है; प्रति-पॉलिसी थ्रेशोल्ड सेट करता है; मॉडल वर्जन और साक्ष्य रिकॉर्ड करता है; और बताता है कि गलत निर्णय को कैसे सुधारा जाता है।
सिस्टम-डिज़ाइन संकेतों में पीक क्षमता, कतार की आयु (queue age), डुप्लिकेट कार्य, मॉडल आउटेज, प्रतिकूल इनपुट (adversarial inputs), समीक्षक सुरक्षा, अपील की समय सीमा और टेनेंट या क्षेत्रीय अलगाव भी शामिल हैं। केवल सटीकता (accuracy) सुरक्षित डिफॉल्ट, पुनरुत्पादन योग्य साक्ष्य और परिचालन मेट्रिक्स के बिना ऑनलाइन गवर्नेंस प्रदान नहीं करती है।
पहले पूछे जाने वाले स्पष्टीकरण
क्या ब्लॉक किया जाना चाहिए
पूछें कि क्या प्रत्येक आइटम को प्री-पब्लिकेशन मॉडरेशन की आवश्यकता है या केवल स्पष्ट रूप से उच्च-जोखिम वाली श्रेणियों को सिंक्रोनस रूप से ब्लॉक किया जाना चाहिए। लगभग 100 ms के सिंक्रोनस बजट के साथ, डीप वीडियो एनालिसिस एक एसिंक्रोनस पथ से संबंधित है; यदि किसी श्रेणी को बिना किसी देरी के हटाया जाना चाहिए, तो उसके लिए एक भारी सिंक्रोनस जांच आरक्षित रखें।
त्रुटि लागतों को कैसे क्रमबद्ध किया जाना चाहिए
पूछें कि क्या वैध अभिव्यक्ति को हटाना या अत्यधिक नुकसानदेह सामग्री को छोड़ देना अधिक महंगा है, और क्या देश, आयु या नीति श्रेणी के अनुसार यह समझौता बदलता है। उत्तर थ्रेशोल्ड, मानव बैंड के आकार और यह निर्धारित करता है कि क्या कोई स्वचालित कार्रवाई सीधे सामग्री को हटा सकती है।
समीक्षा साक्ष्य को कितने समय तक जीवित रहना चाहिए
अपील विंडो, नियामक साक्ष्य, मीडिया प्रतिधारण और हटाने की आवश्यकताओं को स्पष्ट करें। यदि किसी निर्णय को दोबारा चलाकर देखना (replay) आवश्यक है, तो केवल अंतिम लेबल के बजाय नीति और मॉडल वर्जन, इनपुट डाइजेस्ट, स्कोर, उद्धृत साक्ष्य और समीक्षक कार्रवाई को संग्रहीत करें।
मॉडल और समीक्षक की सीमाएं क्या हैं
पूछें कि क्या मॉडल अनुपलब्ध होने पर पब्लिशिंग को डिग्रेड किया जा सकता है, समीक्षक प्रत्येक दिन कितने मामलों को प्रोसेस कर सकते हैं, और अधिकतम प्रतीक्षा समय क्या है। जब क्षमता कम हो, तो कम जोखिम वाले एसिंक्रोनस प्रवेश को कम करें या गैर-महत्वपूर्ण कार्य में देरी करें; किसी भी अनबाउंड कतार को चुपचाप उच्च-जोखिम वाली सामग्री जारी न करने दें।
30-सेकंड का उत्तर
“मैं इस पथ को सिंक्रोनस प्री-स्क्रीनिंग और एसिंक्रोनस डीप रिव्यू में विभाजित करूंगा। अपलोड पर, हैश मिलान, प्रारूप और आकार की जांच, एक लाइटवेट क्लासिफायर और बेसलाइन पॉलिसी जांच चलाएं। स्पष्ट उच्च-जोखिम वाले परिणामों को ब्लॉक करें, कॉन्फिडेंस बैंड को जोखिम और अपेक्षित प्रदर्शन (expected exposure) के आधार पर व्यवस्थित मानव कतार में भेजें, और कम जोखिम वाली सामग्री को पोस्ट-पब्लिकेशन री-स्कैन मार्कर के साथ प्रकाशित करें। प्रत्येक निर्णय अपने मॉडल, नीति, साक्ष्य और वर्जन को संग्रहीत करता है, जबकि अपील एक अलग समीक्षक के पास जाती है। मैं 2,778-अनुरोध-प्रति-सेकंड के पीक के लिए प्री-स्क्रीनिंग को स्केल करूंगा, टेनेंट और जोखिम के आधार पर कतारों को अलग करूंगा, और छूटे हुए मामलों, फॉल्स पॉजिटिव्स, कतार की आयु, एक्सपोज़र समय और समीक्षक लोड की निगरानी करूंगा। मॉडल या कतार विफलताओं के लिए सुरक्षित डिफॉल्ट और स्पष्ट मानव फ़ॉलबैक का उपयोग किया जाता है।”
चरण-दर-चरण गहन विश्लेषण
चरण 1: सिंक्रोनस और एसिंक्रोनस निर्णयों को विभाजित करें
सामग्री स्वीकार करने के बाद, इनग्रेस एक अपरिवर्तनीय contentId और मीडिया संदर्भ लिखता है। सिंक्रोनस लेयर तेज़ हैश मिलान, प्रारूप और आकार की जांच, एक लाइटवेट टेक्स्ट या इमेज मॉडल और क्षेत्रीय नीति जांच करती है। एक स्पष्ट उच्च-जोखिम वाला परिणाम ब्लॉक कर दिया जाता है; एक अनिश्चित परिणाम PENDING_REVIEW में प्रवेश करता है; एक कम जोखिम वाला परिणाम री-स्कैन मार्कर के साथ प्रकाशित हो सकता है। वीडियो फ्रेम सैंपलिंग, वाक् पहचान (speech recognition) और मल्टी-मॉडल फ़्यूज़न एसिंक्रोनस रूप से चलते हैं ताकि डीप एनालिसिस प्रत्येक पोस्ट को ब्लॉक न करे।
चरण 2: श्रेणियों पर कार्रवाई करें, एक वैश्विक स्कोर पर नहीं
प्रत्येक नीति श्रेणी के लिए एक वैश्विक थ्रेशोल्ड का उपयोग न करें। एक उच्च-हानि श्रेणी कम स्वचालित-ब्लॉक थ्रेशोल्ड का उपयोग कर सकती है और सीमांत मामलों को मनुष्यों के पास भेज सकती है; एक दृढ़ता से प्रासंगिक श्रेणी फॉल्स पॉजिटिव्स को कम करने के लिए एक व्यापक मानव बैंड का उपयोग कर सकती है। थ्रेशोल्ड कॉन्फ़िगरेशन में एक नीति वर्जन और क्षेत्र होता है, और निर्णय इवेंट कच्चे स्कोर और थ्रेशोल्ड को संग्रहीत करता है ताकि बाद में कार्रवाई को समझाया जा सके।
चरण 3: एक स्केलेबल समीक्षा कतार बनाएं
समीक्षा कार्यों को एक टिकाऊ (durable) कतार में लिखें और जोखिम, अपेक्षित प्रदर्शन, उपयोगकर्ता रिपोर्ट और समय सीमा से प्राथमिकता की गणना करें। प्रत्येक कार्य में टेनेंट या क्षेत्र, कंटेंट वर्जन, पॉलिसी वर्जन और एक लीज (lease) होती है; एक समीक्षक इसे थोड़े समय के लिए रखता है, और समय समाप्त होने पर यह कतार में वापस आ जाता है। श्रेणी और क्षेत्र के अनुसार शार्ड करें ताकि एक लोकप्रिय श्रेणी प्रत्येक समीक्षक को समाप्त न कर दे। जब कतार की आयु एक थ्रेशोल्ड को पार कर जाती है, तो कम जोखिम वाले एसिंक्रोनस कार्य के लिए प्रवेश कम करें और अलर्ट भेजें।
चरण 4: अपीलों और फीडबैक को पुनरुत्पादन योग्य बनाएं
एक अपील मूल निर्णय को अधिलेखित (overwrite) करने के बजाय एक नया मामला बनाती है। दूसरा समीक्षक एक अलग अनुमति सेट के साथ मूल साक्ष्य, नीति और मॉडल वर्जन देखता है। निर्णय पलटने पर प्रतिबंध को बहाल या बनाए रखा जाता है और एक ऑडिट इवेंट उत्सर्जित होता है। सैंपल किए गए मानवीय परिणाम, अपील में पलटे गए निर्णय और नए चोरी-छिपे बचने के उदाहरण एक मूल्यांकन सेट को फीड करते हैं, न कि असमीक्षित प्रशिक्षण डेटा को जो खराब लेबलों को बढ़ा सकता है।
चरण 5: जोखिम, अनुभव और लागत का निरीक्षण करें
तत्काल मेट्रिक्स में प्री-स्क्रीन लेटेंसी, प्रति श्रेणी ब्लॉक दर, एसिंक्रोनस कतार की लंबाई और आयु, मॉडल त्रुटियां, समीक्षक थ्रूपुट और सेवा त्रुटियां शामिल हैं। एक बार लेबल परिपक्व हो जाने पर, श्रेणी और क्षेत्र के अनुसार प्रिसिजन (precision), रिकॉल (recall), फॉल्स पॉजिटिव्स, फॉल्स नेगेटिव्स और अपील उलटफेर की गणना करें। ऑनलाइन समय से गुणा की गई उच्च-जोखिम वाली एक्सपोज़र संख्या, समीक्षक एक्सपोज़र और प्रति आइटम लागत को भी मापें; केवल मॉडल सटीकता गवर्नेंस की विफलता को प्रकट नहीं कर सकती है।
चरण 6: विफलताओं और प्रतिकूल इनपुट को कवर करें
जब कोई मॉडल टाइम आउट हो जाता है या अनुपलब्ध होता है, तो हैश और नियम ब्लॉकिंग को बनाए रखें। अज्ञात-जोखिम वाली सामग्री प्रतिबंधित पब्लिशिंग या मनुष्यों के पास जाती है; "कोई परिणाम नहीं" सुरक्षित के बराबर नहीं है। पुन: एन्कोड किए गए मीडिया, अस्पष्ट टेक्स्ट, डुप्लिकेट अपलोड और कतार लोड बनाने के प्रयासों को रेट-सीमित और बजट करें। घटना विश्लेषण और नीति रोलबैक के लिए प्रत्येक स्वचालित कार्रवाई contentId द्वारा दोबारा चलाने योग्य (replayable) होनी चाहिए।
एक उच्च-गुणवत्ता वाला नमूना उत्तर
मैं पहले सिंक्रोनस बजट और उच्च-जोखिम वाली श्रेणियों की पुष्टि करूंगा। औसतन 278 अनुरोध प्रति सेकंड और पीक पर 2,778 की धारणा के साथ, मैं सिंक्रोनस पथ को हैश, प्रारूप जांच, लाइटवेट मॉडल और क्षेत्रीय नियमों तक सीमित रखूंगा, जिसका लक्ष्य 100 ms से अधिक नहीं होगा। स्पष्ट रूप से हानिकारक सामग्री को तुरंत अस्वीकार कर दिया जाता है; मध्य बैंड एक टिकाऊ मानव कतार में प्रवेश करता है; कम जोखिम वाली सामग्री री-स्कैन मार्कर के साथ प्रकाशित होती है। डीप वीडियो और ऑडियो विश्लेषण प्रत्येक उपयोगकर्ता को ब्लॉक करने के बजाय कतारों और कार्यकर्ताओं (workers) के माध्यम से चलता है।
थ्रेशोल्ड सभी जोखिमों के लिए एक स्कोर के रूप में नहीं, बल्कि प्रति नीति श्रेणी कॉन्फ़िगर किए जाते हैं। प्रत्येक निर्णय कंटेंट आईडी और वर्जन, मॉडल और पॉलिसी वर्जन, स्कोर, साक्ष्य सारांश और कार्रवाई को संग्रहीत करता है। समीक्षा कार्यों को अपेक्षित प्रदर्शन, जोखिम, रिपोर्ट और समय सीमा के आधार पर क्रमबद्ध किया जाता है, और लीज डुप्लिकेट दावों को रोकती हैं। कतार का दबाव पहले उच्च-जोखिम वाले काम की सुरक्षा करता है। समीक्षक के निर्णय और उलटफेर अपरिवर्तनीय घटनाएं हैं, और अपीलों को मूल साक्ष्य के साथ एक अलग समीक्षक द्वारा संभाला जाता है।
मैं प्री-स्क्रीन लेटेंसी, कतार की आयु, श्रेणी के अनुसार फॉल्स पॉजिटिव्स और छूटे हुए मामलों, एक्सपोज़र समय, अपील उलटफेर, समीक्षक क्षमता और यूनिट लागत की निगरानी करूंगा। एक मॉडल आउटेज अभी भी हैश और नियम ब्लॉकिंग चलाता है; अज्ञात परिणाम प्रतिबंधित पब्लिशिंग या मानव फ़ॉलबैक का उपयोग करते हैं। मॉडल, नीति और क्षेत्रीय परिवर्तनों को ऑफ़लाइन दोबारा चलाया जाता है और फिर कैनरी (canary) परीक्षण किया जाता है। लक्ष्य एक समझाने योग्य, प्रतिवर्ती प्रणाली है जो लगातार नुकसान को कम करती है, न कि केवल एक ऑफ़लाइन सटीकता संख्या।
सामान्य गलतियाँ
- प्रत्येक आइटम के लिए भारी मॉडल को सिंक्रोनस रूप से चलाना → वीडियो और ऑडियो लेटेंसी पब्लिशिंग पथ पर हावी हो जाती है → सिंक्रोनस कार्य को तेज़ प्री-स्क्रीनिंग तक सीमित रखें और डीप एनालिसिस को कतारों में ले जाएं।
- प्रत्येक श्रेणी के लिए एक थ्रेशोल्ड का उपयोग करना → अत्यधिक नुकसानदेह चूक और प्रासंगिक फॉल्स पॉजिटिव्स दोनों को नियंत्रित नहीं किया जा सकता है → मानव बैंड के साथ नीति और क्षेत्र के अनुसार थ्रेशोल्ड कॉन्फ़िगर करें।
- मॉडल द्वारा कोई परिणाम न दिए जाने पर सामग्री की अनुमति देना → एक टाइमआउट एक गैर-ऑडिट की गई चूक बन जाता है → नियम और हैश ब्लॉकिंग को बनाए रखें और अज्ञात परिणामों को प्रतिबंधित या मानवीय प्रबंधन के लिए रूट करें।
- केवल अंतिम लेबल संग्रहीत करना → एक अपील निर्णय का पुनर्निर्माण नहीं कर सकती है → सामग्री, मॉडल, नीति, स्कोर, साक्ष्य और कार्रवाई वर्जन संग्रहीत करें।
- कतार को पूरी तरह से FIFO के रूप में प्रोसेस करना → लोकप्रिय या कम मूल्य वाला ट्रैफ़िक उच्च-जोखिम वाले मामलों को भूखा रखता है → क्षमता को अलग करते हुए जोखिम, अपेक्षित प्रदर्शन और समय सीमा के अनुसार क्रमबद्ध करें।
फॉलो-अप प्रश्न
फॉलो-अप 1: क्या कुल मात्रा का केवल 1% समीक्षा करना पर्याप्त है?
प्रतिशत लक्ष्य नहीं है। AWS दस्तावेज़ अपने इमेज और वीडियो वर्कफ़्लो को एक उदाहरण के रूप में उपयोग करता है जहां मशीन फ़िल्टरिंग मानव समीक्षा के लिए लगभग 1%–5% छोड़ सकती है; आपका सिस्टम उस सीमा को सार्वभौमिक गारंटी के रूप में मानने के बजाय अभी भी श्रेणी रिकॉल, चूक के नुकसान, कतार की आयु और एक्सपोज़र समय को मान्य करता है। यदि कोई उच्च-जोखिम वाली श्रेणी छूट जाती है, तो मानव बैंड को चौड़ा करें या पब्लिशिंग प्रवेश को कड़ा करें।
फॉलो-अप 2: क्या होगा यदि समीक्षा कतार एक दिन के लिए बैकअप (लंबित) हो जाए?
जोखिम और अपेक्षित प्रदर्शन के आधार पर पुन: व्यवस्थित करें, कम मूल्य वाले बैच कार्य को रोकें, उच्च-जोखिम समीक्षा क्षमता जोड़ें और अलर्ट जारी करें। पहले से प्रकाशित वस्तुओं को री-स्कैन करें और दर-सीमित करें; कार्यों को चुपचाप छोड़ कर बैकलॉग संख्या को कम न करें। यदि उच्च-जोखिम की समय सीमा अभी भी पूरी नहीं की जा सकती है, तो पब्लिशिंग को कड़ा करें और व्यवसाय के सामने क्षमता की कमी को उजागर करें।
फॉलो-अप 3: आप किसी सफल अपील को दोबारा गलत वर्गीकृत होने से कैसे रोकते हैं?
अपील से पहले और बाद के नीति और मॉडल वर्जन रखें, श्रेणी के अनुसार एक स्वतंत्र मूल्यांकन सेट में उलटफेर जोड़ें, और क्षेत्रीय, भाषा या समूह पूर्वाग्रह की जांच करें। थ्रेशोल्ड या नियमों को बदलने से पहले ऐतिहासिक नमूनों को फिर से चलाएं, फिर परिवर्तन का कैनरी परीक्षण करें। अपील का परिणाम कोई असमीक्षित प्रशिक्षण लेबल नहीं है।
फॉलो-अप 4: मॉडल विक्रेताओं को बदलते समय आप ट्रेसिएबिलिटी कैसे बनाए रखते हैं?
प्रत्येक मॉडल के लिए एक सामान्यीकृत एडेप्टर आउटपुट और वर्जन परिभाषित करें, और विक्रेता परिणाम का सारांश और मैपिंग नियम बनाए रखें। क्षेत्रीय या ट्रैफ़िक कैनरी से पहले श्रेणी त्रुटियों, चूक, लेटेंसी और लागत के लिए एक निश्चित रीप्ले सेट और ब्लाइंड मानव समीक्षा पर नए मॉडल की तुलना करें। रिग्रेशन होने पर, पॉलिसी वर्जन द्वारा पुराने एडेप्टर पर रोलबैक करें।