# Chatbot tiếng Việt chạy trên GPU gần Việt Nam: kiến trúc và cách chọn máy

URL: https://cloudj.net/vi/blog/vietnamese-llm-chatbot-gpu
Published: 2026-11-12 · Updated: 2026-11-12

> Cách vận hành chatbot tiếng Việt chạy trên GPU gần Việt Nam: đặt ngân sách độ trễ, ghép GPU Singapore hoặc Hồng Kông với VPS Singapore và lượng tử hóa cho vừa 24 GB.

Một chatbot tiếng Việt chạy trên GPU của riêng bạn cần làm tốt ba việc: trả lời tự nhiên như người Việt viết, bắt đầu hiện chữ nhanh với người dùng mạng Viettel, VNPT hay FPT, và không khiến hóa đơn tăng vọt. Đó có thể là bot chăm sóc khách hàng trên Zalo OA, khung chat trên website bán hàng, hay trợ lý nội bộ trả lời câu hỏi về quy trình công ty. Bài này hướng dẫn chạy một mô hình ngôn ngữ mở có khả năng tiếng Việt trên GPU thuê gần Việt Nam, đặt sau một lớp phía trước ổn định để phục vụ cả widget chat lẫn webhook Zalo.

Muốn xem bức tranh chung về thuê GPU từ Việt Nam, hãy bắt đầu với bài [thuê GPU cho người Việt Nam](https://cloudj.net/vi/blog/gpu-cloud-vietnam).

## Kiến trúc chatbot tiếng Việt chạy trên GPU

Người dùng nhắn tin qua website hoặc Zalo OA. Tin nhắn đến một VPS ở Singapore, nơi giữ tên miền, chứng chỉ TLS, bộ xử lý webhook, cơ sở dữ liệu hội thoại và hàng đợi. VPS chuyển từng câu hỏi qua SSH tunnel tới máy chủ inference chạy trên instance GPU, rồi stream câu trả lời về. GPU chỉ làm đúng một việc là chạy mô hình. Khi máy GPU đến ngày hết hạn, hoặc bạn chuyển sang máy tốt hơn, bạn chỉ đổi một tunnel và người dùng không hề hay biết.

## Đặt ngân sách độ trễ trước

Với chat, điều người dùng cảm nhận là thời gian tới khi những chữ đầu tiên hiện ra, sau đó là tốc độ chữ chạy. Tổng thời gian đó gồm nhiều phần có thể phân tích:

| Giai đoạn | Phụ thuộc vào | Bạn kiểm soát bằng cách |
|---|---|---|
| Người dùng tới lớp phía trước | Khoảng cách từ Việt Nam tới VPS | Đặt VPS ở Singapore |
| Lớp phía trước tới GPU | Khoảng cách giữa VPS và máy GPU | Tìm GPU với mã `SG` hoặc `HK` |
| Xếp hàng | Số người dùng chia nhau một GPU | Giới hạn số yêu cầu đồng thời, thêm GPU thứ hai |
| Xử lý câu hỏi | Độ dài câu lệnh, kích thước mô hình | Rút gọn system prompt, dùng mô hình nhỏ hơn |
| Sinh token | Kích thước mô hình, lượng tử hóa, GPU | Lượng tử hóa, chọn đúng card |

Hãy ghi ra mục tiêu cho thời điểm chữ đầu tiên xuất hiện, rồi đo từng giai đoạn. Bài [độ trễ cho AI thời gian thực](https://cloudj.net/vi/blog/real-time-ai-latency-gpu) giải thích cách đo và thời gian thường bị tiêu ở đâu. Điểm mấu chốt: khoảng cách mạng chỉ là hai trong năm dòng. GPU đặt ở Singapore mà chạy mô hình quá lớn vẫn có thể chậm.

## Chọn mô hình vừa 24 GB

Hãy chọn một mô hình mở xử lý tiếng Việt tốt; chất lượng chênh lệch rất nhiều giữa các mô hình, nên hãy thử bằng câu hỏi thật của khách, kể cả kiểu gõ không dấu, viết tắt hay teencode. Sau đó chọn kích thước theo card:

- Mô hình 7B-8B ở 8-bit hoặc 4-bit vừa thoải mái trên card 24 GB, còn dư nhiều chỗ cho KV cache để phục vụ nhiều cuộc hội thoại cùng lúc.
- Mô hình khoảng 14B-32B lượng tử hóa 4-bit có thể vừa 24 GB nếu giới hạn ngữ cảnh cẩn thận.
- Mô hình lớn hơn cần card nhóm 48 GB hoặc nhiều GPU.

Tùy tokenizer, văn bản tiếng Việt thường bị tách thành nhiều token hơn câu tiếng Anh cùng nghĩa, nên hãy chừa bộ nhớ và thử với độ dài hội thoại thực tế. Các máy chủ inference như vLLM giúp việc gom batch và stream trở nên đơn giản; [tài liệu vLLM](https://docs.vllm.ai/) hướng dẫn nạp mô hình đã lượng tử hóa. Hãy kiểm tra giấy phép của từng mô hình trước khi dùng cho mục đích thương mại.

## Chọn GPU

| Card | Bộ nhớ | Hợp với chatbot khi |
|---|---|---|
| [RTX 3090](https://cloudj.net/vi/gpu-cloud/rtx-3090) | 24 GB | Bạn phục vụ mô hình 7B-14B lượng tử hóa với lưu lượng vừa phải |
| [RTX 4090](https://cloudj.net/vi/gpu-cloud/rtx-4090) | 24 GB | Cùng mô hình, sinh chữ nhanh hơn mỗi yêu cầu |
| [L40S](https://cloudj.net/vi/gpu-cloud/l40s) | Nhóm 48 GB | Bạn cần mô hình lớn hơn hoặc ngữ cảnh dài hơn trên một card |

L40S là card datacenter, cần cấp tài khoản cao hơn mức của tài khoản mới; console sẽ báo nếu cấp của bạn chưa cho phép. Giá "từ" theo thời gian thực của từng card có trên [GPU cloud](https://cloudj.net/vi/gpu-cloud).

## Tìm GPU gần Việt Nam

Mở [trang triển khai RTX 4090](https://app.cloudj.net/deploy/gpu?model=rtx-4090) và nhập `SG, HK, VN` vào ô **Country**. Cloudj không có trung tâm dữ liệu riêng tại Việt Nam, nên mã `VN` có thể không ra máy nào; Singapore và Hồng Kông là lựa chọn quen thuộc. Kết quả được sắp theo tổng giá.

Với chatbot chạy thật, hãy ưu tiên máy có reliability cao, max duration dài, và kiểm tra ngày "available until". Nếu chưa có máy phù hợp, chuyển sang 3090, thêm `TW` hoặc `JP`, hoặc tìm lại sau; tình trạng máy thay đổi trong ngày. Bài [chạy LLM inference tại Singapore](https://cloudj.net/vi/blog/llm-inference-gpu-singapore) đi sâu hơn vào việc phục vụ mô hình từ đó.

## Nối GPU với VPS Singapore

Chạy máy chủ mô hình trên GPU, chỉ lắng nghe ở `localhost`, rồi mở tunnel từ [VPS Singapore](https://cloudj.net/vi/cloud-servers/singapore):

```bash
ssh -N -L 8000:localhost:8000 -p <port> root@<gpu-host>
```

Bộ xử lý webhook trên VPS khi đó gọi `http://localhost:8000` như thể mô hình nằm ngay trên máy. Dùng host và port ở tab Connection của instance GPU, và chạy tunnel dưới một trình giám sát như `systemd` để tự kết nối lại khi rớt. Nếu bạn còn phân vân đặt lớp phía trước ở đâu, bài [VPS Việt Nam hay Singapore](https://cloudj.net/vi/blog/vietnam-vs-singapore-vps) giải thích vì sao Singapore thường được chọn.

## Chuẩn bị cho việc đổi máy

Mỗi máy GPU là máy chủ độc lập không có SLA phần cứng. Mỗi máy có ngày "available until", sau đó instance và ổ đĩa bị xóa, và nếu máy chủ mất kết nối, việc tính tiền tạm dừng nhưng không có gì tự chuyển đi. Với chatbot, điều đó có nghĩa:

- giữ lịch sử hội thoại và cấu hình trên VPS, đừng chỉ để trên GPU;
- giữ trọng số mô hình ở nơi có thể chép nhanh sang instance mới;
- cho VPS trả lời lịch sự kiểu "hệ thống đang bận, bạn vui lòng thử lại sau ít phút" nếu GPU không phản hồi;
- cân nhắc một GPU dự phòng cho giờ cao điểm, ví dụ các khung giờ livestream hay ngày sale lớn.

Về thanh toán, bạn nạp số dư bằng chuyển khoản ngân hàng bằng VND, và tiền GPU được trừ theo phút khi máy chạy.

## Câu hỏi thường gặp

### Chạy chatbot tiếng Việt trên card 12 GB được không?

Mô hình nhỏ đã lượng tử hóa vẫn chạy được, nhưng 24 GB cho nhiều chỗ hơn hẳn cho các cuộc hội thoại song song. Với dịch vụ công khai, hãy bắt đầu từ 24 GB.

### GPU có cần đặt tại Việt Nam không?

Cloudj không bảo đảm có máy ở Việt Nam. GPU ở `SG` hoặc `HK` với VPS Singapore phía trước là cách bố trí thường gặp.

### Cloudj có template chatbot hay vLLM dựng sẵn không?

Không. Bạn tự cài máy chủ inference qua SSH hoặc dùng một Docker image công khai của riêng bạn.

### Thanh toán thế nào?

Nạp số dư bằng chuyển khoản ngân hàng bằng VND; tiền dùng GPU được trừ theo phút.

## Dựng phiên bản đầu tiên

Mở [trang triển khai RTX 4090](https://app.cloudj.net/deploy/gpu?model=rtx-4090), nhập `SG, HK, VN` và triển khai một bản thử ngắn để đo ngân sách độ trễ. So sánh card và giá trên [GPU cloud](https://cloudj.net/vi/gpu-cloud).
