Repolode
OpenNMT

OpenNMT/CTranslate2

量子化と最適化カーネルにより、Whisper、Llama、NLLBなどのTransformerモデルを高速かつ省メモリで実行するC++・Pythonライブラリ。

スター
4,716
フォーク
547
未解決の Issue
281
最終コミット
4 時間前

これは何?

CTranslate2は、Transformerモデルの推論を実行するためのC++・Pythonライブラリです。重みの量子化、レイヤーの融合、バッチの並べ替えなどの最適化を適用する独自ランタイムにより、CPUとGPUの両方でレイテンシとメモリ使用量を削減します。

エンコーダー・デコーダーモデル(NLLB、M2M-100、T5、Whisperなど)、デコーダー専用モデル(GPT-2、GPT-J、Llama、Mistral、Gemma、Qwen2など)、エンコーダー専用モデル(BERT、DistilBERT、XLM-RoBERTa)に対応しています。モデルは事前にCTranslate2の最適化フォーマットへ変換する必要があり、OpenNMT-py、OpenNMT-tf、Fairseq、Marian、OPUS-MT、Hugging Face Transformers向けのコンバーターが用意されています。

x86-64およびARM64プロセッサに対応し、Intel MKL、oneDNN、OpenBLAS、Ruy、Apple Accelerateなどのバックエンドを利用できます。また、依存関係を抑えたPython APIとC++ APIを提供します。

主な機能

  • 01重みをFP16、BF16、INT8、INT16、AWQ INT4に量子化できます。
  • 02CPUとGPUで動作し、複数のGPUまたはコアを使った並列・非同期のバッチ処理にも対応します。
  • 03実行時にAVXやAVX2などのCPU命令セットを自動選択します。
  • 04テンソル並列処理により、非常に大きなモデルを複数のGPUに分割できます。
  • 05Python APIとC++ APIを提供し、prefix completionや複数の出力候補などの高度なデコードに対応します。

ユースケース

  • 汎用フレームワークより低レイテンシ・省メモリで機械翻訳モデルをサービングする。
  • CPUまたはGPUサーバーでWhisperによる音声認識やLlama系LLMを実行する。
  • ARMやAppleのハードウェアに量子化済みTransformerモデルをデプロイする。
  • OpenAI互換のWebサーバーと組み合わせ、使い慣れたAPIでCTranslate2モデルを公開する。

クイックスタート

  1. 1

    pipでPythonパッケージをインストールする

    pip install ctranslate2
  2. 2

    変換済みモデルを読み込み、Pythonで翻訳または生成を実行する

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

  • 使用前に、対応フレームワークのモデルをCTranslate2形式に変換する必要があります。
  • AMD ROCm GPUのサポートには、リリースページにある特定のwheelが必要です。

トピック

よくある質問

CTranslate2 とは?
量子化と最適化カーネルにより、Whisper、Llama、NLLBなどのTransformerモデルを高速かつ省メモリで実行するC++・Pythonライブラリ。 CTranslate2は、Transformerモデルの推論を実行するためのC++・Pythonライブラリです。重みの量子化、レイヤーの融合、バッチの並べ替えなどの最適化を適用する独自ランタイムにより、CPUとGPUの両方でレイテンシとメモリ使用量を削減します。
CTranslate2 は無料で使えますか?ライセンスは?
CTranslate2 は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
CTranslate2 は今もメンテナンスされていますか?
活発にメンテナンス中。CTranslate2 の最終コミットは 2026年10月22日 です。
CTranslate2 は何に使えますか?
汎用フレームワークより低レイテンシ・省メモリで機械翻訳モデルをサービングする。 CPUまたはGPUサーバーでWhisperによる音声認識やLlama系LLMを実行する。 ARMやAppleのハードウェアに量子化済みTransformerモデルをデプロイする。 OpenAI互換のWebサーバーと組み合わせ、使い慣れたAPIでCTranslate2モデルを公開する。
CTranslate2 のインストール方法は?
pipでPythonパッケージをインストールする: pip install ctranslate2 変換済みモデルを読み込み、Pythonで翻訳または生成を実行する
CTranslate2 はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/OpenNMT/CTranslate2

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

関連プロジェクト