피드로 돌아가기
I built a deep learning framework in Rust from scratch — Part 3: the road to crates.io
Dev.toDev.to
AI/ML

Rust 기반 DL 프레임워크의 v0.3.1 API 정예화 및 정합성 확보

I built a deep learning framework in Rust from scratch — Part 3: the road to crates.io

Pavel2026년 4월 25일14advanced

Context

초기 구현 단계의 RustyAsg는 기능적 동작에는 성공했으나, 사용자가 Tensor Shape을 HashMap으로 수동 관리해야 하는 비효율적 API 구조를 가짐. 특히 매개변수 형상 결정을 위해 문자열 매칭 방식을 사용하는 등 엔지니어링 관점의 유지보수성과 사용성이 매우 낮은 상태였음.

Technical Solution

  • Layer 중심의 Shape 정보 소유권 설계를 통한 Declarative Layer API 도입
  • Layer 생성자 내에서 dimensions를 인자로 받아 GraphContext에 자동 등록하는 Self-registration 메커니즘 구축
  • ParameterMeta 구조체 도입으로 Shape, DType, Initializer 정보를 단일 컨텍스트에서 통합 관리
  • Xavier, Kaiming 등 9종의 표준 Initializer를 내장하여 Layer별 최적화된 기본값 자동 할당
  • ShapeInference 엔진과 GraphContext를 연동하여 런타임 시 Shape Map 자동 생성 및 파라미터 초기화 최적화
  • GPU 연산 정합성 확보를 위해 모든 CPU Operation에 대응하는 WGSL Twin 구현 및 검증

- API 설계 시 사용자가 상태(Shape, ID 등)를 수동으로 관리하게 하지 말고 객체 스스로가 정의하도록 설계할 것 - 대규모 리팩토링 전 정적 분석 도구(Clippy 등)를 통해 Warning을 0으로 만들어 기술 부채의 가시성을 확보할 것 - 성능 최적화(v

0.5) 전 단계에서 기능적 정합성과 API 안정성을 먼저 확보하는 순차적 릴리스 전략을 수립할 것

원문 읽기