L4 · Distributed execution
Chia mô hình hoặc công việc trên nhiều thiết bị
Các chiến lược chia nhỏ mô hình hoặc lưu lượng request lên nhiều GPU/máy chủ khi một thiết bị đơn lẻ không đủ bộ nhớ hoặc tốc độ.
1Định nghĩa
Parallelism là cách phân bổ mô hình và khối lượng tính toán lên nhiều GPU khi một thẻ đơn lẻ không chứa vừa ngân sách HBM hoặc không đáp ứng kịp độ trễ và thông lượng mục tiêu.
Trong suy luận có 4 cách chia chính: Data Parallelism (nhân bản nguyên mô hình ra nhiều replica để chia tải ở tầng router), Tensor Parallelism (cắt ngang ma trận trong từng lớp để nhiều GPU cùng tính một bước và gom kết quả tức thì qua mạng nội bộ), Pipeline Parallelism (chia các cụm lớp nối tiếp nhau theo tầng), và Expert Parallelism (đặt các nhánh chuyên gia của mô hình MoE trên các thiết bị khác nhau).
Ví dụ đời thường: Parallelism giống như cách tổ chức khi một công việc quá sức một người thợ: bạn có thể mở thêm nhiều quầy giống hệt nhau để chia bớt khách (Data Parallelism), cho 4 người thợ cùng khiêng và lắp chung một tấm kính khổng lồ (Tensor Parallelism), chia thành dây chuyền người lắp khung – người sơn – người đóng gói (Pipeline Parallelism), hoặc chia theo chuyên môn người làm điện – người làm mộc (Expert Parallelism).
2Luồng
- Chọn cách partition
Theo model, memory và topology.
- Mỗi worker tính phần mình
Nhận tensor hoặc tokens tương ứng.
- Trao đổi kết quả
Dùng collectives hoặc gửi giữa stages.
- Hoàn tất bước model
Ghép kết quả cho logits hoặc gradient.
Mã Mermaid
flowchart TD
step1["Chọn cách partition"]
step2["Mỗi worker tính phần mình"]
step3["Trao đổi kết quả"]
step4["Hoàn tất bước model"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
Dùng tensor parallel khi cần chia matrices và pipeline khi cần chia layers. Với nhiều request và model vừa một thiết bị, nhiều replicas độc lập có thể là cách đơn giản hơn.
Số thiết bị lớn hơn không bảo đảm latency thấp hơn: communication, stage bubbles và expert lệch tải có thể lấn lợi ích compute.
4Profiling
- Scaling có giữ điều kiện
So cùng model, context, precision và mục tiêu latency trên số thiết bị khác nhau.
- Tỷ lệ thời gian trao đổi
Đo collectives, chờ stages và lệch tải giữa workers.
Mẹo đo lường: ghim số liệu trên workload thật, ghi cả p50/p95/p99 thay vì chỉ trung bình, và luôn ghi lại điều kiện chạy (batch, cache, đồng thời, phần cứng) trước và sau khi tối ưu. Số đo thiếu điều kiện chạy thì không so sánh được.
5Ví dụ
Checkpoint quá lớn
Chia weights trên nhiều thiết bị giúp chạy được model, nhưng phải tính chi phí trao đổi mỗi step.
Chatbot có nhiều người dùng
Nếu model đã vừa một máy, tăng replicas có thể tăng tổng capacity mà không chia một request.
6Thuật ngữ
- Tensor parallelism
- Các thiết bị tính những phần khác nhau của cùng một phép toán/lớp.
- Pipeline parallelism
- Các nhóm lớp ở các thiết bị khác nhau; dữ liệu đi qua stages.
- Expert parallelism
- Các experts nằm ở các thiết bị khác nhau, tokens được gửi tới expert được chọn.
Glossary (8)
- Model weights
- Các tham số số học được học và lưu trong checkpoint.
- Checkpoint
- Bản lưu trạng thái model; phạm vi states phụ thuộc mục đích serving hay resume.
- Logits
- Điểm số chưa chuẩn hóa cho các token ứng viên trước khi chọn token.
- Runtime
- Phần mềm quản lý việc thực thi, buffers và phụ thuộc giữa phép toán.
- Latency
- Thời gian chờ để nhận một kết quả hoặc một bước kết quả.
- Throughput
- Lượng công việc được xử lý trong một đơn vị thời gian.
- Worker
- Tiến trình hoặc máy thực hiện một phần công việc của hệ thống.
- Context
- Chuỗi token trước vị trí hiện tại mà model được phép sử dụng.