قد يتساءل البعض عن أهمية ذلك، وقد يكتب الناس بعض النصوص عن الذكاء الاصطناعي، ليس بالأمر الجديد. فهذا ما آلت إليه منصة «لينكد إن»؛ [منصة مشبعة بنصوص (متدنية الجودة) عن الذكاء الاصطناعي]. لكن تؤدي هذه المبادرة دورًا استثنائيًّا في بيئة البرمجيَّات مفتوحة المصدر، لأن منظومة المصدر المفتوح ليست قائمة على ما إذا يستطيع المُستخدِم أن يرى الكود، بل على الرخصة التي يندرج تحتها. فقد يكون الكود متاحًا للعرض فقط، دون أن يُسمَح للمُستخدِم بأن يلمسه (كما حدث في الجدل حول الإصدار الأخير من «وين آمب»). أخذت مبادرة المصدر المفتوح على عاتقها دور تحديد أي من الرخص المختلفة فعلًا ”مفتوحة المصدر“ وأيّها تحتوي قيودًا تَنتقِص من الفكرة.

هذا أمر بالغ الأهمية، فإنّ اختيار الرخصة عمل سياسي قد يترتَّب عليه عواقب وخيمة. فالرخصة قد تتيح أو تمنع أنماطًا مختلفة من التفاعل، أو تفرض شروطًا على طريقة الاستخدام. على سبيل المثال، تسمح رخصة «جي پي إل» الشهيرة باستخدام الكود، لكنها تُلزِم المُستخدِم في المقابل بأن يفتح مصدر التعديلات التي يجريها عليها، في حين أن رخصًا أخرى لا تفرضه كأمر إلزامي. لذلك فإنّ اختيار الرخصة يترك أثرًا حقيقيًا وملموسًا.

أعتقد أنّ مصطلح «مفتوح المصدر» بحدّ ذاته إشكاليّ. وبرأيي الشخصي، إنّه محاولة لتجريد الطابع السياسي من فكرة «البرمجيات الحرّة». يشترك المفهومان في بعض المبادئ، إلّا أنّ مصطلح «مفتوح المصدر» يَخدِم حاجة الشركات إلى معرفة ما الذي يُسمَح لها باستخدامه من الكود، أمّا «البرمجيَّات الحرّة» حركة سياسية في جوهرها، تنطلق من حقوق المُستخِدمين وتحرُّرهم. وهي فكرة تضرَّرت كثيرًا بسبب بعض من أبرز الأسماء في هذا المجال، أسماء أُفضِّل أن تختفي عن وجه الأرض.

فما هي المعايير التي تُحدِّد ما إذا كانت البرمجيّات ”مفتوحة المصدر“؟ لدى مبادرة المصدر المفتوح لائحة مُختَصَرة تلخِّصها. يمكنكم أن تلقوا نظرة على اللائحة، لكن دعونا نتفحَّص النقطة الثانية؛ الكود المصدري.

يجب أن يحتوي البرنامج كودًا مصدريًا، ويجب أن يَسمَح بتوزيع هذا الكود على الهيئتَين المصدرية والمُصرَّفة (Compiled). وإذا لم يُوزَّع البرنامج مع كوده المصدري، يجب أن يكون هناك طريقة واضحة وعلنية للحصول على ذلك الكود بتكلفة رمزية، ويفضَّل أن يكون متاحًا مجانًا على الإنترنت. كما يجب أن يكون الكود المصدري الصيغة التي يفضِّلها المُبرمِج لتعديل الكود، ولا يُسمَح بتعتيم الكود عمدًا. ولا التمثيلات الوسيطة الناتجة عن المعالِجات المُسبَقة أو الكود المُترجَم.

مبادرة المصدر المفتوح

بعبارة أُخرى، حتى تُسمّى مفتوحة المصدر، على البرمجيَّات أن تُرافَق بمصدرها، هذا أمر بديهي. لكن من الواضح أن واضعي التعريف رأوا ما يكفي من التحايل، لذلك منعوا الكود المُعتَّم (Obfuscated Code) عمدًا؛ أي الكود الذي شُوِّه ليصبح غير مفهوم، ومنعوا التمثيلات الوسيطة (Intermediate Forms)؛ أي الحالات التي لا يحصل فيها المُستخدِم على الكود المصدري الحقيقي، بل على ناتج مُرِّر بأدوات معالجة أو ترجمة. أمر منطقي. لكن يبقى السؤال، ما فائدة الحصول على الكود المصدري؟

مصادر الحقيقة

«المصدر المفتوح» ظاهرة جماهيرية حديثة نوعًا ما. لطالما كانت لدينا برمجيَّات وبعضها كان مجانيًّا. سميناها آنذاك، «فري وير» (Freeware). أي برمجيَّات تُستَخدَم دون أي تكلفة لكنها لا تعطي المُستخدِم صلاحية الوصول إلى الكود المصدري الذي بُنيَت عليه. لا يمكنك أن تُعدِّل البرنامج (قانونيًا)، ولا أن تُخضِعه لعملية تدقيق، ولا أن تضيف إليه المزيد من الكود، لكنه مجانيّ. رأيتُ العديد من هذه البرمجيَّات في صغري. يندرج «وين آمب» —المُشغِّل الصوتي الذي ذكرته سابقًا— تحت هذا النوع من البرمجيَّات، وكان له العديد من المُستخدِمين. فلماذا إذًا كل هذا الاهتمام بالكود المصدري؟

بالنسبة للبعض، ارتبط الأمر بالقدرة على تعديل الأدوات بسهولة، خصوصًا إذا توقَّفت التحديثات، أو ظهرت ميِّزات لا تتوافق مع آراء المُستخدِم، كما يحدث اليوم في كثير من البرمجيَّات الاحتكارية التي تُقحِم الذكاء الاصطناعي وراء كل نقرة. إلّا أنّ المسألة أعمق من نقاش حول الميزات وحدها، إنّها مسألة ثقة.

عندما أُشغِّل برمجيَّة معيَّنة، علي أن أثق بمُبرمِجيها، وأن أثق بأنَّهم أدّوا عملهم بإتقان، وبنوا برنامجًا متينًا وموثوقًا، وأنّهم لم يضيفوا ميِّزات خفيّة أو ضارّة لا تظهر في التوثيق البرمجيّ.

وبما أن حياتنا اليومية صارت تعتمد على البنى التحتية الرقمية، لم تَعُد الثقة ترفًا، بل ضرورة مُلِحّة. كلُّنا نريد خوارزميات تشفير مفتوحة المصدر خَضعَت لمراجعات مُطوَّلة وجُرِّبَت ضدّ تهديدات حقيقية حتى نَضمَن سلامة اتصالاتنا.

في هذا السياق، يُعَدّ المصدر المفتوح عنصرًا أساسيًا لبناء الثقة، خصوصًا في الأنظمة والبنى التحتية الحرِجة. فهو يسمح لنا بأن نَتحقَّق مما يجري فعلًا وراء تلك الستارة الرقمية. ولهذا ظهرت حركة نحو ما يُعرف بـ البُنى القابلة لإعادة الإنتاج، وهي عمليات بناء تَضمَن أن يحصل المُستخدِم على نفس الناتج البرمجي عندما يُدخِل نفس الكود. هذا يعني أنّك تستطيع أن تتأكَّد من أنّ البرنامج الذي تسلَّمته هو فعلًا ما وُعِدت به. لأنّ عملية البناء من جهتك ستُنتِج برنامجًا مطابقًا.

صحيح أنّ فئة صغيرة تُجري هذا المستوى من التحليل، وفئة أصغر تَستخدِم برامج بُنيَت بهذه الطريقة، خصوصًا وأنّ جزءًا كبيرًا من البرمجيات الحديثة لا تُصرَّف أساسًا. لكن الثقة علاقة، وليست مسألة كود فقط. عندما تشرح أسطر الكود وكيف جرت عملية بناء البرنامج النهائي بكل شفافية، تصبح الثقة ردّة الفعل الطبيعية. هذه الثقة تسمح لي بمعرفة ما وراء البرنامج الذي يعمل على الجهاز الذي يحتوي بياناتي الحسّاسة كمفاتيح التشفير أو سجلَّاتي البنكية.

فكيف يرتبط كل هذا بالذكاء الاصطناعي؟

أنظمة الذكاء الاصطناعي والحريات الأربع

أنظمة الذكاء الاصطناعي مختلفة عن سائر البرمجيَّات. فالأنظمة الكبيرة التي تحظى بكل هذا الإعجاب لا تتكوَّن في الواقع من ملايين الأسطر، لا تدعوا حجمها يخدعكم. قد يقتصر بناء شبكة عصبية على بضع مئات من الأسطر في «پايثون». لكن لا يتكوّن ”نظام الذكاء الاصطناعي“ من كود فقط، بل من كمّ هائل من المُتغيِّرات والبيانات.

