एक एकल स्टैक पर रोबोट: पूर्ण लूप के लिए स्ट्रैंड्स, लेरोबोट और हगिंग फेस स्टोरेज बाल्टी - रिकॉर्डिंग से तैनाती तक

21 अगस्त 202620 बार देखा गया

नई अमेज़ॅन सामग्री में, यह दिखाया गया है कि ओपन-सोर्स स्ट्रैंड्स एजेंट्स SDK पर आधारित एक एंड-टू-एंड प्रक्रिया का निर्माण कैसे किया जाए: रोबोट एक स्टोरेज बाल्टी के लिए एक प्रदर्शन रिकॉर्ड करता है, मॉडल सीधे हब से स्ट्रीमिंग डेटासेट पर ट्रेन करता है, और समाप्त चेकपॉइंट एक ही पैरामीटर को बदलकर उसी हार्डवेयर में वापस आता है। यह दृष्टिकोण डेटा प्रतियों के रूपांतरण और स्थानीय भंडारण की आवश्यकता को समाप्त करता है।.

एक एकल स्टैक पर रोबोट: पूर्ण लूप के लिए स्ट्रैंड्स, लेरोबोट और हगिंग फेस स्टोरेज बाल्टी - रिकॉर्डिंग से तैनाती तक

संदर्भ स्विच के बिना बंद लूप

एक पारंपरिक रोबोटिक्स परियोजना पाइपलाइन को पृथक चरणों में विभाजित किया गया है: सबसे पहले, प्रदर्शन वास्तविक या नकली हार्डवेयर पर एकत्र किए जाते हैं, फिर डेटा को प्रशिक्षण के लिए एक अलग प्रणाली में स्थानांतरित किया जाता है, और उसके बाद , प्रशिक्षित मॉडल को रोबोट पर वापस तैनात करने की आवश्यकता है। प्रत्येक संक्रमण के लिए प्रारूप रूपांतरण, मैनुअल सिंक्रनाइज़ेशन और पर्यावरण सेटअप की आवश्यकता होती है। नतीजतन, पॉलिसी चलाने के लिए पहले एपिसोड की रिकॉर्डिंग से बहुत समय गुजरता है, और डेटा में कोई भी बदलाव एक अलग ऑपरेशन बन जाता है।

अगस्त 2026 में AWS टीम द्वारा प्रस्तुत नया दृष्टिकोण, इस लूप को एक स्थान पर बंद कर देता है। कई डिस्कनेक्टेड टूल के बजाय, एक एजेंट प्रस्तावित है कि प्रदर्शन रिकॉर्ड कर सकते हैं, उन्हें क्लाउड स्टोरेज में भेज सकते हैं, उन पर एक मॉडल ट्रेन कर सकते हैं, और रोबोट पर एक अद्यतन चेकपॉइंट वापस लौट सकते हैं। कुंजी विचार सिस्टम के बीच डेटा हस्तांतरण नहीं है, लेकिन सीधे भंडारण से, एक स्ट्रीमिंग फैशन में इसके साथ काम करने के लिए।

एजेंट उपकरण और SDK

समाधान की नींव है स्ट्रेंड्स रोबोट - अपाचे 2.0 लाइसेंस के तहत वितरित एडब्ल्यूएस से एक खुला एसडीके। यह रोबोटिक्स अमूर्तता, अनुकरण और प्रदान करता है लेरोबोट एजेंट टूल के एक सेट के रूप में स्टैक करें। ये उपकरण एक एकल स्ट्रैंड्स एजेंट में बनाए जाते हैं: रोबोट, सिम्युलेटर और डेटा प्रोसेसिंग विनिमेय मॉड्यूल बन जाते हैं।

केंद्रीय Robot() कारखाने समर्थित उपकरणों की रजिस्ट्री के खिलाफ एक नाम को हल करता है। रजिस्ट्री में जोड़तोड़, humanoid रोबोट, मोबाइल बेस और स्टैंडअलोन हथियार शामिल हैं। उपलब्ध विन्यास में से एक SO-100 है, जो अक्सर प्रयोगों के लिए उपयोग किया जाता है। इस रजिस्ट्री के लिए धन्यवाद, वही कोड सिमुलेशन और एक वास्तविक उपकरण दोनों के साथ काम करता है: आपको केवल मोड पैरामीटर बदलने की आवश्यकता है।

