حسنًا، إذًا أنت مهتم ببناء "ذكاء اصطناعي". ليس بالمعنى الهوليودي الذي يتأمل الوجود، بل بالنوع الذي يمكنك تشغيله على حاسوبك المحمول، والذي يُصدر تنبؤات، ويُرتب الأمور، وربما حتى يُجري محادثات قصيرة. هذا الدليل حول كيفية إنشاء ذكاء اصطناعي على حاسوبك هو محاولتي لإخراجك من العدم إلى شيء يعمل فعليًا محليًا . توقع اختصارات، وآراءً صريحة، ومحاولات جانبية أحيانًا، لأنه، لنكن صريحين، التعديل لا يكون نظيفًا أبدًا.
مقالات قد ترغب في قراءتها بعد هذه المقالة:
🔗 كيفية إنشاء نموذج الذكاء الاصطناعي: شرح الخطوات الكاملة
تفصيل واضح لإنشاء نموذج الذكاء الاصطناعي من البداية إلى النهاية.
🔗 ما هو الذكاء الاصطناعي الرمزي: كل ما تحتاج إلى معرفته
تعرف على أساسيات الذكاء الاصطناعي الرمزي وتاريخه وتطبيقاته الحديثة.
🔗 متطلبات تخزين البيانات للذكاء الاصطناعي: ما تحتاجه
فهم احتياجات التخزين لأنظمة الذكاء الاصطناعي الفعالة والقابلة للتطوير.
لماذا تهتم الآن؟ 🧭
لأن عصر "مختبرات جوجل وحدها قادرة على الذكاء الاصطناعي" قد ولّى. في هذه الأيام، باستخدام حاسوب محمول عادي، وبعض الأدوات مفتوحة المصدر، وبالعناد، يمكنك ابتكار نماذج صغيرة تُصنّف رسائل البريد الإلكتروني، أو تُلخّص النصوص، أو تُوسّم الصور. لا حاجة لمركز بيانات. كل ما تحتاجه هو:
-
خطة،
-
إعداد نظيف،
-
وهدف يمكنك تحقيقه دون أن ترغب في رمي الماكينة من النافذة.
ما الذي يجعل هذا يستحق المتابعة ✅
عادةً ما لا يرغب من يسألون "كيف تُنشئ ذكاءً اصطناعيًا على حاسوبك" في الحصول على شهادة دكتوراه، بل في شيءٍ يستطيعون تشغيله بالفعل. الخطة الجيدة تُحقق بعض النقاط:
-
ابدأ صغيرًا : تصنيف المشاعر، وليس "حل المعلومات الاستخباراتية".
-
إمكانية إعادة الإنتاج :
conda
أوvenv
حتى تتمكن من إعادة البناء غدًا دون ذعر. -
صدق الأجهزة : وحدات المعالجة المركزية جيدة لـ scikit-learn، ووحدات معالجة الرسومات جيدة للشبكات العميقة (إذا كنت محظوظًا) [2][3].
-
بيانات نظيفة : لا توجد بيانات غير مرغوب فيها تحمل علامات خاطئة؛ يتم تقسيمها دائمًا إلى تدريب/صالح/اختبار.
-
المقاييس ذات الدلالة : الدقة، الضبط، التذكير، F1. في حالة عدم التوازن، ROC-AUC/PR-AUC [1].
-
طريقة للمشاركة : واجهة برمجة تطبيقات صغيرة، أو سطر أوامر، أو تطبيق تجريبي.
-
السلامة : لا توجد مجموعات بيانات مشبوهة، ولا تسريبات للمعلومات الخاصة، لاحظ المخاطر بوضوح [4].
احصل على هذه المعلومات بشكل صحيح، وحتى نموذجك "الصغير" سيكون حقيقيًا.
خريطة طريق لا تبدو مخيفة 🗺️
-
اختر مشكلة صغيرة + مقياس واحد.
-
قم بتثبيت Python وبعض المكتبات الرئيسية.
-
إنشاء بيئة نظيفة (سوف تشكر نفسك لاحقًا).
-
قم بتحميل مجموعة البيانات الخاصة بك، ثم قم بتقسيمها بشكل صحيح.
-
درّب خطًا أساسيًا غبيًا ولكن صادقًا.
-
حاول استخدام الشبكة العصبية فقط إذا كانت تضيف قيمة.
-
حزمة تجريبية.
-
احتفظ ببعض الملاحظات، ففي المستقبل سوف تشكرك.
الحد الأدنى من المعدات: لا تعقد الأمور أكثر من اللازم 🧰
-
بايثون : تم الحصول عليه من python.org.
-
البيئة : Conda أو
venv
مع pip. -
دفاتر الملاحظات : Jupyter للعب.
-
المحرر : VS Code، ودود وقوي.
-
المكتبات الأساسية
-
pandas + NumPy (معالجة البيانات)
-
scikit-learn (التعلم الآلي الكلاسيكي)
-
PyTorch أو TensorFlow (التعلم العميق، وبناء وحدة معالجة الرسومات أمر مهم) [2][3]
-
محولات الوجه المعانقة، spaCy، OpenCV (NLP + الرؤية)
-
-
التسارع (اختياري)
-
NVIDIA → إصدارات CUDA [2]
-
AMD → إصدارات ROCm [2]
-
Apple → PyTorch مع الواجهة الخلفية المعدنية (MPS) [2]
-
⚡ ملاحظة جانبية: يختفي معظم "متاعب التثبيت" إذا سمحتَ للمثبتين الرسميين بإعطائكَ الصحيحَ لإعدادك. انسخ، الصق، انتهى [2][3].
القاعدة العامة: ابدأ بالزحف على وحدة المعالجة المركزية أولاً، ثم انتقل إلى وحدة معالجة الرسومات لاحقًا.
اختيار المجموعة الخاصة بك: قاوم الأشياء اللامعة 🧪
-
البيانات الجدولية ← scikit-learn. الانحدار اللوجستي، والغابات العشوائية، وتعزيز التدرج.
-
النصوص أو الصور → PyTorch أو TensorFlow. بالنسبة للنصوص، يُعدّ ضبط مُحوِّل صغير أمرًا بالغ الأهمية.
-
يشبه Chatbot →
llama.cpp
يمكنه تشغيل برامج إدارة قواعد البيانات الصغيرة على أجهزة الكمبيوتر المحمولة. لا تتوقع سحرًا، ولكنه فعال مع الملاحظات والملخصات [5].
إعداد بيئة نظيفة 🧼
# Conda way conda create -n localai python=3.11 condaactivate localai # OR venv python -m venv .venv source .venv/bin/activate # Windows: .venv\Scripts\activate
ثم قم بتثبيت الأساسيات:
pip install numpy pandas scikit-learn jupyter pip install torch torchvision torchaudio # أو tensorflow pip install transformers datasets
(بالنسبة لبناءات وحدة معالجة الرسوميات، بجدية، استخدم المحدد الرسمي [2][3]).
أول نموذج عمل: حافظ على حجم صغير 🏁
خط الأساس أولاً. CSV → الميزات + العلامات → الانحدار اللوجستي.
من sklearn.linear_model استيراد الانحدار اللوجستي ... طباعة ("الدقة:"، درجة الدقة (y_test، preds)) طباعة (تقرير التصنيف (y_test، preds))
إذا تفوق هذا على العشوائية، فاحتفل. القهوة أو الكعكة، القرار لك ☕.
بالنسبة للفئات غير المتوازنة، راقب منحنيات الدقة/التذكر + معدل تكرار التكرار/النسبة المئوية للدقة الأولية [1].
الشبكات العصبية (فقط إذا كانت تساعد) 🧠
هل لديك نص وتريد تصنيف المشاعر؟ عدّل برنامج Transformer صغيرًا مُدرّبًا مسبقًا. سريع، أنيق، ولا يُرهق جهازك.
من المحولات استيراد AutoModelForSequenceClassification ... trainer.train() print(trainer.evaluate())
نصيحة احترافية: ابدأ بعينات صغيرة. تصحيح الأخطاء على ١٪ من البيانات يوفر ساعات.
البيانات: أساسيات لا يمكنك تخطيها 📦
-
مجموعات البيانات العامة: Kaggle، Hugging Face، المستودعات الأكاديمية (تحقق من التراخيص).
-
الأخلاق: تنظيف المعلومات الشخصية واحترام الحقوق.
-
انقسامات: تدريب، تحقق، اختبار. لا تطل النظر.
-
العلامات: الاتساق هو أكثر أهمية من النماذج الفاخرة.
قنبلة الحقيقة: 60% من النتائج تأتي من ملصقات نظيفة، وليس من سحر الهندسة المعمارية.
المقاييس التي تبقيك صادقًا 🎯
-
التصنيف → الدقة، الضبط، التذكير، F1.
-
المجموعات غير المتوازنة → ROC-AUC وPR-AUC أكثر أهمية.
-
الانحدار → MAE، RMSE، R².
-
التحقق من الواقع → قم بتقييم بعض النتائج؛ فالأرقام قد تكذب.
مرجع مفيد: دليل مقاييس scikit-learn [1].
نصائح التسارع 🚀
-
NVIDIA → PyTorch CUDA build [2]
-
AMD → ROCm [2]
-
Apple → MPS backend [2]
-
TensorFlow → اتبع تثبيت GPU الرسمي + التحقق [3]
لكن لا تُحسّن أداء سيارتك قبل أن تصل إلى الحد الأدنى المطلوب. هذا أشبه بتلميع جنوط السيارة قبل تركيب العجلات.
نماذج توليدية محلية: تنانين صغيرة 🐉
-
اللغة → ماجستير في القانون الكمي عبر
llama.cpp
[5]. مناسب للملاحظات أو تلميحات البرمجة، وليس للمحادثات العميقة. -
الصور → توجد متغيرات انتشار مستقرة؛ اقرأ التراخيص بعناية.
في بعض الأحيان، يتفوق المحول الدقيق المخصص لمهمة محددة على برنامج LLM المنتفخ على الأجهزة الصغيرة.
عروض التغليف: دع الناس ينقرون 🖥️
-
Gradio → أسهل واجهة مستخدم.
-
FastAPI → واجهة برمجة التطبيقات النظيفة.
-
Flask → البرامج النصية السريعة.
استيراد gradio كـ gr clf = pipeline("sentiment-analysis") ... demo.launch()
يبدو الأمر مثل السحر عندما يظهره متصفحك.
عادات تنقذ العقل 🧠
-
Git للتحكم في الإصدار.
-
MLflow أو دفاتر الملاحظات لتتبع التجارب.
-
إصدارات البيانات باستخدام DVC أو التجزئات.
-
Docker إذا احتاج الآخرون إلى تشغيل الأشياء الخاصة بك.
-
تثبيت التبعيات (
requirements.txt
).
صدقني، في المستقبل سوف تكون ممتنًا.
استكشاف الأخطاء وإصلاحها: لحظات "الاشمئزاز" الشائعة 🧯
-
هل هناك أخطاء في التثبيت؟ فقط امسح البيئة وأعد البناء.
-
لم يتم اكتشاف وحدة معالجة الرسومات؟ عدم تطابق برنامج التشغيل، تحقق من الإصدارات [2][3].
-
هل النموذج لا يتعلم؟ خفّض معدل التعلم، بسّط، أو أزل التسميات.
-
الإفراط في التجهيز؟ التنظيم، الحذف، أو مجرد المزيد من البيانات.
-
مقاييس جيدة جدًا؟ لقد سرّبتَ مجموعة الاختبار (يحدث هذا أكثر مما تظن).
الأمن + المسؤولية 🛡️
-
إزالة معلومات التعريف الشخصية.
-
احترم التراخيص.
-
محليًا أولاً = الخصوصية + التحكم، ولكن مع وجود حدود للحوسبة.
-
مخاطر الوثائق (العدالة والسلامة والمرونة وما إلى ذلك) [4].
جدول مقارنة مفيد 📊
أداة | الأفضل لـ | لماذا تستخدمه |
---|---|---|
scikit-learn | البيانات الجدولية | انتصارات سريعة، واجهة برمجة تطبيقات نظيفة 🙂 |
باي تورش | شبكات عميقة مخصصة | مجتمع مرن وضخم |
تينسور فلو | خطوط أنابيب الإنتاج | النظام البيئي + خيارات التقديم |
محولات | مهام نصية | النماذج المدربة مسبقًا توفر الحوسبة |
سباسي | خطوط أنابيب معالجة اللغة الطبيعية | قوة صناعية، براغماتية |
جراديو | العروض التوضيحية/واجهات المستخدم | ملف واحد → واجهة المستخدم |
واجهة برمجة التطبيقات السريعة | واجهات برمجة التطبيقات | السرعة + المستندات التلقائية |
وقت تشغيل ONNX | الاستخدام عبر الأطر | محمول + فعال |
لاما.cpp | برامج ماجستير محلية صغيرة | التكميم الصديق لوحدة المعالجة المركزية [5] |
عامل ميناء | مشاركة البيئات | "إنه يعمل في كل مكان" |
ثلاث غطسات أعمق (ستستخدمها فعليًا) 🏊
-
هندسة الميزات للجداول → التطبيع، والنموذج الساخن، وتجربة نماذج الشجرة، والتحقق المتبادل [1].
-
نقل التعلم للنص → ضبط المحولات الصغيرة، والحفاظ على طول التسلسل متواضعًا، F1 للفئات النادرة [1].
-
تحسين الاستدلال المحلي → التكميم، وتصدير ONNX، وتخزين وحدات التجزئة المؤقتة.
المزالق الكلاسيكية 🪤
-
بناء كبير جدًا، مبكر جدًا.
-
تجاهل جودة البيانات.
-
تخطي تقسيم الاختبار.
-
نسخ ولصق الترميز الأعمى.
-
عدم توثيق أي شيء.
حتى ملف README يوفر ساعات لاحقًا.
مصادر التعلم تستحق الوقت 📚
-
الوثائق الرسمية (PyTorch، TensorFlow، scikit-learn، Transformers).
-
دورة مكثفة في Google ML، DeepLearning.AI.
-
مستندات OpenCV لأساسيات الرؤية.
-
دليل استخدام spaCy لأنابيب معالجة اللغة الطبيعية.
خدعة صغيرة: المثبتات الرسمية التي تولد أمر تثبيت وحدة معالجة الرسوميات الخاصة بك هي منقذة للحياة [2][3].
جمع كل شيء معًا 🧩
-
الهدف → تصنيف تذاكر الدعم إلى 3 أنواع.
-
البيانات → تصدير CSV، مجهول الهوية، مقسم.
-
خط الأساس → scikit-learn TF-IDF + الانحدار اللوجستي.
-
ترقية → قم بضبط المحول بدقة في حالة توقف خط الأساس.
-
العرض التوضيحي → تطبيق Gradio Textbox.
-
السفينة → Docker + README.
-
كرر → إصلاح الأخطاء، إعادة التسمية، التكرار.
-
الحماية → مخاطر المستندات [4].
إنه فعال بشكل ممل.
ملخص 🎂
تعلم كيفية إنشاء ذكاء اصطناعي على حاسوبك = اختر مشكلة صغيرة، ضع خطًا أساسيًا، ولا تُصعّدها إلا عند الحاجة، وحافظ على قابلية تكرار إعداداتك. كررها مرتين وستشعر بالكفاءة. كررها خمس مرات، وسيبدأ الناس بطلب المساعدة منك، وهذا هو الجزء الممتع في النهاية.
نعم، أحيانًا أشعر وكأنني أُعلّم محمصة خبز كتابة الشعر. لا بأس. استمر في المحاولة. 🔌📝
مراجع
[1] scikit-learn — مقاييس وتقييم النموذج: الرابط
[2] PyTorch — محدد التثبيت المحلي (CUDA/ROCm/Mac MPS): الرابط
[3] TensorFlow — التحقق من التثبيت + وحدة معالجة الرسومات: الرابط
[4] NIST — إطار عمل إدارة مخاطر الذكاء الاصطناعي: الرابط
[5] llama.cpp — مستودع LLM المحلي: الرابط