تتكوَّن النماذج اللغوية الكبيرة (LLMs) —أو بالأحرى مولِّدات الصور— من بعض الكود، وبنية شبكة عصبية، أي ترتيب العصبونات الرقمية وطريقة ترابطها. ثم تُملأ هذه البنية بما يُعرف بالأوزان (Weights)، وهي مليارات من الأرقام التي تُمكِّن النموذج من أن يؤدي وظائفه، لكن هناك المزيد.

لتحويل المقاطع أو الكلمات إلى أرقام يفهمها نظام الذكاء الاصطناعي، نحتاج إلى تمثيل رقمي (Embedding)، أشبه بجدول يربط الأرقام برموز. ولو استُخدِمَت نفس الشبكة العصبية مع تمثيل يَختلف عمّا دُرّبت عليه، لانتهى كل شيء إلى الفوضى، وسيختلف الشكل البنيوي.

ثم هناك عملية التدريب نفسها، أي الطريقة التي نشأت بها تلك الأوزان. يُغَذّى نظام الذكاء الاصطناعي بكميات هائلة من البيانات، وبعد ملايين أو مليارات التكرارات تتَّضِح الأوزان. تُشكِّل طبيعة هذه العملية، إلى جانب البيانات المُستخدَمة فيها، أساسًا لقياس إمكانات نظام تعلُّم الآلة وحدوده. فإذا أردنا أن نحدّ من الأذى داخل الشبكة، علينا أن نعرف ما إذا كان النموذج قد دُرِّب باستخدام نصوص من «كفاحي» على سبيل المثال.

هنا تكمن المشكلة.

يَشترِط تعريف «الذكاء الاصطناعي مفتوح المصدر» الصادر عن مبادرة المصدر المفتوح أن يُوفِّر النظام أربع حريات للمُستخدِمين:

حُرِّية استخدام النظام لأي غرض دون الحاجة إلى طلب الإذن.

حُرِّية دراسة النظام وفحص مكوّناته.

حُرِّية تعديل النظام لأي غرض كان، وتغيير نواتجه.

حُرِّية مشاركة النظام مع الآخرين مع تعديلات أو دونها لأي غرض كان.

حتى الآن يبدو الأمر منطقيًا. أليس كذلك؟ يمكننا أن نَفحَص وأن نُعدِّل وأن نستخدِم وغيرها من الأفعال. لن نجد شياطين ما بين الأسطر، صحيح؟ دعونا نلقي نظرة سريعة على ما يُفترَض أن يُقدِّمه نظام الذكاء الاصطناعي. الكود؟ موجود. مُتغيِّرات النموذج، مثل الأوزان والإعدادات؟ موجودة أيضًا. إنَّنا نسير على المسار الصحيح. لكن ماذا بخصوص البيانات؟

معلومات تفصيلية حول البيانات: يجب أن تكون معلومات بيانات التدريب واضحة ومُفصَّلة بما يكفي لإنتاج نظام يكاد أن يكون مماثلًا على يد مُبرمِج بارع. ويجب أن تُتاح تلك المعلومات بموجب شروط مُعتمَدة من مبادرة المصدر المفتوح.       

تشمل هذه الشروط، (١) وصفًا تفصيليًا لجميع البيانات المُستخدَمة في التدريب، بما في ذلك البيانات غير القابلة للمشاركة إن وُجدَت، مع الكشف عن مصدر البيانات، ونطاقها وخصائصها، وآلية الحصول على البيانات وانتقائها، وإجراءات تصنيف البيانات، ومنهجيات تنظيفها. (٢) إضافة إلى قائمة بجميع بيانات التدريب المتاحة للعامة وطريقة الحصول عليها. (٣) وقائمة بجميع بيانات التدريب التي المُتاحة من جهات خارجية وطريقة الحصول عليها، بما في ذلك البيانات المُتاحة مقابل رسوم.

مبادرة المصدر المفتوح

لكن ما المقصود بعبارة ”معلومات مُفصَّلة بما فيه الكفاية“؟ تعريف المصدر المفتوح لا يتحدَّث أبدًا عن ”كود مصدري مُفصَّل بما فيه الكفاية“، بل يَشترِط الحصول على الكود المصدريّ، كل سطر منه، ومن دون تعتيم أو إفساد مُتعمَّد، الكود المصدريّ الحقيقي. دون هذا القدر من الوضوح، يفقد الأمر معناه ولا تُؤسَّس الثقة.

