10章Rustを使用したMLOpsの実装
効率的な運用は、あらゆるテクノロジーシステムの中核でなければなりません。MLOpsはDevOpsを基盤としており、DevOpsは継続的改善を意味する日本語のkaizenの概念を基盤としています。継続的改善がなければ、DevOpsも、さらにはMLOpsも存在しません。
運用を継続的に改善するための核心となるのは、「訓練と推論からパッケージ化と配信まで、運用パフォーマンスを10倍以上に向上できるか」というシンプルな問いです。そして、多くの組織がデータサイエンスにPythonを用いている現状では、その答えが「はい」であることも少なくありません。その場合、次に問うべきは「それが可能なら、なぜ今それを実行していないのか?」ということです。
何十年もの間、組織には機械学習ソリューションとして純粋なC、C++、またはC#とPython以外の選択肢がほとんどありませんでした。C++はパフォーマンスの点でより効率的かもしれませんが、Pythonは一般的に学習、実装、および保守が容易であるため、データサイエンスでPythonが普及しました。パフォーマンスは高いが複雑なC++と、学習は簡単だが比較的遅いPythonで比較した結果、多くの企業が最終的にPythonを選択しています。
しかし、別の選択肢もあります。Rustは、最もパフォーマンスが高く、エネルギー効率に優れた言語(https://oreil.ly/rIBKz)に常にランクされています。また、Stack Overflowの年次開発者調査(https://oreil.ly/t5P-q)で最も愛されている言語の1つでもあります。データサイエンスで広く使用されている一部のPythonライブラリはC言語で記述されており、コンパイル言語を実行することで得られるパフォーマンス上の利点の一部を提供できますが、Rustは単一の言語でより直接的にハードウェアに近い操作が可能です。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access