小さく始めて、小さく続ける。小さく始めて、小さく続ける。コピー2021.01.01目次MLOpsとエコシステムプラットフォームGoogleAmazonMicrosoftライブラリTensorFlowPyTorch状況に合わせてベストプラクティスを探すMLOpsとエコシステムMLOpsは、幅広い意味で使われますが、簡単に言えば、データサイエンティストや開発者が協力して、機械学習やAIの開発、運用を円滑に行うことです。learningとoperationsを合わせた言葉です。learningの要素が加わると考えることができると思います。近年、機械学習やAIの様々な領域への導入が進んでいます。MLOpsのワークフローには色々なものがあります。機械学習のモデル学習モデル評価モデルデプロイモデルモニタリング更新(改善)という一連の流れを繰り返す、というものが考えられます。このワークフローで使用されるツールやプラットフォームには、様々なものが出てきており、多様なエコシステムを築き上げています。今日は、Google、Amazon、Microsoftの各社が提案しているプラットフォームTensorFlow、PyTorchの各ライブラリが提供しているツールという面から、MLOpsへの活用が考えられる環境を見ていきます。プラットフォームIT業界の巨大企業は、2021年時点で、多くがMLOps向けのプラットフォームを提供しています。その中でも、GoogleAmazonMicrosoftが知られています。Pipelinesがあります。(GCP)は、Googleが提供しているクラウドコンピューティングサービスです。これまで、GoogleはGCPを通して、ソフトウェア開発向けのツール、データベース管理ツールなど幅広いツールを提供しています。Pipelinesが公開されました。Pipelinesでは、GCPの各種サービスとKubeflowなどのツールを組み合わせて使うことで、MLOpsのデータ分析、機械学習のモデル学習、モデルデプロイ、モデルモニタリングといった幅広いワークフローを管理することができるとされています。Kubeflowは、オープンソースの機械学習プラットフォームです。同様の機能を提供するものには、AirflowやMLflowなどがあります。Pipelinesはまだベータ版ですが、GCPやKubeflowの活用シーンは増えているため、今後広く使われるようになるかもしれません。SageMakerがあります。AWSのサービスの一つとして、SageMakerが提供されています。MonitorやPipelinesなどの機能があり、MLOpsの幅広いワークフローをカバーできるとされています。AWSには、SageMaker以外にも、MLOpsに活用できるサービスが色々あります。フレームワークなどです。Comprehenは、自然言語処理に関する機械学習のサービスです。フレームワークを活用すると、学習済みモデルのデプロイ以降の手順をサポートできます。GoogleのGCP、AmazonのAWSに相当するものが、MicrosoftのAzureです。Pipelinesなどを組み合わせて使うことで、MLOpsのワークフローを扱います。ライブラリここまで、MLOps環境をややビジネス寄りで見てきましたが、プログラミングコードを書くという出発点から、MLOpsのエコシステムを理解することもできます。機械学習やAIの研究開発では、JuliaやRといったプログラミング言語が使われることはあるものの、主流はPythonです。Pythonの機械学習ライブラリ、ディープラーニングライブラリとして広く使用されているものが、TensorFlowPyTorchです。TensorFlowTensorFlowは、Googleが公開したオープンソースの機械学習用ライブラリです。PythonやJavaScriptなどでディープラーニングをはじめとした機械学習のモデルを作成、学習させる時に活用されています。ServingKerasなどがあります。TFXは、TensorFlowを機械学習の実運用まで拡張させる試みです。先に紹介した、Kubeflowと組み合わせてMLOpsの環境を構築する提案がされています。Hubは、学習済みモデルのレポジトリ(格納場所)として使用できます。他の研究者や開発者が学習したモデルを簡単に活用できるようになります。Servingを用いることで、TensorFlowで作った学習済みモデルを簡単にデプロイすることができるとされています。Kerasは、ディープラーニング用のライブラリです。TensorFlowとKerasは兄弟みたいなものだったのですが、TensorFlow2.0からはより、Kerasとの親和性が高くなり、ディープラーニングのモデル構築の際によりコードを書きやすくなったとされています。このように、TensorFlow周りでは、MLOps環境のデータ収集からデプロイ、モニタリングまで広い工程をカバーすることが試みられています。PyTorchTensorFlowの最大の競合相手はPyTorchです。PyTorchは、Facebookが公開したオープンソースの機械学習用ライブラリです。Lightningという同様の機能のものがPyTorchにもあります。PyTorchの環境では、よりディープラーニングの実装を容易にするfastaiというライブラリも公開されています。このように、TensorFlowとPyTorchは、競い合いながらそれぞれエコシステムを作り上げています。状況に合わせてベストプラクティスを探すここまで紹介してきたように、MLOps向けツールやプラットフォームは、たくさんあります。それぞれが、特徴を持っています。Microsoftのように圧倒的なシェアを誇るMLOpsプラットフォームはないと思われます、MLOpsの環境は、今はまだ黎明期でエコシステムが成熟していないとも取れます。Web検索エンジンの市場に関してGoogleは、後発組であったと言われています。今は、まだ知られていないMLOpsプラットフォームやツール、技術が、今後世界中で使われるようになるかも知れません。主要なプラットフォーム3つ、ライブラリ2つの組み合わせも色々と選択できます。使用シーンに合わせて使いやすいツールやプラットフォームを選ぶ新興のツールや技術で、面白そうなもの、活用できそうなものは使っていくというスタンスが重要かもしれません。コピーtudukeruをフォローするtudukeru小さく始めて、小さく続ける。いうタイプの人がいます。いうことについて、私の現時点での考えを話そうと思います。思っている人は多いのではないでしょうか。英語学習のモチベーションは少なからずありますよね。プログラミングでのエディタとは、プログラミングする際に必要なソフトウェアのことです。データから有用な情報を引き出すときに、プログラミング言語で機械学習のコードを書くのは有効な手段です。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。最近のコメントアーカイブ2021年8月2021年3月2021年2月2021年1月2020年12月2020年11月カテゴリーUncategorized小さく始めて、小さく続ける。小さく始めて、小さく続ける。最近のコメントアーカイブ2021年8月2021年3月2021年2月2021年1月2020年12月2020年11月カテゴリーUncategorizedタイトルとURLをコピーしました。