إنّ تعريف مبادرة المصدر المفتوح لما يُسمّى «الذكاء الاصطناعي مفتوح المصدر» يترك فجوة في مفهوم المصدر المفتوح نفسه. حين تُعامَل بيانات التدريب، أحد أهم أعمدة النموذج، بهذه الطريقة الملتوية، يُمنَح لقب ”مفتوح المصدر“ لأشياء ليست كذلك فعلًا، حتى بحسب تعريف المبادرة نفسها للمصدر المفتوح وغاياته.

تُعَدّ بيانات تدريب نظام الذكاء الاصطناعي، من جميع النواحي العملية، جزءًا من الكود الخاص به. فهي لا تقل أهمية عن الكود نفسه في تحديد طريقة عمل النموذج، بل ربما تفوقه أهمية في أنظمة الذكاء الاصطناعي، لأن الكود في النهاية ليس سوى عمليات مصفوفية عادية تعاني من أوهام العظمة.

وتضيف مبادرة المصدر المفتوح طبقة أخرى من الإشكال. حين تقول إن المُستخدِمين يَستحقّون وصفًا للبيانات ”غير القابلة للمشاركة“ التي استُخدِمَت في التدريب. ما معنى ذلك؟ دعونا نطبّق هذا مجددًا على الكود؛ لو قَدَّم لنا برنامج جزءًا أساسيًا من وظيفته على هيئة ملف مُصرَّف فقط، ثم أخبَرَنا أن كل شيء قانوني وسليم لكن الكود ”غير قابل للمشاركة“، لما وصفنا هذا البرنامج بأنه مفتوح المصدر. لأنه ببساطة لا يوفِّر لنا كامل المصدر.

هل يساعدنا ”وصف“ بيانات تدريب غير متاحة فعليًا على أن نعيد إنتاج البرنامج؟ لا، يمكننا أن نبني شيئًا مشابهًا، لكن تحقيق التطابق مستحيل دون البيانات الأصلية. وهل يساعدنا الوصف على ”دراسة النظام وفحص مكوّناته“؟ ما يتيحه في أحسن الأحوال هو فهم سطحي للنظام. لنُحلِّل ما بداخل هذا الصندوق الإحصائي الغامض، لا بد من أن نكتشف ماهية البيانات التي أُدخِلَت وما التي فُلتِرَت.

يبدو هذا التعريف غريبًا جدًا حين يصدر عن مبادرة المصدر المفتوح. من الواضح أنه يتناقض مع التصوُّر الشائع لما يعنيه المصدر المفتوح ومع ما يُفترض أن يكون عليه. فلماذا إذًا يُعتَمَد؟

ذكاء اصطناعي مفتوح… إلى حدٍّ ما

إليك الحقيقة؛ وفقًا للمعنى الشائع اليوم لهذه الأنظمة الإحصائية التي نسمّيها «ذكاءً اصطناعيًا»، لا يبدو أنّ الذكاء الاصطناعي مفتوح المصدر ممكن عمليًا.

أمّا النماذج الأصغر تَعتمِد في تدريبها على مجموعات بيانات عامة خضعت لعمليات اختيار وتنقيح بعناية. ما يُميِّز هذه النماذج أنها تتيح جميع المكوّنات الأساسية، كالبيانات والكود وآليات العمل، وهو ما يُبرِّر أن تسمى ذكاءً اصطناعيًا مفتوح المصدر. لكن هذه ليست النماذج التي تجعل أسهم «إنفيديا» تُحلِّق وهي تصرخ ويييييييييييي!

عندما نتحدث عن الأنظمة الضخمة التي يُطلَق عليها اليوم اسم ”أنظمة ذكاء اصطناعي“، والتي تُستخدَم سواء لتوليد الصور أو النصوص أو الأنظمة متعدّدة الوسائط، فكلُّها تُبنى فوق مواد جُمِعت واستُخدِمت بطرق غير قانونية في الغالب. إذ إنّ حجمها المهول يجعل أي محاولة للفلترة أو التدقيق القانوني شبه مستحيلة، فالحجم وحده يقف حائلًا دون ذلك.

وقد يخطر على بال بعض القرّاء الساذجين سؤال بسيط: ”كيف يمكن تبرير نشاط غير قانوني بوصفه تجارة مشروعة؟“ سؤال بديهي، لكن البديهيات لا تصمد طويلًا في عالم يتخيَّل فيه البعض أنّ نسخ منشورات «ريديت»، مع قليل من ”الابتكار“، هو الطريق إلى الخلاص.

