# Chạy Whisper chuyển giọng nói tiếng Việt trên GPU cloud thuê theo phút

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

> Hướng dẫn chạy Whisper chuyển giọng nói tiếng Việt số lượng lớn: chọn kích thước model theo VRAM, cài faster-whisper, chạy batch qua SSH và giảm dung lượng upload.

Ghi âm tổng đài, podcast, bài giảng, video TikTok, YouTube hay livestream bán hàng: âm thanh tiếng Việt tích lại rất nhanh, và chuyển thành văn bản trên CPU laptop có khi mất cả tuần. Chạy Whisper chuyển giọng nói tiếng Việt trên GPU thuê sẽ rút việc đó xuống còn vài giờ. Bài viết hướng dẫn chọn kích thước model Whisper theo VRAM, cài faster-whisper, chạy hàng loạt qua SSH, và giải thích vì sao quốc gia đặt GPU gần như không quan trọng với việc này, trừ một điều: bạn phải upload bao nhiêu dữ liệu âm thanh.

## Vì sao cần GPU, và vì sao chạy batch

Các model họ Whisper chạy được trên CPU, nhưng GPU nhanh hơn nhiều lần với các bản model lớn, chính xác hơn. Chuyển giọng nói thành văn bản cũng là tác vụ batch điển hình: không ai chờ từng file theo thời gian thực, bạn xếp hàng hàng nghìn file và gom kết quả về. Điều này chi phối mọi quyết định bên dưới, từ chọn card tới chọn nước. Bài [inference batch ở khu vực rẻ nhất](https://cloudj.net/vi/blog/batch-inference-cheapest-region) giải thích logic chung.

## Kích thước model và VRAM

Model Whisper càng lớn càng chính xác, nhất là với thanh điệu, giọng vùng miền và ghi âm nhiều tạp âm, nhưng tốn bộ nhớ và thời gian hơn. Gợi ý chung khi dùng faster-whisper:

| Kích thước model | Độ chính xác với tiếng Việt | GPU thoải mái |
|---|---|---|
| small, medium | Dùng được với giọng rõ | Gần như card hiện đại nào cũng được |
| large-v3 (float16) | Chính xác nhất trong nhóm phổ thông | [RTX 3060](https://cloudj.net/vi/gpu-cloud/rtx-3060), 12 GB, trong điều kiện thông thường |
| large-v3 với batch lớn hoặc nhiều tiến trình song song | Cùng độ chính xác, xử lý được nhiều hơn | [RTX 4090](https://cloudj.net/vi/gpu-cloud/rtx-4090), 24 GB, hoặc [L4](https://cloudj.net/vi/gpu-cloud/l4), lớp 24 GB |

Kiểm tra lượng bộ nhớ thực tế bằng `nvidia-smi` khi job đang chạy, rồi điều chỉnh batch size hoặc số tiến trình song song. Cộng đồng cũng có các model Whisper được fine-tune riêng cho tiếng Việt; hãy kiểm tra giấy phép và chuyển sang định dạng CTranslate2 mà faster-whisper sử dụng.

RTX 3060 và RTX 4090 là card consumer, tài khoản cấp khởi đầu thuê được. L4 là card datacenter, cần cấp tài khoản cao hơn. Giá "từ" theo thời gian thực có trên [GPU cloud](https://cloudj.net/vi/gpu-cloud).

## Thuê ở đâu: chỉ cần quan tâm dung lượng upload

Với chuyển giọng nói hàng loạt, vị trí GPU chỉ ảnh hưởng một điều: mất bao lâu để đưa âm thanh tới đó. Nếu chỉ vài GB, nước nào cũng được. Nếu bạn có hàng TB ghi âm đang nằm ở Việt Nam, đường upload trở nên quan trọng.

- **Kho dữ liệu lớn ở Việt Nam:** tìm `SG, HK` trước. Bạn cũng có thể thử `VN` trong ô Country, nhưng không có gì bảo đảm có máy ở Việt Nam được liệt kê, và Singapore, Hồng Kông là các lựa chọn thay thế quen thuộc. Bài [GPU giá tốt gần Việt Nam](https://cloudj.net/vi/blog/cheapest-gpu-near-vietnam) hướng dẫn cách tìm này.
- **Âm thanh đã nằm trên cloud ở nơi khác, hoặc kho nhỏ:** tìm rộng, hoặc `US`, rồi chọn theo giá, reliability và max duration.

Mỗi máy ghi giá băng thông mỗi TB tải xuống và tải lên, nên với lượng upload lớn hãy so cả con số này.

### Nén âm thanh trước khi upload

Phần lớn file ghi âm nặng hơn mức cần thiết cho nhận dạng giọng nói. Chuyển sang mono, 16 kHz, có nén ngay trên máy của bạn có thể giảm dung lượng upload rất nhiều:

```bash
ffmpeg -i input.mp4 -vn -ac 1 -ar 16000 -c:a libopus -b:a 24k output.opus
```

Whisper vốn đã chuyển âm thanh về 16 kHz bên trong. Hãy thử vài file để chắc độ chính xác không giảm. [Tài liệu ffmpeg](https://ffmpeg.org/documentation.html) liệt kê thêm tùy chọn. Với mạng gia đình ở Việt Nam, tốc độ upload thường thấp hơn nhiều so với tải xuống, nên bước nén này tiết kiệm đáng kể thời gian.

## Cài faster-whisper qua SSH

Triển khai với template Ubuntu 22.04 + CUDA, ổ đĩa đủ cho âm thanh và văn bản, cùng SSH key của bạn. Rồi kết nối:

```bash
ssh -p PORT root@HOST
nvidia-smi
pip install faster-whisper
```

Nếu faster-whisper báo thiếu thư viện cuBLAS hoặc cuDNN, hãy cài bằng `pip install nvidia-cublas-cu12 nvidia-cudnn-cu12` như README của nó hướng dẫn, hoặc bắt đầu từ template PyTorch.

Upload âm thanh đã nén:

```bash
rsync -avP -e "ssh -p PORT" ./audio/ root@HOST:/workspace/audio/
```

## Chạy hàng loạt

Một script tối giản, mỗi file ghi âm cho ra một file văn bản:

```python
import pathlib
from faster_whisper import WhisperModel

model = WhisperModel("large-v3", device="cuda", compute_type="float16")
out = pathlib.Path("/workspace/text"); out.mkdir(exist_ok=True)

for f in sorted(pathlib.Path("/workspace/audio").glob("*.opus")):
    target = out / (f.stem + ".txt")
    if target.exists():
        continue
    segments, info = model.transcribe(str(f), language="vi", vad_filter=True)
    target.write_text("\n".join(s.text.strip() for s in segments), encoding="utf-8")
    print("done", f.name)
```

Đặt `language="vi"` để bỏ qua bước nhận diện ngôn ngữ, còn `vad_filter=True` giúp bỏ qua các đoạn im lặng dài. Vì script bỏ qua file đã có kết quả, bạn chạy lại được sau khi bị gián đoạn. Khởi chạy trong `tmux` để không chết khi rớt SSH:

```bash
tmux new -s asr
python transcribe.py
```

Muốn xử lý nhiều hơn trên card 24 GB, hãy chạy hai ba bản script cho các nhóm file khác nhau và theo dõi bộ nhớ bằng `nvidia-smi`.

## Đóng gói thành image

Nếu thường xuyên chạy, hãy dựng một Docker image công khai có sẵn faster-whisper và script của bạn, rồi triển khai bằng template Custom image. Custom image cần cấp tài khoản cao hơn, và registry riêng tư không được hỗ trợ. Bài [dùng Docker image riêng trên GPU cloud](https://cloudj.net/vi/blog/custom-docker-image-gpu) giải thích các quy tắc.

## Lấy kết quả và dọn dẹp

```bash
rsync -avP -e "ssh -p PORT" root@HOST:/workspace/text/ ./transcripts/
```

Sau đó xóa (Destroy) instance để ngừng tính phí. Nếu kho quá lớn cho một lần, hãy ghi lại ngày "available until" của máy và chép kết quả ra thường xuyên. Tiền thuê trừ theo phút từ số dư tài khoản, nạp bằng chuyển khoản VND.

## Không chỉ chuyển giọng nói thành văn bản

Cùng máy và cách làm này có thể tạo giọng nói tiếng Việt hoặc chạy các pipeline giọng nói khác. Bài [TTS và giọng nói trên máy chủ GPU châu Á](https://cloudj.net/vi/blog/tts-voice-gpu-server-asia) nói về chiều ngược lại.

## Quyền riêng tư

Ghi âm thường chứa dữ liệu cá nhân, như số điện thoại hay địa chỉ khách hàng. Hãy chọn các nước bạn yên tâm trong bộ lọc Country, xóa âm thanh khỏi máy khi xong việc, và tự kiểm tra nghĩa vụ pháp lý của mình trước khi upload cuộc gọi của khách hàng.

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

### Model Whisper nào hợp nhất với tiếng Việt?

large-v3 là điểm khởi đầu thường dùng cho độ chính xác. Hãy thử thêm các model được cộng đồng fine-tune cho tiếng Việt trên chính dữ liệu của bạn.

### RTX 3060 có đủ không?

Với large-v3 và một tiến trình thì thường là đủ. Dùng card 24 GB nếu muốn chạy nhiều tiến trình song song.

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

Chỉ khi bạn upload kho dữ liệu rất lớn từ Việt Nam. Ngoài ra, hãy chọn theo giá và độ tin cậy.

### Cloudj có cài sẵn Whisper không?

Không. Bạn tự cài faster-whisper qua SSH hoặc dùng Docker image công khai của mình.

## Bước tiếp theo

Mở [trang triển khai RTX 3060](https://app.cloudj.net/deploy/gpu?model=rtx-3060), tìm `SG, HK`, và chạy thử một trăm file trước khi đưa cả kho dữ liệu lên.
