Bối cảnh kỹ thuật dữ liệu tiếp tục phát triển với các công cụ chuyên biệt được thiết kế cho các trường hợp sử dụng cụ thể. Smallpond của DeepSeek mới phát hành gần đây đã tạo ra nhiều thảo luận trong cộng đồng phát triển khi nó nhằm thu hẹp khoảng cách giữa xử lý dữ liệu cục bộ và nhu cầu tính toán phân tán.
Smallpond là gì?
Smallpond là một framework xử lý dữ liệu nhẹ được xây dựng trên nền tảng DuckDB và 3FS. Nó được thiết kế đặc biệt cho các pipeline huấn luyện thay vì xử lý dữ liệu đa năng. Theo các cuộc thảo luận trong cộng đồng, framework này chuyên cung cấp các batch dữ liệu huấn luyện cho các worker, sử dụng Ray để song song hóa. Điểm mạnh cốt lõi của nó nằm ở việc hỗ trợ đọc ngẫu nhiên (cần thiết để thực hiện xáo trộn dữ liệu qua các epoch), hỗ trợ Arrow cho các hoạt động zero-copy với Pandas DataFrames, và cơ chế checkpointing hiệu quả.
Các tính năng chính của Smallpond
- Xử lý dữ liệu hiệu năng cao được hỗ trợ bởi DuckDB
- Khả năng mở rộng để xử lý các bộ dữ liệu cấp PB
- Vận hành dễ dàng không cần các dịch vụ chạy dài hạn
- Hỗ trợ Python từ phiên bản 3.8 đến 3.12
- Tích hợp với Ray để xử lý song song
- Chuyên biệt cho các quy trình huấn luyện ML
Hiệu suất trong Tiêu chuẩn GraySort
- Dữ liệu được sắp xếp: 110.5TiB
- Thời gian yêu cầu: 30 phút và 14 giây
- Thông lượng trung bình: 3.66TiB/phút
- Cơ sở hạ tầng: 50 nút tính toán và 25 nút lưu trữ chạy 3FS
Mối liên hệ với 3FS
Một thành phần quan trọng trong kiến trúc của Smallpond là 3FS, một hệ thống tệp phân tán có từ trước DeepSeek. Các thành viên cộng đồng chỉ ra rằng 3FS đã tồn tại ít nhất từ năm 2019, với các tham chiếu trong các blog công nghệ Trung Quốc. Hệ thống tệp này dường như là chìa khóa giúp Smallpond có khả năng xử lý các tập dữ liệu quy mô petabyte. Tuy nhiên, một số người dùng lưu ý rằng nếu không có 3FS, tiện ích của Smallpond có thể bị giảm đáng kể vì hiệu suất của hệ thống tệp mạng sẽ trở thành điểm nghẽn.
Tôi không nghĩ bạn nhận được bất kỳ lợi ích thực sự nào so với DuckDB trừ khi dữ liệu của bạn lớn hơn 10TB hoặc bạn triển khai 3FS (điều này có vẻ khá thách thức).
Yêu cầu cơ sở hạ tầng cho 3FS tạo ra một hạn chế khác. Các thành viên cộng đồng nhấn mạnh rằng các nhà cung cấp đám mây lớn của Mỹ có hỗ trợ hạn chế cho InfiniBand, điều này dường như quan trọng đối với hiệu suất của 3FS. Điều này có thể hạn chế việc áp dụng Smallpond trong các công ty phụ thuộc vào cơ sở hạ tầng đám mây công cộng.
Hiệu suất và Điểm chuẩn
Các tuyên bố về hiệu suất của Smallpond khá ấn tượng, với điểm chuẩn GraySort cho thấy khả năng sắp xếp 110.5TiB dữ liệu chỉ trong hơn 30 phút bằng cách sử dụng một cụm gồm 50 nút tính toán và 25 nút lưu trữ. Điều này tương đương với thông lượng trung bình 3.66TiB/phút. Thú vị là, phân tích của cộng đồng về mã của Smallpond tiết lộ rằng đối với điểm chuẩn GraySort, nó chuyển sang Polars theo mặc định để xử lý việc sắp xếp thực tế thay vì sử dụng trực tiếp DuckDB.
Vị trí trong Hệ sinh thái Dữ liệu
Sự xuất hiện của Smallpond phản ánh một xu hướng rộng lớn hơn trong kỹ thuật dữ liệu - sự phát triển của các công cụ truy vấn chuyên biệt cho các khối lượng công việc cụ thể. Trong khi các công cụ đa năng như DuckDB, Polars và các giải pháp đám mây được quản lý đã tồn tại trong nhiều năm, Smallpond dường như nhắm đến một thị trường ngách nơi cần xử lý phân tán các tập dữ liệu rất lớn cho học máy.
Đối với hầu hết người dùng với tập dữ liệu dưới 10TB, quan điểm của cộng đồng cho thấy lợi ích của Smallpond so với các công cụ hiện có như DuckDB có thể bị hạn chế. Những lợi thế thực sự xuất hiện ở quy mô lớn hơn khi xử lý phân tán trở nên cần thiết.
Khi kỹ thuật dữ liệu tiếp tục phát triển, các công cụ như Smallpond đại diện cho những bước tiến hướng tới các giải pháp được xây dựng chuyên biệt hơn, có mục đích rõ ràng, giúp trừu tượng hóa một số phức tạp của xử lý dữ liệu phân tán. Liệu điều này có đại diện cho sự khởi đầu của một trừu tượng hóa rộng lớn hơn về công nghệ backend, như một số thành viên cộng đồng hy vọng, hay đơn giản chỉ là một công cụ khác với những đánh đổi cụ thể, vẫn còn là điều cần chờ xem.
Tham khảo: smallpond - A lightweight data processing framework built on DuckDB and 3FS