500 يوم و30,000 ميل
هذه ترجمة آلية للنص الإنجليزي الأصلي. قد تضيع بعض الفروق الدقيقة، لذا تبقى النسخة الإنجليزية هي المرجع. اقرأ النص الأصلي بالإنجليزية
باختصار
صباح الأحد الماضي، عند الساعة 10:22، وعداد المسافة يقرأ 40,397.8، سجّل جهاز Raspberry Pi في بيتي الميل الثلاثين ألفًا من قيادتي. خمسمئة يوم من جمع البيانات، بالتمام.
لم يشر إلى ذلك شيء، لأن لا شيء بُني ليفعل. هبط صف في جدول Postgres تمامًا مثل العشرة ملايين التي سبقته، وهذا أعلى مديح أستطيع أن أقدمه لقطعة من البنية التحتية.
والعشرة ملايين ليست مجازًا. تحتوي قاعدة البيانات على 10,356,022 صف موقع و243,380 صف تفاصيل شحن إضافيًا. وهذا يعادل نحو 20,700 صف جديد كل يوم، كل يوم، على مدى خمسمئة يوم، من عقدة واحدة مخصصة تُركت لتفعل هذا بالضبط ولا شيء غيره.
ما الذي يعمل فعلًا
أربع حاويات Docker على جهاز Raspberry Pi 5. يقوم TeslaMate بالجمع، ويحتفظ Postgres 16 بالبيانات، ويرسمها Grafana، وينشر Mosquitto الحالة الحية عبر MQTT كي يستطيع بقية البيت أن يتفاعل مع وصول السيارة. هذه هي الحزمة كلها، ولها جهازها الخاص. لدي عدة أجهزة Pi في المختبر، وهذا الجهاز مخصص للجمع وحده، لا يفعل شيئًا سوى الاحتفاظ بالسجل 24/7. لا شيء آخر ينافسه على المعالج أو الذاكرة أو وقت التشغيل، مما يعني أن لا شيء آخر يستطيع إسقاطه.
المجمِّع أذكى من حلقة استطلاع. عندما تكون السيارة تسير يأخذ عينات كل ثانيتين تقريبًا: الموقع والسرعة والاتجاه والارتفاع ومستوى البطارية واستهلاك الطاقة ودرجات الحرارة. وعندما تكون السيارة تشحن يتتبع الجلسة كاملة بدل أن يسجل بداية ونهاية فقط. وعندما تكون السيارة متوقفة يتراجع عمدًا ويتركها تنام، لأن الإلحاح في استدعاء الواجهة البرمجية لسيارة Tesla يُبقيها مستيقظة ويكلفك من مداها خلال الليل. هذا القرار الأخير هو سبب أن المسجِّل لم يكلفني مدى قط.
خمسمئة يوم من ذلك، كاملة ثانيةً بثانية، تبلغ 1.6 GB، وهو أصغر من فيلم واحد. ما زلت أنتظر أن يصبح التخزين مشكلة ولا يصبح.
30,144 ميلًا مسجَّلة مقابل عداد المسافة، بمعدل 60.3 يوميًا. 6,921 رحلة تغطي 976 ساعة، أي أربعين يومًا كاملة خلف المقود. 10,016 kWh عبر 513 جلسة شحن، 458 منها في المنزل، أي 89.3 بالمئة، وهي أنفع ما أستطيع قوله لأي شخص متردد في شراء سيارة كهربائية. خمس وثلاثون تحديثًا عبر الهواء جرى التقاطها، لكل منها ختم زمني، فصار عندي سجل تغييرات لبرنامجي الثابت الشخصي أدق من أي شيء تنشره Tesla.
وقت تشغيل الجمع على مدى التشغيل كله هو 92 بالمئة. بالنسبة لحاسوب بلوحة واحدة بلا إشراف وبلا فريق عمليات، سأقبل بهذا في كل مرة.
مقابل كل أربعة دولارات من الكهرباء أشتريها، يحرّك السيارة فعليًا نحو ثلاثة منها، ويذهب الباقي في فواقد الشحن وتكييف الهواء واستيقاظ السيارة من تلقاء نفسها ليلًا. والطقس يحدد مدى سوء ذلك: فالأشهر الحارة تكلفني 16 بالمئة أكثر لكل ميل من الأشهر المعتدلة، وشتاء تكساس 3 بالمئة.
ما لا يخبرك به أحد
ظللت أدخل إلى Pi عبر SSH، ونادرًا ما كان ذلك لأنه يحتاج إلى إصلاح. كنت أتصل لأنني أردت أن أرى البيانات تصل، وأن أرى رحلة تهبط في الجدول والسيارة لا تزال دافئة في الممر، وأن أتحقق من أن منحنى الشحن في الليلة السابقة يبدو كمنحنى شحن. في البداية كنت أفعل ذلك لأنني لم أكن أثق به بعد. وفي ما بعد فعلته لأنني بدأت أفهم المخطط، وفهم المخطط هو النقطة التي تتوقف عندها قاعدة البيانات عن كونها صندوقًا أسود وتبدأ بأن تصبح مكانًا يمكنك أن تذهب إليه وتنظر.
وهذا تعليم أبطأ مما يبدو. تتعلم أن صف drives يظهر في اللحظة التي تغيّر فيها السيارة حالتها، وأن عملية الشحن وعينة الشحن كائنان مختلفان بعمرين مختلفين، وأن عداد المسافة هو الحقل الوحيد الذي لا يكذب أبدًا. تتعلم ماذا تعني بياناتك أنت، وهذا ليس مثل امتلاكها.
لم يتطلب شيء من ذلك الذكاء الاصطناعي، وأريد أن أكون دقيقًا بشأن التسلسل الزمني: كنت أفعل هذا قبل زمن طويل من أن يستطيع مساعد كتابة الاستعلامات لي. التعلم كان هو العمل.
ثم صارت الاستعلامات سهلة
الذي تغيّر هو أنني توقفت عن كتابة SQL وبدأت أطرح الأسئلة.
إن توجيه نموذج لغوي إلى مخطط كنت أفهمه أصلًا حوّل استعلامًا من خمس دقائق إلى استعلام من عشر ثوانٍ. لا لأنه يعرف بياناتي، بل لأنني أنا أعرفها، وأستطيع أن أدرك فورًا حين تكون الإجابة التي يعطيني إياها هراءً. هذا المزيج هو المفيد. فمن لم يفتح الجداول قط يحصل على إجابات خاطئة بثقة تامة ولا سبيل له لاكتشافها. ومن يعرف المخطط ويستطيع الآن أن يسأل بلغة طبيعية يقفز مباشرة إلى الجزء المثير.
الجزء المثير هو أن الأسئلة تتحسن. حين يكون الاستعلام مكلفًا لا تسأل إلا عما تشك فيه أصلًا. وحين يكون رخيصًا تبدأ بالسؤال عن أمور ليست لديك فيها أي فرضية، وهناك تعيش المفاجآت. كيف يتغير متوسط طول الرحلة عبر الفصول. متى خلال اليوم تتحرك السيارة فعلًا. كيف تبدو جلسة الشحن في أحر ليلة في السنة مقارنة بألطفها.
تطبيق Tesla لا يستطيع الإجابة عن شيء من ذلك. لم يُبنَ لذلك أصلًا. إنه يعرض عليك ملخصًا، والملخص لا يستطيع إلا الإجابة عن الأسئلة التي توقعها شخص ما عند تصميمه.
السؤال الذي سدّد تكلفة المشروع كله
في هذا الصيف اقتنعت بأن موصّل الجدار لدي يتعطل.
في الليالي الحارة كانت جلسات الشحن في التطبيق تبدو كأنها تتوقف وتعيد التشغيل. وفرض التشخيص نفسه: خفض القدرة الحراري، والوحدة تخفض التيار حين تسخن، فتُدخل السيارة في دورات تشغيل وإيقاف بالطريقة التي تُهرم البطارية بصمت على مدى سنوات. واستبدال موصّل الجدار ليس رخيصًا.
ثم تذكرت أنني لست مضطرًا إلى التخمين. فكل عينة شحن أخذها ذلك الشيء كانت على قرص في بيتي.
إشارة التحكم (Pilot) هي ما يخبر به الموصّلُ السيارةَ بعدد الأمبيرات التي يُسمح لها بسحبها. وخفض القدرة يعني أن ذلك الرقم ينخفض. في 217,124 عينة أُخذت في المنزل، قرأ 48 أمبيرًا في 217,118 منها. ست قراءات من أكثر من مئتي ألف تقع في أي مكان آخر، ولم ينخفض مستوى البطارية قط في منتصف الجلسة، وهو ما كان سيحدث لو انقطعت السيارة فعلًا.
لم يتعثر الموصّل قط. وبمطابقة الجلسات مع درجة الحرارة الخارجية تبيّن ما كان يجري حقًا: في أحر الليالي كانت السيارة نفسها تنقطع عن الشبكة، فيفقد المسجِّل أثر جلسة كانت لا تزال تعمل على أكمل وجه.
لم أنفق المال. تلك الإجابة الواحدة، من بيانات أملكها أصلًا، على عتاد أملكه أصلًا، غطّت تكلفة المشروع بأكمله عدة مرات.
العشرون ألفًا القادمة
بمعدل ستين ميلًا في اليوم، سيأتي الخمسون ألفًا نحو منتصف العام القادم، وسيظل القرص لا يكترث.
ما أنتظره فعلًا هو المقارنة. صيف واحد في تكساس لا يخبرك شيئًا عن الحرارة والبطاريات. وصيفان يتيحان لك القياس. الثلاثون ألف ميل هي تقريبًا النقطة التي يتوقف عندها السجل عن كونه سجلًا ويصبح خط أساس، وكل شهر أتركه فيه يعمل تزداد المقارنات حدة دون أي جهد مني.
كان Pi أقل قطع البنية التحتية التي أملكها طلبًا، وأكثرها مكافأة بلا منازع، لأنه يتراكم. طلب إعدادًا وجلسة SSH بين الحين والآخر، وفي المقابل بنى بصمت شيئًا لا يستطيع أحد أن يبيعه لي أو يلغيه عني أو يرفع سعره حتى يخرج عن متناولي: سجلًا كاملًا قابلًا للاستعلام عن كيفية استخدامي الفعلي لسيارتي.
بقلم
Rohit Buraniمهندس ذكاء اصطناعي يبني أنظمة محلية أولًا وبنية تحتية مستضافة ذاتيًا وأدوات مستقلة من المختبر.