Ollama: مفاهيم الذكاء الاصطناعي المحلي ونظرة عامة على البيئة

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

💡 نصيحة: تتجلى المزايا الأساسية للذكاء الاصطناعي المحلي في ثلاثة أبعاد: انخفاض الكمون (استنتاج محلي بحت بـ 20-80 مللي ثانية، بدون رحلة ذهاب وعودة عبر الشبكة)، خصوصية عالية (تسرب بيانات صفري، تلبي متطلبات GDPR/HIPAA)، وتكلفة منخفضة (التكلفة الحدية تقترب من الصفر بعد استثمار لمرة واحدة). بالنسبة لسيناريوهات الاستخدام طويلة الأمد وعالية التردد، تكون ميزة التكلفة للاستنتاج المحلي ملحوظة بشكل خاص.

📋 المتطلبات المسبقة: مناسب للمبتدئين، لا تتطلب دورات سابقة

1. ماذا ستتعلم


2. قصة حقيقية من شركة ناشئة

(1) المشكلة: فواتير السحابة خارج السيطرة

أليس هي المدير التقني لشركة SaaS ناشئة. فريقها يستدعي واجهة GPT-4 API بأكثر من مليوني رمز شهريًا، وارتفعت الفاتورة من 500 دولار إلى 3,000 دولار. الأسوأ من ذلك، يجب أن تبقى بيانات العملاء في الموقع لتلبية متطلبات التوافق مع GDPR، لكن واجهات برمجة التطبيقات السحابية لا يمكنها ضمان أن البيانات لا تمر عبر أطراف ثالثة.

(2) الحل: الاستنتاج المحلي يعيد السيطرة

يتيح Ollama لأليس تشغيل نموذج بنفس القدرات على خوادم الشركة — تسرب بيانات صفري، وتنخفض التكاليف الشهرية من 3,000 دولار إلى حوالي 50 دولارًا كهرباء.

BASH
# أمر واحد لبدء الاستنتاج المحلي
ollama run llama3.2

# بدون مفاتيح API، بدون بيانات تغادر الجهاز
>>> What is the return policy?
The return policy allows you to return items within 30 days...

3. مقارنة بين واجهة برمجة التطبيقات السحابية والاستنتاج المحلي

ℹ️ معلومة: يشير "كمون 20-80 مللي ثانية" للاستنتاج المحلي إلى وقت الاستنتاج البحت (الوقت حتى أول رمز، TTFT). يعتمد وقت الاستجابة الكامل على عدد الرموز المُنشأة وسرعة النموذج. على الرغم من أن النماذج المحلية لا تحتوي على كمون شبكة، إلا أن سرعة الإنشاء الخاصة بها (رمز/ثانية) عادة ما تكون أبطأ من النماذج السحابية الكبيرة.

(1) مثلث الكمون-الخصوصية-التكلفة

اختيار طريقة نشر الذكاء الاصطناعي هو في الأساس مفاضلة عبر ثلاثة أبعاد:

100%
graph LR
    A[قرار النشر] --> B[الكمون]
    A --> C[الخصوصية]
    A --> D[التكلفة]
    B --> B1[السحابة: 200-500 مللي ثانية عبر الشبكة]
    B --> B2[المحلي: 20-80 مللي ثانية مباشر]
    C --> C1[السحابة: البيانات تغادر الموقع]
    C --> C2[المحلي: البيانات تبقى في الموقع]
    D --> D1[السحابة: الدفع لكل رمز]
    D --> D2[المحلي: تكلفة hardware ثابتة]
البُعد واجهة برمجة التطبيقات السحابية الاستنتاج المحلي (Ollama)
الكمون 200-500 مللي ثانية (بما في ذلك الشبكة) 20-80 مللي ثانية (محلي بحت)
الخصوصية البيانات تمر عبر خوادم طرف ثالث تسرب بيانات صفري
نموذج التكلفة الدفع لكل رمز، نمو غير محدود استثمار hardware لمرة واحدة، التكلفة الحدية تقترب من الصفر
القدرة على العمل بدون اتصال يتطلب اتصال إنترنت متاح بالكامل بدون اتصال
اختيار النموذج يقتصر على عروض المزود تبديل حر بين النماذج مفتوحة المصدر
تعقيد العمليات عمليات صفري يجب إدارة hardware والنماذج

(2) متى تختار الاستنتاج المحلي

▶ مثال 1: مقارنة حساب التكلفة

TEXT 📖 للعرض فقط
السيناريو: توليد 10 ملايين رمز شهريًا

واجهة برمجة التطبيقات السحابية (GPT-4):
  الإدخال:  2 مليون رمز × $0.03/1K = $60
  الإخراج: 8 مليون رمز × $0.06/1K = $480
  الإجمالي الشهري: ~$540

المحلي (Ollama على خادم GPU بـ $2,000):
  إهلاك hardware (24 شهرًا): $83/شهر
  الكهرباء (~200 واط × 730 ساعة): ~$15/شهر
  الإجمالي الشهري: ~$98

نقطة التعادل: ~2 شهر
التوفير السنوي: ~$5,300

4. البنية الأساسية لـ Ollama

💡 نصيحة: يتواصل CLI وServer الخاصان بـ Ollama عبر http://localhost:11434، مما يعني أن أي برنامج يمكنه إرسال طلبات HTTP يمكنه استدعاء Ollama — Python، Node.js، curl، حتى المتصفح. هذا هو أساس مرونة Ollama.

(1) نموذج الطبقات الثلاث: CLI → Server → Model Runtime

يعتمد Ollama بنية من ثلاث طبقات، بمسؤوليات واضحة لكل طبقة:

100%
graph TB
    subgraph "بنية Ollama"
        CLI[طبقة CLI<br/>ollama run/chat/pull]
        SRV[طبقة الخادم<br/>REST API على :11434]
        RT[وقت تشغيل النموذج<br/>llama.cpp / GGUF]
    end
    CLI -->|HTTP/localhost| SRV
    SRV -->|تحميل GGUF| RT
    RT -->|استنتاج GPU/CPU| HW[Hardware<br/>NVIDIA/AMD/CPU]
الطبقة المكون المسؤولية
طبقة CLI سطر الأوامر تفاعل المستخدم، تحليل الأوامر
طبقة الخادم خدمة HTTP (:11434) REST API، جدولة الطلبات، تحميل النموذج
طبقة وقت التشغيل llama.cpp + GGUF استنتاج النموذج، جدولة GPU/CPU

(2) مقارنة Ollama مع الأدوات المشابهة

الأداة صعوبة التثبيت دعم GPU منظومة النماذج توافق API
Ollama تثبيت بنقرة واحدة NVIDIA/AMD/Metal أكثر من 100 نموذج رسمي REST + متوافق مع OpenAI
llama.cpp تثبيت بالتجميع NVIDIA/Metal تنزيل GGUF يدوي CLI فقط
LM Studio تثبيت بواجهة رسومية NVIDIA/Metal متصفح HuggingFace بدون API قياسي
vLLM Docker/تجميع NVIDIA HuggingFace متوافق مع OpenAI
Text Generation WebUI بيئة Python NVIDIA/AMD HuggingFace بدون API قياسي

▶ مثال 2: التحقق من بدء تشغيل خادم Ollama

BASH
# بدء خادم Ollama (يبدأ تلقائيًا عند التثبيت)
ollama serve

# التحقق من أن الخادم يعمل على المنفذ الافتراضي
curl http://localhost:11434/api/tags

# الاستجابة المتوقعة (مختصرة)
# {"models":[{"name":"llama3.2:latest","size":2019393189}]}

الإخراج:

TEXT 📖 للعرض فقط
I'm a helpful AI assistant running locally on your machine...

▶ مثال 3: تشغيل أول نموذج بأمر واحد

BASH
# سحب وتشغيل بأمر واحد (ينزل ~2 غيغابايت عند أول استخدام)
ollama run llama3.2

# جلسة تفاعلية
>>> Hello, what can you help me with?
I'm a helpful AI assistant running locally on your machine...

الإخراج:

TEXT 📖 للعرض فقط
I'm a helpful AI assistant running locally on your machine...

5. فهم مقاييس التقدير الكمي وعدد المعلمات

⚠️ تحذير: تشغيل ollama run لأول مرة سيقوم تلقائيًا بتنزيل ملفات النموذج (2 غيغابايت - أكثر من 40 غيغابايت). تأكد من وجود اتصال شبكة مستقر ومساحة قرص كافية. قد يستغرق تنزيل النماذج الكبيرة 10-30 دقيقة؛ نوصي بالعمل على شبكة مؤسسية أو خلال ساعات خارج الذروة.

(1) العلاقة بين عدد المعلمات وقدرة النموذج

