Show GN: Xazz - Rust 기반 AI 파이프라인 DSL (Polars+Burn 통합)

1 week ago 17

저는 고등학생 2학년 개발자이고, Rust로 AI 데이터 파이프라인 전용 언어 및 플랫폼을 하나 만들었습니다. 이름은 Xazz입니다. 요즘 AI 프로토타이핑은 대부분 파이썬(pandas + PyTorch)으로 하는데, 파이프라인이 커질수록 세 가지가 아쉬웠는데요 타입 오류·NaN이 런타임에 터진다 (가끔은 학습을 한참 돌린 뒤에) 데이터가 pandas → NumPy → PyTorch를 건널 때마다 메모리 복사가 반복된다 파이프라인 어디에도 보안·개인정보보호 계층이 없다 그래서 파서·AST·정적 타입 검사기·샌드박스·딥러닝 컴파일 엔진을 모두 처음부터 Rust로 직접 만들어 봤습니다. 라이브러리 래퍼가 아니라 언어 하나를 처음부터 시작한 거라, 아직도 제 코드인데도 어렵습니다. 레포의 이슈를 보면 크래시, 크로스 컴파일 문제, 그리고 그 외 여러 에러가 줄줄이 있었습니다. 만든 것들 .xzz 스크립트 하나로 CSV 전처리(Polars) → 딥러닝 학습(Burn)까지 한 번에 Option<T> 타입으로 컴파일 타임 널 안전, 실행 전에 오타·타입 오류를 행:열 단위로 잡아줌 (did-you-mean 제안 포함) 제로카피 텐서: 연속 Arrow 버퍼를 직접 읽어 캐스팅 복사(f64→f32)를 제거 Policy-as-Code 가드레일: 주민번호·카드번호·시크릿 등이 실행 전에 차단되고, 위반 시 안전한 대안 코드를 제안 차등 프라이버시(라플라스/가우시안, 엡실론 예산 추적)와 SHA-256 감사 로그 내장 노드 기반 Visual IDE까지 만들어서 파이프라인을 그래픽으로 짜고 바로 실행해 볼 수 있음 예시 코드: // 1. 타겟 스키마 선언 (컴파일 타임 타입 검사) type AirData = { temp: float, humidity: float, pm10: Option<float>, } // 2. Polars 기반 전처리 v dataset = load("air_data.csv") :: AirData |> fillNull("pm10", strategy: "mean") |> select(["temp", "humidity", "pm10"]) // 3. 선언형 Burn 딥러닝 모델 정의 model AirPredictor { Dense(64) -> ReLU() -> Dense(1) } // 4. 통합 파이프라인: 학습 -> 예측 -> 시각화 v model = datase...

Read Entire Article