AIパーソナル・ラーニング
と実践的なガイダンス
アリが描いたカエル

LitServe:エンタープライズグレードの汎用AIモデル推論サービスの迅速な展開

はじめに

LitServeは AIは、FastAPI上に構築されたオープンソースのAIモデル・サービス・エンジンを発表した。大規模言語モデル(LLM)、ビジュアルモデル、オーディオモデルから古典的な機械学習モデルまで、幅広いシナリオをサポートし、バッチ処理、ストリーミング、GPU自動スケーリングを提供し、FastAPIと比較して少なくとも2倍の性能向上を実現します。 LitServeは使いやすく柔軟性が高く、セルフホスティングまたはLightning Studiosを介したフルホスティングが可能です。LitServeは使いやすく柔軟性が高く、Lightning Studiosを通じてセルフホストまたはフルホストすることができるため、研究者、開発者、企業が効率的なモデル推論APIを迅速に構築するのに理想的です。LitServeは、セキュリティ、スケーラビリティ、高可用性といったエンタープライズクラスの機能を重視しており、本番環境がすぐに利用できるようになっています。

LitServe:エンタープライズグレードの汎用AIモデル推論サービスを迅速に展開-1


 

機能一覧

  • 推論サービスの迅速な展開PyTorch、JAX、TensorFlowなどのフレームワークからAPIへのモデルの高速変換をサポート。
  • バッチファイルスループットを向上させるために、複数の推論要求をバッチにまとめる。
  • ストリーミングリアルタイムでの推論結果ストリーム出力をサポート。
  • GPUオートスケーリング推論負荷に応じてGPUリソースを動的に調整することで、パフォーマンスを最適化します。
  • 複合AIシステム複雑なサービスを構築するために、複数のモデルが共同で推論できるようにする。
  • セルフホスティングとクラウドホスティングLightning Studiosのクラウドを利用したローカルデプロイメントまたは管理をサポートします。
  • vLLMとの統合大規模言語モデルの推論性能を最適化する。
  • OpenAPI対応テストと統合を容易にするために、標準的なAPIドキュメントを自動的に生成します。
  • フルモデルサポートLLM、ビジョン、オーディオ、エンベッディングなど、様々なモデルの推論ニーズをカバー。
  • サーバーの最適化マルチプロセス処理と推論をFastAPIの2倍以上高速化。

 

ヘルプの使用

設置プロセス

LitServeはPythonの ピップ このツールは仕事をする。以下はその詳細な手順である:

1.環境を整える

Python 3.8以降がシステムにインストールされていることを確認してください:

python -m venv venv
ソース venv/bin/activate # Linux/Mac
venv/bin/activate # Windows

2.LitServeのインストール

以下のコマンドを実行して安定版をインストールする:

pip install litserve

最新の機能が必要な場合は、開発版をインストールしてください:

pip install git+https://github.com/Lightning-AI/litserve.git@main

3.設備の検査

成功したことを確認する:

python -c "import litserve; print(litserve.__version__)"

バージョン番号の出力に成功すれば、インストールは完了です。

4.オプションの依存関係

GPUサポートが必要な場合は、例えば対応するフレームワークのGPUバージョンをインストールしてください:

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121

LitServeの使い方

LitServeは、クリーンなコードによってAIモデルを推論サービスに変える。その詳しい仕組みは以下の通りだ:

1.シンプル推論サービスの創設

以下は、2つのモデルを持つ複合推論サービスの例です:

lsとしてlitserveをインポートする
class SimpleLitAPI(ls.)
def setup(self, device).
#初期化、モデルまたはデータのロード
self.model1 = lambda x: x ** 2 #正方形モデル
self.model2 = lambda x: x ** 3 #立方体モデル
def decode_request(self, request).
# リクエストデータをデコードする
return request["input"].
def predict(self, x).
#複合推論
squared = self.model1(x)
cubed = self.model2(x)
return squared + cubed
def encode_response(self, output).
# 推論結果をフォーマットする
return {"output": output}.
if __name__ == "__main__": server = ls.
server = ls.LitServer(SimpleLitAPI(), accelerator="auto")
server.run(port=8000)
  • うごきだす名前を付けて保存 server.py実施 python server.py.
  • 試験の使用 カール 推論要求を送信する:
    curl -X POST "http://127.0.0.1:8000/predict" -H "Content-Type: application/json" -d '{"input": 4.0}'
    

    出力:{"output": 80.0}(16 + 64).

2.一括推論を可能にする

バッチ処理をサポートするようにコードを修正する:

server = ls.LitServer(SimpleLitAPI(, max_batch_size=4, accelerator="auto")
  • 操作説明::max_batch_size=4 最大4つの推論要求が同時に処理され、効率向上のために自動的にマージされることを示す。
  • 試験方法リクエストを複数回送信し、スループットの向上を観察する:
    curl -X POST "http://127.0.0.1:8000/predict" -H "Content-Type: application/json" -d '{"input": 5.0}'
    

3.ストリーミング推論の設定

リアルタイムの推論シナリオのために:

class StreamLitAPI(ls.LitAPI).
def setup(self, device): self.model = lambda x: [x * i for i in range(5)]].
self.model = lambda x: [x * i for i in range(5)].
def decode_request(self, request): return request["input"].
return request["input"].
def predict(self, x): for result in self.model(x)
for result in self.model(x): yield 結果
結果を返す
def encode_response(self, output): return {"output": {"出力": {"入力"]].
return {"output": output}.
server = ls.LitServer(StreamLitAPI(), stream=True, accelerator="auto")
server.run(port=8000)
  • 操作説明::stream=True ストリーミング推論を可能にする予測 利用する 収量 結果を一つずつ返す。
  • 試験方法ストリーミング応答をサポートするクライアントを使用する:
    curl --no-buffer -X POST "http://127.0.0.1:8000/predict" -H "Content-Type: application/json" -d '{"input": 2}'
    

4.GPUの自動拡張

GPUが利用可能な場合、LitServeは自動的に推論を最適化する:

  • 操作説明::アクセラレーター="自動" GPUの検出と優先順位付け。
  • 糺すGPUの使用状況を確認するために、実行後にログをチェックしてください。
  • 環境要件GPU 版のフレームワーク(例:PyTorch)がインストールされていることを確認してください。

5.複雑なモデル推論の展開(BERTを例にして)

Hugging Face の BERT モデル推論サービスを展開する:

from transformers import BertTokenizer, BertModel
ls として litserve をインポート
class BertLitAPI(ls.)
def setup(self, device): self.tokenizer = BertTokenizer.
self.tokeniser = BertTokenizer.from_pretrained("bert-base-uncased")
self.model = BertModel.from_pretrained("bert-base-uncased").to(device)
def decode_request(self, request).
return request["text"].
def predict(self, text).
input = self.tokeniser(text, return_tensors="pt").to(self.model.device)
outputs = self.model(**inputs)
return outputs.last_hidden_state.mean(dim=1).tolist()
def encode_response(self, outputs): {"embedding": outputs.last_hidden_state.mean(dim=1.tolist)
return {"embedding": output}.
server = ls.LitServer(BertLitAPI(), accelerator="auto")
server.run(port=8000)
  • うごきだすスクリプト実行後 http://127.0.0.1:8000/predict.
  • 試験::
    curl -X POST "http://127.0.0.1:8000/predict" -H "Content-Type: application/json" -d '{"text": "こんにちは、世界!"}'
    

6.LLM推論を展開するためのvLLMの統合

大規模言語モデルのための効率的な推論

ls として litserve をインポートする
から ヴルム インポート LLM
class LLMLitAPI(ls.LitAPI): def setup(self, device).
def setup(self, device): self.model = LLM(model="meta-llama/Llama-3.2-1B")
self.model = LLM(model="meta-llama/Llama-3.2-1B", dtype="float16")
def decode_request(self, request):
return request["prompt"].
def predict(self, prompt).
outputs = self.model.generate(prompt, max_tokens=50)
return outputs[0].outputs[0].text
def encode_response(self, output): return {"response": outputs[0].
return {"response": output}.
server = ls.LitServer(LLMLitAPI(), accelerator="auto")
server.run(port=8000)
  • vLLMのインストール::pip install vllm.
  • 試験::
    curl -X POST "http://127.0.0.1:8000/predict" -H "Content-Type: application/json" -d '{"prompt": "AIとは何ですか?"}'
    

7.APIドキュメントを見る

  • 操作説明アクセス http://127.0.0.1:8000/docsインタラクティブテスト推論サービス。
  • 機能のヒントOpenAPI標準に基づき、すべてのエンドポイントの詳細を含む。

8.ホスティング・オプション

  • 自ホストローカルまたはサーバー上でコードを実行します。
  • クラウドホスティングLightning Studios経由でデプロイされ、アカウント登録が必要。ロードバランシング、オートスケーリングなどを提供。

操作のヒント

  • テスト中にコンポーネントを調整する設定 タイムアウト=60 推論のタイムアウトを避ける。
  • ログトラブルシューティングのために、起動時のターミナルログをチェックしてください。
  • 最適化認証やDockerデプロイなどの高度な機能を有効にするには、公式ドキュメントを参照してください。

LitServeは、推論サービスの迅速な展開と最適化を通じて、プロトタイピングからエンタープライズクラスのアプリケーションまで、あらゆるプロセス要件をサポートします。

シーディーエヌワン
無断転載を禁じます:チーフAIシェアリングサークル " LitServe:エンタープライズグレードの汎用AIモデル推論サービスの迅速な展開

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語