एजेंट को प्राकृतिक भाषा में एक कमांड प्राप्त होता है, जैसे कि "एक प्रदर्शन को रिकॉर्ड करें और इसे सिंक करें एक बाल्टी के लिए, "और उचित उपकरण को स्वयं कहते हैं। यह चरणों के हार्डकोडेड अनुक्रम के बिना जटिल परिदृश्यों का निर्माण करने की अनुमति देता है - नियंत्रण लॉजिक भाषा मॉडल को डेलिगेटेड है, जबकि एसडीके रोबोट और डेटा के साथ निम्न स्तर के संचालन को संभालता है।

एकीकृत डेटा प्रारूप

एक महत्वपूर्ण विस्तार है लेरोबोट डेटासेट प्रारूप प्रकाशन के समय, 90,000 से अधिक डेटासेट और मॉडल पर Hugging फेस हब पहले से ही इस प्रारूप का उपयोग 8000 से अधिक विभिन्न लेखकों द्वारा प्रकाशित किया गया था। इस गोद लेने के लिए धन्यवाद, लेरोबोट रोबोटिक्स प्रदर्शनों के भंडारण के लिए वास्तविक मानक बन गया है।

स्ट्रैंड्स रोबोट के माध्यम से बनाई गई एक रिकॉर्डिंग को सीधे लेरोबोटडाटासेट प्रारूप में बचाया जाता है। इसका मतलब यह है कि किसी भी उपकरण को पढ़ा जा सकता है LeRobot बिना किसी रूपांतरण के इस डेटा के साथ काम कर सकता है। प्रत्येक बैकएंड के लिए अलग-अलग कन्वर्टर्स लिखने की कोई आवश्यकता नहीं है: डेटा को प्रशिक्षण स्क्रिप्ट, विज़ुअलाइज़ेशन टूल और अन्य रोबोटिक्स फ्रेमवर्क में समान रूप से अच्छी तरह से पढ़ा जाता है।

संग्रहण स्ट्रीमिंग

प्रदर्शन की बड़ी मात्रा के भंडारण के लिए, हगिंग फेस स्टोरेज बाल्टी उपयोग किया जाता है - मार्च 2026 में शुरू होने वाला एक नया प्रकार का ऑब्जेक्ट स्टोरेज। नियमित डेटासेट के विपरीत, एक बाल्टी उत्परिवर्तनीय, गैर-संवर्ती भंडारण है जो Xet प्रौद्योगिकी पर बनाया गया है। यह दो महत्वपूर्ण लाभ प्रदान करता है: नए संस्करणों को बनाने के बिना डेटा लिखना और अद्यतन करना और सिंक्रनाइज़ेशन के दौरान केवल परिवर्तित बाइट्स को स्थानांतरित करना।

बाल्टी उसी में रहता है hf:// नामस्थान नियमित डेटासेट के रूप में, इसलिए परिचित hf CLI का उपयोग इसके साथ काम करने के लिए किया जाता है। डेटा को पूरे डेटासेट को डाउनलोड किए बिना सीधे स्टोरेज से स्ट्रीम किया जा सकता है। बड़े प्रदर्शन वीडियो के लिए, यह महत्वपूर्ण है: प्रशिक्षण शुरू करने के लिए पूर्ण डाउनलोड के लिए इंतजार करने की कोई आवश्यकता नहीं है।

व्यवहार में डेटा लूप

यह समझने के लिए कि कैसे यह सब मिलकर काम करता है, आइए आधिकारिक एडब्ल्यूएस ब्लॉग से एक उदाहरण देखते हैं, जहां स्ट्रेंड्स रोबोट, लेरोबोट, और हगिंग फेस स्टोरेज बाल्टी स्टैक का उपयोग एक पूर्ण लूप के लिए किया जाता है। एक रोबोट उपकरण के साथ एक एजेंट बनाया जाता है, जिसमें सिमुलेशन मोड डिफ़ॉल्ट रूप से सक्रिय होता है:

