Dữ liệu được chia sẻ hoàn toàn song song
Song song dữ liệu được phân chia hoàn toàn (FSDP) là một kỹ thuật đào tạo phân tán giúp phân chia các tham số, độ dốc và trạng thái tối ưu hóa của mô hình trên nhiều GPU để mỗi thiết bị chỉ giữ một phần.
Tổng quan
Nó giúp việc huấn luyện các mô hình khổng lồ trên phần cứng không thể chứa toàn bộ mô hình trong bộ nhớ của một GPU.
Lặn sâu
Tính song song dữ liệu truyền thống giữ một bản sao đầy đủ của mô hình trên mọi GPU, điều này gây lãng phí bộ nhớ và giới hạn kích thước mô hình. FSDP, được phổ biến bởi PyTorch của Meta và lấy cảm hứng từ ZeRO của Microsoft, thay vào đó chia nhỏ ba thứ trên các thiết bị: tham số, độ dốc và trạng thái tối ưu hóa. Trong quá trình chuyển tiếp, mỗi GPU tạm thời thu thập toàn bộ trọng số cho lớp mà nó đang tính toán thông qua tập hợp tất cả, chạy tính toán, sau đó giải phóng ngay bản sao đã thu thập. Quá trình chuyển ngược hoạt động tương tự, theo sau là phân tán giảm phân phối các lát chuyển màu trở lại GPU của riêng chúng. Vì mỗi thiết bị chỉ lưu trữ vĩnh viễn một phần mô hình nên mức sử dụng bộ nhớ giảm gần như tuyến tính với số lượng GPU, cho phép các nhóm huấn luyện các mô hình với hàng chục hoặc hàng trăm tỷ tham số.
Hiểu biết kỹ thuật
FSDP giao dịch thêm giao tiếp để tiết kiệm bộ nhớ. Trọng lượng của mỗi lớp được xây dựng lại theo yêu cầu với quyền tập hợp tất cả trước khi sử dụng và loại bỏ ngay sau đó, trong khi độ dốc được kết hợp và phân chia bằng phân tán giảm. Giao tiếp có thể bị chồng chéo với tính toán bằng cách tìm nạp trước các tham số của lớp tiếp theo trong khi lớp hiện tại chạy, ẩn phần lớn độ trễ của mạng. Điều chỉnh mức độ chi tiết của phân đoạn (chính sách gói) cân bằng dung lượng bộ nhớ với chi phí liên lạc.
Tác động chiến lược
Chi phí và ngân sách
Các quyết định về kiến trúc sẽ thúc đẩy hiệu suất và chi phí vận hành trong nhiều năm.
Quyết định rõ ràng hơn
Giáo dục kỹ thuật giúp các nhóm chọn nhóm phù hợp chứ không chỉ nhóm mới nhất.
Kiểm soát chất lượng
Lựa chọn kỹ thuật tốt hơn làm giảm sự cố về độ tin cậy trong sản xuất.
Tương lai của dữ liệu được chia sẻ hoàn toàn song song
FSDP đang trở thành mặc định cho đào tạo mô hình lớn mở, với FSDP2 trong PyTorch cải thiện khả năng sử dụng và phân chia theo từng tham số. Mong đợi sự tích hợp chặt chẽ hơn với tính năng song song tensor và pipe cho các mô hình nghìn tỷ tham số, hỗ trợ tốt hơn cho độ chính xác hỗn hợp và fp8, đồng thời gói tự động thông minh hơn giúp chọn ranh giới phân chia cho bạn. Khi các kết nối liên GPU như NVLink và InfiniBand trở nên nhanh hơn, chi phí liên lạc của sharding tiếp tục giảm, khiến nó trở nên thiết thực ở quy mô lớn hơn bao giờ hết.
Triển khai trong thế giới thực
Tinh chỉnh mô hình Llama 70 tỷ tham số trên 8 GPU mà riêng lẻ không thể chịu được toàn bộ trọng lượng.
Huấn luyện trước các mô hình ngôn ngữ lớn tại phòng thí nghiệm AI bằng cách phân chia các trạng thái tối ưu hóa (chi phối bộ nhớ với Adam) trên hàng trăm máy gia tốc.
Các nhà nghiên cứu sử dụng trình bao bọc FSDP của PyTorch để huấn luyện các máy biến áp thị giác trong cụm trường đại học mà không cần mua GPU 80GB hàng đầu.
Kết hợp FSDP với bfloat16 có độ chính xác hỗn hợp để giảm gần một nửa bộ nhớ và tăng tốc thông lượng đào tạo trên các mô hình đa phương thức.
Rủi ro & lan can
Tối ưu hóa một điểm chuẩn có thể che giấu những điểm yếu của hệ thống rộng hơn.
Chi phí cơ sở hạ tầng và bảo trì thường được đánh giá thấp.
Khoảng cách về bảo mật và khả năng quan sát có thể tăng lên khi hệ thống trở nên phức tạp hơn.
Lộ trình thực hiện
Xác định các mục tiêu về độ trễ, chất lượng và chi phí trước khi triển khai.
Điểm chuẩn trong điều kiện tải và dữ liệu thực tế.
Giám sát thiết bị về lỗi, độ lệch và tác động của người dùng.
Chuẩn bị đường dẫn khôi phục và ứng phó sự cố trước khi mở rộng quy mô.
Tiếp tục khám phá
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Fully Sharded Data Parallel quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Hướng dẫn tiếp theo
Song song dữ liệu
Câu hỏi thường gặp
Dữ liệu phân mảnh hoàn toàn song song là gì?
Song song dữ liệu được phân chia hoàn toàn (FSDP) là một kỹ thuật đào tạo phân tán giúp phân chia các tham số, độ dốc và trạng thái tối ưu hóa của mô hình trên nhiều GPU để mỗi thiết bị chỉ giữ một phần. Nó giúp việc đào tạo các mô hình khổng lồ có thể thực hiện được trên phần cứng không bao giờ có thể chứa toàn bộ mô hình trong bộ nhớ của một GPU.
Phân đoạn FSDP trên các GPU mà tính năng song song dữ liệu tiêu chuẩn KHÔNG làm được gì?
FSDP phân chia các tham số, độ dốc và trạng thái tối ưu hóa của mô hình trên các thiết bị, trong khi tính song song dữ liệu tiêu chuẩn sao chép mô hình đầy đủ trên mọi GPU.
FSDP sử dụng hoạt động chung nào để xây dựng lại trọng số đầy đủ của một lớp ngay trước khi tính toán nó?
Trước khi một lớp chạy, FSDP thực hiện tập hợp tất cả để tạm thời tập hợp các tham số hoàn chỉnh từ tất cả các phân đoạn, sau đó giải phóng chúng sau đó.
Tại sao FSDP giải phóng toàn bộ trọng số đã thu thập ngay sau khi tính toán một lớp?
Chỉ giữ một phân đoạn vĩnh viễn và thu thập toàn bộ trọng số một cách tạm thời là điều giúp giữ mức sử dụng bộ nhớ ở mức thấp và tỷ lệ thuận với một phần của mô hình.
FSDP phần lớn được lấy cảm hứng từ phương pháp tối ưu hóa bộ nhớ nào trước đó?
Việc phân chia các tham số, độ dốc và trạng thái tối ưu hóa của FSDP tuân thủ chặt chẽ các ý tưởng được giới thiệu trong ZeRO của Microsoft từ thư viện DeepSpeed.
FSDP che giấu phần lớn độ trễ của mạng khỏi việc thu thập trọng số bằng cách nào?
FSDP tìm nạp trước các tham số của lớp tiếp theo trong khi lớp hiện tại vẫn đang tính toán, chồng chéo giao tiếp tập hợp tất cả với công việc hữu ích.