الأخلاقيات
الأسئلة التي تُطرح قبل الانتقال إلى الإنتاج.
الأخلاقيات ومستقبل الذكاء الاصطناعي
تعاني أخلاقيات الذكاء الاصطناعي من سمعة مزدوجة ومتناقضة: فهي مجرّدة أكثر من اللازم في نظر الفرق التقنية، وتقنية أكثر من اللازم في نظر صنّاع القرار. والحكمان كلاهما خاطئ للسبب نفسه. فمعظم ما يُسمّى أسئلة أخلاقية يمكن اختزاله في كميات قابلة للقياس، وقياسها يتطلب بالضبط المهارات التي اكتسبتها في الدروس الخمسة السابقة.
لنأخذ مثالًا سيشغلنا قليلًا. نموذج يقوم بفرز طلبات التوظيف. لم نزوّده قطّ بجنس المتقدّمين ولا بأعمارهم ولا بأصولهم، ويبدو هذا الاحتياط كافيًا. لكنه ليس كافيًا، وسنبرهن على ذلك في نحو خمسة عشر سطرًا: سيستعيد النموذج هذه المعلومة عبر متغيّر مرتبط بها، وسينتج معدلات انتقاء متفاوتة تفاوتًا واضحًا. وهذه ليست فرضية نظرية، بل هي أكثر أنماط الفشل شيوعًا.
ثم يأتي سؤال أكثر إزعاجًا. بعد أن نلاحظ التفاوت، كيف نقرّر ما إذا كان النموذج منصفًا؟ سنرى أن هناك عدة تعريفات معقولة للإنصاف، وأنها كلها قابلة للقياس، وأنها قد تؤدي إلى أحكام متعاكسة على النموذج نفسه. لا مخرج تقنيًا من هذا: فاختيار التعريف خيار سياسي، والأفضل أن يُتَّخذ بصورة صريحة.
بعد ذلك يتناول هذا الدرس البيانات الشخصية، وقابلية التفسير، وكلفة الطاقة، والإطار التنظيمي الأوروبي، وآثار الذكاء الاصطناعي على سوق العمل. وفي كل من هذه المواضيع سيكون المطلب واحدًا: التمييز بين ما هو ثابت وما هو مجرّد تخمين، وعدم الاستشهاد بأي رقم لا يمكن التحقق منه.
من أين يأتي التحيّز
لا يُدخل الخوارزميةُ التحيّزَ إلا نادرًا. فهو يأتي من البيانات، وعبر أربعة مسارات متمايزة.
| المصدر | الآلية | مثال |
|---|---|---|
| أخذ العيّنات | بعض الفئات ممثَّلة تمثيلًا ناقصًا | مجموعة صور وجوه أغلبها من ذوي البشرة الفاتحة |
| التسميات | القرارات السابقة تحمل في طياتها ممارسات سابقة | عمليات توظيف غير متكافئة تاريخيًا |
| المتغيّرات الوسيطة | متغيّر محايد مرتبط بسمة محمية | الرمز البريدي، نوع المؤسسة، انقطاع في المسار المهني |
| حلقة التغذية الراجعة | التنبؤات تؤثر في البيانات المستقبلية | تكثيف الدوريات حيث سُجّلت مخالفات من قبل |
السطر الثالث هو الأكثر استهانةً به. إليك البرهان:
import numpy as np
from sklearn.linear_model import LogisticRegression
rng = np.random.default_rng(0)
n = 2000
groupe = rng.integers(0, 2, n) # السمة المحمية، 0 أو 1
competence = rng.normal(0, 1, n) # حقيقية، ومستقلة عن المجموعة
# متغيّر وسيط: إشارة من المسار المهني مرتبطة بالمجموعة،
# دون أي صلة بالكفاءة.
relais = groupe * 1.5 + rng.normal(0, 0.5, n)
# التسميات التاريخية: القرارات السابقة فضّلت المجموعة 1.
score_historique = competence + 1.2 * groupe + rng.normal(0, 0.3, n)
retenu = (score_historique > 0.8).astype(int)
# المجموعة لا تُمرَّر إلى النموذج.
X = np.column_stack([competence, relais])
modele = LogisticRegression().fit(X, retenu)
prediction = modele.predict(X)
print(modele.coef_.round(2)) # [[3.61 2.08]]
for g in (0, 1):
m = groupe == g
print(g, round(prediction[m].mean(), 3), round(retenu[m].mean(), 3))
# 0 0.266 0.22
# 1 0.56 0.631
هناك نتيجتان ينبغي قراءتهما معًا. فمعامل المتغيّر الوسيط يساوي 2.08 مقابل 3.61 للكفاءة: أي أن النموذج يعتمد اعتمادًا كبيرًا على متغيّر لا قدرة تنبؤية له في ذاته، لا لشيء إلا لأنه مرتبط بالسمة المحمية، وهي بدورها مرتبطة بالتسميات التاريخية. والنتيجة أن معدل الانتقاء هو 26.6% للمجموعة 0 مقابل 56.0% للمجموعة 1، مع أن الكفاءة موزّعة بالتساوي بين المجموعتين بحكم بناء البيانات.
لقد أعاد النموذج بناء السمة المحمية دون أن يتلقاها. ولهذا فإن حذف عمود حسّاس من مجموعة بيانات لا يُعدّ إجراءً لتحقيق الإنصاف: فهو يلغي إمكانية قياس التفاوت، لا التفاوت نفسه.
لنتحقق من التشخيص بحذف المتغيّر الوسيط:
modele_sobre = LogisticRegression().fit(competence.reshape(-1, 1), retenu)
p = modele_sobre.predict(competence.reshape(-1, 1))
for g in (0, 1):
m = groupe == g
print(g, round(p[m].mean(), 3))
# 0 0.424
# 1 0.427
تصبح المعدلات 42.4% و42.7%: لقد اختفى الفارق. فالمتغيّر الوسيط كان فعلًا قناة انتقال التحيّز. ومع ذلك كان لا بد من الاحتفاظ بالسمة المحمية في مجموعة بيانات التدقيق حتى يمكن إجراء هذا الحساب.
وفي البيانات الحقيقية، قد تكون مقادير هذه التفاوتات هائلة أحيانًا. فقد قيّمت دراسة Gender Shades لجوي بولامويني وتيمنيت غيبرو، المنشورة عام 2018، خدمات تجارية لتصنيف الجنس انطلاقًا من الصور الفوتوغرافية: وبلغ معدل الخطأ 34.7% لدى النساء ذوات البشرة الداكنة، مقابل 0.8% لدى الرجال ذوي البشرة الفاتحة. أي أن المنتج الواحد، المُعلَن عن معدل نجاح إجمالي مرتفع له، كان يتصرّف تصرفًا مختلفًا جدًا بحسب الشخص الذي يظهر في الصورة.
قياس الإنصاف بدل الاكتفاء بالقسم عليه
هل يُعدّ التفاوت في معدلات الانتقاء بحد ذاته دليلًا على أن النموذج ظالم؟ ليس بالضرورة، وهنا يصبح الموضوع جديًا. لنعد إلى النموذج المتحيّز ولنقِسه بطريقة أخرى.
from sklearn.metrics import confusion_matrix
for g in (0, 1):
m = groupe == g
tn, fp, fn, tp = confusion_matrix(retenu[m], prediction[m]).ravel()
print(g, "TPR", round(tp / (tp + fn), 3), "FPR", round(fp / (fp + tn), 3))
# 0 TPR 0.853 FPR 0.101
# 1 TPR 0.834 FPR 0.091
معدل الإيجابيات الحقيقية يساوي 85.3% للمجموعة 0 و83.4% للمجموعة 1، ومعدلا الإيجابيات الكاذبة 10.1% و9.1%. هذه القيم متقاربة جدًا بين المجموعتين.
فالنموذج نفسه إذن، في الوقت ذاته:
- غير منصف إطلاقًا بمعيار التكافؤ الديموغرافي — 26.6% مقابل 56.0% في معدل الانتقاء؛
- منصف تقريبًا بالكامل بمعيار تكافؤ الفرص — معدلات خطأ متماثلة في كل مجموعة.
لا تناقض في ذلك ولا خطأ في الحساب. فالمعياران يقيسان أمرين مختلفين. الثاني يسأل: «في ظروف متساوية بالنسبة إلى التسمية، هل يعامل النموذج المجموعتين معاملة واحدة؟» والجواب نعم. لكن التسمية نفسها، أي القرارات التاريخية، غير متكافئة. فالنموذج الذي يعيد إنتاج ممارسة غير منصفة بأمانة يحقق تكافؤ الفرص مع أنه يكرّس اللامساواة.
| المعيار | ما يشترطه | الحكم هنا |
|---|---|---|
| التكافؤ الديموغرافي | معدل انتقاء واحد لكل مجموعة | غير متحقق (0.266 / 0.560) |
| تكافؤ الفرص | معدل إيجابيات حقيقية واحد لكل مجموعة | متحقق (0.853 / 0.834) |
| تساوي معدلات الخطأ | إيجابيات حقيقية وكاذبة متماثلة | متحقق (0.101 / 0.091) |
تُظهر نتائج استحالة مثبتة في علوم الحاسوب النظرية أن هذه المعايير لا يمكن في الحالة العامة تحقيقها كلها معًا إلا في حالات متحلّلة. فلا بد إذن من الاختيار. ويتوقف هذا الاختيار على السؤال الذي نراه وجيهًا، أي إعادة إنتاج الماضي بأمانة أم تصحيح خلل قائم، وهذا السؤال ليس تقنيًا. ودور المهندس هو جعل المفاضلة مرئية ومعبَّرًا عنها بالأرقام، لا الفصل فيها منفردًا داخل دفتر notebook.
البيانات الشخصية وإعادة تحديد الهوية
إزالة الاسم والعنوان من ملف ما لا تجعله مجهول الهوية. فمجموعة من بضع سمات عادية تكفي في كثير من الأحيان لعزل شخص بعينه.
from collections import Counter
# (سنة الميلاد، الجنس، الرمز البريدي)
table = [
("1985", "H", "75011"), ("1985", "H", "75011"), ("1985", "F", "75011"),
("1990", "F", "69003"), ("1990", "F", "69003"), ("1962", "H", "33800"),
]
for combinaison, occurrences in sorted(Counter(table).items()):
print(combinaison, occurrences, "UNIQUE" if occurrences == 1 else "")
# ('1962', 'H', '33800') 1 UNIQUE
# ('1985', 'F', '75011') 1 UNIQUE
# ('1985', 'H', '75011') 2
# ('1990', 'F', '69003') 2
من بين ستة أسطر يُفترض أنها مجهولة الهوية، يمكن تحديد هوية شخصين بصورة فريدة بمجرد تقاطع ثلاث سمات عادية. والمبدأ الذي يعمّم هذا الفحص يُسمّى k-anonymity (إخفاء الهوية بمعيار k): أن تظهر كل توليفة من السمات شبه المعرِّفة k مرات على الأقل. وهنا، مع k = 2، يوجد سطران غير مطابقين، وينبغي تعميمهما، كاستخدام شريحة عمرية بدل السنة، ومقاطعة بدل الرمز البريدي، أو حذفهما.
وتميّز اللائحة العامة لحماية البيانات، السارية منذ 25 مايو 2018، تمييزًا واضحًا بين مفهومين كثيرًا ما يُخلط بينهما. فـالترميز المستعار (pseudonymisation) يستبدل المعرّفات المباشرة برموز: وتظل البيانات بيانات شخصية، بكل ما يترتب على ذلك من التزامات، لأن إعادة تحديد الهوية تبقى ممكنة. أما إخفاء الهوية (anonymisation) بمعنى اللائحة فيفترض أن تصبح إعادة تحديد الهوية مستحيلة بصورة معقولة، وهو ما يبيّن المثال أعلاه صعوبة بلوغه.
ثمة مبدآن لهما عواقب مباشرة على تصميم أي نظام ذكاء اصطناعي:
- تقليل البيانات: جمع ما هو ضروري فقط للغاية المعلَنة. أما عبارة «قد يفيد النموذج لاحقًا» فليست غاية.
- تحديد الغايات: لا يجوز إعادة استخدام البيانات المجموعة لغرض معيّن بحرية لتدريب نموذج يسعى إلى هدف آخر.
والنص المرجعي هو اللائحة (الاتحاد الأوروبي) 2016/679.
تفسير قرار ما
بعض النماذج مقروءة بحكم بنيتها. فالشجرة قليلة العمق يمكن طباعتها وإعادة قراءتها:
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier, export_text
iris = load_iris()
arbre = DecisionTreeClassifier(max_depth=2, random_state=0).fit(iris.data, iris.target)
print(export_text(arbre, feature_names=list(iris.feature_names), decimals=1))
# |--- petal width (cm) <= 0.8
# | |--- class: 0
# |--- petal width (cm) > 0.8
# | |--- petal width (cm) <= 1.8
# | | |--- class: 1
# | |--- petal width (cm) > 1.8
# | | |--- class: 2
تكفي مقارنتان على مقياس واحد لوصف هذا المصنِّف وصفًا كاملًا. ويمكن للشخص المعني بالقرار أن يطعن فيه من حيث الجوهر: «عرض بتلتي قيس قياسًا خاطئًا».
أما في شبكة عصبية تضم ملايين المعاملات، فهذه القراءة غير موجودة. وعندئذ نلجأ إلى تفسيرات لاحقة (a posteriori): قياس هبوط الأداء عند تشويش متغيّر ما، أو إنتاج خريطة بروز على صورة، أو إسناد وزن محلي لكل متغيّر في تنبؤ معيّن. هذه الأدوات مفيدة، لكن لا بد من توضيح أمين: إنها تنتج تقريبًا لسلوك النموذج، لا الاستدلال الذي اتّبعه فعلًا، وهو استدلال لا يتخذ أصلًا شكل استدلال. بل إن طريقتين للتفسير مطبَّقتين على النموذج نفسه قد تعطيان أهمية مختلفة للمتغيّرات.
ومن هنا نتيجة عملية: حين يجب تبرير قرار أمام الشخص المعني أو أمام جهة تنظيمية، فإن اختيار نموذج قابل للتفسير منذ البداية أكثر أمانًا في الغالب من إضافة طبقة تفسير فوق نموذج معتم. وفارق الأداء قد يكون معدومًا أحيانًا، وهو قابل للقياس.
والرهان قانوني أيضًا. فالمادة 22 من اللائحة المذكورة تنظّم القرارات الآلية بالكامل التي تُنتج آثارًا قانونية أو تؤثر في شخص ما تأثيرًا كبيرًا، وتنص خصوصًا على حق الحصول على تدخل بشري.
كلفة الطاقة
تدريب نموذج يستهلك الكهرباء. ويُحسب ترتيب المقدار انطلاقًا من ثلاث كميات: عدد ساعات الحوسبة، وقدرة الأجهزة، وكثافة الكربون في شبكة الكهرباء المستخدمة.
heures_gpu = 10_000 # فرضية: 10 000 ساعة من بطاقة رسوميات
puissance_kw = 0.4 # ترتيب مقدار قدرة بطاقة حوسبة
pue = 1.2 # الكلفة الإضافية لمركز البيانات (التبريد، إلخ)
energie_kwh = heures_gpu * puissance_kw * pue
print(energie_kwh) # 4800.0
for nom, intensite_g_par_kwh in (("très carboné", 700), ("moyen", 250), ("décarboné", 50)):
print(nom, round(energie_kwh * intensite_g_par_kwh / 1000, 1), "kg CO2e")
# très carboné 3360.0 kg CO2e
# moyen 1200.0 kg CO2e
# décarboné 240.0 kg CO2e
هذا الحساب ليس قياسًا، بل تقدير مبني على فرضيات صريحة، وهنا تكمن فائدته. فمن أجل الكمية نفسها من الحوسبة، تتفاوت البصمة بمعامل 14 بحسب مزيج الكهرباء. وبذلك فإن الرافعة الأساسية ليست تحسين النموذج وحده، بل المكان والزمان اللذان تُجرى فيهما الحوسبة.
وثمة ملاحظتان منهجيتان غالبًا ما تغيبان عن الإعلانات:
- الأرقام المنشورة تتعلق في أغلب الأحيان بتدريب نموذج نهائي، مع إغفال المحاولات الفاشلة وعمليات البحث عن المعاملات الفائقة (hyperparameters)، وقد تمثّل هذه الجزء الأكبر من الكلفة الفعلية.
- في نموذج واسع الاستخدام، ينتهي تراكم عمليات الاستدلال (inference) إلى تجاوز كلفة التدريب. فالتدريب الواحد ظاهر للعيان، أما مليارات الطلبات فأقل ظهورًا.
وتتباين التقديرات المنشورة في الأدبيات تباينًا كبيرًا بحسب المنهجية والنطاق المعتمدين. ولا معنى للاستشهاد برقم معزول دون فرضياته؛ ولذلك يعرض الحساب أعلاه فرضياته.
الإطار التنظيمي الأوروبي
زوّد الاتحاد الأوروبي نفسه بلائحة خاصة، هي اللائحة (الاتحاد الأوروبي) 2024/1689، المعروفة باسم «لائحة الذكاء الاصطناعي». ومنطقها هو تدريج الالتزامات بحسب خطورة الاستخدام لا بحسب التقنية المستعملة: فالخوارزمية نفسها قد تكون خارج النطاق في لعبة فيديو، وعالية الخطورة في عملية توظيف.
| مستوى الخطورة | المعالجة | أمثلة من الفئة |
|---|---|---|
| غير مقبول | محظور | التصنيف الاجتماعي من قبل السلطات العامة |
| مرتفع | التزامات مشدَّدة | الحصول على عمل أو تعليم أو ائتمان؛ بعض الاستخدامات في البنى التحتية الحيوية |
| محدود | التزامات شفافية | إبلاغ المستخدم بأنه يتفاعل مع ذكاء اصطناعي، ووسم المحتويات المولَّدة |
| ضئيل | لا التزام خاص | مرشّح البريد المزعج، توصية المحتوى العادية |
دخلت اللائحة حيّز النفاذ في 1 أغسطس 2024، مع تطبيق متدرّج زمنيًا: تُطبَّق المحظورات أولًا، ثم الالتزامات المتعلقة بالنماذج ذات الاستخدام العام، ثم النظام العام للأنظمة عالية الخطورة في وقت لاحق. أما المواعيد الدقيقة ونطاقها فمذكورة في النص، وهو المصدر الوحيد الذي ينبغي الرجوع إليه في أي مسألة عملية: اللائحة (الاتحاد الأوروبي) 2024/1689. بالنسبة إلى نظام مصنَّف عالي الخطورة، تدور الالتزامات حول محاور ثابتة قليلة: جودة بيانات التدريب وحوكمتها، والتوثيق التقني، وتسجيل الأحداث (journalisation)، وإعلام المستخدمين، والإشراف البشري الفعلي، والمتانة والأمن السيبراني. سيتعرّف الممارس في جزء كبير من ذلك على ما هو في الأصل عمل جادّ لا أكثر — وليس ذلك من قبيل الصدفة: فإمكانية تتبّع مجموعة البيانات وقياس الأداء لكل مجموعة فرعية مطلوبتان قبل أن يصبحا إلزاميين قانونيًا بوقت طويل.
التوظيف: ما نعرفه وما لا نعرفه
هذا هو الموضوع الذي يشتدّ فيه إغراء الجزم، وتضعف فيه القاعدة التجريبية أكثر من أي موضوع آخر. ويتيح معلمان اثنان قياس الفجوة بين التقديرات المتاحة.
في عام 2013، قدّر كارل فراي (Carl Frey) ومايكل أوزبورن (Michael Osborne) أن نحو 47 % من الوظائف في الولايات المتحدة تندرج ضمن فئة عالية الخطورة من حيث الأتمتة. وقد تكرّر هذا الرقم كثيرًا، لكنّ منهجيته تعرّضت للنقد: فهو يقيّم مهنًا كاملة. وفي عام 2016، أعادت أعمال أُنجزت في إطار منظمة التعاون والتنمية في الميدان الاقتصادي (OCDE) من تأليف ميلاني أرنتس (Melanie Arntz) وتيري غريغوري (Terry Gregory) وأولريش زييرهان (Ulrich Zierahn) التمرين نفسه على مستوى المهام التي تتكوّن منها كل وظيفة، وخلصت إلى رتبة قدر تبلغ نحو 9 % بالنسبة إلى البلدان المدروسة.
| الدراسة | السنة | وحدة التحليل | رتبة القدر المعلنة |
|---|---|---|---|
| فراي وأوزبورن | 2013 | المهنة كاملة | نحو 47 % من الوظائف الأمريكية عالية الخطورة |
| أرنتس وغريغوري وزييرهان (إطار OCDE) | 2016 | المهام المكوّنة للوظيفة | نحو 9 % من الوظائف عالية الخطورة |
ينبغي أن يُقرأ الفارق بخمسة أضعاف بين دراستين جادتين حول الموضوع نفسه على حقيقته: فالنتيجة تتوقف بشدة على وحدة التحليل المختارة. أما ما هو ثابت بصورة راسخة فهو أكثر تواضعًا، لكنه حقيقي:
- الأتمتة تطال المهام، لا المهن. فالمهنة التي تُؤتمَت 30 % من مهامها تتحوّل؛ ولا تختفي بصورة آلية.
- تتوزع الآثار بصورة غير متكافئة بحسب القطاعات ومستويات التأهيل والأقاليم. والرصيد الصافي على المستوى الوطني يُخفي أوضاعًا محلية شديدة الاختلاف.
- يتوقف إيقاع التبنّي على عوامل تنظيمية وتشريعية وعوامل التكلفة، لا على الجدوى التقنية وحدها. وهذا التفاوت هو ما يجعل التوقعات على مدى عشر سنوات ضعيفة الموثوقية.
أما فيما يخص ما سيأتي — القدرات المستقبلية للنماذج، والجداول الزمنية، والقفزات المعلن عنها — فالموقف الأمين هو الإقرار بأن التوقعات المنشورة ثبتت قلة موثوقيتها في الاتجاهين، وأن أي تنبؤ مقرون بتاريخ محدد إنما هو رأي، لا نتيجة. ولذلك يتوقف هذا المقرر هنا: فقد زوّدكم بما يلزم لتقييم الادعاءات التي ستصادفونها، وذلك خير من أن يمنحكم ادعاءً إضافيًا.
ما ينبغي تذكّره
- ينشأ التحيّز من البيانات عبر أربعة مسارات: أخذ العيّنات، والتسميات (étiquettes)، والمتغيرات الوسيطة، وحلقات التغذية الراجعة. وحذف السمة الحساسة لا يزيل التفاوت — إذ يعيد النموذج بناءه عبر وسيط ويبلغ 26,6 % مقابل 56,0 % في معدل الاختيار — بل يزيل فقط إمكانية قياسه.
- عدة تعريفات للإنصاف يمكن الدفاع عنها، وكلها قابلة للقياس، وهي في العموم غير متوافقة فيما بينها. فالنموذج نفسه يخفق في التكافؤ الديموغرافي ويحقق تكافؤ الفرص. واختيار المعيار قرار سياسي؛ وواجب المهندس أن يعبّر عنه بالأرقام وأن يجعله مرئيًا.
- تكفي ثلاث سمات عادية لإعادة تحديد هوية أشخاص داخل ملف «مجهول الهوية». فإخفاء الهوية بالاسم المستعار (pseudonymisation) ليس إخفاءً تامًا للهوية (anonymisation)، وتبقى البيانات المستعارة بيانات شخصية.
- التفسيرات اللاحقة (a posteriori) لنموذج مبهم هي تقريبات لسلوكه، لا استدلاله الفعلي. وحين يتعيّن تبرير قرار ما، فإن اختيار نموذج قابل للتفسير منذ البداية هو في الغالب الخيار الأفضل.
- لحساب متطابق، تتفاوت البصمة الكربونية بعامل 14 بحسب مزيج الكهرباء. وفي ما يخص التوظيف، تصل دراستان جادتان إلى 47 % و9 % بحسب ما إذا كانتا تحلّلان بحسب المهنة أو بحسب المهمة: فعدم اليقين جزء من النتيجة، ويجب الإعلان عنه معها.
التعليقات
التعليقات مدعومة عبر GitHub Discussions
سجّل الدخول باستخدام GitHub للمشاركة في النقاش