tinygrad/tinygrad

You like pytorch? You like micrograd? You love tinygrad! ❤️

何を解決するか

tinygrad は、micrograd のシンプルさと PyTorch の機能豊富さの間の妥協点となるように設計された、軽量でエンドツーエンドのディープラーニングスタックです。ユーザーがさまざまなハードウェアアクセラレータ上でカーネルが生成・実行される方法を視覚化・変更できる、ハック可能な透明なコンパイラと IR(中間表現)を提供します。

動作方法

PyTorch に似た即時(eager)Tensor API と、JAX をインスパイアした IR を用いた自動微分(autodiff)システムを組み合わせています。フレームワークは「遅延(laziness)」アプローチを採用し、複数の操作を1つのカーネルに結合してパフォーマンスを最適化します。JIT(即時)コンパイラ、グラフ実行、およびモデルの学習に必要な全般的なニューラルネットワークプリミティブ(nn、optim、datasets)を備えています。

対象ユーザー

複雑な「ブラックボックス」型の産業用フレームワークではなく、読みやすく、ハック可能で透明性のあるディープラーニングフレームワークを求める研究者、開発者、学生向けです。

特徴

  • エンドツーエンドスタック:Tensorライブラリ、autograd、IR、コンパイラ、ニューラルネットワークレイヤーまで、すべてを含んでいます。
  • 広範なアクセラレータ対応:CUDA、Metal、OpenCL、CPU、AMD、NV、QCOM、WebGPU など、幅広いバックエンドをサポートしています。
  • 透明なコンパイラ:コンパイラとIR全体が可視化されており、ディープラーニング演算がハードウェアにどのように低レベル化されるかを実際に理解しやすくなっています。
  • linhas効率的:意図的に小さく、読みやすく、複雑さを抑えるように設計されています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト