AIモデルの推論API、マルチモデルパイプライン、LLMアプリの構築・提供に使えるPythonライブラリ。DockerやKubernetesへのデプロイにも対応。
mosecorg/mosec
Rust製のWebレイヤーを備えたPython向けMLモデルサービングフレームワーク。オンライン推論API向けに動的バッチ処理とCPU/GPUステージのパイプラインを提供します。
- スター
- 902
- フォーク
- 75
- 未解決の Issue
- 13
- 最終コミット
- 4 日前
これは何?
Mosecは、学習済みの機械学習モデルをオンラインHTTPサービスとして提供するためのモデルサービングフレームワークです。Webレイヤーとタスクの調整機能はRustで実装され、サービスのロジックはPythonで定義します。そのため、特定のMLフレームワーク向けに書き換えることなく、オフラインテストで使った推論コードをそのままサービスとして提供できます。
設定した最大バッチサイズや待機時間に応じて、同時に届いたリクエストをまとめてバッチ処理し、結果を各クライアントに返します。マルチステージパイプラインでは、別々のプロセスでCPUによる前処理とGPUによる推論を実行でき、ステージごとにワーカー数を調整できます。モデルのウォームアップ、グレースフルシャットダウン、Prometheusメトリクス、OpenAPIドキュメントの生成などの機能を備え、Kubernetesやその他のコンテナオーケストレーター上での実行を想定して設計されています。
MosecはLinuxとmacOS向けにPyPIおよびconda-forgeからインストールできます。サンプルでは、PyTorch、JAX、Stable Diffusionのモデルに加え、OpenAI互換の埋め込み・リランキングサービスを扱っています。
主な機能
- 01最大バッチサイズまたは待機時間に基づき、同時リクエストをまとめる動的バッチ処理。
- 02CPU処理とGPU処理を別々のプロセスで実行するマルチステージパイプライン。
- 03Rust製のWebレイヤーと、ワーカーを記述するための純粋なPythonインターフェース。
- 04本番環境向けのモデルウォームアップ、グレースフルシャットダウン、Prometheusメトリクス。
- 05提供するエンドポイントのOpenAPIドキュメントを自動生成。
- 06MsgpackおよびJSONによるシリアライズと、共有メモリIPCへの対応。
ユースケース
- PyTorchまたはStable Diffusionのモデルを、GPUでのバッチ推論に対応したHTTP APIとして提供する。
- 前処理とモデル実行を分離するマルチステージ推論サービスを構築する。
- OpenAI互換の埋め込みまたはリランキング用エンドポイントを、Kubernetes上のコンテナにデプロイする。
クイックスタート
- 1
PyPIからmosecパッケージをインストールします
pip install -U mosec - 2
diffusersとtransformersの前提パッケージをインストールします(stable diffusionの例を実行する場合のみ必要)
pip install --upgrade diffusers[torch] transformers - 3
プロジェクトのルートディレクトリからstable diffusionのサンプルサーバーを起動します
python examples/stable_diffusion/server.py --log-level debug --timeout 30000
使う前に知っておきたいこと
- pipによるインストールはLinuxまたはmacOSのみでサポートされています。
- Python 3.7以上が必要です。
収録されている特集
トピック
よくある質問
- mosec とは?
- Rust製のWebレイヤーを備えたPython向けMLモデルサービングフレームワーク。オンライン推論API向けに動的バッチ処理とCPU/GPUステージのパイプラインを提供します。 Mosecは、学習済みの機械学習モデルをオンラインHTTPサービスとして提供するためのモデルサービングフレームワークです。Webレイヤーとタスクの調整機能はRustで実装され、サービスのロジックはPythonで定義します。そのため、特定のMLフレームワーク向けに書き換えることなく、オフラインテストで使った推論コードをそのままサービスとして提供できます。
- mosec は無料で使えますか?ライセンスは?
- mosec は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- mosec は今もメンテナンスされていますか?
- 活発にメンテナンス中。mosec の最終コミットは 2026年11月2日 です。
- mosec は何に使えますか?
- PyTorchまたはStable Diffusionのモデルを、GPUでのバッチ推論に対応したHTTP APIとして提供する。 前処理とモデル実行を分離するマルチステージ推論サービスを構築する。 OpenAI互換の埋め込みまたはリランキング用エンドポイントを、Kubernetes上のコンテナにデプロイする。
- mosec のインストール方法は?
- PyPIからmosecパッケージをインストールします: pip install -U mosec diffusersとtransformersの前提パッケージをインストールします(stable diffusionの例を実行する場合のみ必要): pip install --upgrade diffusers[torch] transformers プロジェクトのルートディレクトリからstable diffusionのサンプルサーバーを起動します: python examples/stable_diffusion/server.py --log-level debug --timeout 30000
- mosec はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/mosecorg/mosec
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
バージョン管理されたgRPCおよびHTTP推論エンドポイントを備え、本番環境で機械学習モデルを高性能に提供するシステムです。
複数のMLフレームワークに対応し、予測AIモデルと生成AIモデルを大規模にデプロイ・サービングするKubernetesネイティブのプラットフォーム。
実験管理、データセットのバージョン管理、パイプライン、オーケストレーション、スケジューリング、モデルサービングを網羅するオープンソースのMLOps/LLMOpsスイート。
Modular Platformは、AIモデルの開発とデプロイに向けた、MAX AI frameworkとMojo programming languageのオープンソース基盤です。
TensorRT、PyTorch、ONNX、OpenVINOなどのAIモデルをHTTP/RESTとgRPCでデプロイできるオープンソース推論サーバー。