llama.cppをベースにした、1-bit(ternary、1.58-bit)LLM向けMicrosoft公式のCPU/GPU推論フレームワーク。
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
pipでPythonパッケージをインストールする
pip install ctranslate2 - 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 の数値は毎日更新されます。
関連プロジェクト
CPU推論の高速化に重点を置いたllama.cppのフォーク。追加の量子化方式や、GGUF LLMをローカルで実行する機能を備えています。
OpenAIおよびAnthropic互換APIを提供するRust製LLM推論エンジン。量子化、マルチモーダルモデル、エージェント向けツールに対応。
学習と推論サービングの両方を対象に、量子化、スパース化、float8学習を提供するPyTorchネイティブのライブラリ。
量子化、プルーニング、スパース化でニューラルネットワークを圧縮し、OpenVINO、PyTorch、ONNXでの推論を高速化するPythonフレームワーク。
OpenAI互換APIで大規模言語モデルを実行・提供する、高速でメモリ効率に優れたライブラリ兼サーバー。