l8l技術メモ

機械学習・深層学習・組込みとかのメモ

メモ:機械学習モデルのデプロイ手段(エンドポイントの用意の手段)

メモ:

 

機械学習モデルのデプロイのの手段。モデルのロードはマシンごとに初めに済ます、という要件がある。

 

* (何らかのライブラリを用いて)webAPIを自身で作成する

* gRPCを使う

RPCはRESTと同じくWeb APIを実現するための手法です。各サービス間の連携方法として広く採用されているのはRESTですが、RESTは一定の原則こそあるものの、複雑で自由度が高くベストプラクティス的なものがほぼ存在しません。

 一方、RPCは仕様がすでに決まっていることが多く、開発者は考慮するべき点が絞られるため本来集中すべき開発に時間を割くことができます。

> https://qiita.com/jumpyoshim/items/a027f2f18f926d975683#rest-vs-rpc

* TensorRTなどのDeploy(推論)用ライブラリを用いる。

  画像認識などcommonタスクなら、ソース例があって便利そう。TensorRTでは、gRPCとHTTPのエンドポイントが用意できる。

The NVIDIA TensorRT Inference Server provides a cloud inferencing solution optimized for NVIDIA GPUs. The server provides an inference service via an HTTP or GRPC endpoint, allowing remote clients to request inferencing for any model being managed by the server.

https://docs.nvidia.com/deeplearning/sdk/tensorrt-inference-server-guide/docs/

* クラウドプラットフォームを用いる(詳細知らず)

  https://cloud.google.com/ml-engine/docs/tensorflow/deploying-models?hl=ja