現実世界における機械学習エンジニアリング
機械学習エンジニアリングの現実世界
機械学習、アナリティクス、関連分野で働く多くの人々は、様々な構造と動機を持つ組織で働いています。これらは営利目的の会社、非営利団体、慈善団体、あるいは政府や大学などの公共部門の組織などが該当します。ほとんどの場合、私たちは孤立してこの仕事を行わず、無限の時間やリソースの予算を持っているわけではありません。したがって、現実世界でこのような仕事をする上で重要な側面を考慮することが重要です。
以下は、アンドリュー・マクマホンの書籍「Pythonによる機械学習エンジニアリング 第2版」からの抜粋です。
まず、あなたの仕事の究極の目標は「価値」を生み出すことです。これはさまざまな方法で計算し定義することができますが、基本的には、あなたの仕事は会社や顧客の何かを改善し、その投資を正当化する方法で何かを提供しなければなりません。したがって、新しいツールで遊んで1年を過ごして何も具体的な成果を示さないことや、毎日最新の論文を読むことだけで過ごすことを会社は喜ばないでしょう。はい、これらのことはテクノロジーの仕事の一部であり、確かに楽しいことですが、時間の使い方に戦略を持ち、常に自分の価値提案について意識している必要があります。
- 「NVIDIAのグレース・ホッパー・スーパーチップがMLPerfの推論ベンチマークを席巻する」
- 大規模言語モデル(LLM)の微調整
- 「生成AI解放:ソフトウェアエンジニアのためのMLOpsとLLMデプロイメント戦略」
第二に、現実世界で成功するためには、技術だけでなくビジネスも理解しなければなりません。日々の業務の進め方、会社の異なる部分がどのように組み合わさっているか、そして会社の人々と彼らの役割を理解する必要があります。最も重要なことは、ビジネスとあなたの仕事の顧客を理解することです。もしあなたが対象としている人々の動機や課題、ニーズを知らなければ、正しいものを作り上げることができると期待されるでしょうか。
最後に、これは議論の余地があるかもしれませんが、現実世界で成功するための最も重要なスキルは、この本では教えられないものであり、それは効果的なコミュニケーション能力です。チームで働かなければならず、マネージャーや広いコミュニティやビジネスと協力して仕事をしなければなりません。そしてもちろん、顧客とも協力する必要があります。もしもあなたがこれを実現でき、技術と技術(この本で議論されている多くのもの)を知っているなら、何があなたを止めるのでしょうか。
しかし、現実世界で機械学習を用いて解決できる問題はどのようなものでしょうか?まず、もうひとつの議論の余地があるかもしれない声明から始めましょう。機械学習はほとんどの場合、答えではありません。この本のタイトルを考えると、これは奇妙に思われるかもしれませんが、機械学習を適用しない場合の方が重要なのです。これにより、高額な開発時間とリソースを節約することができます。
機械学習は、他の解決策では不可能な程度の速度、精度、または規模で、半自動的なタスクを実行する場合に最適です。以下の表には、いくつかの典型的な例と、問題を解決するために機械学習が適切かどうかについての議論が示されています。
図1.1:機械学習の潜在的な用途
この簡単な例の表から明らかになるように、機械学習が答えであるケースは、一般的に数学的または統計的な問題として非常にうまく定義できるものです。機械学習は、データに基づいていくつかの内部パラメータを反復することができる数学に根ざしたアルゴリズムの連続です。現代の世界では、ディープラーニングや強化学習などの進歩により、以前は標準的な機械学習アルゴリズムに適切にフレーム化するのが非常に難しいと思われていた問題にも取り組むことができるようになりました。
現実世界で注意すべきもう一つの傾向(機械学習をすべてに使用しましょうという考え方に続くもの)は、人々が機械学習が自分たちの仕事を奪い、信用されないと心配していることです。これは理解できることです。PwCの2018年の報告書によると、英国の30%の雇用が2030年までに自動化の影響を受ける可能性があるとされています。あなたが同僚や顧客と一緒に仕事をする際に明確にしようとしなければならないのは、あなたが構築しているものが彼らの能力を補完し増強するためのものであり、置き換えるためのものではないということです。
さて、ビジネスの問題を解決するために機械学習を使用する際の重要なポイントのいくつかを理解したので、これらのソリューションがどのように見えるかを探ってみましょう。
機械学習ソリューションはどのようなものですか?
機械学習エンジニアリングを考えるとき、声のアシスタントや画像認識アプリケーションで作業しているイメージが浮かぶのは許されるでしょう(前のページで私もその罠にはまりました、気づきましたか?)。しかし、MLの力は、データと適切な問題がある場所ならどこでも役立ち、解決策の一部になることにあります。
具体例がこれをより明確にします。テキストメッセージを入力し、次の単語を提案する機能がある場合、おそらくモデルを使用している場合があります。ソーシャルメディアのフィードをスクロールしたり、ストリーミングサービスを視聴したりするとき、おすすめのアルゴリズムがダブルタイムで働いています。車の旅をすると、アプリが目的地に到着する予想時間を予測する場合、回帰が関与しているでしょう。ローンの申請では、特性と応募詳細が分類器を通じて処理されることがよくあります。これらのアプリケーションはニュースで大々的に取り上げられるものではありません(恐ろしいほど間違った場合を除くかもしれません)、しかし、これらはすべて見事に組み立てられた機械学習エンジニアリングの例です。
この本では、私たちが取り組む例は、これらのようなものに似ています。日々の製品やビジネスで遭遇する機械学習の典型的なシナリオです。これらのソリューションを自信を持って構築できれば、どの組織でも貴重な存在になるでしょう。
まず、MLソリューションに含まれるべき要素を広く考えてみることから始めましょう。次の図に示すように:
図1.2:一般的なMLソリューションの構成要素またはレイヤーとそれらの役割の概略
あなたのストレージレイヤーはデータエンジニアリングプロセスの終点であり、MLプロセスの始まりです。トレーニング用のデータ、モデルの実行結果、アーティファクト、重要なメタデータが含まれます。また、保存されたコードも含まれると考えることができます。 コンピュートレイヤーは魔法が起こる場所であり、この本のほとんどの焦点となる場所です。トレーニング、テスト、予測、変換が行われる場所です(ほとんど)。この本は、このレイヤーをできるだけよく設計し、他のレイヤーとのインターフェースを作成することについてです。次のワークフローにこれらの要素を組み込んで、このレイヤーを拡大することができます:
図1.3:コンピュートレイヤーの主要要素
アプリケーションレイヤーは、他のシステムとMLソリューションの結果を共有する場所です。これは、アプリケーションデータベースの挿入、APIエンドポイント、メッセージキュー、可視化ツールなどを通じて行われる場合があります。これは、顧客が最終的に結果を使用するためのレイヤーですので、システムをクリーンで理解しやすい出力を提供するように設計する必要があります。
結論
ここでは、データに基づいて価値あるソリューションを構築する現代のチームの一部として、機械学習エンジニアリングの考え方とそれがどのように適合するかを紹介しました。機械学習エンジニアリングの焦点は、データサイエンスとデータエンジニアリングの強みと相補的であり、これらの分野が重なる部分にあります。
著者について
アンドリュー・ピーター(アンディ)・マクマホンは、さまざまな業界で高い影響力を持つ機械学習製品を構築してきました。現在は、英国のNatWestグループのMLOps責任者であり、イギリスのインペリアルカレッジロンドンで理論的凝縮物理学の博士号を取得しています。彼は積極的なブロガー、スピーカー、ポッドキャストゲストであり、MLOpsコミュニティでリーディングな声です。彼はAI Rightポッドキャストの共同ホストであり、2022年の英国データアワードで「年間新人」として、2019年にはデータサイエンス財団から「データサイエンティスト・オブ・ザ・イヤー」として表彰されました。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles