Repolode
mosecorg

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. 1

    PyPIからmosecパッケージをインストールします

    pip install -U mosec
  2. 2

    diffusersとtransformersの前提パッケージをインストールします(stable diffusionの例を実行する場合のみ必要)

    pip install --upgrade diffusers[torch] transformers
  3. 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 の数値は毎日更新されます。

関連プロジェクト