Fire-Flyer File System milik DeepSeek
(github.com/deepseek-ai)Sistem file Fire-Flyer
Sistem file Fire-Flyer (3FS) adalah sistem file terdistribusi berkinerja tinggi yang dirancang untuk mengatasi tantangan pada beban kerja pelatihan dan inferensi AI. Sistem ini memanfaatkan SSD modern dan jaringan RDMA untuk menyediakan lapisan penyimpanan bersama yang menyederhanakan pengembangan aplikasi terdistribusi.
Kinerja dan kegunaan
- Arsitektur terpisah: Menggabungkan bandwidth jaringan dari ribuan SSD dan ratusan node penyimpanan sehingga aplikasi dapat mengakses sumber daya penyimpanan tanpa terikat pada lokalitas.
- Konsistensi kuat: Mengimplementasikan Chain Replication with Apportioned Queries (CRAQ) untuk memberikan konsistensi kuat, serta membuat kode aplikasi lebih sederhana dan mudah dipahami.
- Antarmuka file: Mengembangkan layanan metadata stateless yang berbasis pada penyimpanan key-value transaksional (misalnya FoundationDB). Antarmuka file sudah dikenal luas dan digunakan di mana-mana. Tidak perlu mempelajari API penyimpanan baru.
Beragam beban kerja
- Persiapan data: Menata keluaran pipeline analisis data dalam struktur direktori hierarkis dan mengelola keluaran antara dalam jumlah besar secara efisien.
- Data loader: Memungkinkan akses acak ke sampel pelatihan di seluruh node komputasi sehingga tidak perlu melakukan pra-muat atau pengacakan dataset.
- Checkpointing: Mendukung checkpointing paralel berkecepatan tinggi untuk pelatihan berskala besar.
- KVCache untuk inferensi: Menyediakan alternatif yang lebih hemat biaya dibanding caching berbasis DRAM, dengan throughput tinggi dan kapasitas yang cukup besar.
Kinerja
1. Throughput puncak
- Dalam uji stres pembacaan skala besar pada klaster 3FS, sistem ini mencapai throughput baca agregat akhir sekitar 6.6 TiB/s.
2. GraySort
- Dievaluasi menggunakan benchmark GraySort yang mengukur kinerja penyortiran dataset berskala besar. Dibutuhkan 30 menit 14 detik untuk menyortir 110.5 TiB data ke dalam 8,192 partisi, dengan throughput rata-rata 3.66 TiB/menit.
3. KVCache
- Menggunakan teknologi KVCache untuk mengoptimalkan proses inferensi LLM. Sistem ini meng-cache vektor key dan value dari token sebelumnya pada layer decoder untuk menghindari perhitungan berulang. Throughput puncak mencapai hingga 40 GiB/s.
Dokumentasi
- Catatan desain
- Panduan konfigurasi
- Referensi API USRBIO
- Spesifikasi P
Melihat kode sumber
- Anda dapat memeriksa kode sumber dengan meng-clone repositori 3FS di GitHub.
Melaporkan masalah
- Untuk melaporkan masalah, kunjungi halaman GitHub Issues.
1 komentar
Komentar Hacker News
Desain ini awalnya dipresentasikan di sini: tautan
3FS digunakan dalam skenario pembacaan batch data sampel dari node komputasi selama pelatihan AI
3FS menggunakan antarmuka AIO berbasis Linux dan io_uring untuk menyelesaikan pembacaan sampel
Salah satu perbedaan antara Deepseek dan OpenAI/Anthropic adalah perbedaan antara praktisi dan akademisi
Sistem file terdistribusi dianggap sebagai salah satu perangkat lunak yang paling sulit
Makalah riset terkait: tautan
Saya penasaran bagaimana mereka mendapatkan performa seperti itu dengan desain berbasis FUSE
OpenAI dan lainnya juga terlibat sangat dalam di level sistem, tetapi sulit melihat ketelitian seperti ini di tempat lain
Mereka jelas sangat produktif
Saat ini tidak jelas di mana dan bagaimana sistem populer yang ada mengalami kekurangan
Saya penasaran apakah ada keuntungan jika ini di-port ke orkestrator seperti K8s
Saya penasaran apakah ada yang bisa meyakinkan bahwa ini bukan sindrom NIH