في الأقسام القادمة سنبني وكيلًا صغيرًا يعمل فعلًا. والوكيل يحتاج إلى نموذج يفكر له.
فمن أين نأتي بالنموذج؟ في هذا الدرس نختار الطريق، ونعرف ما Ollama، ونعرف ماذا نستطيع أن نفعل به.
في هذا الدرس
قبل أن تبدأ
نستخدم هنا مصطلح النموذج كما عرفناه في مسار الدليل الشامل: هو نتيجة التدريب، وهو ثابت بعد التدريب. وبرنامج الذكاء الاصطناعي هو كل ما يعمل حوله.
نموذج سحابي ونموذج محلي
يمكن أن يعمل النموذج في مكانين:
- نموذج سحابي: يعمل على خوادم شركة، مثل Claude وGPT وGemini. ترسل إليه رسائلك عبر الإنترنت، وتدفع في العادة بحسب الاستخدام.
- نموذج محلي: يعمل على جهازك أنت. تقوم بتحميل ملفاته مرة واحدة، ثم يعمل دون إنترنت.
| سحابي | محلي | |
|---|---|---|
| أين يعمل؟ | على خوادم الشركة | على جهازك |
| الإنترنت | ضروري ليعمل | لا حاجة للانترنت |
| التكلفة | تدفع حسب الاستخدام | لا تدفع للنموذج |
| الرسائل | محفوظة على خوادم الشركة | محفوظة على جهازك |
| القوة | الأقوى عادةً | أضعف، ويتوقف على موارد جهازك |
وسنبدأ في هذا المسار بنموذج محلي، لأسباب بسيطة:
- لا نحتاج إلى حساب أو مفتاح أو دفع.
- نرى كل ما يحدث على جهازنا.
- وحين يعمل الوكيل، نستطيع أن نبدّل النموذج بنموذج سحابي أقوى بتغيير ثلاثة أسطر فقط.
ما النموذج المفتوح؟
لا نستطيع أن نستخدم Claude أو GPT، لأن شركتيهما لا تنشران ملفاتهما. أما النموذج المفتوح فتنشر الشركة ملفاته، فتنزّلها وتشغّلها بنفسك.
ومن النماذج المفتوحة نموذج Qwen الذي سنستخدمه.
لكن «مفتوح» لا يعني «بلا شروط». لكل نموذج ترخيص يحدد ما يحق لنا فعله به. وهذا مثال حقيقي من Qwen2.5:
- النماذج كلها، عدا حجمي 3B و72B، منشورة بترخيص Apache 2.0، كما تقول صفحة Ollama.
فإن أردتَ أن تستخدم نموذجًا في عمل تجاري، فاقرأ ترخيصه أولًا.
ما Ollama؟
Ollama ليس نموذجًا. هو مشغّل للنماذج يعمل على جهازك. تصفه صفحته الرئيسة بأنه طريقة لبناء تطبيقات بالنماذج المفتوحة.
مثال بسيط: المشغّل الموسيقي ليس أغنية، والأغاني هي التي نضعها فيه. كذلك Ollama هو المشغّل، والنماذج هي الأغاني.
وهذه أربعة أشياء يفعلها Ollama:
- يحمل النموذج إلى جهازك بأمر واحد.
- يحمّله في الذاكرة حين تطلب منه شيئًا. وبعد خمس دقائق من آخر طلب يُخرجه من الذاكرة تلقائيًّا، كما تقول وثائقه.
- يظل Ollama في الخلفية ينتظر الطلبات على port (باب) خاص في جهازك، رقمه 11434. وهذا port لا يُفتح إلا عند تشغيل ollama، فلا يستطيع جهاز آخر أن يرسل إليه شيئًا طالما لم تتغير الإعدادات الافتراضية.
- يجيب على الطلبات التي تصله عبر هذا العنوان.
والنماذج التي يحملها تُحفظ في مجلد خاص على جهازك:
| النظام | مجلد النماذج |
|---|---|
| Windows | C:\Users\<اسمك>\.ollama\models |
| macOS | ~/.ollama/models |
| Linux | /usr/share/ollama/.ollama/models |
كيف نستخدم Ollama؟
ثلاث استخدامات، وآخرها هو ما نريده:
- أن تحاوره مباشرة في الطرفية: تكتب سؤالًا فيجيب.
- أن تبدّل النماذج: تنزّل نموذجًا آخر وتجرّبه بأمر واحد.
- أن يتصل به ملف Python: يرسل الملف إلى
localhost:11434قائمة رسائل، ويستلم الجواب. وهذا ما سيفعله وكيلنا.
أي نموذج أختار؟
لنموذج Qwen2.5 أحجام كثيرة، ولكل حجم رقم في اسمه، مثل 1.5b و3b. فما معنى هذا الرقم؟
ما معنى 1.5b و3b؟
الرقم يخبرك بحجم النموذج:
- الحرف b يعني Billion مليار.
3bتعني ثلاثة مليارات معامل.- المعامل (الأوزان) رقم صغير داخل النموذج، ضُبط أثناء التدريب.
تخيّل لوحة خلّاط صوت فيها مقابض كثيرة جدًّا. كل مقبض ضُبط على وضع معين أثناء التدريب. والنموذج كله هو مجموع هذه المقابض: 3b يعني ثلاثة مليارات مقبض.
من يضبط المقابض؟
لا أحد يضبطها بيده. التدريب هو الذي يضبطها تلقائيًّا:
- البداية: المقابض على أوضاع عشوائية، فيكتب النموذج كلامًا بلا معنى.
- القراءة: يقرأ النموذج جزءًا من نص، ويحاول أن يخمّن الكلمة التالية.
- المقارنة: نقارن تخمينه بالكلمة الحقيقية.
- التعديل: يتحرك كل مقبض حركة صغيرة في الاتجاه الذي يجعل التخمين أفضل.
- التكرار: يحدث هذا عددًا هائلًا من المرات على كمية ضخمة من النصوص.
وبعد أن ينتهي التدريب تثبت المقابض، ولا يغيّرها استخدامك للنموذج.
وكلما زاد الرقم:
- زاد حجم الملف الذي تنزّله.
- زادت الذاكرة التي يحتاجها النموذج.
- وصار النموذج في العادة أقوى.
فـ 0.5b أصغر النماذج وأخفها، و72b ضخم جدًّا، وملفه نحو 47 غيغابايت، فلا يعمل إلا على أجهزة قوية.
هذه أحجام الملفات كما تعرضها صفحة Ollama:
| النموذج | حجم الملف | الترخيص |
|---|---|---|
qwen2.5:0.5b |
398 ميغابايت | Apache 2.0 |
qwen2.5:1.5b |
986 ميغابايت | Apache 2.0 |
qwen2.5:3b |
1.9 غيغابايت | Qwen |
qwen2.5:7b |
4.7 غيغابايت | Apache 2.0 |
اخترتُ لهذا المسار qwen2.5:0.5b، وهو أصغر أحجام Qwen2.5:
- حجمه نحو 398 ميغابايت، فهو الأنسب للأجهزة قليلة الموارد.
- ترخيصه Apache 2.0.
- يشغّل جهازك بحمل أخف من الأحجام الأكبر.
وهو نموذج صغير، سيخطئ أحيانًا. وهذا مفيد بالنسبة لنا، لأننا سنرى لماذا يخطئ الوكيل وكيف نصلحه.
اختبر نفسك
هل Ollama نموذج؟ وما الفرق بينه وبين Qwen؟
اعرض الجواب
لا، Ollama ليس نموذجًا. هو المشغّل الذي ينزّل النماذج ويشغّلها على جهازك. أما Qwen فهو النموذج: الملفات التي تحتوي نتيجة التدريب، وهي التي تقرأ رسائلك وتكتب الجواب.
ما الذي تعلّمناه؟
- النموذج إما سحابي على خوادم شركة، أو محلي على جهازك. نبدأ بالمحلي.
- النموذج المفتوح تنشر الشركة ملفاته لتنزّلها وتشغّلها، ولكل نموذج ترخيص يجب أن تنتبه له حسب استخدامك.
- Ollama مشغّل النماذج على جهازك، وهو ليس نموذجًا.
- يستمع على
localhost:11434، وهذا العنوان سيرسل إليه وكيلنا الطلبات. - سنستخدم
qwen2.5:0.5b: أصغر أحجام Qwen2.5، وهو الأنسب للأجهزة قليلة الموارد، وترخيصه Apache 2.0.
المصادر:
- Ollama
- أسئلة Ollama الشائعة
- صفحة Qwen2.5 في مكتبة Ollama
- Qwen2.5-3B على Hugging Face
- Qwen2.5-1.5B على Hugging Face
في الدرس القادم: تثبيت Ollama.