機械学習エンジニアとは

機械学習エンジニアとは、機械学習モデルを実際のサービスやシステムに組み込み、安定して動き続けるように作り、運用するエンジニアのことです。モデルを作って終わりではありません。現場で使えるソフトウェアとして仕上げ、トラブルなく回り続けるよう面倒を見るところまでが守備範囲です。

英語表記:Machine Learning Engineer

データサイエンティストとの違い

よく似た職種に「データサイエンティスト」があります。データサイエンティストが「データから答えを出す」ことを主眼にするなら、機械学習エンジニアは「その答えを生むモデルを、現場で動くシステムに仕立てる」ことが主眼です。前者は分析と示唆、後者は実装と運用。重なり合う部分もありますが、作って動かし続ける技術力に軸足がある点が特徴でしょう。

「作る」より「動かし続ける」が大変

機械学習エンジニアの仕事は、モデルを本番環境に組み込んで終わりではありません。本番のモデルは時間とともに精度が落ちていくため、予測の様子を見張り、必要なら作り直す。こうした一連の運用を自動化する考え方を「MLOps」と呼びます。ソフト開発の現場で定着した「DevOps」から派生した言葉です。地味な土台づくりこそが、AIを使い続けられるかどうかの分かれ目になります。

TopicAI本体のコードは、システムのほんの一部

2015年にGoogleの研究者が発表した有名な論文があります。そこで示されたのは、現実の機械学習システムのうち、AI本体のコードはごく一部(しばしば全体の5%ほど)にすぎないという事実でした。残りの大半は、データを集める・配る・見張る・設定するといった地味な土台。氷山の水面下のような部分にこそ、機械学習エンジニアの腕が要るというわけです。

機械学習エンジニアに関するよくある質問

機械学習エンジニアになるにはどんなスキルが必要ですか?
プログラミングやソフトウェア開発の力に加え、機械学習やデータ処理の知識が求められます。モデルを動くシステムに仕立てる実装力が中心で、E資格などで実装スキルを示す人もいます。
AIエンジニアと機械学習エンジニアは同じですか?
ほぼ重なって使われますが、「AIエンジニア」はより広い総称です。機械学習エンジニアは、そのなかでも機械学習モデルの実装や本番運用に特化した呼び方だと捉えると分かりやすいです。

あわせて読みたい記事