Fine-tune LLM trên GPU châu Âu thường đi kèm một yêu cầu thêm: dữ liệu huấn luyện không được rời khỏi EU. Cloudj không đưa ra cam kết tuân thủ, nhưng cung cấp công cụ quan trọng nhất cho việc này: ô Country ở trang triển khai GPU, giới hạn danh sách máy host theo đúng các nước bạn chọn. Bài này là một quy trình chạy cho job fine-tune LoRA hoặc QLoRA trên host ở EU, từ tính VRAM tới xóa instance khi xong, với checkpoint luôn nằm trong kho lưu trữ ở EU do bạn kiểm soát.
Tình huống hay gặp với các công ty Việt Nam: nhận dự án AI cho khách hàng ở Đức hoặc Pháp, hợp đồng ghi rõ dữ liệu khách không được ra ngoài EU. Muốn xem toàn bộ mã châu Âu, bắt đầu với hướng dẫn thuê GPU châu Âu. Về phần chính sách, bài lưu dữ liệu tại EU khi thuê GPU đi sâu hơn.
Trước khi chạy: chọn cỡ GPU
LoRA huấn luyện các ma trận adapter nhỏ trong khi mô hình gốc đứng yên. QLoRA làm tương tự nhưng nạp mô hình gốc ở 4 bit, giảm bộ nhớ đáng kể. Điểm khởi đầu ước lượng:
| Mô hình gốc (xấp xỉ) | Phương pháp | Hạng card nên thử |
|---|---|---|
| 7B đến 9B | QLoRA | Card phổ thông 24 GB, hoặc RTX A6000 khi chuỗi dài |
| 7B đến 9B | LoRA 16 bit | Card 48 GB như RTX A6000, hoặc A100 PCIe với batch vừa phải |
| 13B đến 14B | QLoRA | RTX A6000 hoặc A100 PCIe |
| 30B đến 35B | QLoRA | Card 48 GB, tùy độ dài chuỗi |
| Hạng 70B | QLoRA | H100 SXM 80 GB, hoặc máy nhiều GPU |
Độ dài chuỗi, batch size, gradient checkpointing và optimizer đều làm các con số này thay đổi. Hãy chạy vài trăm bước trước và đọc mức bộ nhớ đỉnh trên nvidia-smi rồi mới chạy dài. Card workstation và data center như A6000, A100, H100 cần cấp tài khoản cao hơn; console sẽ báo nếu lựa chọn chưa khả dụng.
Trước khi chạy: chỉ tìm host trong EU
Mở trang triển khai với A100 PCIe, hoặc đổi model, rồi chỉ nhập mã EU:
DE, NL, FR, SE
Thêm các mã EU hoặc EEA khác mà chính sách của bạn cho phép. Mỗi dòng ghi quốc gia do máy tự báo, chỉ ở cấp quốc gia. Tình trạng máy thay đổi trong ngày; nếu không có máy phù hợp, thêm mã được phép, thử card tương đương có VRAM gần bằng, hoặc kiểm tra lại sau. Đừng nới ra ngoài danh sách được phép chỉ để bắt đầu sớm hơn.
Khi chọn một dòng, kiểm tra thêm hai cột ngoài giá:
- Thời hạn tối đa và ngày "available until": job cộng phần dư phải xong trước ngày đó, vì tới lúc đó instance và ổ đĩa bị xóa.
- Tốc độ tải xuống: bạn sẽ kéo mô hình gốc về và đẩy checkpoint ra.
Trước khi chạy: chuẩn bị kho lưu trữ của bạn
Checkpoint nên rời khỏi host GPU ngay khi được ghi xong. Đích đến đơn giản nhất ở EU là một máy chủ bạn đang vận hành, chẳng hạn VPS tại Đức ở Frankfurt với đủ dung lượng, hoặc object storage của bạn ở một vùng EU. Tạo thư mục riêng và một SSH key chỉ được phép ghi vào đó.
Bài chiến lược sao lưu VPS nói về thời gian lưu giữ và quản lý phiên bản cho nơi đến này.
Trong khi chạy
Kết nối bằng lệnh SSH trong tab Connection của instance, rồi:
- Chạy
nvidia-smiđể xác nhận GPU và bộ nhớ. - Khởi động huấn luyện trong
tmuxđể rớt mạng không làm dừng job. - Lưu checkpoint theo chu kỳ cố định và đẩy ra ngoài ngay khi ghi xong:
rsync -avP --remove-source-files -e "ssh -p 22" /workspace/out/checkpoint-*/ backup@<eu-vps>:/data/ft-run-01/
Chạy lệnh này trên instance GPU theo lịch, hoặc sau mỗi lần lưu. --remove-source-files giải phóng ổ trên host GPU; bỏ đi nếu bạn muốn giữ cả bản cục bộ. Băng thông tải lên tính theo GB với giá niêm yết của máy, nên hãy lưu adapter thay vì trọng số đã gộp nếu được. Adapter LoRA nhỏ hơn nhiều so với mô hình gốc.
Nếu host mất kết nối, việc tính tiền tạm dừng trong lúc đó, nhưng không có cơ chế tự chuyển sang máy khác. Đó chính là lý do checkpoint phải nằm ngoài host từ trước.
Sau khi chạy: xóa có kỷ luật
Khi adapter cuối cùng đã nằm an toàn trong kho EU của bạn, dọn dẹp theo thứ tự:
- Xác minh file ở đích, ví dụ bằng checksum.
- Xóa dataset và checkpoint trên ổ của instance.
- Xóa (Destroy) instance. Destroy xóa vĩnh viễn instance cùng ổ đĩa và dừng tính tiền. Chỉ dừng (Stop) là chưa đủ, vì instance đang dừng vẫn giữ ổ đĩa.
- Ghi lại lượt chạy vào hồ sơ của bạn: quốc gia của host, ngày giờ, dữ liệu đã dùng.
Sau khi xóa, phần cọc chưa dùng trả về số dư tài khoản, có thể mất tới 72 giờ để quyết toán băng thông. Bạn nạp tiền bằng chuyển khoản VND, nên hãy tính cả khoản cọc khi lên ngân sách cho dự án.
Cloudj cam kết gì và không cam kết gì
Ô Country giúp bạn giữ công việc trên host ở các nước đã chọn. Vị trí do máy tự báo ở cấp quốc gia. Các máy là host độc lập, không có SLA phần cứng. Cloudj không khẳng định host nào đáp ứng GDPR hay bất kỳ luật dữ liệu nào. Hãy tự kiểm tra nghĩa vụ pháp lý và hỏi bộ phận pháp chế xem cách làm này có phù hợp với dữ liệu của bạn không. Với dữ liệu không được rời hạ tầng nội bộ, thuê GPU có thể hoàn toàn không phù hợp.
Muốn tìm A100 ở châu Âu, xem bài thuê A100 tại châu Âu.
Câu hỏi thường gặp
Fine-tune QLoRA trên card phổ thông được không?
Với mô hình 7B đến 9B, thường là được trên card 24 GB. Mô hình lớn hơn cần 48 GB trở lên.
Tôi giữ ổ đĩa sau khi huấn luyện để chạy tiếp được không?
Bạn có thể dừng instance để giữ ổ với phí lưu trữ, nhưng GPU sẽ bị nhả ra. Để giữ kỷ luật dữ liệu EU, hãy chép checkpoint ra và xóa instance.
Cloudj có đảm bảo dữ liệu nằm trong EU không?
Không. Bạn tự chọn host theo quốc gia bằng bộ lọc. Hãy giữ dữ liệu gốc và bản sao lưu trong kho EU của bạn và rà soát nghĩa vụ pháp lý.
Xem giá ở đâu?
Giá theo thời gian thực trên GPU cloud và từng trang model.
Lên kế hoạch cho lượt chạy
Mở trang triển khai, giới hạn ô Country trong các mã EU được phép, và thử bộ nhớ bằng một lượt chạy ngắn. Đẩy checkpoint về kho EU của bạn ngay khi ghi xong, và xóa instance khi job kết thúc.