واجهات برمجة التطبيقات السحابية (Cloud APIs) مريحة حتى تتوقف عن كونها كذلك. فواتيرك الشهرية تتصاعد تدريجياً، وتغيير في التسعير قد يربك ميزانيتك. وفي مكان ما بين السطور، تُستخدم بياناتك المملوكة لتدريب نموذج شخص آخر. هذا الاحتكاك يدفع المزيد من المطورين لبناء محطات عمل ذكاء اصطناعي محلية؛ حيث تشتري الأجهزة مرة واحدة، وتتملك البنية التحتية بالكامل، وتحدد بدقة البيانات التي تغادر جهازك.
شهد هذا الأسبوع ثلاثة تطورات ملموسة تجعل هذا التحول أكثر عملية: مساعد تداول بنظام Docker يحافظ على بياناتك المالية في منزلك، ودليل مبسط للتحكم في وحدات NVIDIA GPU الخاصة بك، وإصدار جديد من Hugging Face يضع تعلم الروبوتات في متناول أجهزة الكمبيوتر المكتبية للمستهلكين.
حافظ على بيانات التداول الخاصة بك محلية باستخدام Docker
أطلق أحد المطورين TradingSpy، وهو مساعد بحث ذكاء اصطناعي محلي مصمم خصيصاً لسير عمل التداول. بدلاً من إرسال بيانات السوق وقوائم المراقبة الشخصية إلى نقطة نهاية (endpoint) بعيدة، يمكنك تشغيل كل شيء داخل حاوية Docker على أجهزتك الخاصة.
البيانات المالية هي من أكثر البيانات حساسية. لا ينبغي أن تمر تركيبة محفظتك، وملاحظات التداول، والمراكز التاريخية عبر واجهة برمجة تطبيقات (API) تابعة لجهة خارجية إذا كان بإمكانك تجنب ذلك. تشغيل النموذج محلياً يزيل هذا التعرض تماماً؛ حيث تتولى الحاوية عملية الاستدلال (inference)، ولا تضطر بيانات الوساطة الخام الخاصة بك لمغادرة الجهاز أبداً.
يحل Docker أيضاً مشكلة التبعيات (dependencies) المعقدة التي تؤرق مشاريع تعلم الآلة بلغة Python. غالباً ما تدمج مجموعات أدوات التداول مكتبات بيانات مثل pandas، وأدوات التحليل الفني، ومحركات الاستدلال المسرعة بواسطة GPU. بدون العزل، قد يتطلب مشروع ما CUDA 11.8، بينما يريد مشروع آخر 12.1، ويتحول نظامك الأساسي إلى مقبرة من متغيرات البيئة المتعارضة. يقوم Docker بقفل كل مخطط تبعيات في صورته (image) الخاصة؛ تبنيه مرة واحدة، ويعمل بشكل متطابق على خادم Ubuntu بدون واجهة رسومية (headless)، أو سطح مكتب Windows 11 مع WSL2، أو وحدة تخزين شبكية (NAS) صغيرة في مختبر منزلي. يمكنك حتى ربط (bind-mount) أدلة بياناتك المحلية بالحاوية بحيث تظل ملفاتك على نظام الملفات الخاص بك بينما تظل بيئة التنفيذ نظيفة.
هناك حجة تتعلق بالتكلفة أيضاً. تفرض واجهات برمجة تطبيقات LLM السحابية رسوماً لكل رمز (token). إذا كنت تقوم بإجراء مسح قبل السوق لمئات الرموز، وتغذي النموذج بحركة الأسعار، وملخصات الأخبار، والمؤشرات الفنية، فإن هذه الطلبات تتضاعف بسرعة. أما النموذج المحلي فلا يعمل بنظام العداد. التكلفة المسبقة لوحدة GPU مؤلمة لمرة واحدة؛ أما فاتورة الـ API فهي مؤلمة كل شهر.
فهم بيئات NVIDIA GPU
الانتقال من واجهات برمجة التطبيقات السحابية إلى بطاقة NVIDIA محلية ليس ببساطة تثبيت PyTorch واستدعاء .to('cuda'). هناك منحنى تعلم حقيقي، وفهمه هو ما يميز السكريبت الهاوي عن محطة العمل الموثوقة.
واجهات برمجة التطبيقات السحابية تخفي الأجهزة؛ ترسل JSON، وتحصل على JSON. محلياً، أنت مدير النظام. تحتاج إلى برنامج التشغيل (driver) الصحيح، ومجموعة أدوات CUDA متوافقة، وإصدار PyTorch تم تجميعه (compiled) لمعمارية GPU الخاصة بك. ثم يتعين عليك ربط ذلك ببيئة التشغيل (runtime) الخاصة بك، سواء كان ذلك يعني تكوين nvidia-docker للحاويات أو إدارة LD_LIBRARY_PATH على الأجهزة المباشرة (bare metal). لكل طبقة رقم إصدار يجب أن يتطابق، وعندما لا يحدث ذلك، تظهر لك أخطاء غامضة حول مكتبات مفقودة أو أجهزة غير مهيأة.
المكافأة هي التحكم المباشر في الأجهزة. ستتعلم أن ذاكرة GPU هي سقف صلب. على عكس ذاكرة الوصول العشوائي (RAM) للنظام، حيث يمكن لنظام التشغيل التبديل (swap) والتقسيم (page)، فإن نفاد ذاكرة الفيديو (VRAM) يعني عادةً فشل مهمة التدريب أو فشل دفعة الاستدلال (inference batch) فوراً. هذا القيد يجبرك على التفكير في حجم الدفعة (batch sizing)، والتدريب بدقة مختلطة (mixed-precision training)، وتحليل الذاكرة (memory profiling). ستتوقف عن التعامل مع الحوسبة كمرفق غير محدود وتبدأ في التعامل معها كمورد محدود تديره.
يتناول دليل مفيد متداول هذا الأسبوع وحدات GPU المخصصة للمؤسسات والمستهلكين كنوع واحد. سواء كنت تستخدم A100 المخصصة لمراكز البيانات أو RTX 4070 المخصصة للمستهلكين، فإن الأساسيات لا تتغير. كلاهما يعتمد على نموذج برمجة CUDA نفسه، وكلاهما يتطلب منك نقل الموترات (tensors) صراحةً إلى الجهاز، وكلاهما يعاقبك بنفس الطريقة إذا حاولت تخصيص نموذج بحجم 14 جيجابايت على بطاقة بحجم 12 جيجابايت. هذه الدروس قابلة للنقل؛ يمكنك بناء النماذج الأولية على البطاقة الموجودة في جهازك المكتبي وتطبيق نفس عقلية التحسين تماماً إذا قمت لاحقاً بالتوسع إلى أجهزة أكبر.
LeRobot v0.6.0 يضع الروبوتات على مكتبك
أصدرت Hugging Face الإصدار 0.6.0 من LeRobot، وهو إطار عمل يعيد توظيف مكتبتي Transformers و Diffusers ذاتهما المستخدمتين في روبوتات الدردشة ومولدات الصور لأداء مهمة مختلفة تمامًا: تعلم الروبوتات. فبدلاً من التنبؤ بالكلمة أو البكسل التالي، يتنبأ النموذج بالإجراء الحركي التالي بناءً على بث الكاميرا وتعليمات لغوية.
لطالما بدا مجال الروبوتات وكأنه تخصص مقتصر على المختبرات ذات التمويل الضخم التي تمتلك إمكانية الوصول إلى غرف التقاط الحركة ومجموعات من وحدات معالجة الرسومات (GPUs) الصناعية. لكن LeRobot يعمل على كسر هذا الحاجز. يبسّط الإصدار 0.6.0 كيفية تصميم سياسات الروبوتات وتدريبها وتقييمها. يمكنك بناء نماذج أولية في بيئة محاكاة، وتطوير بنية السياسة، ثم نقلها إلى ذراع حقيقية أو قاعدة متحركة دون الحاجة لكتابة آلاف الأسطر من أكواد التحكم منخفضة المستوى.
ما يجعل هذا الإصدار بارزًا هو استهدافه لوحدات معالجة الرسومات (GPUs) الاستهلاكية. لست بحاجة إلى خادم ضخم (server rack) لإجراء التجارب؛ إذ يمكن لبطاقة استهلاكية واحدة عالية الأداء تدريب سياسات يمكن تعميمها على مقابض وأذرع حقيقية. إنها إشارة واضحة إلى أن النماذج مفتوحة الأوزان (open-weight models) بدأت تخرج من السحابة لتنتقل إلى الأجهزة المادية. فالأوزان تُخزن على قرصك الصلب، ويتلقى الروبوت الأوامر دون الحاجة لرحلة ذهاب وإياب عبر الشبكة إلى واجهة برمجة تطبيقات (API). وعندما تتحكم في شيء يتحرك في العالم الحقيقي، يصبح من الصعب تجاهل فوائد تقليل زمن الاستجابة (latency) وتعزيز الخصوصية.
يغير هذا أيضًا طريقة تفكيرك في الحدود الفاصلة بين البرمجيات والأجهزة. ففي السابق، كانت سياسات الروبوتات تعيش في الأوراق البحثية، أما الآن فهي تعيش في مستودعات (repositories) يمكنك استنساخها، وضبطها بدقة (fine-tune) باستخدام بيانات الحركة الخاصة بك، ونشرها على الأجهزة التي تمتلكها.
الفوز الحقيقي يكمن في التحكم
إن بناء حزمة ذكاء اصطناعي محلية (local AI stack) لا يعني رفض السحابة من حيث المبدأ، بل يتعلق باختيار مكان إجراء العمليات الحسابية بناءً على ما تراه ذا قيمة. فعندما تشغل النماذج محليًا، تظل بياناتك على أقراصك الصلبة، وتتحول تكاليفك من فاتورة شهرية غير متوقعة إلى استثمار ثابت في الأجهزة. كما أنك تكتسب مهارات — مثل تصحيح أخطاء CUDA، وتحليل استهلاك VRAM، وتحويل سير العمل إلى حاويات (containerizing workflows) — مما يجعلك مهندس أنظمة، وليس مجرد مستهلك لواجهة برمجة تطبيقات (API).
الأدوات جاهزة، والنماذج صغيرة بما يكفي لتناسب البطاقات الاستهلاكية. السؤال الوحيد المتبقي هو ما إذا كنت تريد امتلاك الحزمة بالكامل أم الاستمرار في استئجارها.
