Chạy Nemotron 3.5 Lightning trên VPS bằng Ollama
Chạy NVIDIA Nemotron 3.5 Lightning bằng Ollama trên VPS: tag chính xác cần pull, RAM thực tế cho model 30B và tốc độ CPU-only có đủ dùng không.
Nemotron 3.5 Lightning dùng để làm gì
Nemotron 3.5 Lightning là model mixture-of-experts 30B mã nguồn mở của NVIDIA, được phát hành vào tháng 8 năm 2026. Model này được xây dựng cho các agent chạy trong nhiều giờ, thay vì chỉ phục vụ một cửa sổ chat. MoE (mixture of experts) nghĩa là các weight được chia thành nhiều mạng con expert, và mỗi token chỉ được định tuyến qua một số ít mạng trong đó. Model card của NVIDIA ghi nhận tổng cộng 30 tỷ parameter, trong đó 3 tỷ parameter được kích hoạt cho mỗi token. Bạn phải trả chi phí bộ nhớ cho con số lớn. Đổi lại, tốc độ xử lý dựa trên con số nhỏ.
Đó là lý do nên cân nhắc model này cho một server thuê. Một agent thực hiện công việc thực tế có thể gửi hàng nghìn request ngắn trong một ngày, nên throughput trên mỗi đơn vị chi phí quyết định liệu nó có thể chạy trên máy riêng của bạn hay không. Một model mất 40 giây cho mỗi câu trả lời có thể dùng làm trợ lý, nhưng không phù hợp làm agent, vì một tác vụ có thể tạo ra 20 lần gọi và bạn phải chờ từng lần.
NVIDIA mô tả kiến trúc này là hybrid: các layer Mamba-2 và MoE được xen kẽ, cùng một số layer attention. Model card ghi nhận context length tối đa lên đến 1M token và license OpenMDW-1.1, được đánh dấu là sẵn sàng cho mục đích thương mại. Các ngôn ngữ chính là tiếng Anh và code. Model cũng hỗ trợ tiếng Tây Ban Nha, tiếng Pháp, tiếng Đức, tiếng Ý và tiếng Nhật.
Artificial Analysis công bố các phép đo khi ra mắt vào tháng 8 năm 2026, cho thấy tốc độ gần 670 token output mỗi giây trên một endpoint DeepInfra tiền phát hành đang phục vụ các weight NVFP4. Đây là một endpoint GPU được host sẵn. Hãy hiểu con số này là khả năng mà kiến trúc cho phép, không phải tốc độ VPS của bạn sẽ đạt được.
Tag Ollama nào phù hợp với VPS nào
Thư viện Ollama phát hành nhiều build của cùng một bộ weights. Điểm khác nhau là quantisation, tức số bit dùng để lưu mỗi weight. Vì vậy, kích thước download có thể chênh lệch rất nhiều.
The data behind this chart
[
{
"label": "30b-a3b-q4_K_M",
"size_gb": 25
},
{
"label": "30b-a3b-q8_0",
"size_gb": 35
},
{
"label": "30b-a3b-bf16",
"size_gb": 66
},
{
"label": "30b-a3b-mlx",
"size_gb": 23
}
]Các tag có tên latest, 30b và 30b-a3b đều trỏ đến cùng digest với 30b-a3b-q4_K_M. Vì vậy, bản download mặc định là build 4-bit 25 GB với context đầy đủ 1M. Q8_0 có kích thước 35 GB và bf16 có kích thước 66 GB; cả hai đều hỗ trợ context 1M. Các build MLX có kích thước 23 GB dành cho Apple silicon và giới hạn ở context 256K, nên không phù hợp trên Linux VPS.
Đó là kích thước download, không phải yêu cầu về memory. NVIDIA không công bố mức VRAM (video RAM) tối thiểu cho các build Ollama, nên chỉ xem kích thước download là mức sàn, không hơn. Weights phải được giữ trong một vùng memory nào đó: nếu GPU đủ chỗ thì nằm trong GPU memory, nếu không thì nằm trong system RAM. KV cache (key/value cache, vùng memory lưu trạng thái cuộc hội thoại theo từng token của model) được cộng thêm vào đó. Con số thực tế cho phần cứng của bạn phải lấy bằng command, không thể tính đơn giản, và command đó nằm ở phần bên dưới. Nếu bạn chưa chọn mức quantisation, chi phí của Q4, Q8 và FP16 giải thích những gì phải đánh đổi ở mỗi bước.
Tải đúng tag, không dùng latest
latest là một con trỏ có thể thay đổi. Khi thư viện phát hành lại tag này, hành vi của agent sẽ thay đổi ở lần pull tiếp theo mà không có gì trong ghi chú giải thích lý do. Hãy chỉ rõ tag.
curl -fsSL https://ollama.com/install.sh | sh
ollama --version
ollama pull nemotron-3.5-lightning:30b-a3b-q4_K_MScript cài đặt tạo một systemd service chạy bằng user ollama và lưu model trong /usr/share/ollama/.ollama/models. Trên hầu hết image VPS, đường dẫn này nằm trên root filesystem, nên hãy kiểm tra dung lượng trống trước khi yêu cầu 25 GB. Nếu filesystem đó sắp đầy, hãy đọc nơi Ollama lưu model và cách di chuyển chúng trước khi pull, thay vì chờ đến khi pull làm đầy disk.
df -h /usr/share/ollamaMột lần pull dừng giữa chừng và báo no space left on device nghĩa đúng như vậy. Các blob chưa hoàn tất vẫn nằm trên disk cho đến khi bạn xóa chúng. Sau đó, xác nhận những gì đã được tải xuống:
ollama show nemotron-3.5-lightning:30b-a3b-q4_K_Mollama show in ra kiến trúc, số lượng parameter, độ dài context và quantisation thực tế của file. Nếu bất kỳ thông tin nào khác với trang của thư viện, bạn đã pull nhầm tag.
Chạy model và kiểm tra model thực sự chạy ở đâu
sudo systemctl enable --now ollama
ollama run nemotron-3.5-lightning:30b-a3b-q4_K_M "Reply with one word: ready"Khi model vẫn đang được load, hãy mở shell thứ hai:
ollama psĐây là command trả lời câu hỏi về bộ nhớ trên máy của bạn. ollama ps hiển thị model đã load, dung lượng model chiếm trong bộ nhớ và một cột PROCESSOR. 100% GPU nghĩa là toàn bộ model nằm trong VRAM. 100% CPU nghĩa là không có phần nào nằm trong VRAM; processor tính toán mọi token từ system RAM. Giá trị phân tách như 65%/35% CPU/GPU nghĩa là các layer không vừa hoàn toàn, và tỷ lệ tải trên CPU quyết định tốc độ. Không cần ước tính yêu cầu. Hãy load model rồi đọc dòng này.
Nếu không thể load, Ollama sẽ từ chối một cách an toàn thay vì crash:
Error: model requires more system memory (28.4 GiB) than is available (15.6 GiB)CPU-only VPS có đủ nhanh không?
VPS đa dụng không có GPU, nên CPU phải xử lý toàn bộ công việc và đọc mọi weight cần thiết từ system RAM. MoE có ích trong trường hợp này, vì mỗi token chỉ kích hoạt khoảng 3 billion trong tổng số 30 billion parameter. Vì vậy, lượng phép tính cho mỗi token nhỏ hơn nhiều so với model dense 30B. Memory thì không được giảm. Toàn bộ 30 billion parameter phải luôn nằm trong memory, vì router có thể chọn bất kỳ expert nào cho mỗi token.
Do đó, inference chỉ dùng CPU trên model này bị giới hạn bởi memory bandwidth thay vì số lượng core. Việc thêm vCPU vào một plan vốn đã có số lượng vCPU hợp lý hầu như không tạo khác biệt. Bạn cần đủ RAM để chứa weight và KV cache, cùng loại memory nhanh nhất mà plan cung cấp.
Hãy đo trước khi giao một agent cho VPS đó, bằng phương pháp trong đo số token mỗi giây cho LLM local:
ollama run --verbose nemotron-3.5-lightning:30b-a3b-q4_K_M "Write a 200 word summary of TCP slow start."Dòng eval rate được in ở cuối là tốc độ generation, tính bằng token mỗi giây. Con số này quyết định câu trả lời, vì wall-clock time của agent chủ yếu phụ thuộc vào nó. Nhân con số đó với độ dài reply bạn dự kiến. Nếu kết quả dài hơn thời gian bạn chấp nhận chờ, giới hạn output bằng num_predict là cách duy nhất để giới hạn thời gian của một lần gọi mà không thay đổi hardware.
The data behind this chart
[
{
"label": "Nemotron 3.5 Lightning",
"sec_per_task": 30
},
{
"label": "gpt-oss-120b",
"sec_per_task": 204
},
{
"label": "Qwen3.6 35B",
"sec_per_task": 210
}
]Đây là các số liệu do bên thứ ba công bố, được chuyển đổi từ số phút cho mỗi task mà Artificial Analysis báo cáo khi ra mắt. Các số liệu này được đo trên hosted GPU endpoint, không phải trên VPS. Nemotron 3.5 Lightning trung bình mất khoảng 30 giây cho mỗi task. Trong đó, gpt-oss-120b mất khoảng 204 giây, còn Qwen3.6 35B mất khoảng 210 giây. Hãy dùng chúng để hình dung mức chênh lệch, không xem đó là cam kết về hardware của bạn.
Hướng dẫn thực tế phụ thuộc vào người phải chờ. Nếu có người chờ agent trả lời, hoặc agent thực hiện các chuỗi call dài liên tiếp, hãy thuê GPU capacity. Nếu agent chạy theo schedule qua đêm và không có ai theo dõi, plan CPU có nhiều RAM là lựa chọn hợp lý. Dù chọn cách nào, setup cũng giống nhau. Chạy Ollama trên VPS trình bày cách chọn plan và so sánh GPU instance với việc trả phí cho API provider theo token. Điểm hòa vốn phụ thuộc vào mức độ sử dụng: GPU instance tính phí cho mọi giờ nó tồn tại, còn API token chỉ tính phí khi được dùng. Vì vậy, agent hoạt động gần như cả ngày thường phù hợp với máy bạn sở hữu hơn, còn agent chỉ chạy 2 lần mỗi giờ thì thường không phù hợp.
Cửa sổ context 1M không miễn phí
1M token là giới hạn tối đa của model, nhưng Ollama không cấp toàn bộ giới hạn này theo mặc định. Ollama dùng một cửa sổ nhỏ hơn nhiều và loại bỏ các token cũ nhất khi cuộc hội thoại vượt quá giới hạn đó. Khi việc này xảy ra, không có gì được ghi vào log. Với một agent, điều này trông giống như model quên phần đầu của chính tác vụ.
Hãy chủ động đặt kích thước cửa sổ. Để áp dụng cho toàn bộ server, hãy chỉnh sửa service:
sudo systemctl edit ollamaThêm nội dung này, rồi chạy sudo systemctl restart ollama:
[Service]
Environment="OLLAMA_CONTEXT_LENGTH=32768"Để áp dụng cho từng request, thay vào đó hãy gửi num_ctx trong object options:
curl http://localhost:11434/api/chat -d '{
"model": "nemotron-3.5-lightning:30b-a3b-q4_K_M",
"messages": [{"role": "user", "content": "Say ready"}],
"options": {"num_ctx": 32768},
"stream": false
}'Mỗi lần tăng đều tốn thêm memory vì KV cache tăng theo số token được cho phép. Tăng giá trị, restart, rồi chạy lại ollama ps và theo dõi kích thước được báo cáo tăng lên. Nếu cột PROCESSOR chuyển từ 100% GPU sang split sau thay đổi đó, KV cache đã đẩy các model layer ra khỏi VRAM và tốc độ sẽ giảm mạnh. Cách chọn num_ctx trong Ollama giải thích chi tiết trade-off này. Đừng đặt 1000000 chỉ vì model card cho phép, vì phần memory allocation diễn ra ngay từ đầu và quá trình load sẽ fail.
Tích hợp vào agent chạy liên tục
Bài đăng phát hành của Ollama cho model này có hướng dẫn tắt để khởi chạy một agent được hỗ trợ và đã trỏ sẵn đến model:
ollama launch claude --model nemotron-3.5-lightningBài đăng ghi rõ claude, opencode, openclaw và hermes ở vị trí đó. Subcommand này cần Ollama phiên bản hiện tại, vì vậy trước tiên hãy kiểm tra ollama --version. Nếu không có, hãy tự trỏ agent đến API. Ollama cung cấp endpoint tương thích với OpenAI, và hầu hết agent harness đều chấp nhận endpoint này:
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_API_KEY=ollamaOllama bỏ qua key, nhưng hầu hết client sẽ không khởi động nếu chưa đặt một key. Phần cấu hình harness được trình bày trong trỏ coding agent đến Ollama và tự xây dựng agent OpenClaw.
Khi agent chạy không cần giám sát, có 2 cài đặt của server cần chú ý. OLLAMA_KEEP_ALIVE kiểm soát thời gian model được giữ trong memory sau request cuối cùng. Giá trị mặc định sẽ unload model sau five minutes, nên lần gọi tiếp theo lại phải chịu toàn bộ thời gian load. Với file 25 GB và không có GPU, khoảng dừng này đủ lâu để làm timeout xảy ra. Đặt OLLAMA_KEEP_ALIVE=-1 để giữ model luôn resident. OLLAMA_HOST=0.0.0.0:11434 cho phép các máy khác truy cập API. API này không có bất kỳ cơ chế authentication nào, vì vậy chỉ mở nó phía sau firewall rule hoặc private network.
Các lỗi thường gặp và chuỗi bạn sẽ thấy
Pull thất bại ngay lập tức. Error: pull model manifest: file does not exist có nghĩa là tag đó không tồn tại. Tên tag là chuỗi chính xác, vì vậy hãy sao chép một tag từ trang library thay vì đoán hậu tố quantisation.
Model không load được. Error: model requires more system memory (28.4 GiB) than is available (15.6 GiB) có nghĩa là tag này quá lớn so với plan hiện tại. Chuyển sang quantisation nhỏ hơn hoặc giảm OLLAMA_CONTEXT_LENGTH, vì KV cache được tính vào yêu cầu đó.
Không có phản hồi trên port 11434. curl: (7) Failed to connect to localhost port 11434 có nghĩa là service chưa chạy hoặc không listening tại vị trí bạn dự kiến. Đọc systemctl status ollama và journalctl -u ollama -n 50. Nếu bạn cũng khởi động ollama serve thủ công, bản sao thứ hai sẽ thoát với Error: listen tcp 127.0.0.1:11434: bind: address already in use.
Service có phản hồi nhưng rất chậm. Kiểm tra ollama ps trước khi thay đổi bất kỳ thứ gì. Trên máy có GPU, bất kỳ CPU share nào trong cột PROCESSOR đều có nghĩa là một phần model đã bị đẩy ra khỏi VRAM. Vì vậy, hãy giảm context hoặc chọn quantisation nhỏ hơn. Trên máy không có GPU, tốc độ chậm là kết quả bình thường và không có setting nào khắc phục được.
Agent quên instruction giữa chừng. Cuộc hội thoại đã vượt quá context window, nên các token cũ nhất bị loại bỏ mà không có thông báo. Tăng OLLAMA_CONTEXT_LENGTH, xác nhận bằng ollama ps rằng model vẫn vừa, và nếu model không còn vừa nữa thì cần dùng máy lớn hơn thay vì giảm window.
Vị trí của model này so với các lựa chọn khác
Một MoE 30B là model khá lớn nếu chỉ dùng cho một tác vụ nhỏ. Nếu một model dense 8B đã đáp ứng được tác vụ của bạn, chi phí chạy và tải model sẽ thấp hơn nhiều, đồng thời thời gian tải chỉ mất vài giây. Qwen 3 ở 8B và 27B trên VPS là bài so sánh trực tiếp cho quyết định này. Để có cái nhìn rộng hơn về những gì một gói dịch vụ thực sự có thể chạy, hãy bắt đầu từ những AI model nào bạn có thể tự host. Nếu bạn dự định phục vụ nhiều agent cùng lúc thay vì chỉ một agent, hãy đọc Ollama so với vLLM trước. Ollama không batch các request đồng thời theo cách một inference server dùng trong production thực hiện. Đây là giới hạn khiến mô hình single-user không thể tiếp tục scale.
FAQ
Tôi nên pull tag Nemotron 3.5 Lightning nào trên Linux VPS?
Dùng nemotron-3.5-lightning:30b-a3b-q4_K_M. Tag này có kích thước 25 GB, hỗ trợ đầy đủ context tối đa 1M và trỏ đến cùng digest với các tag latest, 30b và 30b-a3b tính đến tháng 8 năm 2026. Hãy ghi rõ tag này thay vì pull latest, để việc republish pointer trong tương lai không âm thầm thay đổi hành vi của agent. Các tag mlx là bản build cho Apple silicon và không giúp ích trên Linux.
Nemotron 3.5 Lightning cần bao nhiêu RAM?
NVIDIA không công bố mức memory tối thiểu cho các bản build Ollama, vì vậy hãy đo thay vì ước tính. Pull tag, chạy model một lần và đọc ollama ps khi model đang được load. Lệnh này hiển thị dung lượng thực tế đang chiếm dụng và cho biết model chạy trên GPU hay CPU. Dung lượng download của tag mặc định là 25 GB, nhưng đây chỉ là mức sàn vì KV cache được cộng thêm và tăng theo context window bạn đặt. Nếu plan quá nhỏ, Ollama sẽ từ chối với model requires more system memory và hiển thị cả hai con số.
Tôi có thể chạy Nemotron 3.5 Lightning trên VPS không có GPU không?
Có, nếu plan có đủ RAM để chứa weights. Thiết kế MoE cũng có lợi vì mỗi token chỉ tính toán khoảng 3 trong số 30 billion parameters. Điểm hạn chế là tốc độ. Không có GPU, model bị giới hạn bởi memory bandwidth, nên tăng số vCPU hầu như không cải thiện kết quả. Chạy ollama run --verbose với một prompt cố định, đọc dòng eval rate và so sánh con số đó với thời hạn phản hồi của agent. Với batch job chạy qua đêm, cách này thường phù hợp. Với tác vụ mà người dùng phải chờ kết quả, thường là không đủ nhanh.
Vì sao Ollama không cung cấp context window đầy đủ 1M?
1M là mức tối đa của model, không phải giá trị mặc định của Ollama. Ollama áp dụng một window nhỏ hơn nhiều và loại bỏ các token cũ nhất khi cuộc hội thoại vượt quá giới hạn đó. Ollama không in lỗi, nên biểu hiện giống như agent quên các instruction của chính nó. Hãy đặt OLLAMA_CONTEXT_LENGTH trên systemd service hoặc truyền num_ctx cho từng request. Tăng giá trị theo từng bước và kiểm tra lại ollama ps sau mỗi lần, vì memory của KV cache tăng theo window và có thể khiến các layer của model bị đẩy khỏi GPU.
Nemotron 3.5 Lightning có được phép sử dụng cho mục đích thương mại miễn phí không?
Model card của NVIDIA đặt model dưới license OpenMDW-1.1 và đánh dấu model là sẵn sàng cho commercial use. Điều này áp dụng cho weights bạn tự download và chạy. License không đề cập đến các software khác trong stack của bạn, vì vậy hãy kiểm tra riêng license của agent harness và mọi tool bạn kết nối với nó. Hãy đọc model card hiện tại trước khi dựa vào thông tin này cho bất kỳ vấn đề mang tính hợp đồng nào.