⚠️ ملاحظة: ذاكرة GPU (VRAM) هي عنق الزجاجة الأكثر أهمية في hardware للذكاء الاصطناعي المحلي. نموذج بـ 8 مليار معلمة بتقدير كمي Q4_K_M يحتاج حوالي 5 غيغابايت VRAM، بينما نموذج بـ 70 مليار معلمة يحتاج حوالي 42 غيغابايت VRAM. تأكد دائمًا من سعة VRAM لبطاقة GPU الخاصة بك قبل اختيار نموذج — وإلا، لن يتمكن النموذج من التحميل بالكامل على GPU، وسرعة الاستنتاج ستنخفض بشكل كبير (وضع الرجوع إلى CPU قد يكون أبطأ بـ 5-10 مرات).

يحدد "عدد المعلمات" للنموذج الكبير قدراته على الفهم والإنشاء، لكن الأكبر ليس دائمًا الأفضل:

المعلمات النماذج النموذجية Hardware الموصى به حالات الاستخدام
3 مليارات phi-3-mini, llama3.2:3b 8 غيغابايت RAM، CPU قادر محادثة بسيطة، تصنيف
8 مليارات llama3.1:8b, mistral:7b 16 غيغابايت RAM أو 8 غيغابايت VRAM محادثة عامة، كتابة
70 مليارًا llama3.1:70b, codellama:70b أكثر من 40 غيغابايت VRAM (متعدد GPU) استنتاج معقد، كود
405 مليارًا llama3.1:405b 4× A100 80GB استنتاج متطرف، مجالات متخصصة

(2) التقدير الكمي: مقايضة الدقة مقابل المساحة

يضغط التقدير الكمي النماذج من FP16 (16 بت) إلى عروض بت أقل، مما يقلل متطلبات الذاكرة بشكل كبير:

مستوى التقدير الكمي عرض البت حجم نموذج 8B فقدان الجودة
FP16 16 بت ~16 غيغابايت خط الأساس
Q8_0 8 بت ~8 غيغابايت ضئيل
Q4_K_M 4 بت ~5 غيغابايت طفيف
Q2_K 2 بت ~3 غيغابايت ملحوظ
💡 نصيحة: Q4_K_M هو الخيار الأفضل من حيث القيمة — تخفيض الحجم بنسبة 70% مع فقدان جودة أقل من 5%. يستخدم Ollama هذا المستوى افتراضيًا.

▶ مثال 4: عرض معلومات التقدير الكمي للنموذج

BASH
# عرض تفاصيل النموذج بما في ذلك التقدير الكمي
ollama show llama3.2

# حقول الإخراج الرئيسية:
#   format    - مستوى التقدير الكمي (مثلاً، q4_K_M)
#   parameter - إجمالي عدد المعلمات
#   size      - حجم الملف على القرص

الإخراج:

TEXT 📖 للعرض فقط
NAME                    ID              SIZE    
llama3.2:latest        a80...          2.0 GB  
mistral:latest         61...           4.1 GB

▶ مثال 5: نص تحليل التكلفة-الفائدة لأليس

BASH
#!/bin/bash
# تحليل التكلفة-الفائدة لشركة SaaS الخاصة بأليس

MONTHLY_TOKENS=10000000  # 10 ملايين رمز شهريًا
CLOUD_COST_PER_1K=0.06   # دولار لكل 1K رمز إخراج
GPU_SERVER_COST=2000     # دولار لمرة واحدة
MONTHS_AMORT=24          # فترة الإهلاك

cloud_monthly=$(echo "scale=0; $MONTHLY_TOKENS * $CLOUD_COST_PER_1K / 1000" | bc)
local_monthly=$(echo "scale=0; $GPU_SERVER_COST / $MONTHS_AMORT + 15" | bc)
saving=$(echo "scale=0; $cloud_monthly - $local_monthly" | bc)

echo "Cloud monthly: \$${cloud_monthly}"
echo "Local monthly: \$${local_monthly}"
echo "Monthly saving: \$${saving}"

الإخراج:

TEXT 📖 للعرض فقط
# تم تنفيذ الأمر بنجاح

6. مثال شامل: تقييم جدوى الذكاء الاصطناعي المحلي

PYTHON
# ============================================
# شامل: تقييم جدوى الذكاء الاصطناعي المحلي
# يجمع بين تقييم التكلفة والكمون والخصوصية
# ============================================

