DeepSeek's Smallpond: Kerangka Data Terdistribusi Baru yang Dibangun di Atas DuckDB dan 3FS

BigGo Editorial Team
DeepSeek's Smallpond: Kerangka Data Terdistribusi Baru yang Dibangun di Atas DuckDB dan 3FS

Lanskap rekayasa data terus berkembang dengan alat-alat khusus yang dirancang untuk kasus penggunaan tertentu. Smallpond yang baru-baru ini dirilis oleh DeepSeek telah memicu diskusi signifikan di komunitas pengembang karena bertujuan untuk menjembatani kesenjangan antara pemrosesan data lokal dan kebutuhan komputasi terdistribusi.

Apa itu Smallpond?

Smallpond adalah kerangka pemrosesan data ringan yang dibangun di atas DuckDB dan 3FS. Kerangka ini dirancang khusus untuk pipeline pelatihan daripada pemrosesan data untuk tujuan umum. Menurut diskusi komunitas, kerangka ini mengkhususkan diri dalam menyediakan batch data pelatihan ke para pekerja, memanfaatkan Ray untuk paralelisasi. Kekuatan intinya terletak pada dukungan pembacaan acak (diperlukan untuk mengimplementasikan pengacakan di seluruh epoch), dukungan Arrow untuk operasi zero-copy dengan Pandas DataFrames, dan mekanisme checkpointing yang efisien.

Fitur Utama Smallpond

  • Pemrosesan data berkinerja tinggi yang didukung oleh DuckDB
  • Dapat diskalakan untuk menangani dataset skala PB
  • Operasi mudah tanpa layanan yang berjalan lama
  • Dukungan untuk Python 3.8 hingga 3.12
  • Integrasi dengan Ray untuk paralelisasi
  • Dikhususkan untuk pipeline pelatihan ML

Kinerja Benchmark GraySort

  • Data yang diurutkan: 110,5TiB
  • Waktu yang diperlukan: 30 menit dan 14 detik
  • Throughput rata-rata: 3,66TiB/menit
  • Infrastruktur: 50 node komputasi dan 25 node penyimpanan yang menjalankan 3FS

Koneksi 3FS

Komponen penting dari arsitektur smallpond adalah 3FS, sistem file terdistribusi yang sudah ada sebelum DeepSeek sendiri. Anggota komunitas menunjukkan bahwa 3FS telah ada setidaknya sejak 2019, dengan referensi di blog teknologi Tiongkok. Sistem file ini tampaknya menjadi kunci kemampuan smallpond untuk menangani dataset berskala petabyte. Namun, beberapa pengguna mencatat bahwa tanpa 3FS, kegunaan smallpond mungkin berkurang secara signifikan karena kinerja sistem file jaringan akan menjadi hambatan.

Saya rasa Anda tidak mendapatkan manfaat yang benar-benar lebih dari duckdb kecuali data Anda berukuran 10tb+ atau Anda menjalankan 3FS (yang tampaknya menantang).

Persyaratan infrastruktur untuk 3FS menyajikan batasan lain. Anggota komunitas menyoroti bahwa penyedia cloud besar di AS memiliki dukungan terbatas untuk InfiniBand, yang tampaknya penting untuk kinerja 3FS. Ini dapat membatasi adopsi smallpond di antara perusahaan yang mengandalkan infrastruktur cloud publik.

Kinerja dan Benchmark

Klaim kinerja smallpond sangat mengesankan, dengan benchmark GraySort menunjukkan kemampuan untuk mengurutkan 110,5TiB data dalam waktu hanya lebih dari 30 menit menggunakan cluster 50 node komputasi dan 25 node penyimpanan. Ini diterjemahkan ke throughput rata-rata 3,66TiB/menit. Menariknya, analisis komunitas terhadap kode smallpond mengungkapkan bahwa untuk benchmark GraySort, ia mengirimkan ke Polars secara default untuk menangani pengurutan aktual daripada menggunakan DuckDB secara langsung.

Posisi dalam Ekosistem Data

Kemunculan smallpond mencerminkan tren yang lebih luas dalam rekayasa data - pengembangan mesin query khusus untuk beban kerja tertentu. Sementara alat-alat tujuan umum seperti DuckDB, Polars, dan solusi cloud terkelola telah ada selama bertahun-tahun, smallpond tampaknya menargetkan ceruk di mana pemrosesan terdistribusi dataset yang sangat besar untuk pembelajaran mesin diperlukan.

Untuk sebagian besar pengguna dengan dataset di bawah 10TB, sentimen komunitas menunjukkan bahwa manfaat smallpond dibandingkan alat yang sudah ada seperti DuckDB saja mungkin terbatas. Keuntungan sebenarnya muncul pada skala yang lebih besar di mana pemrosesan terdistribusi menjadi penting.

Seiring rekayasa data terus berkembang, alat seperti smallpond mewakili langkah menuju solusi yang lebih khusus dan dibuat untuk tujuan tertentu yang mengabstraksikan beberapa kompleksitas pemrosesan data terdistribusi. Apakah ini mewakili awal dari abstraksi teknologi backend yang lebih luas, seperti yang diharapkan beberapa anggota komunitas, atau hanya alat lain dengan trade-off tertentu, masih harus dilihat.

Referensi: smallpond - Kerangka pemrosesan data ringan yang dibangun di atas DuckDB dan 3FS