0

Rust For Machine Learning - candle vs tch-rs

Trong hệ sinh thái Rust đã có khá nhiều bộ công cụ phục vụ cho các ứng dụng liên quan đến học máy, mỗi bộ công cụ có những điểm mạnh và điểm cần hoàn thiện riêng. candletch-rs có thể được coi là hai bộ công cụ được dùng phổ biến nhất.

Về cơ bản hai bộ công cụ này có cú pháp khá tương đồng, ví dụ khi tạo một ten-xơ trên GPU trong candle cú pháp là:

let cuda_device = Device::cuda_if_available(0)?;
let a_gpu = Tensor::randn(0.0f32, 1.0, &[8192, 8192], &cuda_device)?;

thì khi tạo một ten-xơ tương tự trong tch-rs sẽ là:

let cuda_device = Device::cuda_if_available();
if !cuda_device.is_cuda() {
    println!("Không tìm thấy CUDA!");
    return;
}
let a_gpu = Tensor::randn([8192, 8192], (tch::Kind::Float, cuda_device));

candle 100% viết bằng Rust còn tch-rs bản chất là sự kết hợp giữa Rust và C++ do tái sử dụng toàn bộ thư viện libtorch. Tư tưởng thiết kế của candle là gọn nhẹ và nhắm đến các ứng dụng suy luận, còn tch-rs dường như sẽ có ưu thế trong công tác huấn luyện mô hình hơn. Tất nhiên, đó chỉ là những nhận xét ở thời điểm hiện tại. Sự khác biệt về tốc độ tính toán trên các ten-xơ cũng tương đối đang kể. Phải chăng đó là hệ quả của tư tưởng thiết kế nêu trên?

Hãy cùng RustDev Vietnam tìm hiểu và so sánh nhanh candletch-rs thông qua một vài nhiệm vụ cơ bản trong video “#0050 - Rust for Machine Learning - candle vs tch-rs - So sánh khái quát” trên kênh Youtube RustDev Vietnam.

Các bạn cũng đừng quên nhấn đăng ký kênh để không bỏ lỡ bất kỳ video nào của chúng tôi nhé!


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí