Repolode
ridgerchu

ridgerchu/matmulfreellm

行列乗算を三値重みと加算演算に置き換える、Hugging Face Transformers互換のMatMul-free言語モデルのオープンソース実装。

スター
3,101
フォーク
204
未解決の Issue
25
最終コミット
2 か月前

これは何?

MatMul-Free LMは、モデルから行列乗算(MatMul)を取り除き、大規模言語モデルの計算コスト削減を目指す言語モデルアーキテクチャです。このリポジトリにはHugging Face Transformersライブラリに組み込めるPyTorch実装が用意されており、AutoModelでモデルを初期化して、標準の生成APIを利用できます。

370M、1.3B、2.7Bパラメータの事前学習済みチェックポイントが含まれています。370Mモデルと1.3Bモデルは、それぞれ15Bトークン、100Bトークンで学習されています。カーネルはTritonで記述されており、パッケージはPyTorch 2.0以降とeinopsに依存します。コードはflash-linear-attentionをベースに改変されており、論文「Scalable MatMul-free Language Modeling」(arXiv:2406.02528)に対応しています。

主な機能

  • 01行列乗算を使わない言語モデルアーキテクチャ
  • 02Hugging Face AutoModelおよびgenerate APIと互換
  • 03370M、1.3B、2.7Bパラメータの事前学習済みモデルを提供
  • 04flash-linear-attentionのコードをベースにしたTritonカーネル
  • 05GitHubリポジトリから直接インストール可能

ユースケース

  • MatMulを使わない効率的な言語モデルアーキテクチャの研究
  • Transformersのツールを使った、GPU上での三値重みLLMの実験
  • カスタムデータを使ったMatMul-freeモデルの事前学習やファインチューニング
  • LLM向けニューロモーフィックハードウェアや低計算量ハードウェアの検討

クイックスタート

  1. 1

    必要な依存関係をインストールします:PyTorch 2.0以降、Triton 2.2以降、einops

  2. 2

    GitHubからライブラリを直接インストールします

    pip install -U git+https://github.com/ridgerchu/matmulfreellm

使う前に知っておきたいこと

  • 付属の生成例では.cuda()と.half()を呼び出すため、CUDA GPUが必要です。
  • Tritonに依存しており、GPU固有の依存関係一式が追加されます。

トピック

#large-language-model#llm#transformers#triton#pytorch#efficient-inference#ternary-weights#linear-transformer

よくある質問

matmulfreellm とは?
行列乗算を三値重みと加算演算に置き換える、Hugging Face Transformers互換のMatMul-free言語モデルのオープンソース実装。 MatMul-Free LMは、モデルから行列乗算(MatMul)を取り除き、大規模言語モデルの計算コスト削減を目指す言語モデルアーキテクチャです。このリポジトリにはHugging Face Transformersライブラリに組み込めるPyTorch実装が用意されており、AutoModelでモデルを初期化して、標準の生成APIを利用できます。
matmulfreellm は無料で使えますか?ライセンスは?
matmulfreellm は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
matmulfreellm は今もメンテナンスされていますか?
半年以内に更新あり。matmulfreellm の最終コミットは 2026年9月6日 です。
matmulfreellm は何に使えますか?
MatMulを使わない効率的な言語モデルアーキテクチャの研究 Transformersのツールを使った、GPU上での三値重みLLMの実験 カスタムデータを使ったMatMul-freeモデルの事前学習やファインチューニング LLM向けニューロモーフィックハードウェアや低計算量ハードウェアの検討
matmulfreellm のインストール方法は?
必要な依存関係をインストールします:PyTorch 2.0以降、Triton 2.2以降、einops GitHubからライブラリを直接インストールします: pip install -U git+https://github.com/ridgerchu/matmulfreellm
matmulfreellm はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/ridgerchu/matmulfreellm

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト