SSD Nodes Learn 🎉 VPS از $5.50/ماه
راهنماها Matt Connorتوسط Matt Connor · به‌روزرسانی شده 2026-08-21

اجرای مدل GLM روی VPS با Ollama

مدل GLM 5.2 در Ollama تنها به صورت ابری در دسترس است. برای اجرای محلی روی VPS از مدل 30B-A3B استفاده کنید. در اینجا میزان رم مورد نیاز برای هر کوانتایز را بررسی کرده‌ایم.

آیا می‌توان GLM 5.2 را روی یک VPS اجرا کرد؟

خیر، و دانستن دلیل آن پیش از اجاره هرگونه سرور ضروری است. تا تاریخ 18 August 2026، مدل GLM 5.2 در کتابخانه Ollama دقیقاً دارای یک تگ به نام glm-5.2:cloud است. تگ :cloud روی سرورهای Ollama اجرا می‌شود. سرور شما فقط prompt را ارسال و توکن‌ها را دریافت می‌کند، بنابراین وزن‌های مدل هرگز روی دیسک شما قرار نمی‌گیرند. این مدل دارای 756 میلیارد پارامتر است. چهار بیت برای هر پارامتر در 756 میلیارد پارامتر، تقریباً معادل 378 گیگابایت وزن است و این محاسبه ساده، پیش از در نظر گرفتن context، فعال‌سازی‌ها یا سیستم‌عامل است. هیچ پلن استاندارد VPS چنین مقدار حافظه‌ای را ارائه نمی‌دهد.

مدل GLM که برای سرورهای اجاره‌ای مناسب است، glm-4.7-flash می‌باشد. این مدل با وزن‌های قابل دانلود در 4 تگ منتشر شده است. این یک مدل mixture-of-experts است، به این معنی که برای هر توکن فقط بخش کوچکی از شبکه اجرا می‌شود و Z.ai آن را به صورت 30B-A3B توصیف می‌کند: 30 میلیارد پارامتر در مجموع، و حدود 3 میلیارد پارامتر فعال برای هر توکن. بنابراین این راهنما به پرسشی پاسخ می‌دهد که می‌توانید بر اساس آن اقدام کنید. یک تگ را انتخاب کنید، اندازه سرور را تعیین کنید، سرعت خود را بسنجید و endpoint را خصوصی نگه دارید.

پیش از کپی کردن هر دستوری، از جمله دستورات موجود در اینجا، تگ را بررسی کنید. کتابخانه Ollama بدون اطلاع قبلی تغییر می‌کند. لیست تگ‌های glm-4.7-flash را باز کنید و تأیید کنید که تگ همچنان وجود دارد. اگر نسخه جدیدتری از GLM با وزن‌های محلی منتشر شده است، آن را ترجیح دهید و یادداشت کنید که کدام تگ را واقعاً تست کرده‌اید.

اگر به هر حال می‌خواهید از خود GLM 5.2 استفاده کنید، ollama run glm-5.2:cloud پس از ollama signin کار می‌کند و از سمت کلاینت، مانند هر مدل دیگر Ollama رفتار می‌کند. درک کنید که با چه چیزی موافقت می‌کنید: prompt سرور شما را ترک می‌کند. اگر دلیل شما برای self-hosting این است که داده‌ها باید روی دستگاه شما باقی بمانند، تگ :cloud این شرط را برآورده نمی‌کند.

چه تگ‌هایی برای GLM وجود دارند و کدام را باید ثابت (pin) کرد

در اینجا سه ورودی رسمی GLM اهمیت دارند. glm-5.2 و glm-5.1 فقط ابری هستند. glm-4.7-flash نسخه محلی است و این‌ها تگ‌های منتشرشده برای آن به همراه حجم دانلودی هستند که Ollama برای هر کدام فهرست کرده است.

Chartglm-4.7-flash tags in Ollama's library, checked 2026-08-18
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 خام را در اسکریپت یا Dockerfile بنویسید. نوع کوانتایزیشن (quantisation) را مشخص کنید. بزرگ‌ترین تگ، یعنی bf16، یک دانلود 60 GB است که شامل وزن‌های bfloat16 بدون کوانتایزیشن می‌باشد.

جستجو در کتابخانه همچنین آپلودهای دارای فضای نام (namespaced) با یک اسلش در نام را برمی‌گرداند، مانند someuser/glm-5.2. وجود اسلش به این معنی است که یک حساب کاربری آن را منتشر کرده است، بنابراین این یک آپلود مجدد توسط جامعه کاربری است و نه ورودی رسمی. هیچ‌کس تضمین نمی‌کند که چه وزن‌هایی درون آن قرار دارد. با چنین فایلی همان‌طور رفتار کنید که با هر فایل باینری امضانشده‌ای که به‌صورت آنلاین پیدا می‌کنید، رفتار می‌کنید.

نصب Ollama و دریافت تگ دقیق

نصب‌کننده لینوکسی Ollama تنها با یک دستور اجرا می‌شود.

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

این نصب‌کننده یک سرویس systemd ایجاد می‌کند که با کاربر ollama اجرا می‌شود. پیش از دریافت هر فایلی، از اجرای آن اطمینان حاصل کنید.

systemctl status ollama --no-pager

عبارت Active: active (running) به این معناست که API روی پورت 11434 در حال گوش دادن است. اگر این unit وجود ندارد، نصب‌کننده به حالت نصب باینری ساده بازگشته است و مستندات لینوکسی Ollama فایل سرویس مورد نیاز برای ایجاد دستی را ارائه می‌دهد.

صفحه glm-4.7-flash حداقل نسخه مورد نیاز Ollama را فهرست کرده است. باینری قدیمی‌تر، مدل را به‌کندی اجرا نمی‌کند، بلکه اصلاً آن را اجرا نمی‌کند: عملیات pull با پیامی مبنی بر اینکه مدل به نسخه جدیدتری از Ollama نیاز دارد، شکست می‌خورد. برای ارتقا، اسکریپت نصب را دوباره اجرا کنید. تا تاریخ 18 اوت 2026، نسخه فعلی 0.32.14 است که از آن حداقل نسخه فراتر است.

اکنون یک تگ را با نام آن دریافت (pull) کنید.

ollama pull glm-4.7-flash:q4_K_M
ollama ls

دستور ollama ls باید glm-4.7-flash:q4_K_M را با اندازه‌ای نزدیک به 19 گیگابایت فهرست کند. عملیاتی که در میانه راه متوقف شود، هیچ فایل قابل اجرایی باقی نمی‌گذارد، بنابراین همان دستور را دوباره اجرا کنید. شایع‌ترین علت شکست در عملیات pull در پلن‌های کوچک، پر شدن دیسک است و نه مشکلات شبکه، زیرا مدل در مسیر /usr/share/ollama/.ollama/models روی فایل‌سیستم ریشه نوشته می‌شود. پیش از شروع، با دستور df -h /usr/share/ollama وضعیت را بررسی کنید.

هر کوانتیزاسیون به چه مقدار RAM نیاز دارد؟

با حجم دانلود به عنوان حداقل مقدار شروع کنید و سپس مقداری به آن بیفزایید. وزن‌ها باید در حافظه مقیم باشند. علاوه بر آن‌ها، KV cache (حافظه کش کلید/مقدار) قرار دارد که حافظه‌ای است که runtime برای به خاطر سپردن توکن‌های موجود در گفتگو از آن استفاده می‌کند؛ همچنین بافرهای محاسباتی و هر آنچه سیستم‌عامل در حال استفاده از آن است نیز باید در نظر گرفته شوند. سیستمی که دقیقاً 19 GB رم دارد، نمی‌تواند تگ 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 هسته را نشان می‌دهد که ollama را نام می‌برد. هر دو را بررسی کنید، زیرا هیچ‌کدام پیام مفیدی در ترمینالی که در آن تایپ می‌کردید، چاپ نمی‌کنند.

گام برداشتن از تگ Q4 با حجم 19 GB به تگ Q8 با حجم 32 GB، اصلی‌ترین اهرم شما برای کنترل این عدد است. Q4 مقداری از کیفیت خروجی را کاهش می‌دهد و میزان آن به نوع وظیفه بستگی دارد؛ خروجی‌های ساختاریافته و زنجیره‌های طولانی استدلال، بیشتر از چت‌های معمولی آسیب می‌بینند. مطالعه تفاوت‌های عملی Q4، Q8 و FP16 پیش از تصمیم‌گیری نهایی ارزشمند است، زیرا در یک VPS که فقط از CPU استفاده می‌کند، انتخاب کوانتیزاسیون معمولاً تعیین می‌کند که آیا مدل اصلاً اجرا می‌شود یا خیر.

چه اتفاقی در یک VPS بدون GPU می‌افتد

بیشتر پلن‌های VPS فاقد GPU هستند و Ollama بدون هشدار دادن به شما، مدل را روی CPU اجرا می‌کند. این‌که آیا نتیجه قابل استفاده است یا خیر، به حجم کاری و میزان صبر شما بستگی دارد.

طراحی mixture-of-experts به سرعت کمک می‌کند. برای هر توکن، تنها حدود 3 میلیارد از 30 میلیارد پارامتر استفاده می‌شود، بنابراین محاسبات ریاضی برای هر توکن بسیار کمتر از چیزی است که یک مدل متراکم 30B نیاز دارد. چیزی که کاهش نمی‌یابد، حافظه است. تمام expertها باید در حافظه مقیم بمانند، زیرا router ممکن است هر کدام از آن‌ها را برای توکن بعدی انتخاب کند. بنابراین، یک سرور فقط-CPU همچنان به تمام 19 گیگابایت یا بیشتر برای تگ Q4 نیاز دارد و نرخ انتقال داده (throughput) آن بیشتر از آن‌که تحت تأثیر سرعت کلاک باشد، توسط پهنای باند حافظه تعیین می‌شود.

این موضوع یک نتیجهٔ عملی دارد: دو پلن با تعداد هسته و رم یکسان می‌توانند با سرعت‌های کاملاً متفاوتی خروجی تولید کنند، زیرا زیرسیستم‌های حافظه آن‌ها با هم متفاوت است. یک پلن اشتراکی متغیر دومی را نیز اضافه می‌کند، چرا که زمان CPU که توسط همسایه پرمصرف اشغال شده است به صورت عددی از توکن-در-ثانیه ظاهر می‌شود که ساعت به ساعت تغییر می‌کند. به همین دلیل است که اعداد منتشرشده توسط دیگران، پیش‌بینی‌کننده عملکرد شما نیستند و به همین دلیل است که بخش بعدی به جای جدول نتایج، یک دستورالعمل برای اندازه‌گیری است.

اندازه‌گیری توکن بر ثانیه در سیستم خود

اندپوینت 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 زمان صرف‌شده برای بارگذاری مدل از دیسک است؛ بنابراین در اولین فراخوانی پس از راه‌اندازی مجدد (restart) مقدار بزرگی دارد و در فراخوانی‌های بعدی نزدیک به صفر است.

این کار را سه بار انجام دهید و نتایج دوم و سوم را نگه دارید، زیرا نتیجه اول شامل زمان بارگذاری است. سپس دوباره آن را با یک پرامپت بسیار طولانی‌تر اجرا کنید، چرا که پردازش پرامپت با طول ورودی مقیاس می‌شود، در حالی که سرعت تولید این‌گونه نیست. اعداد را در کنار نام پلن و کوانتایزیشن (quantisation) خود یادداشت کنید. این رکورد از هر بنچمارکی که می‌خوانید ارزشمندتر است، زیرا روی سخت‌افزاری اندازه‌گیری شده که بابت آن هزینه پرداخت می‌کنید.

چگونه طول متن (context length) حافظه را چند برابر می‌کند

Ollama به‌صورت پیش‌فرض از context با طول 4096 توکن استفاده می‌کند. مدل ممکن است ظرفیت بسیار بیشتری، مثلاً 198K توکن برای glm-4.7-flash، اعلام کند، اما شما به‌طور پیش‌فرض به آن دسترسی ندارید و فعال‌سازی آن بدون هزینه نیست.

حافظه پنهان KV برای هر توکن در هر لایه، یک بردار کلید (key vector) و یک بردار مقدار (value vector) ذخیره می‌کند. اندازه این حافظه با تعداد توکن‌های مجاز، به‌صورت خطی رشد می‌کند. افزایش از 4096 به 32768 توکن، به معنای هشت برابر شدن context است، بنابراین حافظه KV نیز تقریباً هشت برابر می‌شود. در سیستمی که دقیقاً برای جای‌گیری وزن‌های مدل تنظیم شده است، همین تخصیص اضافی باعث می‌شود سیستم به swap بیفتد؛ به همین دلیل است که ماشینی که به درخواست‌های کوتاه به‌خوبی پاسخ می‌داد، هنگام چسباندن یک سند طولانی ناگهان کند می‌شود.

