tinygrad/tinygrad
You like pytorch? You like micrograd? You love tinygrad! ❤️
해결하는 문제
tinygrad는 micrograd의 단순성과 PyTorch의 기능 풍부함 사이의 균형을 맞추기 위해 설계된 가벼운 엔드투엔드 딥러닝 스택입니다. 사용자가 다양한 하드웨어 가속기에서 커널이 어떻게 생성되고 실행되는지 시각화하고 수정할 수 있는 해킹 가능한 투명한 컴파일러와 IR(중간 표현)을 제공합니다.
작동 방식
PyTorch와 유사한 즉시(eager) 텐서 API와 JAX를 영감으로 한 IR 기반의 자동 미분 시스템을 결합합니다. 프레임워크는 여러 연산을 하나의 커널로 융합하여 성능을 최적화하기 위해 "지연(laziness)" 방식을 사용합니다. JIT(즉시) 컴파일러, 그래프 실행, 그리고 실제 모델 학습을 위한 완전한 신경망 기본 요소(nn, optim, datasets)를 포함합니다.
대상 사용자
복잡한 '블랙박스'형 산업용 프레임워크가 아닌, 읽기 쉽고 해킹 가능하며 투명한 딥러닝 프레임워크를 원하는 연구자, 개발자, 학생들입니다.
주요 특징
- 엔드투엔드 스택: 텐서 라이브러리, autograd, IR, 컴파일러, 신경망 계층까지 모든 구성 요소를 포함합니다.
- 광범위한 가속기 지원: CUDA, Metal, OpenCL, CPU, AMD, NV, QCOM, WebGPU 등 다양한 백엔드를 지원합니다.
- 투명한 컴파일러: 컴파일러와 IR 전체가 시각화되어 있어 딥러닝 연산이 하드웨어에 어떻게 낮춰지는지 실제로 이해하기 쉽습니다.
- linhas 효율적: 복잡성을 줄이기 위해 의도적으로 작고 읽기 쉽게 설계되었습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트