Hệ thống tệp Fire-Flyer của DeepSeek
(github.com/deepseek-ai)Hệ thống tệp Fire-Flyer
Hệ thống tệp Fire-Flyer (3FS) là một hệ thống tệp phân tán hiệu năng cao được thiết kế để giải quyết các bài toán trong tác vụ huấn luyện và suy luận AI. Hệ thống tận dụng SSD hiện đại và mạng RDMA để cung cấp một lớp lưu trữ dùng chung, giúp đơn giản hóa việc phát triển ứng dụng phân tán.
Hiệu năng và khả năng sử dụng
- Kiến trúc tách rời: Kết hợp băng thông mạng của hàng nghìn SSD và hàng trăm nút lưu trữ, cho phép ứng dụng truy cập tài nguyên lưu trữ mà không bị ràng buộc bởi tính cục bộ.
- Tính nhất quán mạnh: Triển khai Chain Replication with Apportioned Queries (CRAQ) để cung cấp tính nhất quán mạnh, giúp mã ứng dụng đơn giản và dễ hiểu hơn.
- Giao diện tệp: Phát triển một dịch vụ metadata không trạng thái dựa trên kho khóa-giá trị giao dịch, chẳng hạn như FoundationDB. Giao diện tệp là thứ đã được biết đến rộng rãi và dùng ở mọi nơi. Không cần học một API lưu trữ mới.
Nhiều loại khối lượng công việc
- Chuẩn bị dữ liệu: Tổ chức đầu ra của pipeline phân tích dữ liệu theo cấu trúc thư mục phân cấp và quản lý hiệu quả lượng lớn đầu ra trung gian.
- DataLoader: Cho phép truy cập ngẫu nhiên vào các mẫu huấn luyện trên toàn bộ các nút tính toán, nên không cần nạp trước hay xáo trộn tập dữ liệu.
- Checkpointing: Hỗ trợ checkpoint song song tốc độ cao cho huấn luyện quy mô lớn.
- KVCache for Inference: Cung cấp một giải pháp thay thế hiệu quả về chi phí cho bộ nhớ đệm dựa trên DRAM, đồng thời đem lại thông lượng cao và dung lượng khá lớn.
Hiệu năng
1. Thông lượng đỉnh
- Trong bài kiểm tra áp lực đọc quy mô lớn trên cụm 3FS, hệ thống đạt thông lượng đọc tổng hợp cuối cùng khoảng 6.6 TiB/s.
2. GraySort
- Hệ thống được đánh giá bằng benchmark GraySort, dùng để đo hiệu năng sắp xếp trên các tập dữ liệu lớn. Việc sắp xếp 110.5 TiB dữ liệu thành 8,192 phân vùng mất 30 phút 14 giây, đạt thông lượng trung bình 3.66 TiB/phút.
3. KVCache
- Hệ thống sử dụng kỹ thuật KVCache để tối ưu hóa quy trình suy luận LLM. Bằng cách cache các vector key và value của các token trước đó trong các lớp decoder, hệ thống tránh được tính toán lặp lại. Thông lượng đỉnh đạt tối đa 40 GiB/s.
Tài liệu
- Ghi chú thiết kế
- Hướng dẫn cấu hình
- Tham chiếu API USRBIO
- Đặc tả P
Xem mã nguồn
- Có thể sao chép kho 3FS từ GitHub để xem mã nguồn.
Báo cáo vấn đề
- Để báo cáo vấn đề, hãy truy cập trang GitHub Issues.
1 bình luận
Ý kiến trên Hacker News
Thiết kế này ban đầu được công bố tại đây: liên kết
3FS được dùng trong kịch bản các nút tính toán đọc hàng loạt dữ liệu mẫu trong quá trình huấn luyện AI
3FS sử dụng giao diện AIO dựa trên Linux và io_uring để hoàn tất việc đọc mẫu
Một trong những khác biệt giữa DeepSeek và OpenAI/Anthropic là sự khác nhau giữa người làm thực tế và giới học thuật
Hệ thống tệp phân tán được xem là một trong những loại phần mềm khó nhằn nhất
Bài báo nghiên cứu liên quan: liên kết
Tôi từng thắc mắc làm sao họ đạt được hiệu năng như vậy với thiết kế dựa trên FUSE
OpenAI và các công ty khác cũng tham gia rất sâu vào hệ thống, nhưng hiếm nơi nào cho thấy mức độ tỉ mỉ như thế này
Họ rõ ràng làm việc rất hiệu quả
Hiện vẫn chưa rõ các hệ thống phổ biến hiện nay còn thiếu ở đâu và như thế nào
Tôi tự hỏi liệu việc port sang một orchestrator như K8s có mang lại lợi ích hay không
Tôi tự hỏi có ai có thể thuyết phục tôi rằng đây không phải hội chứng NIH