پرش به محتوای اصلی
پرش به محتوای مقاله

پایپ‌لاین استریمینگ انویدیا نیاز به دانلود ۷۰۷ گیگابایت داده‌های رباتیک را حذف

·۱۴ مهر ۱۴۰۵۱۳ دقیقه مطالعه
راهنما
خطای یادگیری رباتیک جریانی با استفاده از NVIDIA Cosmos3-DROID
خطای یادگیری رباتیک جریانی با استفاده از NVIDIA Cosmos3-DROID
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

جایگزینی مدل دانلود کامل با استریمینگ مبتنی بر محدوده-بایتی (Byte-range) برای داده‌های رباتیک؛ این یعنی کاهش مصرف دیسک از ۷۰۷ گیگابایت به چند صد مگابایت بدون افت کیفیت آموزش.

تصور کنید برای آموزش یک ربات، مجبور باشید ۷۰۷ گیگابایت داده را روی سیستم خود ذخیره کنید؛ سدی سخت که تقریباً هر پژوهشگر مستقلی را از میدان به در می‌کند. اما پیاده‌سازی جدیدی که در ۵ اکتبر ۲۰۲۶ منتشر شد، ثابت کرد می‌توان یک خط لوله یادگیری کامل برای مجموعه‌داده NVIDIA Cosmos3-DROID ساخت، بدون آنکه حتی یک درصد از این حجم عظیم را به‌صورت محلی ذخیره کنیم.

این تغییر رویکرد، رباتیک را از مدل «اول دانلود، بعد آموزش» به معماری «استریم بر اساس تقاضا» منتقل می‌کند. برای اکثر توسعه‌دهندگان، مانع اصلی در ورود به دنیای رباتیک با دقت بالا، محدودیت حافظه و پهنای باند بود. با تبدیل یک مجموعه‌داده عظیم به یک پایگاه‌داده راه دور — شبیه به تماشای فیلم در نتفلیکس به‌جای دانلود کامل آن — هزینه آزمایش و خطا به‌شدت کاهش می‌یابد. همان‌طور که در تحلیل‌های پیشین ما درباره‌ی بهینه‌سازی زیرساخت‌های مدل‌های بنیادی اشاره کردیم، حذف گلوگاه‌های سخت‌افزاری، سرعت نوآوری را به‌صورت نمایی افزایش می‌دهد. این رویکرد در راستای جریانی است که در آن وابستگی‌های سخت‌افزاری در آموزش سیاست‌های کنترلی رباتیک به‌طور فعال در حال حذف شدن هستند تا دسترسی به یادگیری ماشین رباتیک تسهیل شود.

معماری استریمینگ

طبق مستندات فنی این پروژه، هسته این سیستم بر یک فرآیند اکتشاف مبتنی بر متادیتا استوار است. سیستم به‌جای کشیدن کل مخزن، ابتدا ساختار LeRobotDataset v3.0 را بررسی می‌کند. سپس با استفاده از فایل info.json و جداول اپیزودها، یک گراف متادیتا می‌سازد تا دقیقاً بداند هر تکه از داده در کجا قرار دارد.

برای بازیابی داده‌ها، این خط لوله از دسترسی محدوده-بایتی HTTP (HTTP byte-range access) در ترکیب با PyArrow استفاده می‌کند. این سازوکار به سیستم اجازه می‌دهد تنها گروه‌های سطری و ستون‌های مورد نیاز از فایل‌های Parquet را بخواند. اگر پژوهشگری فقط به موقعیت مفاصل در یک اپیزود خاص نیاز داشته باشد، سیستم فقط همان بایت‌های خاص را فراخوانی می‌کند، نه کل قطعه داده را.

اکتشاف مخزن و متادیتا

بر اساس بررسی‌های فنی، فرآیند با تحلیل ساختار مخزن آغاز می‌شود. سیستم قطعات داده (shards) را در دایرکتوری‌های مختلف شناسایی می‌کند. این دایرکتوری‌ها شامل success/data برای داده‌های موفق، success/videos برای ویدیوها و success/meta برای متادیتا هستند. همچنین همین ساختار برای دایرکتوری‌های failure (شکست) تکرار شده است. با بارگذاری فایل info.json استاتیک‌های حیاتی مانند تعداد کل اپیزودها، تعداد کل فریم‌ها و تعداد تکالیف منحصربه‌فرد استخراج می‌شوند.

