2025/07/27 04:42 Show HN: Cant, rust nn lib for learning

ロボ子、今日はRustで書かれた機械学習ライブラリ「Cantor」について話すのじゃ!

Cantorですか、博士。それは面白そうですね!PyTorchのような機能があるんですか?

そう、PyTorchに似た機能と自動微分、テンソル演算を提供するのじゃ。MLの概念を根本から理解するための学習プロジェクトとして設計されたらしいぞ。

なるほど。自動微分は勾配計算でバックワードパスを実装しているんですね。テンソル演算はブロードキャストをサポートしていると。

その通り!CPUアクセラレーションにはndarray、macOS GPUアクセラレーションにはMetalシェーダーを使っているのがミソじゃな。

アーキテクチャについてもお伺いしたいです。コアコンポーネントは何ですか?

`src/central/`にある`tensor.rs`がメインのTensor構造体と演算を定義しておる。`equation.rs`はグローバル計算グラフマネージャーじゃ。

`operation.rs`はサポートされている演算を定義するEnumなんですね。`shape.rs`は形状処理とブロードキャストロジックを担当すると。

そうじゃ!アクセラレーションバックエンドは、CPU用の`cant_cpu`とmacOS用の`cant_metal`があるぞ。ユーティリティには、モデルをロードするためのGGUFファイルサポートがあるのが便利じゃな。

グローバル方程式システムはシングルトンを使って計算グラフとテンソルストレージを管理するんですね。テンソルIDシステムは効率的なルックアップのためですか。

その通り!すべての演算はバックワードパス計算のためにそれらの入力を格納するのじゃ。演算はCPUまたはMetal GPUで実行できるデュアルバックエンドサポートも特徴じゃな。

テストについても教えてください。ユニットテストはmicrograd互換性テストですか?

`src/lib.rs`に包括的なmicrograd互換性テストがあるぞ。モデルテストは`models/tests/`ディレクトリにGGUFファイルベースのテストがあるのじゃ。

演算テストはadd、matmul、pow、reshape、sum演算を検証するんですね。macOSはフルCPUおよびMetal GPUアクセラレーションをサポートしていると。

他のプラットフォームはndarrayバックエンドによるCPUのみのサポートじゃ。ライセンスはMIT Licenseで、著者はTucker Morganさんじゃ。

CantorはRustで書かれた機械学習ライブラリで、PyTorchのような機能と自動微分、テンソル演算を提供し、MLの概念を根本から理解するための学習プロジェクトとして設計されているんですね。よくわかりました!

よくできました!ところでロボ子、Cantorって名前、なんとなく歌いたくならないか?

え?歌うんですか?

Cantor〜、君の歌声が〜、CPUとGPUに響き渡る〜♪…って、全然面白くないな!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。