Cách chạy Nemotron 3.5 Lightning trên VPS với Ollama
Hướng dẫn cài đặt Nemotron 3.5 Lightning qua Ollama trên VPS. Bài viết cung cấp lệnh pull chính xác, yêu cầu RAM tối thiểu và đánh giá hiệu năng khi chạy model trên CPU.
Mục đích của Nemotron 3.5 Lightning
Nemotron 3.5 Lightning là mô hình mixture-of-experts 30B mã nguồn mở của NVIDIA, được phát hành vào tháng 8 năm 2026, được xây dựng cho các agent chạy trong nhiều giờ thay vì chỉ một cửa sổ chat. MoE (mixture of experts) nghĩa là các trọng số được chia thành nhiều mạng con chuyên gia, và mỗi token chỉ được định tuyến qua một vài trong số đó. Model card của NVIDIA cho biết tổng cộng có 30 tỷ tham số với 3 tỷ tham số hoạt động trên mỗi token. Bạn phải trả chi phí bộ nhớ cho con số lớn, nhưng nhận lại tốc độ từ con số nhỏ.
Sự đánh đổi đó là lý do để cân nhắc mô hình này cho máy chủ bạn thuê. Một agent thực hiện công việc thực tế sẽ gửi hàng ngàn yêu cầu ngắn trong ngày, vì vậy throughput trên mỗi đô la quyết định liệu nó có thể chạy trên máy của bạn hay không. Một mô hình mất 40 giây cho mỗi phản hồi là một trợ lý dùng được nhưng là một agent kém, vì một tác vụ tạo ra hai mươi cuộc gọi và bạn phải chờ đợi từng cái một.
NVIDIA mô tả kiến trúc này là hybrid: các lớp Mamba-2 và MoE xen kẽ với các lớp attention chọn lọc. Model card cung cấp độ dài context tối đa lên tới 1M token và giấy phép OpenMDW-1.1, được đánh dấu 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, cùng với tiếng Tây Ban Nha, Pháp, Đức, Ý và Nhật Bản cũng được liệt kê.
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 gần 670 output token mỗi giây trên một endpoint DeepInfra tiền phát hành phục vụ các trọng số NVFP4. Đó là một GPU endpoint được host. Hãy hiểu đó là khả năng của kiến trúc, không phải là những gì VPS của bạn sẽ đạt được.
Chọn tag Ollama phù hợp cho VPS
Thư viện Ollama phát hành nhiều bản build cho cùng một bộ trọng số (weights). Điểm khác biệt giữa chúng là lượng tử hóa (quantisation), tức là số bit dùng để lưu trữ mỗi trọng số, điều này làm thay đổi đáng kể dung lượng tải xuống.
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 một digest như 30b-a3b-q4_K_M, vì vậy bản tải xuống mặc định là bản build 4-bit 25 GB với context 1M đầy đủ. Q8_0 có dung lượng 35 GB và bf16 là 66 GB, cả hai cũng đều ở mức 1M. Các bản build MLX ở mức 23 GB dành cho Apple silicon và giới hạn ở context 256K, vì vậy chúng không phải là lựa chọn phù hợp trên Linux VPS.
Đó là dung lượng tải xuống, không phải yêu cầu bộ nhớ. NVIDIA không công bố con số VRAM (video RAM) tối thiểu cho các bản build Ollama, vì vậy hãy coi dung lượng tải xuống chỉ là mức tối thiểu. Các trọng số phải nằm ở đâu đó, trong bộ nhớ GPU nếu card chứa được chúng, hoặc trong RAM hệ thống nếu không; ngoài ra còn phải cộng thêm KV cache (key/value cache, bộ nhớ của model cho mỗi token trong cuộc hội thoại). Con số thực tế cho phần cứng của bạn đến từ một lệnh, không phải từ phép tính toán học, và nó nằm ở bên dưới. Nếu bạn chưa quyết định mức lượng tử hóa, chi phí của Q4, Q8 và FP16 sẽ giải thích những gì bạn phải đánh đổi ở mỗi mức.
Sử dụng tag chính xác, không dùng latest
latest là một con trỏ thay đổi. Khi thư viện cập nhật lại tag này, hành vi của agent sẽ thay đổi trong lần pull tiếp theo mà không có ghi chú nào giải thích lý do. Hãy chỉ định tên tag cụ thể.
curl -fsSL https://ollama.com/install.sh | sh
ollama --version
ollama pull nemotron-3.5-lightning:30b-a3b-q4_K_MScript cài đặt thiết lập một service systemd chạy dưới quyền người dùng ollama và lưu trữ các model tại /usr/share/ollama/.ollama/models. Đường dẫn này nằm trên filesystem gốc của hầu hết các image VPS, vì vậy hãy kiểm tra dung lượng trống trước khi yêu cầu 25 GB.
df -h /usr/share/ollamaMột lệnh pull dừng giữa chừng và báo lỗi no space left on device có nghĩa chính xác như vậy, và các blob cục bộ sẽ vẫn nằm trên ổ đĩa cho đến khi bạn xóa chúng. Sau đó, hãy xác nhận những gì đã được tải về:
ollama show nemotron-3.5-lightning:30b-a3b-q4_K_Mollama show in ra kiến trúc, số lượng tham số, độ dài context và mức quantisation thực tế của file. Nếu bất kỳ thông số nào không khớp với trang thư viện, bạn đã pull nhầm tag so với dự định.
Chạy model và kiểm tra vị trí thực thi
sudo systemctl enable --now ollama
ollama run nemotron-3.5-lightning:30b-a3b-q4_K_M "Reply with one word: ready"Trong khi model vẫn đang được load, hãy mở một shell thứ hai:
ollama psĐây là lệnh giúp trả lời câu hỏi về bộ nhớ trên máy của bạn. ollama ps sẽ in ra model đang được load, dung lượng chiếm dụng trong bộ nhớ, và 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, và mọi token đều được bộ vi xử lý tính toán từ RAM hệ thống. Một sự phân chia như 65%/35% CPU/GPU nghĩa là các layer không thể chứa hết trong VRAM, và phần chia sẻ của CPU sẽ quyết định tốc độ của bạn. Đừng ước tính yêu cầu bộ nhớ. Hãy load model và đọc dòng này.
Nếu model không thể load được, Ollama sẽ từ chối một cách sạch sẽ thay vì bị crash:
Error: model requires more system memory (28.4 GiB) than is available (15.6 GiB)VPS chỉ dùng CPU có đủ nhanh không?
Một VPS đa dụng không có GPU, nên CPU phải thực hiện mọi tác vụ và đọc từng weight cần thiết từ RAM hệ thống. MoE giúp ích ở đây, vì chỉ khoảng 3 tỷ trong tổng số 30 tỷ tham số được truy cập trên mỗi token, nên khối lượng tính toán trên mỗi token nhỏ hơn nhiều so với mô hình dense 30B. Tuy nhiên, bộ nhớ không được hưởng lợi. Tất cả 30 tỷ tham số phải luôn nằm trong RAM, vì router có thể chọn bất kỳ expert nào cho bất kỳ token nào.
Do đó, suy luận (inference) chỉ dùng CPU trên mô hình này bị giới hạn bởi băng thông bộ nhớ thay vì số lượng core. Việc thêm vCPU vào một gói đã có số lượng core hợp lý không thay đổi được nhiều. Điều bạn cần là đủ RAM để chứa các weight cộng với KV cache, và tốc độ bộ nhớ nhanh nhất mà gói dịch vụ cung cấp.
Hãy đo lường trước khi triển khai agent, sử dụng phương pháp trong đo lường số token mỗi giây cho LLM cục bộ:
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 chính là tốc độ tạo văn bản của bạn tính bằng token mỗi giây. Con số duy nhất đó quyết định câu trả lời, vì thời gian thực tế (wall-clock time) của một agent bị chi phối bởi nó.
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
}
]Đó là các số liệu từ bên thứ ba, được chuyển đổi từ số phút mỗi tác vụ mà Artificial Analysis đã báo cáo khi ra mắt, và chúng được đo trên các endpoint GPU được host thay vì trên VPS. Nemotron 3.5 Lightning trung bình mất khoảng 30 giây cho mỗi tác vụ, trong đó gpt-oss-120b mất khoảng 204 và Qwen3.6 35B mất khoảng 210. Hãy dùng chúng để tham khảo sự chênh lệch, không phải là cam kết về hiệu năng phần cứng của bạn.
Lời khuyên chân thành phụ thuộc vào việc ai là người chờ đợi. Nếu có người đang chờ agent, hoặc agent thực hiện các chuỗi gọi liên tiếp, hãy thuê GPU. Nếu nó chạy theo lịch trình vào ban đêm và không có ai theo dõi, một gói CPU có RAM lớn là lựa chọn hợp lý. Dù thế nào thì cách thiết lập vẫn giống nhau, và chạy Ollama trên VPS sẽ hướng dẫn cách chọn cấu hình gói và so sánh giữa việc dùng instance GPU với việc trả phí cho nhà cung cấp API theo token. Điểm hòa vốn là vấn đề về mức độ sử dụng: instance GPU tính phí mỗi giờ tồn tại, trong khi API tính phí theo token khi sử dụng, vì vậy một agent bận rộn suốt cả ngày sẽ có lợi hơn nếu chạy trên máy chủ riêng, còn agent chỉ chạy vài lần mỗi giờ thì thường không.
Cửa sổ ngữ cảnh 1M không miễn phí
1M token là mức tối đa của model, và Ollama không mặc định cấp cho bạn. Ollama phục vụ một cửa sổ mặc định 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 đó. Không có gì được ghi lại khi điều này xảy ra, vì vậy đối với một agent, nó trông giống như model tự quên đi phần đầu nhiệm vụ của chính nó.
Hãy thiết lập cửa sổ theo mục đích sử dụng. Đối với toàn bộ server, hãy chỉnh sửa service:
sudo systemctl edit ollamaThêm nội dung này vào, sau đó chạy sudo systemctl restart ollama:
[Service]
Environment="OLLAMA_CONTEXT_LENGTH=32768"Theo từng request, hãy gửi num_ctx trong đối tượng options thay thế:
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 giá trị sẽ tốn thêm bộ nhớ, vì KV cache tăng theo số lượng token bạn cho phép. Hãy tăng giá trị, khởi động lại, sau đó chạy ollama ps lần nữa 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 trạng thái split sau thay đổi đó, KV cache đã đẩy các layer của model ra khỏi VRAM và tốc độ của bạn sẽ giảm mạnh. Chọn num_ctx trong Ollama sẽ giải quyết chi tiết sự đánh đổi này. Đừng đặt 1000000 chỉ vì model card cho phép, vì việc cấp phát diễn ra ngay từ đầu và quá trình load sẽ thất bại.
Kết nối vào một agent luôn chạy
Bài viết ra mắt mô hình này của Ollama có ghi lại một shortcut để khởi chạy một agent được hỗ trợ và trỏ sẵn vào nó:
ollama launch claude --model nemotron-3.5-lightningBài viết liệt kê claude, opencode, openclaw và hermes ở vị trí đó. Subcommand này yêu cầu một bản Ollama hiện hành, vì vậy hãy kiểm tra ollama --version trước, nếu thiếu thì hãy tự trỏ agent vào API. Ollama cung cấp một endpoint tương thích với OpenAI, thứ mà hầu hết các bộ khung agent đều chấp nhận:
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_API_KEY=ollamaOllama bỏ qua key, nhưng hầu hết các client sẽ từ chối khởi chạy nếu không có key được thiết lập. Phần này của bộ khung được đề cập trong trỏ một coding agent vào Ollama và trong xây dựng OpenClaw agent của riêng bạn.
Có hai thiết lập server cần lưu ý khi agent chạy không cần giám sát. OLLAMA_KEEP_ALIVE kiểm soát thời gian một mô hình nằm trong bộ nhớ sau request cuối cùng, mặc định nó sẽ unload sau năm phút, khiến lần gọi tiếp theo phải tốn toàn bộ thời gian load lại. Trên một file 25 GB không có GPU, khoảng dừng đó đủ lâu để gây ra timeout. Hãy thiết lập OLLAMA_KEEP_ALIVE=-1 để giữ nó thường trú. OLLAMA_HOST=0.0.0.0:11434 giúp API có thể truy cập được từ các máy khác, và nó không có bất kỳ cơ chế xác thực nào, vì vậy chỉ mở nó sau một firewall rule hoặc trong một mạng riêng.
Các lỗi thường gặp và thông báo tương ứng
Lệnh pull thất bại ngay lập tức. Error: pull model manifest: file does not exist nghĩa là tag đó không tồn tại. Tên tag là các chuỗi ký tự chính xác, vì vậy hãy sao chép từ trang thư viện 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) nghĩa là tag quá lớn so với cấu hình gói dịch vụ hiện tại. Hãy chuyển sang bản quantisation nhỏ hơn hoặc giảm OLLAMA_CONTEXT_LENGTH, vì KV cache cũng được tính vào yêu cầu tài nguyên này.
Không có phản hồi tại cổng 11434. curl: (7) Failed to connect to localhost port 11434 nghĩa là dịch vụ không chạy hoặc không lắng nghe tại cổng bạn mong đợi. Hãy đọc systemctl status ollama và journalctl -u ollama -n 50. Nếu bạn cũng khởi động ollama serve theo cách thủ công, bản sao thứ hai sẽ thoát với lỗi Error: listen tcp 127.0.0.1:11434: bind: address already in use.
Phản hồi rất chậm. Kiểm tra ollama ps trước khi thay đổi bất cứ thứ gì. Bất kỳ phần trăm CPU nào trong cột PROCESSOR trên máy có GPU đều có nghĩa là một phần model đã bị tràn ra khỏi VRAM, vì vậy hãy giảm context hoặc chọn bản quantisation nhỏ hơn. Trên máy không có GPU, tốc độ chậm là kết quả tất yếu và không có cài đặt nào khắc phục được điều này.
Agent quên hướng dẫn giữa chừng khi đang thực hiện tác vụ. Cuộc hội thoại đã vượt quá context window và các token cũ nhất đã bị loại bỏ âm thầm. Hãy tăng OLLAMA_CONTEXT_LENGTH, xác nhận bằng ollama ps rằng model vẫn vừa với bộ nhớ, và nếu không còn vừa nữa, giải pháp là nâng cấp lên máy chủ mạnh hơn thay vì thu nhỏ context window.
Vị trí của mô hình này so với các lựa chọn thay thế
Một mô hình MoE 30B là quá lớn để host cho một tác vụ nhỏ. Nếu một mô hình dense 8B đã xử lý được công việc của bạn, nó sẽ tốn ít chi phí vận hành hơn nhiều và chỉ mất vài giây để load. Bài viết Qwen 3 bản 8B và 27B trên VPS là sự so sánh trực tiếp cho quyết định đó. Để có cái nhìn tổng quan hơn về những gì một gói cấu hình có thể đáp ứng, hãy bắt đầu từ các mô hình AI 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, hãy đọc Ollama so với vLLM trước, vì Ollama không xử lý batch các yêu cầu đồng thời như một inference server chuyên dụng, và đó là điểm mà thiết lập cho người dùng đơn lẻ bắt đầu bị giới hạn khả năng mở rộng.
FAQ
Tôi nên pull tag Nemotron 3.5 Lightning nào trên Linux VPS?
Hãy dùng nemotron-3.5-lightning:30b-a3b-q4_K_M. Nó có dung lượng 25 GB, hỗ trợ đầy đủ context tối đa 1M, và là cùng một digest mà các tag latest, 30b và 30b-a3b trỏ tới tính đến tháng 8 năm 2026. Hãy chỉ định tên tag cụ thể thay vì pull latest, để việc republish tag đó trong tương lai không làm thay đổi hành vi của agent mà bạn không hay biết. Các tag mlx là bản build cho Apple silicon và sẽ không chạy được trên Linux.
Nemotron 3.5 Lightning cần bao nhiêu RAM?
NVIDIA không công bố con số bộ nhớ tối thiểu cho các bản build Ollama, vì vậy hãy đo đạc thay vì ước tính. Hãy pull tag, chạy model một lần, và đọc ollama ps trong khi nó đang được load: lệnh này in ra dung lượng thực tế đang chiếm dụng và cho biết model nằm trên GPU hay CPU. Dung lượng tải về, 25 GB cho tag mặc định, chỉ là mức sàn, vì KV cache sẽ được cộng thêm và tăng dần theo context window mà bạn thiết lập. Nếu gói VPS quá nhỏ, Ollama sẽ từ chối với lỗi model requires more system memory và hiển thị cả hai con số cần thiết.
Tôi có thể chạy Nemotron 3.5 Lightning trên VPS không có GPU không?
Có, nếu gói VPS có đủ RAM để chứa các trọng số (weights), và thiết kế MoE giúp ích vì chỉ khoảng 3 trong số 30 tỷ tham số được tính toán cho mỗi token. Tốc độ là vấn đề chính. Không có GPU, model bị giới hạn bởi băng thông bộ nhớ, nên việc thêm vCPU gần như không cải thiện kết quả. Hãy 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 gian phản hồi yêu cầu của agent. Đối với các tác vụ batch chạy qua đêm thì thường ổn. Đối với bất kỳ tác vụ nào cần người dùng chờ đợi, thì thường là không.
Tại sao Ollama không cung cấp cho tôi context window 1M đầy đủ?
1M là mức tối đa của model, không phải 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 đó mà không báo lỗi, điều này khiến agent trông như đang quên các chỉ dẫn của chính nó. Hãy thiết lập OLLAMA_CONTEXT_LENGTH trong systemd service, hoặc truyền num_ctx cho mỗi request. Hãy tăng dần từng bước và kiểm tra lại ollama ps mỗi lần, vì bộ nhớ KV cache tỉ lệ thuận với window và có thể đẩy các layer của model ra khỏi GPU.
Nemotron 3.5 Lightning có miễn phí cho mục đích thương mại không?
Model card của NVIDIA đặt model này dưới giấy phép OpenMDW-1.1 và đánh dấu là sẵn sàng cho mục đích thương mại. Điều này áp dụng cho các trọng số mà bạn tải về và tự chạy. Nó không đề cập đến các phần mềm khác trong stack của bạn, vì vậy hãy kiểm tra riêng giấy phép của agent harness và bất kỳ công cụ nào bạn kết nối vào, đồng thời đọc model card hiện tại trước khi dựa vào nó cho bất kỳ cam kết hợp đồng nào.