حسنًا، أنت مهتم ببناء "ذكاء اصطناعي". ليس بالمعنى السينمائي حيث يتأمل في الوجود، بل بالمعنى الذي يمكنك تشغيله على حاسوبك المحمول ليقوم بالتنبؤات، وفرز البيانات، وربما حتى الدردشة قليلًا. هذا الدليل حول كيفية إنشاء ذكاء اصطناعي على حاسوبك هو محاولتي لنقلك من الصفر إلى شيء يعمل فعليًا على جهازك . توقع بعض الاختصارات، وآراء صريحة، وبعض الاستطرادات أحيانًا، لأننا، بصراحة، لا نضمن أن تكون عملية التعديل سهلة دائمًا.
مقالات قد ترغب في قراءتها بعد هذه المقالة:
🔗 كيفية إنشاء نموذج ذكاء اصطناعي: شرح كامل للخطوات
شرح مفصل لعملية إنشاء نموذج الذكاء الاصطناعي من البداية إلى النهاية.
🔗 ما هو الذكاء الاصطناعي الرمزي: كل ما تحتاج لمعرفته
تعلم أساسيات الذكاء الاصطناعي الرمزي وتاريخه وتطبيقاته الحديثة.
🔗 متطلبات تخزين البيانات للذكاء الاصطناعي: ما تحتاجه
فهم احتياجات التخزين لأنظمة الذكاء الاصطناعي الفعالة والقابلة للتوسع.
لماذا نتعب أنفسنا الآن؟ 🧭
لقد ولّى زمن حصر الذكاء الاصطناعي بمختبرات ضخمة كجوجل. اليوم، باستخدام حاسوب محمول عادي، وبعض الأدوات مفتوحة المصدر، وقليل من الإصرار، يمكنك ابتكار نماذج صغيرة لتصنيف رسائل البريد الإلكتروني، وتلخيص النصوص، أو إضافة علامات للصور. لا حاجة لمركز بيانات. كل ما تحتاجه هو:
-
خطة،
-
إعداد نظيف،
-
وهدف يمكنك تحقيقه دون أن ترغب في رمي الآلة من النافذة.
ما الذي يجعل هذا الأمر يستحق المتابعة؟ ✅
الأشخاص الذين يسألون "كيف تصنع ذكاءً اصطناعياً على جهاز الكمبيوتر الخاص بك" عادةً لا يرغبون في الحصول على شهادة دكتوراه. إنهم يريدون شيئاً يمكنهم تشغيله فعلياً. الخطة الجيدة تُراعي عدة أمور:
-
ابدأ بخطوات صغيرة : صنّف المشاعر، لا "تحلّ الألغاز".
-
إمكانية التكرار :
استخدم condaأوvenvحتى تتمكن من إعادة البناء غدًا دون ذعر. -
أمانة الأجهزة : وحدات المعالجة المركزية مناسبة لـ scikit-learn، ووحدات معالجة الرسومات مناسبة للشبكات العميقة (إذا كنت محظوظًا) [2][3].
-
بيانات نظيفة : لا بيانات غير مصنفة بشكل خاطئ؛ يتم تقسيمها دائمًا إلى مجموعات التدريب/التحقق/الاختبار.
-
المقاييس ذات المعنى : الدقة، والضبط، والاستدعاء، وF1. بالنسبة لعدم التوازن، ROC-AUC/PR-AUC [1].
-
طريقة للمشاركة : واجهة برمجة تطبيقات صغيرة، أو واجهة سطر أوامر، أو تطبيق تجريبي.
-
السلامة : لا توجد مجموعات بيانات مشبوهة، ولا تسريبات معلومات خاصة، لاحظ المخاطر بوضوح [4].
إذا قمت بذلك بشكل صحيح، فحتى نموذجك "الصغير" سيكون حقيقياً.
خارطة طريق لا تبدو مخيفة 🗺️
-
اختر مشكلة صغيرة + مقياس واحد.
-
قم بتثبيت بايثون وبعض المكتبات الرئيسية.
-
أنشئ بيئة نظيفة (ستشكر نفسك لاحقاً).
-
قم بتحميل مجموعة البيانات الخاصة بك، وقم بتقسيمها بشكل صحيح.
-
قم بتدريب خط أساس بسيط ولكنه صادق.
-
جرب استخدام الشبكة العصبية فقط إذا كانت تضيف قيمة.
-
قم بتجميع عرض توضيحي.
-
احتفظ ببعض الملاحظات، ستشكر نفسك في المستقبل.
الحد الأدنى من المعدات: لا تُعقّد الأمور 🧰
-
بايثون : قم بتنزيلها من موقع python.org.
-
البيئة : Conda أو
venvمع pip. -
دفاتر الملاحظات : جوبيتر للتجربة.
-
المحرر : VS Code، سهل الاستخدام وقوي.
-
المكتبات الأساسية
-
باندا + نامباي (معالجة البيانات)
-
مكتبة scikit-learn (التعلم الآلي الكلاسيكي)
-
PyTorch أو TensorFlow (التعلم العميق، إصدارات GPU مهمة) [2][3]
-
محولات الوجوه المحتضنة، spaCy، OpenCV (معالجة اللغة الطبيعية + الرؤية)
-
-
التسارع (اختياري)
-
NVIDIA → إصدارات CUDA [2]
-
AMD → ROCm builds [2]
-
أبل → بايتورش مع الواجهة الخلفية ميتال (MPS) [2]
-
ملاحظة جانبية: تختفي معظم مشاكل التثبيت إذا سمحت للمثبتات الرسمية بإعطائك المناسب لإعداداتك. انسخ، الصق، وانتهى الأمر [2][3].
قاعدة عامة: ابدأ بالزحف باستخدام وحدة المعالجة المركزية أولاً، ثم انطلق بسرعة باستخدام وحدة معالجة الرسومات لاحقاً.
اختيار أدواتك: قاوم الأشياء البراقة 🧪
-
البيانات الجدولية ← مكتبة scikit-learn. الانحدار اللوجستي، الغابات العشوائية، تعزيز التدرج.
-
النصوص أو الصور → PyTorch أو TensorFlow. بالنسبة للنصوص، يُعدّ ضبط مُحوّل صغير بدقة مكسبًا كبيرًا.
-
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 ← الميزات + التصنيفات ← الانحدار اللوجستي.
from sklearn.linear_model import LogisticRegression ... print("الدقة:", accuracy_score(y_test, preds)) print(classification_report(y_test, preds))
إذا تفوق هذا على العشوائي، فاحتفل. قهوة أم كعكة، الخيار لك ☕.
بالنسبة للفئات غير المتوازنة، راقب منحنيات الدقة/الاستدعاء + ROC/PR بدلاً من الدقة الخام [1].
الشبكات العصبية (فقط إذا كانت مفيدة) 🧠
هل لديك نص وتريد تصنيف المشاعر؟ اضبط نموذج Transformer صغير مُدرّب مسبقًا. سريع، أنيق، ولا يُرهق جهازك.
من مكتبة Transformers، استوردنا AutoModelForSequenceClassification... ثم قمنا بتدريب المدرب باستخدام trainer.train()، وطبعنا نتيجة تقييم المدرب باستخدام print(trainer.evaluate())
نصيحة احترافية: ابدأ بعينات صغيرة. تصحيح الأخطاء على 1% من البيانات يوفر ساعات من العمل.
البيانات: أساسيات لا يمكنك تخطيها 📦
-
مجموعات البيانات العامة: Kaggle، Hugging Face، المستودعات الأكاديمية (تحقق من التراخيص).
-
الأخلاقيات: تنظيف المعلومات الشخصية، واحترام الحقوق.
-
تقسيم البيانات: التدريب، التحقق، الاختبار. لا تنظر إلى البيانات قبل إتمامها.
-
التصنيفات: الاتساق أهم من النماذج الفاخرة.
حقيقة صادمة: 60% من النتائج تأتي من تصنيفات واضحة، وليس من براعة معمارية.
مقاييس تُبقيك صادقًا 🎯
-
التصنيف ← الدقة، الضبط، الاستدعاء، F1.
-
المجموعات غير المتوازنة → ROC-AUC و PR-AUC أكثر أهمية.
-
الانحدار → MAE، RMSE، R².
-
التحقق من الواقع ← ألقِ نظرة سريعة على بعض النتائج؛ فالأرقام قد تكون مضللة.
مرجع مفيد: دليل مقاييس scikit-learn [1].
نصائح للتسارع 🚀
-
NVIDIA → PyTorch CUDA build [2]
-
AMD → ROCm [2]
-
أبل → الواجهة الخلفية لخدمات معالجة البيانات [2]
-
TensorFlow → اتبع خطوات التثبيت الرسمية لوحدة معالجة الرسومات + التحقق [3]
لكن لا تُجرِ التحسينات قبل حتى تشغيل خط الأساس. هذا أشبه بتلميع جنوط السيارة قبل تركيب عجلاتها.
نماذج توليد محلية: تنانين صغيرة 🐉
-
اللغة ← نماذج LLM الكمية عبر
llama.cpp[5]. مناسبة للملاحظات أو تلميحات البرمجة، وليست للمحادثات المعمقة. -
الصور ← توجد متغيرات انتشار مستقرة؛ اقرأ التراخيص بعناية.
أحيانًا يتفوق محول مُعدّل بدقة ومخصص لمهمة معينة على نموذج LLM ضخم على أجهزة صغيرة.
عروض توضيحية للتغليف: دع الناس ينقرون 🖥️
-
Gradio → أسهل واجهة مستخدم.
-
FastAPI → واجهة برمجة تطبيقات نظيفة.
-
Flask → البرامج النصية السريعة.
استورد gradio كـ gr، ثم أنشئ مسارًا باسم "sentiment-analysis" باستخدام الدالة pipeline، ثم شغّل العرض التوضيحي demo.launch().
يبدو الأمر أشبه بالسحر عندما يعرضه متصفحك.
عادات تحافظ على سلامة العقل 🧠
-
نظام Git للتحكم في الإصدارات.
-
MLflow أو دفاتر الملاحظات لتتبع التجارب.
-
التحكم في إصدارات البيانات باستخدام DVC أو التجزئة.
-
استخدم Docker إذا احتاج الآخرون لتشغيل برامجك.
-
تثبيت التبعيات (
requirements.txt).
صدقني، ستكون ممتناً في المستقبل.
استكشاف الأخطاء وإصلاحها: لحظات "أوف" الشائعة 🧯
-
هل تواجه مشاكل في التثبيت؟ ما عليك سوى مسح البيئة وإعادة بنائها.
-
لم يتم اكتشاف وحدة معالجة الرسومات؟ عدم تطابق برنامج التشغيل، تحقق من الإصدارات [2][3].
-
هل النموذج لا يتعلم؟ قم بتخفيض معدل التعلم، أو تبسيط البيانات، أو تنظيف التصنيفات.
-
هل يحدث فرط التخصيص؟ قم بالتنظيم، أو التسرب، أو ببساطة المزيد من البيانات.
-
هل المقاييس جيدة جدًا؟ لقد سربت مجموعة الاختبار (يحدث هذا أكثر مما تتخيل).
الأمن + المسؤولية 🛡️
-
قم بإزالة المعلومات الشخصية الحساسة.
-
احترام التراخيص.
-
التركيز على الحلول المحلية أولاً = الخصوصية + التحكم، ولكن مع وجود حدود حسابية.
-
توثيق المخاطر (الإنصاف، والسلامة، والمرونة، وما إلى ذلك) [4].
جدول مقارنة مفيد 📊
| أداة | الأفضل لـ | لماذا تستخدمه؟ |
|---|---|---|
| مكتبة سايكيت ليرن | بيانات جدولية | مكاسب سريعة، واجهة برمجة تطبيقات نظيفة 🙂 |
| بايتورش | شباك صيد عميقة مصممة خصيصًا | مجتمع ضخم ومرن |
| TensorFlow | خطوط إنتاج | النظام البيئي + خيارات التقديم |
| محولات | مهام نصية | توفر النماذج المدربة مسبقًا موارد الحوسبة |
| سبايسي | خطوط أنابيب معالجة اللغة الطبيعية | قوي صناعياً، عملي |
| جراديو | العروض التوضيحية/واجهات المستخدم | ملف واحد → واجهة المستخدم |
| FastAPI | واجهات برمجة التطبيقات | السرعة + المستندات التلقائية |
| بيئة تشغيل ONNX | الاستخدام عبر الأطر | محمول + فعال |
| llama.cpp | برامج ماجستير القانون المحلية الصغيرة | التكميم المناسب لوحدة المعالجة المركزية [5] |
| عامل ميناء | مشاركة البيئات | "إنه يعمل في كل مكان" |
ثلاث غطسات أعمق (ستستخدمها بالفعل) 🏊
-
هندسة الميزات للجداول → التطبيع، والترميز الأحادي، وتجربة نماذج الشجرة، والتحقق المتبادل [1].
-
التعلم بالنقل للنصوص → ضبط المحولات الصغيرة، والحفاظ على طول التسلسل متواضعًا، وF1 للفئات النادرة [1].
-
تحسين الاستدلال المحلي ← التكميم، تصدير ONNX، تخزين مُجزئات الرموز مؤقتًا.
المزالق الكلاسيكية 🪤
-
بناء كبير جداً، في وقت مبكر جداً.
-
تجاهل جودة البيانات.
-
تم تخطي تقسيم الاختبار.
-
البرمجة بالنسخ واللصق الأعمى.
-
لا أقوم بتوثيق أي شيء.
حتى ملف README يوفر ساعات لاحقة.
مصادر تعليمية تستحق الوقت 📚
-
الوثائق الرسمية (PyTorch، TensorFlow، scikit-learn، Transformers).
-
دورة جوجل المكثفة في التعلم الآلي، DeepLearning.AI.
-
وثائق OpenCV حول أساسيات الرؤية الحاسوبية.
-
دليل استخدام spaCy لخطوط أنابيب معالجة اللغة الطبيعية.
حيلة صغيرة للحياة: المثبتات الرسمية التي تولد أمر تثبيت وحدة معالجة الرسومات الخاصة بك هي منقذة للحياة [2][3].
تجميع كل شيء معًا 🧩
-
الهدف ← تصنيف تذاكر الدعم إلى 3 أنواع.
-
البيانات ← تصدير إلى ملف CSV، مع إخفاء الهوية، وتقسيمها.
-
الأساس ← TF-IDF من مكتبة scikit-learn + الانحدار اللوجستي.
-
الترقية ← ضبط المحول بدقة في حالة توقف خط الأساس.
-
عرض توضيحي ← تطبيق مربع نص Gradio.
-
الشحن → Docker + README.
-
التكرار ← إصلاح الأخطاء، إعادة التسمية، التكرار.
-
الحماية ← توثيق المخاطر [4].
إنها فعالة بشكل ممل.
باختصار 🎂
تعلم كيفية إنشاء ذكاء اصطناعي على جهاز الكمبيوتر الخاص بك يعني اختيار مشكلة صغيرة، وبناء أساس لها، والتوسع فقط عند الحاجة، والحفاظ على إمكانية تكرار العملية. كرر ذلك مرتين وستشعر بالكفاءة. كرر ذلك خمس مرات وسيبدأ الناس في طلب المساعدة منك، وهذا هو الجزء الممتع حقًا.
نعم، أحياناً يبدو الأمر أشبه بتعليم محمصة خبز كتابة الشعر. لا بأس. استمر في المحاولة. 🔌📝
مراجع
[1] scikit-learn — المقاييس وتقييم النموذج: رابط
[2] PyTorch — مُحدد التثبيت المحلي (CUDA/ROCm/Mac MPS): رابط
[3] TensorFlow — التثبيت + التحقق من وحدة معالجة الرسومات: رابط
[4] NIST — إطار إدارة مخاطر الذكاء الاصطناعي: رابط
[5] llama.cpp — مستودع LLM محلي: رابط