Quay lại blog

Tối ưu chi phíSo sánh

Chạy DeepSeek cục bộ hay dùng API? Phần cứng, tốc độ, chi phí

Kiểm tra xem GPU và RAM của bạn có chạy được DeepSeek V4-Flash không, tốc độ nên kỳ vọng, và khi nào đổi base_url đơn giản hơn. Kèm bảng chi phí.

Bởi CheapTokens TeamĐã xuất bản Đã cập nhật 9 phút đọc

Hai cột, Cục bộ và API, so sánh chạy DeepSeek trên phần cứng của riêng bạn với gọi API được lưu trữ bằng cách đổi base_url
Trên trang này
  1. DeepSeek có vừa bộ nhớ của bạn không?
  2. Nó nhanh đến mức nào?
  3. Cùng khối lượng công việc đó tốn bao nhiêu qua API
  4. Khi nào phần cứng của bạn đáng tiền?
  5. Chuyển từ cục bộ sang API được lưu trữ
  6. Nếu nó không hoạt động
  7. Chọn cái nào

Có lẽ là không, trừ khi bạn sở hữu 128 GB RAM hoặc một cỗ máy cỡ Mac Studio, hoặc bạn có lý do để giữ mọi token trên đĩa của riêng mình. Chỉ riêng một tệp DeepSeek V4-Flash đã vào khoảng 100 GB, và một hướng dẫn cộng đồng báo cáo tốc độ khoảng 6–10 token mỗi giây ngay cả trên phần cứng đắt tiền. Với hầu hết ứng dụng và vòng lặp agent, con đường ngắn hơn là trỏ client OpenAI vào một API được lưu trữ: bạn chỉ đổi base_url và khóa, không đổi gì khác trong mã.

Dưới đây: cách kiểm tra máy của bạn trong năm phút, tốc độ nên kỳ vọng, và một khối lượng công việc thực tế tốn bao nhiêu qua API.

DeepSeek có vừa bộ nhớ của bạn không?#

Các kích thước ở đây lấy từ một hướng dẫn cộng đồng về chạy DeepSeek cục bộ (deepseek-local-guide-ru trên GitHub, 18 phần, CC BY 4.0, đọc ngày 22 tháng 10 năm 2026). Đây là tài liệu không chính thức và không liên kết với DeepSeek. Các trang của chính hướng dẫn không hoàn toàn thống nhất với nhau về kích thước, nên hãy xác nhận kích thước tệp trên model card Hugging Face trước khi bắt đầu tải 100 GB.

Theo hướng dẫn, DeepSeek V4-Flash-0731 có 284B tham số, trong đó 13B hoạt động mỗi token. Các tệp:

Lượng tử hóa Kích thước tệp (số liệu của hướng dẫn)
Q3 khoảng 103 GB
Q4 khoảng 155 GB
Q8 khoảng 162 GB

Mô hình không nhất thiết phải nằm hoàn toàn trong bộ nhớ video. llama.cpp có thể giữ các lớp expert trong RAM hệ thống, nhưng quy tắc ngón tay cái của hướng dẫn rất thẳng thắn: một GPU 24 GB cần 128 GB RAM bên cạnh.

Giả sử bạn có một PC chơi game tốt với GPU 24 GB và 64 GB RAM. Cộng hai con số lại và so với tệp nhỏ nhất:

24 + 64 = 88 GB, và tệp Q3 là 103 GB.

Không vừa, và hệ điều hành vẫn cần bộ nhớ riêng. Với 24 GB VRAM và 128 GB RAM bạn có 152 GB, và tệp 103 GB vừa với chỗ dư.

DeepSeek-V4.1-Flash-1017 mới hơn thì lớn hơn: khoảng 552B tham số cộng thêm 196B Engram, khoảng 510 GB ở FP8 và khoảng 167 GB ở 2-bit, theo cùng hướng dẫn. Hỗ trợ là vấn đề khác. Tính đến thời điểm hướng dẫn (kiểm tra ngày 22 tháng 10 năm 2026), nó không chạy trong Ollama, vì kiến trúc deepseek_v41 không được hỗ trợ, và hỗ trợ trên llama.cpp và LM Studio chưa có trong nhánh chính của chúng. Điều này thay đổi nhanh, nên hãy xem ghi chú phát hành của engine trước khi lên kế hoạch dựa vào nó.

Nó nhanh đến mức nào?#

Hướng dẫn đưa ra hai phép đo, đều ở lượng tử hóa nặng và đều là số liệu cộng đồng, nên hãy đọc chúng như bậc độ lớn chứ không phải benchmark:

  • DGX Spark với 128 GB, V4-Flash ở IQ2: khoảng 6–7 token mỗi giây.
  • Mac Studio M3 Ultra với 256 GB, V4.1-Flash ở MLX 2-bit: khoảng 9,5 token mỗi giây.

Hướng dẫn không có số liệu cho RTX 4090 hay 5090.

Cảm giác thế nào? Một câu trả lời 1.000 token là khoảng một trang rưỡi văn bản:

1.000 ÷ 9,5 = 105,3 giây

1.000 ÷ 6 = 166,7 giây

Với một cuộc trò chuyện bạn đọc khi nó stream, như vậy là chậm nhưng dùng được. Với một agent thực hiện hàng chục lệnh gọi mỗi tác vụ, nó cộng dồn rất nhanh. Giả sử vòng lặp của bạn tạo ra 2.000.000 token đầu ra mỗi ngày và máy thực sự sinh 9,5 token mỗi giây không nghỉ:

2.000.000 ÷ 9,5 = 210.526 giây

210.526 ÷ 3.600 = 58,5 giờ

Đó là hơn một ngày sinh cho một ngày làm việc. Các server thực tế gom nhiều yêu cầu lại với nhau, nên bức tranh không ảm đạm đến thế với một đội, nhưng bạn sẽ phải tinh chỉnh engine thay vì xây sản phẩm.

Cùng khối lượng công việc đó tốn bao nhiêu qua API#

Hãy làm ví dụ cụ thể. Giả sử một vòng lặp agent gửi 10 triệu token đầu vào và nhận 2 triệu token đầu ra mỗi ngày. Đây là các con số giả định, hãy thay bằng số của bạn từ nhật ký sử dụng.

Trang giá của chính DeepSeek (22 tháng 10 năm 2026, trang không hiển thị ngày) liệt kê deepseek-flash, được phục vụ bởi DeepSeek-V4.1-Flash-1017, với các mức giá trên 1M token, ngoài giờ cao điểm / giờ cao điểm: đầu vào cache miss $0,15 / $0,30, đầu ra $0,60 / $1,20. Giờ cao điểm là 01:00–04:00 và 06:00–10:00 UTC, thứ Hai đến thứ Sáu, trừ ngày lễ công cộng Trung Quốc; ngoài giờ cao điểm bằng một nửa giờ cao điểm. Đầu vào cache hit rẻ hơn nhiều ($0,003 / $0,006), nên một vòng lặp gửi lại cùng tiền tố dài sẽ thấp hơn các con số ở đây.

Với khối lượng công việc giả định, với cache miss:

Ngoài giờ cao điểm: 10 × $0,15 + 2 × $0,60 = $2,70 mỗi ngày

Giờ cao điểm: 10 × $0,30 + 2 × $1,20 = $5,40 mỗi ngày

Trên CheapTokens, với cùng kiểu vòng lặp agent, hãy dùng MiniMax-M2.7 (minimax-m2.7): một mức giá cố định ở mọi giờ, không có khung giờ cao điểm, tối đa 8.192 token đầu ra mỗi câu trả lời, ngữ cảnh 180K, và một số dư cho mọi mô hình. Cùng 10M token đầu vào và 2M token đầu ra tốn $0.80 mỗi ngày. Nhìn chung, tính cả đầu vào và đầu ra, nó rẻ hơn OpenRouter; đây là bảng trực tiếp cho đúng khối lượng công việc này:

Mô hình Chi phí OpenRouter
GLM-5.3-Flash $0.28 $0.565
DeepSeek-V4-Flash $0.35 $0.789
MiniMax-M2.7 $0.80 $5.40

Tổng cộng 10.000.000 token đầu vào và 2.000.000 token đầu ra. Giá trên 1 triệu token là giá hiện hành và thay đổi cùng với biểu phí của chúng tôi; cột OpenRouter hiển thị giá tham chiếu cho cùng khối lượng công việc.

Bảng đọc bảng giá hiện tại mỗi lần hiển thị, nên vẫn đúng khi giá thay đổi. Bảng giá đầy đủ ở trang giá CheapTokens, và Giá API DeepSeek năm 2026 giải thích cách cache hit và giờ cao điểm thay đổi hóa đơn.

Khi nào phần cứng của bạn đáng tiền?#

Token cục bộ không tốn gì mỗi yêu cầu, nhưng cỗ máy thì có. Một cách đơn giản để kiểm tra:

text
payback days = hardware price ÷ (daily API bill − daily electricity)