def assess_local_ai(
    monthly_tokens_million: float,
    cloud_price_per_1k: float,
    gpu_server_cost: float,
    compliance_required: bool,
    offline_needed: bool
) -> dict:
    # حساب تكلفة السحابة
    cloud_monthly = monthly_tokens_million * 1000 * cloud_price_per_1k

    # حساب التكلفة المحلية (إهلاك على 24 شهرًا)
    local_monthly = gpu_server_cost / 24 + 15  # +15 دولار كهرباء

    # درجة القرار (0-100)
    score = 0
    if local_monthly < cloud_monthly:
        score += 30  # ميزة التكلفة
    if compliance_required:
        score += 30  # متطلب الخصوصية
    if offline_needed:
        score += 20  # متطلب العمل بدون اتصال
    if monthly_tokens_million > 5:
        score += 20  # الحجم المرتفع يفيد

    recommendation = "LOCAL" if score >= 50 else "CLOUD"
    payback_months = gpu_server_cost / max(cloud_monthly - local_monthly, 1)

    return {
        "cloud_monthly_usd": round(cloud_monthly, 2),
        "local_monthly_usd": round(local_monthly, 2),
        "monthly_saving_usd": round(cloud_monthly - local_monthly, 2),
        "decision_score": score,
        "recommendation": recommendation,
        "payback_months": round(payback_months, 1)
    }

# تقييم شركة SaaS الخاصة بأليس
result = assess_local_ai(
    monthly_tokens_million=10,
    cloud_price_per_1k=0.06,
    gpu_server_cost=2000,
    compliance_required=True,
    offline_needed=False
)

for key, value in result.items():
    print(f"{key}: {value}")
💻 الإخراج:

TEXT 📖 للعرض فقط
cloud_monthly_usd: 600.0
local_monthly_usd: 98.33
monthly_saving_usd: 501.67
decision_score: 80
recommendation: LOCAL
payback_months: 4.0

❓ أسئلة شائعة

س هل يمكن لجودة نموذج الاستنتاج المحلي مجاراة GPT-4؟
ج نموذج بتقدير كمي Q4_K_M بـ 70 مليار معلمة يقترب من مستوى GPT-3.5 في معظم المهام، لكنه لا يزال قاصرًا عن GPT-4 في الاستنتاج المعقد. يُنصح باستراتيجية توجيه: الأسئلة البسيطة تستخدم نموذج 8B محلي، والأسئلة المعقدة ترجع إلى السحابة.
س ما العلاقة بين Ollama وDocker؟
ج يمكن تثبيت Ollama مباشرة أو تشغيله عبر حاويات Docker. نهج Docker أكثر ملاءمة لنشر الخوادم وعزل GPU؛ للتطوير المحلي، يُوصى بالتثبيت المباشر.
س هل يمكن تشغيل Ollama بدون GPU؟
ج نعم. يدعم Ollama الاستنتاج على CPU فقط. نموذج 3B يمكن تشغيله على جهاز بـ 8 غيغابايت RAM بسرعة تقارب 5-10 رموز/ثانية. نموذج 8B يحتاج 16 غيغابايت RAM.
س هل Ollama مفتوح المصدر؟
ج Ollama مفتوح المصدر بموجب ترخيص MIT، مبني على llama.cpp. النماذج نفسها تتبع تراخيصها المفتوحة المصدر الخاصة (مثلاً، ترخيص مجتمع Llama).
س كيف يتم تحديث النماذج المحلية؟
ج شغّل ollama pull <model> لجلب أحدث إصدار. يستخدم Ollama نظام وسوم؛ <model>:latest يتتبع تلقائيًا أحدث إصدار.
س كيف يتم ضمان أمن البيانات؟
ج جميع عمليات الاستنتاج تحدث محليًا؛ البيانات لا تغادر الجهاز أبدًا. لا يجمع Ollama أي بيانات قياس عن بُعد. سجلات المحادثات تُخزن فقط في نظام الملفات المحلي.

📖 ملخص


📝 تمارين

  1. أساسي (صعوبة ⭐): بناءً على تكوين hardware الخاص بك (RAM/VRAM)، حدد مستوى المعلمات للنموذج الذي يمكنك تشغيله واشرح أسبابك.
  2. متوسط (صعوبة ⭐⭐): احسب مقارنة التكلفة الإجمالية لمدة 12 شهرًا بين واجهة برمجة التطبيقات السحابية والاستنتاج المحلي لمشروعك (باستخدام النص من المثال الشامل).
  3. متقدم (صعوبة ⭐⭐⭐): صمم خطة بنية هجينة: أي المهام تستخدم الاستنتاج المحلي وأيها ترجع إلى السحابة، مع مخطط تدفق قرار.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%