monatis/clip.cpp

CLIP inference in plain C/C++ with no extra dependencies

何を解決するか

clip.cpp は、OpenAI の CLIP(対照的言語-画像事前学習)モデルの軽量で依存関係のない C/C++ 実装です。計算能力やメモリが限られたデバイス、たとえば冷間起動を回避するために起動時間が短いことが重要なサーバーレス環境で CLIP 推論を実行できるようにします。

仕組み

GGML ライブラリに基づいて構築されており、OpenAI および LAION のモデルを GGUF 形式でサポートする高性能な推論エンジンを提供します。4ビット、5ビット、8ビットの量子化を実装し、モデルサイズを大幅に削減します(たとえば、4ビット量子化モデルはたった 85.6 MB まで小さくできます)。システムはテキスト専用、ビジョン専用、および標準の二塔型アーキテクチャの3つのモデルバリアントをサポートしています。

対象ユーザー

メモリ制約のあるデバイスやサーバーレスデプロイメント向けのアプリケーションを開発している開発者、PyTorch や TensorFlow などの大規模な ML フレームワークの代替として高速で軽量なソリューションが必要な方々。

特徴

  • ゼロ依存: 重い ML ライブラリを一切必要としない純粋な C/C++ 実装。
  • 量子化対応: 4ビット、5ビット、8ビットの量子化によりメモリ使用量を削減。
  • Python バインディング: NumPy やその他のサードパーティパッケージを必要とせず、ctypes を通じて Python からアクセス可能。
  • 多様な用途: ゼロショット画像ラベル付けやセマンティック画像検索のための組み込み例を提供。
  • 高速起動: サーバーレス環境における低遅延の冷間起動を最適化。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト