هل يمكنك تشغيل GLM 5.2 على VPS؟
GLM 5.2 سحابي فقط في مكتبة Ollama. اكتشف نموذج GLM المناسب لـ VPS، وذاكرة RAM المطلوبة لكل تكميم على خادمك.
هل يمكنك تشغيل GLM 5.2 على VPS؟
لا، ومن المفيد معرفة السبب قبل استئجار أي شيء. اعتباراً من 18 August 2026، يحمل GLM 5.2 في مكتبة Ollama وسمًا واحدًا بالضبط، وهو glm-5.2:cloud. يعمل وسم :cloud على خوادم Ollama. يرسل خادمك المطالبة ويتلقى الرموز، لذلك لا تصل أوزان النموذج إلى القرص لديك. يتكوّن النموذج من 756 billion parameters. يتطلب تخصيص أربع بتات لكل معلمة عبر 756 billion parameters نحو 378 GB من الأوزان، وهذا حساب أساسي قبل إضافة السياق والتنشيطات أو نظام التشغيل. لا توفّر أي خطة VPS قياسية هذه السعة من الذاكرة.
نموذج GLM الذي يمكنه العمل على خادم تستأجره هو glm-4.7-flash. نُشرت أوزانه القابلة للتنزيل ضمن 4 وسماً. وهو نموذج mixture-of-experts، ما يعني أن جزءاً صغيراً فقط من الشبكة يعمل مع كل رمز. وتصفه Z.ai بأنه 30B-A3B: يضم 30 billion parameters إجمالاً، ويكون نحو 3 billion منها نشطاً مع كل رمز. لذلك يجيب هذا الدليل عن السؤال الذي يمكنك التصرف بناءً عليه. ثبّت الوسم، وحدد حجم الخادم، وقِس سرعتك الفعلية، وأبقِ نقطة النهاية خاصة.
تحقّق من الوسم قبل نسخ أي أمر، بما في ذلك الأوامر الواردة هنا. تتغير مكتبة Ollama دون إشعار. افتح قائمة وسوم glm-4.7-flash وتأكد من أن الوسم لا يزال موجوداً. إذا ظهر إصدار GLM أحدث بأوزان محلية، فاستخدمه، وسجّل الوسم الذي اختبرته فعلياً.
إذا أردت تشغيل GLM 5.2 نفسه رغم ذلك، يعمل ollama run glm-5.2:cloud بعد ollama signin، ومن جهة العميل يتصرف مثل أي نموذج Ollama آخر. افهم ما توافق عليه: تغادر المطالبة خادمك. إذا كان سبب الاستضافة الذاتية هو ضرورة بقاء البيانات على جهازك، فإن وسم :cloud لا يحقق هذا الشرط.
ما وسوم GLM الموجودة، وأيّها يجب تثبيته
توجد هنا 3 إدخالات رسمية لـGLM. glm-5.2 وglm-5.1 مخصّصان للسحابة فقط. أما glm-4.7-flash فهو الإصدار المحلي، وهذه هي وسومه المنشورة مع حجم التنزيل الذي يدرجه Ollama لكل وسم.
The data behind this chart
[
{
"label": "q4_K_M",
"download_gb": 19
},
{
"label": "latest",
"download_gb": 19
},
{
"label": "q8_0",
"download_gb": 32
},
{
"label": "bf16",
"download_gb": 60
}
]هذه أرقام منشورة في صفحة المكتبة، وليست قياسات. يُدرج كل من latest وq4_K_M بحجم 19 GB، ولذلك يُحلّ latest حالياً إلى إصدار Q4. قد يتغير ذلك عند إعادة النشر، ولهذا يجب ألا تكتب أبداً ollama pull glm-4.7-flash مجرداً داخل script أو Dockerfile. اذكر نوع quantisation. أكبر وسم، bf16، هو تنزيل حجمه 60 GB ويحتوي على أوزان bfloat16 غير المكمّمة.
يعرض البحث في المكتبة أيضاً عمليات رفع ذات أسماء ضمن نطاق تتضمن شرطة مائلة، مثل someuser/glm-5.2. تعني الشرطة المائلة أن حساب مستخدم نشره، ولذلك فهو إعادة رفع من المجتمع وليس الإدخال الرسمي. لا يضمن أحد الأوزان الموجودة بداخله. تعامل معه كما تتعامل مع أي ملف binary غير موقّع عثرت عليه عبر الإنترنت.
ثبّت Ollama واسحب الوسم المحدد تماماً
مثبّت Ollama لنظام Linux عبارة عن أمر واحد.
curl -fsSL https://ollama.com/install.sh | sh
ollama --versionينشئ المثبّت خدمة systemd تعمل بحساب المستخدم ollama. تأكد من أنها بدأت قبل سحب أي شيء.
systemctl status ollama --no-pagerيعني Active: active (running) أن API يستمع على المنفذ 11434. إذا لم تكن الوحدة موجودة، فهذا يعني أن المثبّت عاد إلى تثبيت binary عادي، وتوفّر توثيق Ollama لنظام Linux ملف الخدمة المطلوب إنشاؤه يدوياً.
تعرض صفحة glm-4.7-flash الحد الأدنى لإصدار Ollama. لا يشغّل binary الأقدم النموذج ببطء، بل يرفضه: يفشل السحب برسالة تفيد بأن النموذج يتطلب إصداراً أحدث من Ollama. أعد تشغيل script التثبيت للترقية. اعتباراً من 18 August 2026، الإصدار الحالي هو 0.32.14، وهو أحدث بكثير من ذلك الحد الأدنى.
اسحب الآن وسماً واحداً باسمه.
ollama pull glm-4.7-flash:q4_K_M
ollama lsيجب أن يعرض ollama ls الوسم glm-4.7-flash:q4_K_M بحجم قريب من 19 GB المنشور. إذا توقف السحب في منتصف العملية، فلن يبقى شيء قابل للتشغيل، لذلك أعد تنفيذ الأمر نفسه. السبب الأكثر شيوعاً لفشل السحب على خطة صغيرة هو امتلاء القرص، وليس مشكلة في الشبكة، لأن النموذج يُكتب إلى /usr/share/ollama/.ollama/models على نظام الملفات الجذري. تحقّق باستخدام df -h /usr/share/ollama قبل أن تبدأ.
ما مقدار RAM الذي تحتاج إليه كل تكميمة؟
ابدأ بحجم التنزيل باعتباره الحد الأدنى، ثم أضف إليه. يجب أن تبقى الأوزان مقيمة في الذاكرة. وتُضاف إليها ذاكرة KV cache، وهي الذاكرة التي يستخدمها runtime لتذكّر الرموز الموجودة مسبقاً في المحادثة، إلى جانب مخازن الحساب وما يستخدمه نظام التشغيل. لن يتمكن جهاز يحتوي على 19 GB من RAM بالضبط من تشغيل الوسم الذي حجمه 19 GB.
لا يوجد معامل ضرب واحد صحيح للجميع، لأن ذاكرة KV cache تكبر مع طول السياق الذي تسمح به، كما تختلف بقية المتطلبات بين إصدارات runtime. لذلك، قِس بدلاً من التخمين. حمّل النموذج باستخدام prompt بسيط، ثم اقرأ مقدار الذاكرة الذي حجزه الخادم.
ollama run glm-4.7-flash:q4_K_M "Reply with the single word: ready"
ollama psيطبع ollama ps النموذج المحمّل مع عمود SIZE وعمود PROCESSOR. ويمثل SIZE المقدار الذي حجزه runtime فعلياً، وهو الرقم الذي يجب مقارنته بخطتك. يوضح PROCESSOR مكان تنفيذ العمل، ولذلك يعني 100% CPU أن GPU لم يُستخدم إطلاقاً.
عندما لا يتسع النموذج في الذاكرة، يكون الفشل صامتاً ويتخذ شكلين. عند تفعيل swap، يبدو أن التحميل نجح، ثم يصبح التوليد بطيئاً جداً، لأن الصفحات تنتقل بين القرص وRAM مع كل رمز. وعند عدم تفعيل swap، تُنهى العملية فوراً، ويعرض journalctl -k | grep -i "out of memory" سطر Out of memory: Killed process من kernel الذي يذكر ollama. افحص الأمرين، لأن أياً منهما لا يطبع رسالة مفيدة في الطرفية التي كنت تكتب فيها.
يمثل الانتقال من وسم Q4 بحجم 19 GB إلى وسم Q8 بحجم 32 GB العامل الرئيسي الذي يمكنك التحكم به في هذا الرقم. تفرض Q4 بعض التراجع في جودة المخرجات، ويعتمد مقدار ذلك على المهمة، إذ تتأثر المخرجات المنظّمة وسلاسل الاستدلال الطويلة أكثر من المحادثة العادية. تستحق الفروق العملية بين Q4 وQ8 وFP16 القراءة قبل اتخاذ القرار، لأن اختيار التكميمة على VPS يعمل بوحدة CPU فقط يحدد عادةً ما إذا كان النموذج سيعمل أصلاً.
ما يحدث على VPS يعمل بالـCPU فقط
لا تتضمن معظم خطط VPS وحدة GPU، وسيشغّل Ollama النموذج على الـCPU من دون تنبيهك. تعتمد قابلية استخدام النتيجة على عبء العمل وعلى مدى صبرك.
يساعد تصميم mixture-of-experts على زيادة السرعة. لا يُستخدم لكل token معيّن سوى نحو 3 مليارات من أصل 30 مليار parameter، لذلك تكون العمليات الحسابية المطلوبة لكل token أقل بكثير مما يحتاجه نموذج dense بحجم 30B. لكن الذاكرة لا تنخفض. يجب أن يبقى كل expert مقيماً في الذاكرة، لأن router قد يختار أيّاً منها للـtoken التالي. لذلك يحتاج الخادم الذي يعمل بالـCPU فقط إلى كامل 19 GB أو أكثر لوسم Q4، ويعتمد معدل المعالجة فيه أساساً على عرض نطاق الذاكرة، لا على سرعة الساعة.
ولهذا أثر عملي: يمكن لخطتين لهما العدد نفسه من الأنوية وذاكرة RAM نفسها أن تنتجا tokens بسرعات مختلفة بوضوح، لأن أنظمة الذاكرة فيهما تختلف. وتضيف الخطة المشتركة متغيراً ثانياً، إذ يظهر وقت CPU المسروق بسبب جار يستهلك الموارد في صورة معدل tokens في الثانية يتغير من ساعة إلى أخرى. لذلك لا يتنبأ الرقم المنشور من جهة أخرى بالرقم لديك، ولذلك فإن القسم التالي يقدّم طريقة للقياس بدلاً من جدول بالنتائج.
قياس معدل الرموز التي يعالجها نظامك في الثانية
تعيد نقطة النهاية generate في Ollama حقولاً زمنية في كائن JSON النهائي. اقسم عدد الرموز المُولَّدة على مدة التوليد لتحصل على معدلك الفعلي، وفق خطتك وطلبك.
sudo apt install -y jq
curl -s http://localhost:11434/api/generate -d '{
"model": "glm-4.7-flash:q4_K_M",
"prompt": "Write a 200 word explanation of how TCP congestion control works.",
"stream": false,
"options": {"num_ctx": 8192}
}' | jq '{
tokens: .eval_count,
tokens_per_second: (.eval_count / .eval_duration * 1e9),
prompt_seconds: (.prompt_eval_duration / 1e9),
load_seconds: (.load_duration / 1e9)
}'eval_count هو عدد الرموز التي تم توليدها، وeval_duration هو عدد النانوثواني المستغرقة في توليدها، ولذلك فإن eval_count / eval_duration * 1e9 هو عدد الرموز في الثانية. يغطي prompt_eval_duration وقت قراءة طلبك، وهو ما يختبره المستخدم بوصفه فترة الانتظار قبل ظهور الرمز الأول. ويمثل load_duration الوقت المستغرق في تحميل النموذج من القرص، ولذلك يكون كبيراً في أول استدعاء بعد إعادة التشغيل وقريباً من الصفر في الاستدعاء التالي.
شغّل الأمر 3 مرات، واحتفظ بالنتيجتين الثانية والثالثة، لأن النتيجة الأولى تتضمن وقت التحميل. ثم شغّله مرة أخرى باستخدام طلب أطول بكثير، لأن وقت معالجة الطلب يزداد مع طول الإدخال، بينما لا تتغير سرعة التوليد. اكتب الأرقام بجانب اسم خطتك ومستوى quantisation المستخدم. هذا السجل أكثر فائدة من أي benchmark تقرؤه، لأنه قيس على العتاد الذي تدفع مقابله.
كيف يضاعف طول السياق استهلاك الذاكرة
تضبط Ollama سياقاً افتراضياً من 4096 رمزاً. يعلن النموذج عن دعم عدد أكبر بكثير، وهو 198K رمزاً لـ glm-4.7-flash، لكنك لا تحصل على ذلك افتراضياً، وتفعيله ليس بلا تكلفة.
تحتفظ ذاكرة KV المؤقتة بمتجه مفتاح واحد ومتجه قيمة واحد لكل رمز، في كل طبقة. وينمو حجمها خطياً مع عدد الرموز التي تسمح بها. يؤدي الانتقال من 4096 إلى 32768 رمزاً إلى مضاعفة طول السياق 8 مرات، ولذلك يتضاعف حجم ذاكرة KV المؤقتة تقريباً 8 مرات. في خادم صُمّم بحيث تكفي ذاكرته لتحميل الأوزان فقط، يكون هذا التخصيص الإضافي هو ما يدفع النظام إلى استخدام swap. لذلك قد يعمل جهاز عالج المطالبات القصيرة جيداً، ثم يصبح بطيئاً فجأة عندما يلصق أحدهم مستنداً طويلاً.
اضبط القيمة لكل طلب باستخدام num_ctx في كائن الخيارات، كما في أمر curl أعلاه، أو غيّر القيمة الافتراضية للخادم.
sudo install -d -m 755 /etc/systemd/system/ollama.service.d
printf '[Service]\nEnvironment="OLLAMA_CONTEXT_LENGTH=16384"\n' \
| sudo tee /etc/systemd/system/ollama.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart ollama
systemctl show ollama --property=Environmentيجب أن يطبع الأمر الأخير قيمة OLLAMA_CONTEXT_LENGTH لديك. إذا طبع Environment= فارغاً، فملف التجاوز موجود في الدليل الخطأ أو لم تُنفّذ إعادة التحميل. بعد تحميل النموذج في المرة التالية، يجب أن تعرض ollama ps قيمة SIZE أكبر بوضوح مما كانت عليه عند 4096. ارفع القيمة على مراحل، وراقب ذلك الرقم في كل مرة. يشرح ضبط طول سياق Ollama باستخدام num_ctx كيفية تفاعل هذا الإعداد مع keep-alive والطلبات المتوازية، إذ يضاعف كلاهما التكلفة نفسها.
عندما تكون واجهة API أرخص من الخادم
لا تكون الاستضافة الذاتية أرخص تلقائياً، وتوضح أسعار القائمة المنشورة لهذه العائلة ذلك بوضوح غير معتاد.
The data behind this chart
[
{
"label": "GLM-5.2 input",
"usd_per_million_tokens": 1.4
},
{
"label": "GLM-5.2 output",
"usd_per_million_tokens": 4.4
},
{
"label": "GLM-4.7-Flash input",
"usd_per_million_tokens": 0
},
{
"label": "GLM-4.7-Flash output",
"usd_per_million_tokens": 0
}
]اعتباراً من 18 August 2026، تعرض Z.ai سعر GLM-5.2 بقيمة $1.4 لكل مليون رمز إدخال، وبقيمة $4.4 لكل مليون رمز إخراج. كما تعرض سعر GLM-4.7-Flash، وهو النموذج الذي يشغّله هذا الدليل محلياً، بقيمة $0 في كلا الاتجاهين. هذه أسعار منشورة وقد تتغير، لذلك تحقّق من الصفحة الحالية قبل إعداد ميزانية تعتمد على أيٍّ منها.
لذلك، فإن حجة التكلفة لصالح الاستضافة الذاتية glm-4.7-flash ضعيفة حالياً. تكلف VPS بذاكرة RAM كافية مبلغاً فعلياً كل شهر، بينما يوفّر الناشر النموذج نفسه مجاناً. ما تحصل عليه عند تشغيله بنفسك مختلف: تبقى مطالباتك على جهاز تتحكم فيه، ولا يتغير إصدار النموذج إلا إذا غيّرته أنت. هذه أسباب وجيهة للاستضافة الذاتية. أما التكلفة فليست أحدها لهذا النموذج وبهذه الأسعار.
تتغير المعادلة عندما لا يكون النموذج الذي تريده مجانياً، أو عندما لا يجوز لبياناتك قانونياً مغادرة شبكتك الخاصة. يشرح نقطة التعادل بين VPS مزود بوحدة GPU ورموز API هذه العملية الحسابية مع تسمية كل متغير. وإذا كنت لا تزال تختار الجهاز، فإن التكلفة الفعلية لـVPS شهرياً تمثل النصف الآخر من المجموع.
أبقِ نقطة النهاية على localhost
هذه هي الخطوة التي يتجاوزها الناس عادةً، وهي الأهم.
يرتبط Ollama بالعنوان 127.0.0.1 على المنفذ 11434 افتراضياً، لذلك لا يمكن الوصول إليه إلا من الخادم نفسه. تحقّق من ذلك على خادمك بدلاً من افتراضه.
ss -ltnp | grep 11434يجب أن ترى 127.0.0.1:11434. يعني ظهور 0.0.0.0:11434 أو *:11434 أن API يستمع على جميع الواجهات، بما فيها الواجهة العامة.
هذا مهم لأن API الخاص بـOllama لا يوفّر أي مصادقة. لا توجد كلمة مرور، ولا token، ولا allowlist. يمكن لأي شخص يستطيع الوصول إلى المنفذ 11434 عرض نماذجك، وتشغيل التوليد على الموارد الحاسوبية التي تدفع تكلفتها، وسحب نماذج جديدة إلى القرص حتى يمتلئ، وحذف النماذج الموجودة لديك. المنفذ 11434 ثابت ومعروف جيداً، لذلك تعثر أدوات الفحص على المنافذ المفتوحة بسرعة.
لا تضبط OLLAMA_HOST=0.0.0.0. تقترحه دروس كثيرة باعتباره الحل عندما يتعذر على عميل يعمل على حاسوبك المحمول الاتصال، لكنه الحل الخاطئ. أعد توجيه المنفذ بدلاً من ذلك.
ssh -N -L 11434:127.0.0.1:11434 you@your-serverيربط ذلك المنفذ 11434 على حاسوبك المحمول بعنوان loopback الخاص بالخادم عبر SSH، لذلك يعمل أي عميل مضبوط على http://localhost:11434 دون تغيير، ولا يتم كشف أي شيء جديد. عند الحاجة إلى دعم عدة أشخاص أو عدة أجهزة، ضع الخادم على شبكة نفق خاصة واربط Ollama بعنوان النفق، وليس أبداً بـ0.0.0.0.
تحقّق من ذلك من مكان آخر غير الخادم. من حاسوبك المحمول، وبعد إغلاق نفق SSH:
curl -m 5 http://your-server-ip:11434/api/tagsتُعد curl: (28) Connection timed out أو curl: (7) Failed to connect النتيجة الصحيحة. يعني ظهور قائمة JSON بنماذجك أن المنفذ مفتوح أمام الإنترنت، ويجب إصلاح ذلك فوراً. جدار الشبكة الناري لدى مزود الخدمة منفصل عن الجدار الناري الذي يعمل على الخادم، لذلك تحقّق من كليهما. يتناول السؤال الأوسع حول أمان استضافة VPS بقية الإعدادات الأساسية لجهاز تتركه قيد التشغيل.
إذا كان glm-4.7-flash لا يزال كبيراً جداً
عندما لا تناسبك علامة Q4، استخدم نموذجاً أصغر، ولا تقلّل حجم السياق. تقليل السياق لإدخال النموذج يؤدي إلى نموذج يُحمَّل، ثم يفشل عند أول مطالبة طويلة. يشرح Qwen 3 بإصداري 8B و27B على VPS مسار التثبيت نفسه بأحجام تناسب الخوادم المتواضعة، بينما يغطي الدليل العام للاستضافة الذاتية لنموذج LLM باستخدام Ollama على VPS الأجزاء التي لا تتغير أياً كان النموذج الذي تختاره. أيّاً كان اختيارك، ثبّت العلامة، وقِس الأداء على خطتك الخاصة، وأبقِ نقطة النهاية على loopback.
FAQ
هل يمكن تشغيل GLM 5.2 محلياً على VPS؟
لا. اعتباراً من 18 August 2026، لا يوجد GLM 5.2 في مكتبة Ollama إلا بصيغة glm-5.2:cloud، وهي وسم يعمل على البنية التحتية الخاصة بـOllama ويحتاج إلى ollama signin قبل أن يعمل. يحتوي النموذج على 756 billion parameters، لذلك حتى عند استخدام 4 bits لكل parameter، يصل حجم الأوزان وحدها إلى مئات gigabytes، أي أكبر بكثير من سعة أي خطة VPS قياسية. أما نموذج GLM ذو الأوزان القابلة للتنزيل، والذي يلائم خادماً مستأجراً، فهو glm-4.7-flash.
ما مقدار RAM الذي يحتاج إليه glm-4.7-flash؟
اعتبر حجم تنزيل الوسم حداً أدنى، وأضف إليه مساحة لـKV cache ولنظام التشغيل. تعرض Ollama وسم Q4 بحجم 19 GB، ووسم Q8 بحجم 32 GB، ووسم bfloat16 بحجم 60 GB. لا يوجد معامل ثابت مناسب للجميع، لأن KV cache يزداد مع طول السياق الذي تحدده. حمّل النموذج، وشغّل ollama ps، ثم اقرأ العمود SIZE لمعرفة القيمة الفعلية على جهازك.
كيف أقيس عدد tokens في الثانية على VPS الخاص بي؟
أرسل طلباً واحداً إلى http://localhost:11434/api/generate باستخدام "stream": false، ثم اقرأ eval_count وeval_duration من الاستجابة. عدد tokens في الثانية هو eval_count / eval_duration * 1e9، لأن eval_duration يُبلّغ عنه بوحدة nanoseconds. تجاهل التشغيل الأول، لأن load_duration فيه يتضمن قراءة الأوزان من القرص. كرر الاختبار باستخدام prompt طويل أيضاً، لأن prompt_eval_duration يزداد مع طول الإدخال، بينما لا تزداد سرعة التوليد.
لماذا ينبغي ألا أعيّن OLLAMA_HOST إلى 0.0.0.0؟
لأن API الخاص بـOllama لا يتضمن مصادقة، ولذلك فإن ربطه بالعنوان 0.0.0.0 يضع نقطة نهاية غير موثّقة على الإنترنت العام. يمكن لأي شخص يصل إلى المنفذ 11434 توليد المحتوى باستخدام عتادك وتغيير النماذج المثبّتة. أبقِ الربط الافتراضي على 127.0.0.1، وتحقق منه باستخدام ss -ltnp | grep 11434، ثم صِل إلى API من حاسوبك المحمول عبر نفق SSH مثل ssh -N -L 11434:127.0.0.1:11434 you@your-server.