طرح‌واره داده‌ها و ویژگی‌ها

ویژگی‌های این مجموعه‌داده به سه جریان اصلی تقسیم شده‌اند:

  • مشاهدات وضعیت (State Observations): شامل observation.state.joint_positions (موقعیت مفاصل)، observation.state.gripper_position (وضعیت گیره) و observation.state.cartesian_position (موقعیت دکارتی).
  • اهداف عملیاتی (Action Targets): تمرکز بر action.joint_velocity (سرعت مفاصل) و action.gripper_position (موقعیت گیره).
  • داده‌های بصری: جریان‌های ویدیویی مانند observation.image.wrist_image_left (تصویر مچ دست چپ).

توصیف تکالیف از طریق فایل tasks.parquet مدیریت می‌شود که این فایل شاخص‌های تکلیف را به رشته‌های متنی قابل خواندن برای انسان متصل می‌کند. این ساختار اجازه می‌دهد تا خط لوله، مسیرهای حرکتی خاص را به اهداف مورد نظرشان مرتبط کند، بدون آنکه نیاز باشد کل جدول تکالیف در حافظه رم بارگذاری شود.

جزئیات خواننده Parquet محدوده-بایتی

برای حذف ذخیره‌سازی محلی، یک خواننده تخصصی طراحی شده که با سیستم فایل Hugging Face (HfFileSystem) تعامل می‌کند. این خواننده از مکانیزم‌های زیر بهره می‌برد:

  • پروجکشن گروه‌های سطری: خواننده با استفاده از pf.metadata بازه گروه‌های سطری را محاسبه می‌کند. سیستم شناسایی می‌کند کدام گروه‌های سطری شامل شاخص‌های اپیزود درخواستی هستند و تنها همان گروه‌ها را می‌خواند.
  • دسترسی ستونی: به‌جای خواندن کامل هر سطر، سیستم تنها ستون‌های تعریف‌شده در READ_COLS (شامل وضعیت، اکشن، برچسب زمانی و شاخص‌ها) را استخراج می‌کند.
  • تبدیل به NumPy: داده‌ها از جداول PyArrow به آرایه‌های NumPy تبدیل می‌شوند. در این مرحله، ستون‌هایی که از نوع لیست هستند، تخت (flatten) شده و به تنسورهای float32 تغییر شکل می‌دهند.

تحلیل مسیرهای حرکتی (Trajectory Analytics)

قبل از شروع آموزش، سیستم تحلیل‌های عمیقی روی مسیرهای حرکتی انجام می‌دهد. این شامل بصری‌سازی موقعیت مفاصل بر حسب رادیان و ردیابی رویدادهای گیره است؛ به‌طوری که هرگاه تغییر در موقعیت گیره از ۰.۰۵ بیشتر شود، به عنوان یک رویداد ثبت می‌گردد. همچنین مسیرهای دکارتی مجری نهایی (end-effector) در فضای سه‌بعدی رسم می‌شوند تا نقاط شروع و پایان هر تکلیف به‌وضوح مشخص شود.

تحلیل‌های پیشرفته‌تر شامل محاسبه طیف فرکانس عملیات با استفاده از تبدیل فوریه سریع (FFT) است. با نرخ ۱۵ فریم بر ثانیه (FPS) در مجموعه‌داده، فرکانس نایکوئیست ۷.۵ هرتز است. این ابزار به پژوهشگران کمک می‌کند تا چگالی طیفی سرعت مفاصل را درک کرده و نویزها یا نوسانات احتمالی در داده‌های کنترل از راه دور (teleoperation) را شناسایی کنند.

مدیریت داده‌های بصری

داده‌های ویدیویی معمولاً سنگین‌ترین بخش مجموعه‌داده‌های رباتیک هستند. این خط لوله مشکل را با رمزگشایی مبتنی بر جست‌وجو (seek-based decoding) از طریق PyAV و FFmpeg حل می‌کند.

  • پنجره‌بندی زمانی: سیستم با استفاده از جدول اپیزود، chunk_index (شاخص تکه)، file_index (شاخص فایل) و برچسب‌های زمانی دقیق from_timestamp و to_timestamp را برای هر کلیپ ویدیویی می‌یابد.
  • دسترسی مستقیم: تنها پنجره‌های ویدیویی AV1 مورد نیاز از طریق دسترسی seek رمزگشایی می‌شوند و از دانلود کامل فایل‌های .mp4 اجتناب می‌شود.
  • مسیرهای رمزگشایی: سیستم برای سازگاری با محیط‌های مختلف کدک AV1، هر دو روش PyAV (با استفاده از c.seek) و FFmpeg (با استفاده از فلگ -ss) را پشتیبانی می‌کند.
  • پردازش لحظه‌ای: فریم‌ها به اندازه کوچکی (مثلاً ۹۶x۹۶) تغییر سایز داده شده و به بازه ۰.۰ تا ۱.۰ نرمال‌سازی می‌شوند.

این استراتژی تضمین می‌کند که حتی هنگام کار با منبع ۷۰۷ گیگابایتی، حداکثر فضای اشغال‌شده روی دیسک در حد چند صد مگابایت باقی بماند.

نرمال‌سازی و ساخت مجموعه‌داده

برای پایداری آموزش، سیستم از فایل stats.json برای بارگذاری میانگین و انحراف معیار تمام کلیدهای وضعیت و اکشن در سطح کل مجموعه‌داده استفاده می‌کند. اگر این فایل در دسترس نباشد، سیستم آمارهای تجربی را بر اساس اپیزودهای بارگذاری‌شده محاسبه می‌کند.

سپس یک مجموعه‌داده PyTorch به سبک ACT ساخته می‌شود. در این روش، یک پنجره لغزان (sliding window) به کار می‌رود که تاریخچه مشاهدات (مثلاً OBS_HISTORY = 2) را با یک تکه اکشن آینده (مثلاً HORIZON = 8) جفت می‌کند. این ساختار به مدل اجازه می‌دهد زمینه زمانی را درک کرده و توالی هدف را پیش‌بینی کند.

آموزش سیاست و معماری مدل

معماری آموزش بر پایه یک سیاست کپی‌برداری رفتاری (behavior-cloning) چندوجهی است. این مدل از رویکرد ACT (تکه‌بندی اکشن با ترنسفورمرها) استفاده می‌کند تا به‌جای پیش‌بینی تک‌گام، توالی‌های آینده را پیش‌بینی کند:

  • رمزگذار وضعیت: یک MLP تاریخچه وضعیت‌های حس‌گر (proprioceptive) را پردازش کرده و آن را به یک بردار ویژگی پنهان با اندازه ۵۱۲ تبدیل می‌کند.
  • رمزگذار بینایی: یک CNN اختیاری مشاهدات بصری همگام‌سازی‌شده را پردازش می‌کند. این بخش شامل چهار لایه کانولوشن با GroupNorm و فعال‌ساز SiLU است که با یک AdaptiveAvgPool2d و یک لایه خطی به پایان می‌رسد تا ویژگی‌های ۲۵۶ بعدی تولید کند.
  • تنه و سر مدل: ویژگی‌های ترکیب‌شده از لایه‌های Linear و LayerNorm عبور کرده و در نهایت به سری (head) مدل می‌رسند که تکه اکشن کامل (horizon * action_dim) را پیش‌بینی می‌کند.

برای افزایش استواری، از تابع زیان Smooth L1 با بتا ۰.۱ استفاده شده تا مدل روی نویزهای داده‌های انسانی Overfitting (بیش‌برازش) نشود. بهینه‌سازی نهایی با AdamW، یک زمان‌بند نرخ یادگیری OneCycle و اجرای دقت ترکیبی (mixed-precision) از طریق torch.amp.GradScaler انجام می‌شود.

ارزیابی و اجرای عملیاتی (Rollout)

در مرحله ارزیابی، سیاست آموزش‌دیده از طریق اجرای حلقه-باز (open-loop rollout) تست می‌شود. برای جلوگیری از لرزش‌های رایج در ربات‌های هوشمند، از «تجمعی زمانی با وزن نمایی» (exponentially weighted temporal ensembling) استفاده می‌شود. این روش پیش‌بینی‌های متداخل از گام‌های زمانی مختلف را با یک ضریب کاهش (مثلاً m=0.1) ترکیب می‌کند تا مسیری نرم ایجاد شود.

عملکرد مدل با معیار MSE (میانگین مربعات خطا) برای هر مفصل و امتیاز R² در برابر یک خط پایه «میانگین اکشن» سنجیده می‌شود. این معیار نشان می‌دهد که هوش مصنوعی چقدر بهتر از یک میانگین ساده از داده‌های آموزشی عمل می‌کند. در نهایت، سیاست به صورت یک چک‌پوینت .pt شامل وزن‌های مدل، آمارهای نرمال‌سازی و متادیتای پیکربندی ذخیره می‌شود.

مقیاس‌پذیری خط لوله

این معماری به‌گونه‌ای طراحی شده که کاملاً توسعه‌پذیر باشد. توسعه‌دهندگان می‌توانند با افزودن قطعات داده بیشتر یا تغییر دایرکتوری ریشه به بخش failure و استفاده از ۱۴,۲۶۸ اپیزود منفی، طبقه‌بندهای موفقیت را آموزش دهند.

علاوه بر این، خط لوله را می‌توان برای مدل‌های VLA (بینایی-زبان-اکشن) تطبیق داد. با ادغام یک رمزگذار متنی برای ۵۳,۰۸۶ رشته متنی تکالیف موجود، مدل می‌تواند از کپی‌برداری ساده به رباتیکِ «پیرو دستورات» تبدیل شود. این تحول در مدل‌های VLA، شباهت زیادی به نحوه تطبیق ربات‌های صنعتی با هوش مصنوعی فیزیکی تطبیق‌پذیر توسط Palladyne و FANUC دارد که انعطاف‌پذیری عملیاتی را در محیط‌های صنعتی افزایش می‌دهد. سایر اهرم‌های مقیاس‌پذیری شامل تغییر VIDEO_KEY برای استفاده از تصاویر خارجی جهت تصادفی‌سازی چند-نمایی (multi-view randomization) یا تغییر هدف به action.cartesian_velocity برای کنترل مجری نهایی است.

این متدولوژی فرض بنیادی مبنی بر اینکه رباتیک در مقیاس بزرگ نیازمند زیرساخت‌های محلی عظیم است را تغییر می‌دهد. این پروژه ثابت می‌کند که استریمینگ داده‌های ابری برای آموزش رباتیک با فرکانس بالا کاملاً عملی است و درهای تکرار سریع آزمایش‌ها را در این حوزه می‌گشاید.

گام بعدی شما

  • اگر روی پروژه‌های رباتیک کار می‌کنید، کتابخانه LeRobot را برای پیاده‌سازی استریمینگ داده‌ها بررسی کنید.
  • برای کاهش هزینه محاسبات، از تکنیک‌های دقت ترکیبی (mixed-precision) در آموزش مدل‌های ACT استفاده کنید. در این راستا، درک پیوند ریاضیات مدل‌ها با هزینه‌های استقرار می‌تواند به بهینه‌سازی منابع در مقیاس صنعتی کمک کند.
  • برای تحلیل نویز داده‌های کنترل از راه دور، از تبدیل فوریه سریع (FFT) برای بررسی فرکانس‌های حرکتی بهره ببرید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell و بهینه‌سازی استنتاج در لبه مراجعه کنید.

چرا این موضوع مهم است؟

این متدولوژی با حذف نیاز به زیرساخت‌های ذخیره‌سازی عظیم، سرعت تکرار و آزمایش در رباتیک را به‌شدت افزایش می‌دهد. اعتبار این روش از طریق استفاده از استانداردهای PyArrow و Hugging Face تأیید شده و مانع ورود پژوهشگران مستقل را از بین می‌برد.

تأثیر برای ایران

این متدولوژی برای پژوهشگران رباتیک در ایران که با محدودیت پهنای باند و سخت‌افزار مواجه‌اند، یک راهکار حیاتی است؛ زیرا نیاز به دانلود حجم‌های عظیم داده را حذف کرده و آموزش مدل‌ها را روی سیستم‌های معمولی ممکن می‌کند.

·نگاه ما
تحریریه دات‌هوش

این رویکرد نشان می‌دهد که در دنیای رباتیک، همان‌طور که در مدل‌های زبانی شاهد انتقال به استنتاج توکنی بودیم، اکنون زمان انتقال از «مدیریت فایل» به «مدیریت جریان داده» است. حذف نیاز به ذخیره‌سازی محلی، دموکراتیزه کردن آموزش ربات‌ها را ممکن می‌کند و اجازه می‌دهد پژوهشگران با سخت‌افزارهای معمولی، روی مجموعه‌داده‌های در سطح صنعتی کار کنند. این یک چرخش از سخت‌افزار-محوری به سمت بهینه‌سازی لایه دسترسی به داده است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.