Tóm tắt
AI cục bộ chạy trên phần cứng của bạn, không tốn phí cho mỗi yêu cầu và giữ dữ liệu riêng tư. AI dựa trên API nhanh hơn để bắt đầu, có khả năng cao hơn và mở rộng mà không cần cơ sở hạ tầng. Hầu hết các nhóm đều cần cả hai. Hướng dẫn này bao gồm khi nào mỗi phương pháp thắng thế, với các con số cụ thể.
Giới thiệu
Gemma 4 chạy nguyên bản trên iPhone. Một tiện ích mở rộng trình duyệt nhúng một mô hình ngôn ngữ đầy đủ mà không cần khóa API. Những điều này không thể thực hiện được 18 tháng trước. Hôm nay chúng đang được đưa tin trên HackerNews.
Quyết định trước đây rất đơn giản: các mô hình tiên tiến chỉ có API, mọi thứ khác đều quá yếu để đáng quan tâm. Điều đó đã thay đổi. Các mô hình cục bộ như Qwen2.5-72B, Gemma 4 và DeepSeek-V3 hiện đang cạnh tranh trên các điểm chuẩn thực tế. Các nhà phát triển trước đây mặc định sử dụng API của OpenAI đang xem xét lại, đặc biệt đối với các ứng dụng nhạy cảm về quyền riêng tư hoặc các tác vụ có khối lượng lớn, nơi chi phí trên mỗi token tăng nhanh.
Bài viết này loại bỏ những chiêu trò tiếp thị. Bạn sẽ nhận được các con số cụ thể về chi phí, độ trễ và khả năng để đưa ra quyết định đúng đắn cho trường hợp sử dụng của mình.
/v1/chat/completions của OpenAI và chạy cùng các xác nhận. Sẽ có thêm chi tiết về điều đó sau. Xem [nội bộ: api-testing-tutorial] để biết cách tiếp cận thử nghiệm cơ bản."Chạy AI cục bộ" thực sự có nghĩa là gì
AI cục bộ không phải là một thứ duy nhất. Có ba thiết lập riêng biệt:
Suy luận trên thiết bị: mô hình chạy hoàn toàn trên thiết bị, không có máy chủ. Gemma Gem trong một tab trình duyệt, Gemma 4 trên Neural Engine của iPhone, hoặc một mô hình Ollama trên MacBook của bạn. Không cần internet sau khi tải xuống.
Máy chủ tự host: bạn chạy một mô hình trên phần cứng của riêng bạn (một máy trạm, một máy ảo đám mây bạn kiểm soát hoặc một máy chủ tại chỗ) và công khai một API. Mô hình không chạy trên thiết bị của người dùng cuối, nhưng cũng không nằm ở OpenAI. Các công cụ như llama-server, Ollama và vLLM xử lý việc này.
Đám mây riêng: bạn triển khai một mô hình trên cơ sở hạ tầng đám mây của riêng bạn (các mô hình tùy chỉnh AWS Bedrock, các điểm cuối riêng Azure, các mô hình tùy chỉnh GCP Vertex AI). Kiểm soát nhiều hơn so với API công khai, ít phức tạp hơn so với tự host hoàn toàn.
So sánh trong bài viết này tập trung vào tự host so với API công khai, vì đó là quyết định mà hầu hết các nhà phát triển phải đối mặt.
So sánh chi phí
Đây là điểm mà AI cục bộ chiến thắng rõ ràng đối với các khối lượng công việc lớn.
Giá API công khai (Tháng 4 năm 2026):
| Mô hình | Đầu vào (mỗi 1 triệu token) | Đầu ra (mỗi 1 triệu token) |
|---|---|---|
| GPT-4o | $2.50 | $10.00 |
| Claude 3.5 Sonnet | $3.00 | $15.00 |
| Gemini 1.5 Pro | $1.25 | $5.00 |
| GPT-4o mini | $0.15 | $0.60 |
| Claude 3 Haiku | $0.25 | $1.25 |
Ước tính chi phí tự host (Qwen2.5-72B trên một A100 80GB duy nhất):
Một A100 80GB từ Lambda Labs có giá khoảng 1,99 USD/giờ theo yêu cầu. Qwen2.5-72B ở lượng tử hóa INT4 vừa với một A100 và phục vụ khoảng 200 token/giây.
Với tốc độ 200 token/giây và sử dụng 100%, đó là 720 nghìn token/giờ, hoặc khoảng 0,0028 USD cho mỗi 1 nghìn token tổng cộng (đầu vào + đầu ra). Để dễ hình dung, GPT-4o tính 0,01 USD cho mỗi 1 nghìn token đầu ra riêng.
Điểm hòa vốn: nếu bạn xử lý hơn ~70K token đầu ra mỗi ngày một cách nhất quán, tự host sẽ đánh bại GPT-4o về chi phí. Dưới mức đó, API thắng thế vì bạn không phải trả tiền cho thời gian GPU nhàn rỗi.
Đối với các mô hình nhẹ hơn: một Gemma 4 (12B) lượng tử hóa 4 bit chạy trên một RTX 4090 duy nhất (600-800 USD đã qua sử dụng). Với 0,40 USD/giờ cho thời gian GPU đám mây tương đương, tự host hòa vốn so với GPT-4o mini ở khoảng 15K token đầu ra/ngày.
So sánh độ trễ
Đây là nơi mọi thứ trở nên phức tạp hơn.
Thời gian đến token đầu tiên (TTFT): trên một A100 chuyên dụng, TTFT cho một lời nhắc 1K-token với mô hình 72B là khoảng 800ms-1,5s. API của OpenAI thường trả về token đầu tiên trong 300-800ms cho các đầu vào tương tự trong điều kiện tải bình thường.
Đối với suy luận trên thiết bị (iPhone Neural Engine, Apple Silicon), TTFT cho Gemma 4 là 200-400ms vì không có chi phí mạng nào. Đây là điểm mà trên thiết bị chiến thắng rõ ràng.
Thông lượng: một A100 duy nhất chạy mô hình 72B ở INT4 phục vụ tốt cho một người dùng nhưng giảm hiệu suất dưới tải đồng thời mà không có xử lý theo lô. Các API công khai xử lý đồng thời một cách minh bạch.
Phát trực tuyến (Streaming): cả hai cách tiếp cận đều hỗ trợ phát trực tuyến. Đối với các mô hình trên thiết bị, toàn bộ quá trình tạo diễn ra cục bộ, vì vậy không có sự gián đoạn mạng. Đối với các mô hình API, bạn phụ thuộc vào điều kiện mạng.
Tóm tắt: trên thiết bị thắng về độ trễ thấp nhất (không mạng). Tự host thắng về thông lượng ở quy mô lớn (với xử lý theo lô thích hợp qua vLLM). API công khai thắng về khả năng xử lý đột biến và sự đơn giản.
So sánh khả năng
Đây là nơi các API công khai vẫn có lợi thế cho hầu hết các tác vụ đòi hỏi cao.
Lý luận và các tác vụ phức tạp: GPT-4o và Claude 3.5 Sonnet vẫn dẫn trước các mô hình mã nguồn mở trên MMLU, HumanEval và lý luận đa bước phức tạp. Khoảng cách đã thu hẹp đáng kể với Qwen2.5-72B và DeepSeek-V3, nhưng vẫn còn đó.
Tạo mã: gần như ngang nhau. DeepSeek-Coder-V2 và Qwen2.5-Coder-32B sánh ngang với GPT-4o trên nhiều điểm chuẩn mã. Đối với các tác vụ cụ thể về mã trên thiết lập tự host, bạn có thể sử dụng một mô hình mã chuyên biệt thay vì một mô hình đa năng.
Độ dài ngữ cảnh: các mô hình API tiên tiến hỗ trợ ngữ cảnh 128K-1M token. Hầu hết các mô hình tự host đạt tối đa 32K-128K trong thực tế (ngữ cảnh dài hơn đòi hỏi bộ nhớ nhiều hơn tương ứng).
Đa phương thức: GPT-4o và Gemini 1.5 Pro xử lý đầu vào hình ảnh, âm thanh và video. Các mô hình đa phương thức mã nguồn mở tồn tại (LLaVA, Qwen-VL) nhưng vẫn còn kém hơn.
Gọi hàm / Sử dụng công cụ: OpenAI và Anthropic có hỗ trợ sử dụng công cụ đáng tin cậy nhất. Các mô hình mã nguồn mở có sử dụng công cụ hoạt động nhưng ít nhất quán hơn trên các chuỗi công cụ phức tạp. Xem [nội bộ: cách bộ nhớ tác nhân AI hoạt động] để biết điều này ảnh hưởng đến kiến trúc tác nhân như thế nào.
Quyền riêng tư và kiểm soát dữ liệu
Đây là điểm mà cục bộ chiến thắng không cần bàn cãi.
Với một API công khai: - Lời nhắc của bạn rời khỏi mạng của bạn - Chính sách lưu giữ dữ liệu của nhà cung cấp được áp dụng (OpenAI giữ lại đầu vào trong 30 ngày theo mặc định trừ khi bạn chọn không tham gia qua API) - Bạn phải tuân thủ các điều khoản dịch vụ của nhà cung cấp về nội dung nhạy cảm - Trong các ngành được quản lý (chăm sóc sức khỏe, tài chính, pháp lý), điều này có thể là một trở ngại về tuân thủ.
Với một mô hình tự host: - Lời nhắc nằm trên cơ sở hạ tầng của bạn - Không có lưu giữ dữ liệu bên thứ ba - Kiểm soát hoàn toàn những gì mô hình có thể và không thể xử lý - Tuân thủ GDPR/HIPAA dễ duy trì hơn.
Đối với các ứng dụng xử lý dữ liệu sức khỏe cá nhân, tài liệu pháp lý hoặc mã độc quyền, tự host thường là bắt buộc.
Cách kiểm tra tích hợp AI bất kể mô hình chạy ở đâu
Cho dù bạn đang truy cập https://api.openai.com/v1/chat/completions hay http://localhost:11434/api/chat (Ollama) hay http://localhost:8080/v1/chat/completions (llama-server), giao diện API đều tương thích với OpenAI. Điều này quan trọng vì Kịch bản thử nghiệm của Apidog hoạt động với bất kỳ điểm cuối HTTP nào.
Một Kịch bản thử nghiệm duy nhất có thể chạy trên cả hai:
{
"kịch bản": "Kiểm tra khói hoàn thành trò chuyện",
"môi trường": {
"cục bộ": {"base_url": "http://localhost:11434"},
"sản xuất": {"base_url": "https://api.openai.com"}
},
"các bước": [
{
"tên": "Hoàn thành cơ bản",
"phương thức": "POST",
"url": "{{base_url}}/v1/chat/completions",
"body": {
"mô hình": "{{model_name}}",
"tin nhắn": [{"vai trò": "người dùng", "nội dung": "Nói 'test passed' và không gì khác"}],
"max_tokens": 20
},
"khẳng định": [
{"trường": "status", "toán tử": "bằng", "giá trị": 200},
{"trường": "response.choices[0].message.content", "toán tử": "chứa", "giá trị": "test passed"},
{"trường": "response.usage.total_tokens", "toán tử": "nhỏ hơn", "giá trị": 50}
]
}
]
}
Chạy kịch bản này trên phiên bản Ollama cục bộ của bạn trong quá trình phát triển và trên API OpenAI trong CI. Nếu mã của bạn hoạt động với mô hình cục bộ, nó cũng sẽ hoạt động với API. Nếu không, sự khác biệt thường nằm ở: - Định dạng tên mô hình (Ollama sử dụng qwen2.5:72b, OpenAI sử dụng gpt-4o) - Cấu trúc phản hồi gọi hàm (những khác biệt nhỏ giữa các nhà cung cấp) - Định dạng sự kiện phát trực tuyến (dữ liệu so với delta so với các đối tượng phản hồi đầy đủ).
Smart Mock của Apidog hữu ích cho việc mô phỏng hành vi mô hình cục bộ trong CI mà không cần GPU trực tuyến. Cấu hình một mock trả về các phản hồi hợp lệ tương thích với OpenAI và chạy Kịch bản thử nghiệm của bạn đối với nó. Xem [nội bộ: cách xây dựng llm nhỏ từ đầu] để biết lý do tại sao cấu trúc phản hồi khác nhau ở cấp độ mô hình.
Thiết lập máy chủ mô hình cục bộ trong 10 phút
Nếu bạn muốn thử tự host trước khi cam kết, Ollama là con đường nhanh nhất:
# Cài đặt Ollama
curl -fsSL https://ollama.com/install.sh | sh
# Tải mô hình (Gemma 4 12B, vừa với 10GB VRAM)
ollama pull gemma4:12b
# Khởi động máy chủ (API tương thích OpenAI trên cổng 11434)
ollama serve
# Thử nghiệm
curl http://localhost:11434/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gemma4:12b",
"messages": [{"role": "user", "content": "Hello"}]
}'
Để tự host sản xuất với khả năng đồng thời nhiều người dùng, vLLM là lựa chọn tốt hơn:
pip install vllm
python -m vllm.entrypoints.openai.api_server \
--model Qwen/Qwen2.5-72B-Instruct-AWQ \
--quantization awq \
--max-model-len 32768
Điều này công khai một API tương thích OpenAI trên cổng 8000. Trỏ Apidog vào http://your-server:8000 và chạy trực tiếp Kịch bản thử nghiệm của bạn.
Khi nào nên chọn mỗi phương pháp
| Kịch bản | Cục bộ | API |
|---|---|---|
| Xử lý lô khối lượng lớn (>100K token/ngày) | Rẻ hơn | Đắt tiền |
| Dữ liệu nhạy cảm về quyền riêng tư (y tế, pháp lý, tài chính) | Bắt buộc | Rủi ro |
| Độ trễ thấp nhất trên thiết bị | Tốt nhất | Không thể |
| Cần khả năng mô hình tiên tiến | Không đủ | Bắt buộc |
| Khối lượng công việc đột biến với lưu lượng thay đổi | Phức tạp để mở rộng | Xử lý tự động |
| Không có GPU | Khó | Dễ |
| Môi trường phát triển/thử nghiệm | Tuyệt vời (Ollama) | Tốn tiền |
| Tác vụ đa phương thức | Hạn chế | Hỗ trợ đầy đủ |
| Tuân thủ ngành được quản lý | Dễ hơn | Yêu cầu DPA |
Câu trả lời thật lòng cho hầu hết các nhóm: sử dụng API công khai cho sản xuất (Claude hoặc GPT-4o cho các tác vụ chất lượng, Haiku hoặc 4o-mini cho các tác vụ khối lượng lớn giá rẻ hơn), và Ollama cục bộ cho phát triển và thử nghiệm. Điều này mang lại cho bạn những gì tốt nhất của cả hai: chất lượng tiên tiến trong sản xuất, chi phí bằng không trong phát triển và giao diện API tương thích OpenAI nhất quán trong suốt quá trình.
Xem [nội bộ: trợ lý viết mã mã nguồn mở-2026] để biết cách các trợ lý viết mã mã nguồn mở phù hợp với bức tranh AI cục bộ.
Kết luận
Quyết định giữa cục bộ và API không phải là nhị phân. Câu trả lời đúng phụ thuộc vào khối lượng, yêu cầu về quyền riêng tư, nhu cầu về độ trễ và mức độ khả năng bạn cần.
Đối với hầu hết các nhà phát triển xây dựng ứng dụng hỗ trợ AI: hãy bắt đầu với một API công khai, chuyển sang tự host khi hóa đơn hàng tháng của bạn vượt quá 200-300 USD, và sử dụng Ollama trong môi trường cục bộ của bạn ngay từ ngày đầu. Giữ mã của bạn không phụ thuộc vào nhà cung cấp bằng cách sử dụng giao diện API tương thích OpenAI ở mọi nơi.
Thử nghiệm cả hai môi trường một cách nhất quán với Apidog để nắm bắt những khác biệt tinh tế giữa hành vi mô hình cục bộ và đám mây trước khi chúng trở thành lỗi sản xuất.
Câu hỏi thường gặp
GPU tối thiểu để chạy một mô hình cục bộ hữu ích là gì?Một RTX 3060 (12GB VRAM) chạy Qwen2.5-7B hoặc Gemma 4 4B với chất lượng đầy đủ. Một RTX 4090 (24GB VRAM) xử lý hầu hết các mô hình 14B-20B ở lượng tử hóa INT4 và các mô hình 34B ở INT2. Đối với các mô hình 72B, bạn cần 2 GPU 24GB hoặc một A100/H100 duy nhất.
Tôi có thể chạy AI cục bộ trên Apple Silicon không?Có. Ollama có hỗ trợ Apple Silicon nguyên bản và sử dụng Neural Engine để tăng tốc. Một M3 Pro (18GB bộ nhớ hợp nhất) chạy Qwen2.5-14B một cách thoải mái. Một M4 Max (128GB) xử lý các mô hình 70B.
Chất lượng đầu ra của mô hình cục bộ có đủ tốt cho sản xuất không?Tùy thuộc vào tác vụ. Đối với tạo mã, tóm tắt và trích xuất dữ liệu có cấu trúc: có, với mô hình 32B+. Đối với lý luận phức tạp, văn phong tinh tế hoặc các tác vụ cần kiến thức sâu rộng về thế giới: các mô hình API tiên tiến vẫn có lợi thế rõ ràng.
Các mô hình cục bộ có hỗ trợ gọi hàm không?Có, nhưng không nhất quán. Llama 3.1, Qwen2.5 và Mistral đều hỗ trợ sử dụng công cụ. Độ tin cậy thấp hơn GPT-4o hoặc Claude 3.5 Sonnet trên các chuỗi công cụ phức tạp. Thử nghiệm kỹ lưỡng bằng Kịch bản thử nghiệm của Apidog trước khi dựa vào việc sử dụng công cụ của mô hình cục bộ trong sản xuất. Xem [nội bộ: claude-code] để biết cách các mô hình tiên tiến xử lý việc sử dụng công cụ trong bối cảnh viết mã.
Tự host một mô hình 70B trên AWS tốn bao nhiêu?Một p4d.24xlarge (8x A100 40GB) có giá 32,77 USD/giờ theo yêu cầu. Chạy mô hình 70B INT8 với thông lượng cao. Một g5.2xlarge (1x A10G 24GB) với giá 1,21 USD/giờ chạy mô hình 14B INT4 cho các khối lượng công việc nhẹ hơn. Các phiên bản đặt trước giảm chi phí này 30-40%.
Sự khác biệt giữa Ollama và llama.cpp là gì?llama.cpp là công cụ suy luận cơ bản. Ollama bao bọc llama.cpp với một API REST, quản lý mô hình (kéo, liệt kê, xóa) và một CLI đơn giản. Sử dụng Ollama để phát triển. Sử dụng llama.cpp trực tiếp (thông qua llama-server) nếu bạn cần kiểm soát nhiều hơn các định dạng lượng tử hóa hoặc cấu hình phần cứng.
Tôi có thể chuyển đổi giữa các mô hình cục bộ và API mà không cần thay đổi mã của mình không?Có, nếu bạn sử dụng một client tương thích OpenAI. Trong Python: openai.OpenAI(base_url='http://localhost:11434/v1', api_key='ollama') kết nối với Ollama. Thay đổi base_url thành https://api.openai.com/v1 và cập nhật api_key để chuyển sang đám mây. Đặt các giá trị này thông qua biến môi trường và mã của bạn sẽ không bao giờ thay đổi.