Tôi không đưa giá phần cứng ở đây vì nó biến động quá nhiều; hãy điền giá bạn được báo. Để cảm nhận, lấy hóa đơn ngoài giờ cao điểm từ trang giá DeepSeek ở trên. Mỗi $1.000 phần cứng cần số ngày hóa đơn API này để hòa vốn, trước tiền điện và thời gian của bạn:

1.000 ÷ 2,70 = 370,4 ngày

Và điều đó giả định cỗ máy có thể đáp ứng khối lượng này chút nào: ở 9,5 token mỗi giây thì không thể (xem phần tốc độ ở trên), nên với khối lượng công việc agent, thời gian hoàn vốn không hợp lý. Cục bộ hợp lý hơn khi:

  • dữ liệu không được rời khỏi mạng của bạn, và điều đó quan trọng hơn hóa đơn;
  • bạn đã sở hữu cỗ máy và tải nhẹ, ví dụ vài trăm yêu cầu mỗi ngày cho một công cụ cá nhân;
  • bạn muốn thử nghiệm với chính các trọng số: lượng tử hóa, fine-tuning, engine tùy chọn.

API hợp lý hơn khi khối lượng công việc là agent hoặc dịch vụ, khi bạn cần câu trả lời trong vài giây, hoặc khi phần cứng của bạn dưới các kích thước bộ nhớ ở trên. Nếu máy của bạn quá nhỏ ngay cả với tệp DeepSeek nhẹ nhất, MiniMax-M2.7 (ngữ cảnh 180K, tối đa 8.192 token đầu ra mỗi câu trả lời, nhìn chung rẻ hơn OpenRouter) là một mô hình để thử qua cùng client.

Chuyển từ cục bộ sang API được lưu trữ#

Các dự án sở thích thường bắt đầu trên Ollama rồi vượt quá nó. Tin tốt: các engine cục bộ nói giao thức OpenAI. Trang tương thích của Ollama (docs.ollama.com, kiểm tra ngày 22 tháng 10 năm 2026) hiển thị endpoint http://localhost:11434/v1/; client cần một giá trị api_key nào đó, nhưng Ollama bỏ qua nó. Streaming, chế độ JSON và tools hoạt động; logprobs thì không.

Vậy việc chuyển đổi là hai dòng cộng tên mô hình:

python
import os
from openai import OpenAI

# Local Ollama: the key is required by the client but ignored by the server
# client = OpenAI(base_url="http://localhost:11434/v1/", api_key="ollama")

client = OpenAI(
    base_url="https://api.cheaptokens.dev/v1",
    api_key=os.environ["CHEAPTOKENS_API_KEY"],
)

reply = client.chat.completions.create(
    model="MiniMaxAI/MiniMax-M2.7",  # take the exact id from the CheapTokens docs
    messages=[{"role": "user", "content": "Summarize this ticket in one sentence: ..."}],
    max_tokens=200,
)
print(reply.choices[0].message.content)
print(reply.usage)

Khi nó hoạt động bạn thấy một bản tóm tắt một câu và một đối tượng usage với số token prompt và completion, đúng những con số mà hóa đơn của bạn dựa trên. API CheapTokens cũng chấp nhận định dạng Anthropic Messages, và tài liệu hướng dẫn yêu cầu đầu tiên từng bước. Nếu base_url mới với bạn, API tương thích OpenAI: base_url là gì mất hai phút.

Nếu nó không hoạt động#

  • Connection refused trên localhost:11434: Ollama không chạy, hoặc bạn vẫn đang trỏ vào địa chỉ cục bộ.
  • 401: khóa bị thiếu hoặc bị sao chép kèm dấu cách; hãy đọc nó từ biến môi trường, như trong ví dụ.
  • 404 hoặc mô hình không xác định: id mô hình không khớp. Tên cục bộ và tên được lưu trữ khác nhau, nên hãy sao chép id từ tài liệu.

Chọn cái nào#

Nếu bạn sở hữu 128 GB trở lên và tò mò, hãy chạy trọng số ở nhà và tận hưởng sự kiểm soát. Nếu bạn xây một agent đốt hàng triệu token mỗi ngày, hoặc một dịch vụ nơi người dùng chờ câu trả lời, hãy dùng API và giữ thiết lập cục bộ cho thử nghiệm. Mã vẫn giữ nguyên dù theo cách nào, nên bạn có thể bắt đầu với một cái và chuyển sang cái kia sau. Để biết thêm về phía tự lưu trữ, xem DeepInfer có ý nghĩa gì với tự lưu trữ; để thử DeepSeek qua API, xem các mô hình DeepSeek của CheapTokens.