CTranslate2
github
GPT-4.icon
CTranslate2は、Transformerモデルで効率的な推論を実現するためのC++およびPythonライブラリです。このプロジェクトは、重み量子化、レイヤー融合、バッチ並べ替えなど、多くのパフォーマンス最適化技術を適用するカスタムランタイムを実装しており、CPUおよびGPU上でTransformerモデルの加速とメモリ使用量の削減を実現します。
CTranslate2は、エンコーダー・デコーダーモデル(例:Transformer、M2M-100、NLLB、BARTなど)、デコーダーのみのモデル(例:GPT-2、GPT-J、GPT-NeoXなど)、エンコーダーのみのモデル(例:BERT、DistilBERT、XLM-RoBERTaなど)をサポートしています。
このライブラリは、OpenNMT-py、OpenNMT-tf、Fairseq、Marian、OPUS-MT、Transformersなど、複数のフレームワーク用のコンバーターを含んでいます。プロジェクトは生産指向で、後方互換性の保証がありますが、モデル圧縮や推論加速に関連する実験的な機能も含まれています。
主な特徴としては、CPUとGPUの両方で高速かつ効率的な実行、量子化と精度の低減、複数のCPUアーキテクチャのサポート、CPUの自動検出とコードディスパッチ、並列および非同期実行、動的なメモリ使用、ディスク上での軽量性、シンプルな統合、設定可能でインタラクティブなデコードなどが挙げられます。
これらの特徴は、標準的なディープラーニングフレームワークでは実現が難しく、このプロジェクトの動機となっています。
背景知識が飛ぼすぎて何を言ってるのかわからんmrsekut.icon