Candle 소개 — Rust 미니멀리스트 ML 프레임워크
Candle 소개
Rust에서 머신러닝 모델을 직접 다루고 싶다면 Candle이 좋은 선택이에요. Candle은 미니멀리스트 ML 프레임워크로, 성능(GPU 지원 포함)과 사용 편의성에 집중했어요. Hugging Face가 만들고 Apache 2.0/MIT 이중 라이선스로 공개했어요.
왜 Candle인가요
공식 문서는 세 가지를 강조해요.
- 가볍고 빠름: 최소한의 의존성으로 성능에 집중. GPU 지원은 물론 CPU에서도 효율적으로 동작해요.
- 브라우저 실행: WASM(WebAssembly)으로 빌드하면 Candle 추론을 브라우저에서 직접 돌릴 수 있어요. Whisper, LLaMA2, T5, Phi 같은 온라인 데모가 이를 증명해요.
- 최신 모델 예제: LLaMA, Gemma, Phi, Mistral, Stable Diffusion, Whisper, YOLO 등 state-of-the-art 모델 예제가 풍부해요.
빠른 시작 예시
매트릭스 곱셈 하나로 기본 구조를 볼 수 있어요.
use candle_core::{Device, Tensor};
fn main() -> Result<(), Box<dyn std::error::Error>> {
let device = Device::Cpu;
let a = Tensor::randn(0f32, 1., (2, 3), &device)?;
let b = Tensor::randn(0f32, 1., (3, 4), &device)?;
let c = a.matmul(&b)?;
println!("{c}");
Ok(())
}
cargo run 하면 Tensor[[2, 4], f32] 모양의 결과가 나와요. Device::Cpu를 Device::new_cuda(0)?로 바꾸면 GPU에서 돼요.