شما می‌توانید این مقدار را برای هر درخواست با استفاده از num_ctx در شیء options، همان‌طور که در دستور 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= خالی باشد، فایل override در دایرکتوری اشتباه قرار دارد یا عملیات reload انجام نشده است. پس از بارگذاری مدل بعدی، ollama ps باید مقدار SIZE بزرگ‌تری نسبت به حالت 4096 نشان دهد. مقدار را به‌صورت مرحله‌ای افزایش دهید و هر بار آن عدد را بررسی کنید. تنظیم طول context در Ollama با num_ctx توضیح می‌دهد که این پارامتر چگونه با keep-alive و درخواست‌های موازی تعامل دارد؛ چرا که هر دوی این موارد، هزینه مشابه را چند برابر می‌کنند.

زمانی که API ارزان‌تر از سرور شخصی است

میزبانی شخصی (Self-hosting) لزوماً همیشه ارزان‌تر نیست و برای این خانواده از مدل‌ها، قیمت‌های رسمی منتشرشده این موضوع را به‌وضوح نشان می‌دهند.

ChartZ.ai published list prices per million tokens, checked 2026-08-18
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) با رم کافی، هر ماه هزینه واقعی دارد، در حالی که ارائه‌دهنده، همان مدل را با هزینه بسیار ناچیزی در اختیار می‌گذارد. آنچه با اجرای محلی به دست می‌آورید متفاوت است: پرامپت‌های شما روی دستگاهی می‌مانند که تحت کنترل خودتان است و نسخه مدل هرگز تغییر نمی‌کند مگر اینکه خودتان آن را تغییر دهید. این‌ها دلایل خوبی برای میزبانی شخصی هستند. اما برای این مدل و با این قیمت‌ها، هزینه دلیل موجهی نیست.

محاسبات زمانی تغییر می‌کند که مدل مورد نظر شما رایگان نباشد، یا داده‌های شما طبق قانون اجازه خروج از شبکه داخلی‌تان را نداشته باشند. مطلب نقطه سربه‌سر بین یک VPS مجهز به GPU و توکن‌های API این محاسبات را با در نظر گرفتن تمام متغیرها بررسی می‌کند. اگر هنوز در حال انتخاب سخت‌افزار هستید، هزینه واقعی ماهانه یک VPS نیمه دیگر این معادله است.

نگه داشتن endpoint روی 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 هیچ‌گونه احراز هویتی ندارد. هیچ رمز عبور، توکن یا لیست مجاز (allowlist) وجود ندارد. هر کسی که بتواند به پورت 11434 دسترسی پیدا کند، می‌تواند مدل‌های شما را لیست کند، روی سخت‌افزاری که هزینه آن را پرداخت می‌کنید عملیات تولید (generation) انجام دهد، مدل‌های جدید را روی دیسک شما دانلود کند تا زمانی که فضای آن پر شود و مدل‌های موجود شما را حذف کند. پورت 11434 ثابت و شناخته‌شده است، بنابراین اسکنرها به‌سرعت پورت‌های باز را پیدا می‌کنند.

مقدار OLLAMA_HOST=0.0.0.0 را تنظیم نکنید. بسیاری از آموزش‌ها این کار را به‌عنوان راه‌حل زمانی که کلاینت روی لپ‌تاپ شما نمی‌تواند متصل شود پیشنهاد می‌دهند، اما این راه‌حل اشتباهی است. به‌جای آن، پورت را Forward کنید.

ssh -N -L 11434:127.0.0.1:11434 you@your-server

این دستور پورت 11434 روی لپ‌تاپ شما را از طریق SSH به آدرس loopback سرور نگاشت (map) می‌کند، بنابراین هر کلاینتی که برای http://localhost:11434 پیکربندی شده باشد بدون تغییر کار می‌کند و هیچ چیز جدیدی در معرض دید قرار نمی‌گیرد. برای چندین نفر یا چندین دستگاه، سرور را روی یک شبکه تونل خصوصی قرار دهید و Ollama را به آدرس تونل bind کنید، نه هرگز به 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 در پلن شما جا نمی‌شود، راه‌حل استفاده از یک مدل کوچک‌تر است، نه کاهش context. کوتاه کردن context برای جای دادن مدل، منجر به وضعیتی می‌شود که مدل بارگذاری شده اما در اولین prompt طولانی با شکست مواجه می‌شود. Qwen 3 در نسخه‌های 8B و 27B روی VPS همان مسیر نصب را با اندازه‌هایی که برای سرورهای کوچک مناسب است طی می‌کند و راهنمای کلی برای میزبانی شخصی LLM با Ollama روی VPS بخش‌هایی را پوشش می‌دهد که فارغ از انتخاب مدل، ثابت باقی می‌مانند. به هر مدلی که رسیدید، تگ آن را ثابت (pin) کنید، عملکرد را روی پلن خود بسنجید و endpoint را روی loopback قرار دهید.

FAQ

آیا GLM 5.2 می‌تواند به‌صورت محلی روی یک VPS اجرا شود؟

خیر. از تاریخ 18 اوت 2026، مدل GLM 5.2 در کتابخانه Ollama تنها با برچسب glm-5.2:cloud موجود است؛ این برچسب روی زیرساخت خود Ollama اجرا می‌شود و پیش از کارکرد، به ollama signin نیاز دارد. این مدل دارای 756 میلیارد پارامتر است، بنابراین حتی با در نظر گرفتن 4 بیت برای هر پارامتر، وزن‌های مدل به تنهایی صدها گیگابایت حجم دارند که بسیار فراتر از ظرفیت هر طرح VPS استانداردی است. مدل GLM با وزن‌های قابل دانلود که برای یک سرور اجاره‌ای مناسب است، glm-4.7-flash می‌باشد.

مدل glm-4.7-flash به چه مقدار RAM نیاز دارد؟

حجم دانلود برچسب را به‌عنوان حداقل در نظر بگیرید و فضای لازم برای KV cache و سیستم‌عامل را به آن اضافه کنید. Ollama حجم برچسب Q4 را 19 گیگابایت، Q8 را 32 گیگابایت و برچسب bfloat16 را 60 گیگابایت اعلام کرده است. هیچ ضریب ثابتی برای همه مناسب نیست، زیرا KV cache با طول متنی (context length) که تنظیم می‌کنید، افزایش می‌یابد. مدل را بارگذاری کنید، دستور ollama ps را اجرا کنید و برای مشاهده مقدار دقیق روی سیستم خود، ستون SIZE را بخوانید.

چگونه می‌توانم تعداد توکن در ثانیه را روی VPS خود اندازه‌گیری کنم؟

یک درخواست به http://localhost:11434/api/generate با استفاده از "stream": false ارسال کنید، سپس eval_count و eval_duration را از پاسخ بخوانید. تعداد توکن در ثانیه برابر است با eval_count / eval_duration * 1e9، زیرا eval_duration بر حسب نانوثانیه گزارش می‌شود. اجرای اول را نادیده بگیرید، زیرا load_duration در آن مرحله شامل خواندن وزن‌ها از دیسک نیز می‌شود. این کار را با یک پرامپت طولانی نیز تکرار کنید، زیرا prompt_eval_duration با افزایش طول ورودی رشد می‌کند، در حالی که سرعت تولید ثابت می‌ماند.

چرا نباید OLLAMA_HOST را روی 0.0.0.0 تنظیم کنم؟

زیرا API مدل Ollama فاقد احراز هویت است، بنابراین اتصال آن به 0.0.0.0 باعث می‌شود یک نقطه پایانی (endpoint) بدون احراز هویت در دسترس عموم اینترنت قرار گیرد. هر کسی که به پورت 11434 دسترسی پیدا کند، می‌تواند روی سخت‌افزار شما تولید محتوا کند و مدل‌های نصب‌شده را تغییر دهد. اتصال پیش‌فرض 127.0.0.1 را حفظ کنید، آن را با ss -ltnp | grep 11434 بررسی کنید و از طریق یک تونل SSH مانند ssh -N -L 11434:127.0.0.1:11434 you@your-server از لپ‌تاپ خود به API دسترسی پیدا کنید.