L4 · Network
Trao đổi dữ liệu giữa các worker
Hạ tầng kết nối (NVLink, InfiniBand, RoCE) và các phép gom dữ liệu tập thể giữa các GPU khi chạy mô hình phân tán.
1Định nghĩa
Trong hệ thống suy luận hoặc huấn luyện phân tán (parallelism), khi một lớp của mô hình bị chia ra nhiều thiết bị, các worker phải liên tục trao đổi các mảng số (tensors) với nhau giữa chừng bước tính toán. Hạ tầng truyền dẫn này gồm liên kết tốc độ cao giữa các GPU trong cùng máy (như NVLink) và mạng giữa các máy chủ (như InfiniBand hoặc RoCE).
Việc đồng bộ dữ liệu được thực hiện qua các phép toán tập thể (collectives): All-Reduce cộng gộp kết quả từ mọi GPU rồi phát lại cho cả nhóm (dùng liên tục trong Tensor Parallelism), All-Gather ghép các mảnh thành tensor đầy đủ, và All-to-All định tuyến từng token tới đúng thiết bị chứa chuyên gia trong mô hình MoE. Vì bước tính toán tiếp theo thường phải đợi dữ liệu mạng về đủ, độ trễ và băng thông mạng ảnh hưởng trực tiếp tới thời gian chạy mỗi lớp.
Ví dụ đời thường: Hạ tầng mạng giữa các GPU giống như hệ thống băng chuyền và cầu nối giữa các phân xưởng khi cùng lắp ráp một chiếc ô tô. Dù mỗi phân xưởng làm việc nhanh đến mấy, nếu băng chuyền nối giữa các xưởng bị hẹp hoặc tắc nghẽn khi chuyển linh kiện qua lại, toàn bộ các xưởng phía sau đều phải dừng tay đứng đợi.
2Luồng
- Worker có dữ liệu cục bộ
Kết quả một phần hoặc gradients.
- Phát thao tác trao đổi
Chọn nhóm và loại collective.
- Link vận chuyển dữ liệu
Đi qua liên kết trong máy hoặc network.
- Worker tiếp tục tính
Chờ kết quả cần thiết hoặc overlap công việc khác.
Mã Mermaid
flowchart TD
step1["Worker có dữ liệu cục bộ"]
step2["Phát thao tác trao đổi"]
step3["Link vận chuyển dữ liệu"]
step4["Worker tiếp tục tính"]
step1 --> step2
step2 --> step3
step3 --> step4 3Giải pháp
Đặt các workers trao đổi nhiều gần nhau trên topology tốt. Có thể xen communication với compute nếu phụ thuộc dữ liệu cho phép.
Benchmark link riêng hữu ích, nhưng message sizes của model và network contention thực tế mới quyết định latency production.
4Profiling
- Thời gian collective
Đo theo message size và số workers; xem cả tail latency.
- Timeline overlap
Kiểm tra computation có thực sự che được communication hay chỉ tạo thêm cạnh tranh.
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ụ
Tensor parallel trong một node
Liên kết thiết bị nhanh có thể giúp tổng hợp kết quả các lớp ít tốn hơn cross-node.
Huấn luyện data parallel
Gradients cần được kết hợp để workers cập nhật nhất quán; serving replicas thường không có bước này.
6Thuật ngữ
- All-reduce
- Kết hợp dữ liệu của nhóm, thường bằng tổng, rồi đưa kết quả về từng thành viên.
- All-gather
- Gom các phần dữ liệu riêng để mỗi thành viên có bản đầy đủ.
- Reduce-scatter
- Kết hợp dữ liệu rồi chia kết quả thành các phần cho thành viên.
- Peripheral Component Interconnect Express (PCI Express)
- Chuẩn liên kết thiết bị với hệ thống máy; tốc độ thực tế phụ thuộc thế hệ và cấu hình đường truyền.
- Remote Direct Memory Access
- Cơ chế đọc hoặc ghi dữ liệu trong bộ nhớ máy khác mà giảm việc bộ xử lý trung tâm tham gia vào đường vận chuyển; thường gọi RDMA.
- NVLink
- Tên công nghệ liên kết của NVIDIA cho các thiết bị tương thích; không phải mọi accelerator đều có liên kết này.
Glossary (5)
- Graphics Processing Unit
- Bộ xử lý đồ họa, thường dùng cho phép tính tensor song song.
- Tensor
- Mảng số nhiều chiều, như một vector, ma trận hoặc nhóm ma trận.
- 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ả.
- 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.