画像分類などのビジョンタスク向けに、Vision Transformer(ViT)と多数の派生モデルを実装したPyTorchライブラリです。
lucidrains/vector-quantize-pytorch
VQ-VAEなどの離散潜在モデルの学習に使える、ベクトル・残差・スカラー・Lookup-Free量子化レイヤーを実装したPyTorchライブラリ。
- スター
- 4,019
- フォーク
- 342
- 未解決の Issue
- 74
- 最終コミット
- 29 日前
これは何?
vector-quantize-pytorchは、PyTorch用の量子化レイヤーをすぐに使える形で提供するPythonパッケージです。ベクトル量子化は、連続値のニューラルネットワーク特徴量を学習可能な離散コード集合に対応付ける手法で、画像・音声・動画生成モデルのVQ-VAEなどで使われます。このライブラリには、論文をもとに一から実装する代わりに、数行のコードでモデルに組み込める量子化レイヤーがまとめられています。
中核となるVectorQuantizeクラスは、指数移動平均でコードブックを更新し、量子化された出力、コードのインデックス、コミットメント損失を返します。さらに、複数の量子化器を積み重ねるResidualVQやGroupedResidualVQに加え、k-meansによるコードブックの初期化、コサイン類似度による距離計算、使用されないコードの失効、勾配の伝播に使うrotation trickやDiVeQなどのオプションを備えています。また、SimVQ、Finite Scalar Quantization(FSQ)、Lookup-Free Quantization(LFQ)、Latent Quantization、音声の自己教師あり学習向けのランダム射影量子化器といった別方式も利用できます。
各量子化器には、インデックスをコードに戻すメソッドがあり、生成したトークンのデコードに役立ちます。パッケージはpipでインストールでき、ライセンスはMITです。
主な機能
- 01EMAによるコードブック更新とコミットメント損失に対応したベクトル量子化レイヤー。
- 02複数のコードブックを積み重ねる残差量子化器およびグループ化残差量子化器。
- 03k-meansによる初期化、コサイン類似度による距離計算、使用されないコードの失効に対応。
- 04straight-through estimator、rotation trick、DiVeQなどの勾配伝播方式。
- 05FSQ、LFQ、Latent Quantization、SimVQといったスカラー量子化系の方式。
ユースケース
- PyTorchでVQ-VAEやVQ-GAN形式の画像・音声トークナイザーを学習する。
- ニューラル音声コーデック向けの残差量子化を構築する。
- 離散表現の研究で、コードブック崩壊への対処法を試す。
- マスク音声の事前学習向けにランダム射影量子化器を作成する。
クイックスタート
- 1
PyPIからパッケージをインストールする
pip install vector-quantize-pytorch - 2
VectorQuantizeをインポートし、ランダムなテンソルに適用する
使う前に知っておきたいこと
- 提供されるのはVQレイヤーのみです。周辺のモデルは自分で構築し、学習させる必要があります。
- PyTorchが必要です。また、READMEの例ではPyTorchが正常にインストールされていることを前提としています。
トピック
よくある質問
- vector-quantize-pytorch とは?
- VQ-VAEなどの離散潜在モデルの学習に使える、ベクトル・残差・スカラー・Lookup-Free量子化レイヤーを実装したPyTorchライブラリ。 vector-quantize-pytorchは、PyTorch用の量子化レイヤーをすぐに使える形で提供するPythonパッケージです。ベクトル量子化は、連続値のニューラルネットワーク特徴量を学習可能な離散コード集合に対応付ける手法で、画像・音声・動画生成モデルのVQ-VAEなどで使われます。このライブラリには、論文をもとに一から実装する代わりに、数行のコードでモデルに組み込める量子化レイヤーがまとめられています。
- vector-quantize-pytorch は無料で使えますか?ライセンスは?
- vector-quantize-pytorch は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- vector-quantize-pytorch は今もメンテナンスされていますか?
- 活発にメンテナンス中。vector-quantize-pytorch の最終コミットは 2026年9月24日 です。
- vector-quantize-pytorch は何に使えますか?
- PyTorchでVQ-VAEやVQ-GAN形式の画像・音声トークナイザーを学習する。 ニューラル音声コーデック向けの残差量子化を構築する。 離散表現の研究で、コードブック崩壊への対処法を試す。 マスク音声の事前学習向けにランダム射影量子化器を作成する。
- vector-quantize-pytorch のインストール方法は?
- PyPIからパッケージをインストールする: pip install vector-quantize-pytorch VectorQuantizeをインポートし、ランダムなテンソルに適用する
- vector-quantize-pytorch はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/lucidrains/vector-quantize-pytorch
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
モバイル、組み込み機器、デスクトップで深層学習モデルを実行するための、高性能なC++ニューラルネットワーク推論フレームワークです。
事前学習、ファインチューニング、評価、サービングに対応する、20種類以上のオープンウェイトモデルをスクラッチ実装したPyTorchベースのLLMツールキット。
画像(および1Dシーケンス)生成モデルを学習するための、Denoising Diffusion Probabilistic ModelsのPyTorch実装。
書籍『Build a Large Language Model (From Scratch)』のサンプルコード。PyTorchでGPT風LLMを段階的に実装します。
Microsoftによる12週間・全24レッスンの初学者向けAIカリキュラム。記号AI、ニューラルネットワーク、コンピュータービジョン、NLP、倫理を扱い、PyTorchとTensorFlowのノートブックを提供します。