質問: AIシステムの「本番環境」の構築には、何が必要でしょうか? 現在、AIモデルをプロトタイプ開発していまして、うまくいけば、ゆくゆくは 実行環境も作りたいなと考えています。 既存のシステムにAI機能を組み込むということを考えていきたいのですが、 Pythonで作ったAIモデルを「推論」するための実行環境を作るには、 どうすればよいかを明らかにしたいと考えています。 本番環境とは、学習済みの推論モデルを実行させることだと考えています。 学習は済んでいる前提です。 実行環境という表現も、本番環境という意味で使っています。 学習はPCで行っていますが、サーバーなどにデプロイする際には、 何が必要なのかのイメージがついていません。 AIモデルのプロトタイプ開発は、Windows10のハイスペックなPCで、 Anaconda、JupyterNotebookで、Python、Tensorflow-gpu + Kerasで 行っています。 具体的な疑問としては、 ➀(学習ではなく)推論モデルの実行環境を構築するのには、サーバーに Anaconda、venvやnvidia-Dockerなどで仮想環境を作るものなのでしょうか? ➁仮想環境にあるプログラムを、外側からコールすることはできるのでしょうか? Pythonプログラムを、他の言語(Javaなど)からコールするような イメージでしょうか?既存のシステムはおそらくJavaだと思います。 コールの仕方はどこかで紹介されてたりしますか? ➂AIインフラの構築を請け負う会社などがあったりするのでしょうか? AIインフラエンジニアの募集するという話でしょうか? 「私できます。」みたいな方はいるのでしょうか? (→いるとお伺いしました。) ➃AWSなどのクラウドサービスの活用も考えられると思いますが、 参考になるような情報はありますでしょうか? (最初に質問を書いた時には、混乱して意味不明な質問だったかと思いますが、 ご回答いただいた内容を自分なりに整理して、AWSを活用して、 出来そうなイメージがわいてきました。 ということで何か参考になるような情報がありましたら、お願い致します。 一応、SageMakerでmnistのプログラムをWebAPIにデプロイするところまでは 実際にやってみています。 ただ、AWSを使わずに自前でできれば、それに越したことはないので、 自前でやる選択肢についてもまだ考えたいと思っています。 とはいうものの、「クラウドの方がいいよ。」というご意見があれば、 クラウドを使った実装ももちろん、考えています。ご意見をいただければ幸いです。) ⓹(AWSを使わない場合でも)実行環境の構築は、Linuxが一般的でしょうか? やはりPCではなく、サーバーを使って構築するようなものでしょうか? サーバーは、そこまで詳しくはないですが、勉強するつもりです。 まったくわからないわけでもありません。 「開発環境」構築については、ネットでも情報があるようですが、 「実行環境」の構築については情報が少なく、情報収集したいと思っています。 完全な回答でなくて全然構わないので、考えるきっかけ、ヒントをいただけたらと 思っています。宜しくお願い致します。
回答: > > ⓵モデルの(学習ではなく)実行にも、KerasやTensorflowのパッケージが必要でしょうか? > > 必要な場合、Anacondaやvenvなどで仮想環境を作るものでしょうか? > > 実行環境の構築には、nvidia-Dockerを使いますか? > > > 「学習環境」と「実行環境」に違いはありませんので、「実行環境」も「学習環境」と同様にセットアップしてください。 > > ⓶実行環境は、Pythonプログラムを、他の言語(Javaなど)からコールするような > > イメージでしょうか? > > コールの仕方はどこかで紹介されてたりしますか? > > 仮想環境にあるプログラムを、外側からコールすることはできるのでしょうか? > > > 「Web API」「RESTful API」といったキーワードで Google 検索してみてください。 > > ⓷AIインフラの構築を請け負う会社などがあったりするのでしょうか? > > AIインフラエンジニアの募集するという話でしょうか? > > 私できます、みたいな方はいるのでしょうか? > > > 「AIインフラエンジニア」という職種は存在しませんが、「MLOpsエンジニア」がそれに近いかもしれません。 > > ⓸クラウドサービス(AWSなど)の活用も考えられますが、 > > 既存システムに組み込むということが、ネットワーク経由するAWSと > > できるものでしょうか? > > > はい、可能です。 > > ⓹(AWSを使わない場合でも)実行環境の構築は、Linuxが一般的でしょうか? > > やはりPCではなく、サーバーを使って構築するようなものでしょうか? > > > Linux サーバーを使うのが一般的です。 開発環境(学習環境)も Windows ではなく Linux を使うことをおすすめします。 Windows で学習したモデルを Linux で実行することも可能ですが、環境の違いによる問題が発生しないとも限らないのでおすすめしません。