🖥️प्रशन [[at]: 1 पेज - 365airsoft.com

सिम = रोबोट ("so100") एजेंट = एजेंट (उपकरण = [sim])

एजेंट को प्राकृतिक भाषा में एक कमांड दिया जा सकता है: "एक पिक-द-क्यूब प्रदर्शन को रिकॉर्ड करें और इसे सिंक करें my-org/robot-fave भंडार कमांड एक पूर्वनिर्धारित टेम्पलेट द्वारा पार्स नहीं है - एजेंट का तर्क मॉडल स्वयं कार्यों के अनुक्रम को निर्धारित करता है: रिकॉर्डिंग शुरू करें, एक डेटासेट बनाएं, और इसे भेजें बाल्टी में।

पाइथन एजेंट ("एक पिक-द-क्यूब डेमो को रिकॉर्ड करें और इसे माय-ऑर्ग / रोबोट-फवे" में सिंक करें।

सिंक्रनाइज़ेशन को डिज़ाइन किया गया है ताकि बार-बार रनों पर, केवल बदलाव किए गए बाइट्स को अपलोड किया जा सके - पूरे डेटासेट को फिर से लिखने की कोई आवश्यकता नहीं है। प्रदर्शन के बाद, वही Robot() ऑब्जेक्ट डेटासेट को वापस स्ट्रीम कर सकता है। अंदर stream_dataset() विधि, डेटा फ्रेम द्वारा फ्रेम पढ़ा जाता है, वीडियो को फ्लाई पर डिकोड किया जाता है इसलिए डेटासेट की कोई स्थानीय प्रतिलिपि आवश्यक नहीं है।

sim.stream dataset में बैच के लिए अजगर ("my-org/robot-fave/cube pick", repo type="bucket",).dataloader(batch size=64): ...

इस कोड का उपयोग सीधे प्रशिक्षण प्रक्रिया में किया जा सकता है: बैच भंडारण से आते हैं, मॉडल प्रशिक्षित है, और तब तैयार चेकपॉइंट उसी पर तैनात किया जाता है Robot() इसके लिए आपको केवल एक कीवर्ड तर्क बदलने की आवश्यकता है। वास्तविक हार्डवेयर पर दर्ज प्रदर्शन उसी तरह एक ही बाल्टी में वापस आ गए हैं और अगले प्रशिक्षण पुनरावृत्ति के लिए उपलब्ध हो गए हैं। परिणाम एक सतत पाश है: डेटा एकत्र किया जाता है, मॉडल को स्ट्रीमिंग डेटा पर प्रशिक्षित किया जाता है, अद्यतन नीति को बाहर कर दिया जाता है। रोबोट के लिए, और प्रक्रिया दोहराती है।

चलने की आवश्यकता

प्रयोग को पुन: उत्पन्न करने के लिए, आपको पायथन 3.12 या नए और लिनक्स या मैक ओएस की आवश्यकता होगी। एप्पल सिलिकॉन पर, मुजोको बैकेंड अनुकरण के लिए समर्थित है। पैकेज को कमांड के साथ स्थापित किया गया है:

पाइप स्थापित करें "strands-robots[sim-mujoco,lerobot]>=0.5.1"

इसके अतिरिक्त, lerobot सेट शामिल है, जिसमें शामिल हैं लेरोबोट कम से कम संस्करण 0.6.1), datasets, av, और torchcodec पुस्तकालय एजेंट को चलाने के लिए समर्थित मॉडल प्रदाताओं में से एक की आवश्यकता है: अमेज़ॅन बेडरॉक AWS क्रेडेंशियल को कॉन्फ़िगर करने के साथ, एन्थ्रोपिक एपीआई, OpenAIस्थानीय Ollamaइस विकल्प के बाद बादल और पूरी तरह से स्थानीय दोनों में प्रयोग करने की अनुमति देता है।

एक रनेबल साथी लेख के साथ उपलब्ध है - नोटबुक examples/notebooks/05_streaming_data_loop.ipynb, जो पूरे वर्णित पाश को पुन: उत्पन्न करता है। यह देखने के लिए एक सुविधाजनक प्रारंभिक बिंदु है स्ट्रेंड्स रोबोट, हगिंग फेस स्टोरेज बाल्टी, और लेरोबोट कार्रवाई में ढेर।

निष्कर्ष

मुख्य परिणाम एक ही सर्किट में पूरे रोबोटिक्स नीति विकास पाश को पैकेज करने की क्षमता है। रिकॉर्डिंग, भंडारण, प्रशिक्षण और तैनाती उसी अमूर्तता और प्रारूपों का उपयोग करती है। यह मूल रूप से चरणों के बीच "ग्रुप" चरणों की संख्या को कम करता है और प्रयोग को सरल बनाता है: डेटा को बदलने के लिए, आपको केवल बाल्टी में प्रदर्शनों को अद्यतन करने की आवश्यकता है, और पॉलिसी को अद्यतन करने के लिए, आप बस स्ट्रीमिंग डेटा पर मॉडल को फिर से प्रशिक्षित करते हैं और रोबोट बनाते समय एक तर्क बदल देते हैं।

अक्सर पूछे जाने वाले प्रश्न

समान सामग्री

सभी सामग्री
स्ट्रैंड्स रोबोट, लेरोबोट और स्टोरेज बाल्टी समीक्षा