”الذكاء الاصطناعي مفتوح المصدر“ ليس سوى محاولة لإضفاء طابع الانفتاح شكليًا على الأنظمة الاحتكارية والمملوكة. ففي ورقتهما ”إعادة التفكير في الذكاء الاصطناعي التوليدي مفتوح المصدر: الإيهام بالانفتاح وقانون الذكاء الاصطناعي الأوروبي“ ، بيَّن [أندرياس ليزنفيلد] و[مارك دينغمانسه] أنّ العديد من نماذج الذكاء الاصطناعي التي توصَف بأنها مفتوحة المصدر لا توفِّر في الواقع سوى أوزان النموذج. أي أنّك تستطيع أن تُشغِّل النظام، لكنه يبقى غامضًا.

هذه فكرة مألوفة. إنّه «فري وير»، البرمجيَّات المجانية التي رأيتها في صغري. ما نراه اليوم تحت مسمّى «نماذج مفتوحة المصدر» هو برمجيَّات مملوكة تُقدَّم مجانًا، لا أكثر. وربما تكون أفضل هامشيًا من نهج الإغلاق الكامل الذي تتبِّعه شركات مثل «أوبن إيه آي»، لكن الفرق بالكاد يُذكَر.

قلّة من النماذج تُرفِق وثائق أو بطاقات تعريف، أمّا البقية فتكتفي بالصمت. يَرتبِط هذا الواقع ببنية التمويل نفسها، فشركات رأس المال المغامر تتطلَّب سردية واضحة أو شبه واضحة لتحقيق العوائد.

كما هو حال الملصقات التي تُعلَّق على المنتجات في السوق للإيحاء بأنها أفضل أو أجود، أصبح ”المصدر المفتوح“ وصفًا يُستخدَم لتحسين صورة المنتج. وذلك لإبعاده عن صورة السوق التجارية الجشعة، ومنحِه طابعًا مجتمعيًا يوحي بالمشاركة والتضامن. ”يد واحدة“؟ هراء مطلق. لسنا يدًا واحدة. لسنا يدًا واحدة مع مارك زوكربيرغ —عليه اللعنة— حتى لو رمى بعض الأوزان مجانًا لأن هذا يَخدِم معركته التجارية. نحن، الذين نتحمُّل تبعات عالم يزداد حرارة، لا نقف إلى جانب أيٍّ من هؤلاء.

لكن الأمر لا يَقتصِر على تحسين المظهر التسويقي لشركات التكنولوجيا، فهناك الجانب القانوني. على الأقل في ألمانيا، توجد استثناءات قانونية تُغيّر قواعد اللعبة بالنسبة لمطوّري النماذج اللغوية الكبيرة. فإذا كان العمل يندرج تحت أغراض بحثية، يصبح من الممكن عمليًا أن يُجمَع أي نوع من البيانات تقريبًا من الإنترنت. بعد ذلك يمكن أن تُدرِّب النماذج وأن تُنشَر أوزانها، وحتى لو كانت هذه البيانات تتضمن محتوى مملوكًا —من «ديزني» مثلًا— يظل الوضع قانونيًا. وهنا يظهر دور «الذكاء الاصطناعي مفتوح المصدر» بوصفه أداة لشرعنة سلوكيات قد تكون غير قانونية. قد تأخذ الشركة نموذجًا «مفتوح المصدر» دُرِّب على بيانات لا يُسمَح لها قانونيًا باستخدامها، ثم تبني عليه منتجها الخاص، مع إضافة تدريب محدود على بيانات مُرخَّصة.

يبدو أن مبادرة المصدر المفتوح باتت تخشى أن يفوتها الركب، كما حدث مع لجنة جائزة نوبل، فهم أيضًا يريدون أن يركبوا موجة الذكاء الاصطناعي.

لكن بالنسبة للأنظمة التي نتحدّث عنها اليوم بوصفها «ذكاءً اصطناعيًا»، فإن الذكاء الاصطناعي مفتوح المصدر غير ممكن عمليًا لأننا لن نتمكّن يومًا من تنزيل جميع بيانات التدريب الفعلية.

وقد يعترض أحدهم قائلًا: ”إذًا، لن نرى أبدًا ذكاءً اصطناعيًا مفتوح المصدر“. نعم، بالضبط. هذا هو واقع الحال. من لا يستوفي شروط فئةٍ ما، لا يُعدّ ضمنها. والحل ليس في تغيير الشروط والمعايير، فهذا كمن يحاول أن يحرث في البحر.