Sản phẩm
Reflex ra mắt thư viện vẽ đồ thị XY: Tốc độ cực nhanh với Rust, xử lý mượt mà 100 triệu điểm dữ liệu
(giờ Việt Nam)
Tóm tắt AI
Reflex vừa giới thiệu XY, thư viện vẽ đồ thị 2D cho Python sử dụng nhân Rust và WebGL2, cho phép hiển thị tương tác mượt mà với quy mô lên tới 100 triệu điểm dữ liệu chỉ trong 0,08 giây.
Bản dịch AI

Reflex AI vừa phát hành XY, một thư viện biểu đồ Python theo giấy phép Apache-2.0 dành cho trực quan hóa 2D tương tác. Hầu hết các bộ thư viện biểu đồ Python đều tạo ra một đối tượng có thể vẽ cho mỗi hàng, vì vậy khi vượt quá vài trăm nghìn điểm, hiệu suất hiển thị, di chuột và thu phóng sẽ bị suy giảm. XY chuyển công việc này vào một lõi Rust gốc, gửi các bộ đệm nhị phân có kiểu dữ liệu (typed binary buffers) tới trình duyệt thay vì JSON, và vẽ bằng WebGL2. Theo kết quả benchmark, XY duy trì tốc độ 0,071 giây ở mức 10.000 điểm và 0,081 giây ở mức 100 triệu điểm. Thư viện này có thể cài đặt qua lệnh `pip install xy` và yêu cầu Python 3.11 trở lên.
Có thể triển khai được không?
XY đang ở giai đoạn alpha sớm với phiên bản 0.0.1. Thư viện này có thể cài đặt qua lệnh `pip install xy` và yêu cầu Python 3.11 trở lên.
Điều này xác định rõ phạm vi triển khai. Các startup và đội ngũ dữ liệu quy mô vừa có thể áp dụng ngay cho phân tích nội bộ, notebook và các tài liệu chia sẻ. Các doanh nghiệp trong lĩnh vực được quản lý chặt chẽ nên thử nghiệm thay vì đưa vào quy trình quan trọng hướng tới khách hàng. XY phù hợp nhất ở những nơi số lượng hàng là nút thắt cổ chai thực sự: tài chính định lượng (dữ liệu tick), hệ gen và tin sinh học (biểu đồ Manhattan, quét tần số alen), khả năng quan sát và đo lường từ xa, thiên văn học và phân tích địa không gian. Dưới đây là cách cài đặt chỉ với 1 dòng lệnh.
Giải thích
Cách thức hoạt động của thang biểu diễn
XY lưu trữ các cột f64 chuẩn trong một ColumnStore trong Python và chọn một biểu diễn đã kết xuất cho mỗi trace. Các thiết lập mặc định hiện tại bắt đầu áp dụng kỹ thuật giảm mẫu (decimation) M4 trên 10.000 hàng đối với các đường kẻ dài có thứ tự, và mật độ phân tán tự động trên 200.000 điểm. Các lưới mật độ mặc định là 512×384 ô. Tài liệu nêu rõ đây là các ngưỡng chính sách trước phiên bản 1.0, không phải là cam kết API.
Vì các giá trị chính xác vẫn nằm trong Python, các tính năng di chuột, lựa chọn và pick vẫn giải quyết được các hàng gốc khi tầng hoạt động có ánh xạ chính xác. Thu phóng vào một cửa sổ hẹp sẽ trả về các điểm hiển thị chính xác cho một cửa sổ căn chỉnh có đệm, và các thao tác lia máy gần đó sẽ kết xuất từ cửa sổ đã lưu trong bộ nhớ đệm mà không cần yêu cầu thêm. Reflex rất cẩn trọng để không phóng đại: mật độ được phân nhóm (binned) và kết xuất bằng GPU, chứ không phải là một quy trình nhập liệu hoàn toàn bằng GPU, và việc nhập, phân nhóm và giảm mẫu vẫn tỷ lệ thuận với số lượng hàng nguồn.
Hiệu suất
Bài kiểm tra benchmark chạy mọi thư viện thông qua một trình duyệt thực và chỉ dừng đồng hồ khi canvas được xác minh là chính xác và ổn định qua 10 khung hình giống hệt nhau về byte. Các phép đo được thực hiện trên một máy Apple M5 Pro, mỗi ô chạy một lần.
Đây là mức tăng tốc được công bố là 34 lần ở 10 triệu điểm và 177 lần ở 50 triệu điểm. Bộ nhớ phía Python cao nhất ở mức 10 triệu điểm là 0,32 GiB đối với XY so với 0,84 GiB của Matplotlib và 1,86 GiB của Plotly. Với density=False, XY vẫn vẽ 100 triệu điểm đánh dấu chính xác trong 1,343 giây với dung lượng 5,26 GiB. Reflex cũng báo cáo việc kết xuất toàn bộ tập dữ liệu OpenStreetMap — 10 tỷ điểm.
Một biểu đồ phân tán tương tác 10 triệu điểm xuất ra 258 KiB HTML, so với mức 259 MiB được công bố cho biểu đồ tương đương của Plotly. Dung lượng tải vẫn duy trì ở mức gần 258 KiB từ 1 triệu đến 100 triệu hàng.
Bề mặt API và tích hợp
Các biểu đồ được tạo một cách khai báo từ các dấu hiệu (marks), trục, chú giải, chú thích công cụ và chú thích. Mười bốn họ biểu đồ được cung cấp hiện nay, bao gồm scatter, line, area, histogram, box, violin, ECDF, heatmap, hexbin và contour. Việc tạo kiểu chấp nhận các lớp CSS và Tailwind thông qua các DOM slot ổn định. Để di chuyển, lệnh `import xy.pyplot as plt` chạy mã pyplot thông thường của Matplotlib, mặc dù hướng dẫn tương thích lưu ý rằng không phải mọi thứ đều được hỗ trợ. Một bộ chuyển đổi reflex-xy riêng biệt biến bất kỳ biểu đồ nào thành một thành phần Reflex mà không cần JavaScript hoặc iframe.
Những điểm chính cần lưu ý
Hãy xem GitHub Repo và các chi tiết kỹ thuật. Ngoài ra, hãy thoải mái theo dõi chúng tôi trên Twitter và đừng quên tham gia SubReddit ML 150k+ của chúng tôi và đăng ký nhận Bản tin. Khoan đã! Bạn có dùng Telegram không? Bây giờ bạn cũng có thể tham gia cùng chúng tôi trên Telegram.
Cần hợp tác với chúng tôi để quảng bá GitHub Repo HOẶC trang Hugging Face HOẶC bản phát hành sản phẩm HOẶC hội thảo trực tuyến, v.v.? Hãy kết nối với chúng tôi.

Asif Razzaq là CEO của Marktechpost Media Inc.. Là một doanh nhân và kỹ sư có tầm nhìn, Asif cam kết khai thác tiềm năng của Trí tuệ nhân tạo vì lợi ích xã hội. Nỗ lực gần đây nhất của ông là ra mắt Nền tảng truyền thông Trí tuệ nhân tạo, Marktechpost, nổi bật với việc đưa tin chuyên sâu về học máy và học sâu, vừa đảm bảo tính kỹ thuật vừa dễ hiểu đối với đông đảo khán giả. Nền tảng này tự hào với hơn 2 triệu lượt xem hàng tháng, minh chứng cho sự phổ biến của nó đối với độc giả.
Bài viết được AI dịch và tổng hợp tự động từ MarkTechPost. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.