20代で転職を検討されている方へ


機械学習エンジニアになるためのポイント

 第3次AIブームが到来しています。IT関連のセミナー等でもAI関連のものが多くなっており、各社が他社との差別化をはかるためにAIを業務に活用することへ興味を示しています。AIを使った具体的なサービスや、各種業務に組み合わせて利用するためのAPIなども登場してきています。企業からのAI人材のニーズは高まる一方で、どうすればAIに携われるエンジニアとして活躍することができるのか悩む方も多くいます。

ここでは、現在のAIを実現するための基礎技術として用いられる機械学習に焦点を当て、機械学習エンジニアになるためのポイントをご紹介していきたいと思います。

機械学習エンジニアの仕事内容

AI=機械学習?

AIと機械学習は同じ意味のように使われることがよくあります。大きな意味で行くと合っているのですが、AIは人口知能の概念そのもので、AI(人口知能)を実現させる1つの方法が機械学習です。コンピュータが人のような思考をもとに自動的に判断して作業を行うことをAIの定義とすると、機械学習は現代において「人のような思考」を実現するために考えられた方法の1つです。

機械学習は、外部からの情報インプットと、事前に大量のデータを統計処理してモデル化したパターンをもとに、判断結果をアウトプットします。つまり、事前のデータ投入と、統計処理によるコンピュータの思考パターンを調整するのが機械学習エンジニアの本分です。

機械学習エンジニアという職種がある?

日本においては最近でてきた職種というイメージがありますが、海外においてはMachine Learning Engineer(機械学習エンジニア)としての職種がすでに確立されています。業務に適用するAIの思考精度を高めるのが仕事であり、そのための方法として機械学習を駆使するエンジニアです。

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

データサイエンティストも仕事で利用するツールの1つとして機械学習を用います。大量データを統計処理してデータパターンを解析するという作業を行っており、機械学習エンジニアの本分と同じ様なことをしています。データサイエンティストは、ビジネスに役立つナレッジの発掘と、ナレッジをわかりやすくまとめて報告することです。機械学習エンジニアの仕事は、そうしたデータサイエンティストのナレッジも参考にしながら、最終的に効果的なAI思考を実現させることです。

機械学習エンジニアに必要なスキルは?

機械学習エンジニアは、大きく分類するとITスキルと統計スキルを使いこなせる必要があります。それぞれのスキルに沿って、具体的にどういうことができる必要があるかをご紹介します。

プログラミング言語

コンピュータに機械学習をさせるための開発でよく用いられるプログラム言語は、pythonとC/C++です。他の言語でも実現は可能ですが、すでに作成された機械学習アルゴリズムを利用するか、それらをカスタマイズして用いるのが賢明です。こういった観点から既存資産を利用するために、これら2つの言語習得は必須スキルと言えます。

データベース

溜めこんだ大量データを扱う必要がありますが、一般的に企業ではこういった大量データはデータベースに格納されています。このため、各種データベースを取り扱う技術が必要とされます。昨今ではさまざまなデータベース形態がありますが、最低限としてSQLを扱うスキルは必須と言えます。

ハードウェア、クラウド

大量データを分析するには、多くのコンピュータリソースを消費します。また、分析処理にかかる時間の短縮も命題となってくることから、分析処理を行う土台であるインフラ環境についての知識も必要です。具体的な実装はインフラエンジニアに任せることはできますが、どういった性能や処理技術が必要であるかの仕様をまとめて伝えるスキルが必要となります。

統計学

機械学習自体は、既存のプログラムですでに記載はされていますが、ありものを単純に利用するだけでは意味がありません。統計的な意味を理解した上で、既存のプログラムを組み合わせたり、カスタマイズ、時には1から作ることが必要です。確率、統計、微分・積分といった統計・数学の知識が必須となります。

データモデリング

大量データを加工し、統計処理をして有用な機械学習結果を導くためのモデリングを行う必要があります。例えば、Microsoft社の「Azure ML」や、Amazon社の「Amazon ML」は、機械学習(ディープラーニング)を行うためのクラウドプラットフォームですが、これらはモデリングをGUI上で簡単なマウス操作によって行うことで機械学習ができるようになっています。投入データやモデリングのやりかただけでも有用なAIを構築することが可能になっている背景も踏まえ、データモデリングのスキルも必須となっています。

機械学習エンジニアの需要と年収

機械学習エンジニアは前述した通り、各社がビジネス上での差別化や効率化を考えて行く上でこれからますます需要が伸びてきます。機械学習エンジニアの職種がすでに確立されている海外においては、平均年収は1,300万円となっています。外資系企業への転職する場合は、この年収を狙うことも可能です。

日本においてはこれから確立されていくことになるのでまだ未知数ですが、すでにソニー、楽天、ヤフーといった大手で、かつ高収入である企業が機械学習エンジニアの募集を予定しています。今後、AIに参入してくる企業が増えることは容易に予想でき、そうなることで機械学習エンジニアの需要はますます高まります。

Pythonプログラマの平均年収が600万円ということを踏まえると、600~1,300万円の間で推移することが予想可能です。これから機械学習エンジニアをステップアップしながら目指すという方であれば、まず、Pythonエンジニアとなってスキルを磨くという選択肢も考えられそうです。

機械学習エンジニアの将来性は?

機械学習エンジニアに求められるスキルは、既存で確立されているエンジニアスキルの複合体です。その道のり自体は決して平坦なものではありませんが、スキルアップ、キャリアアップをしながら目指す価値のある、将来性において一番の有望株職種です。日本においては現在のところ機械学習エンジニアの数は非常に少ないですが、一歩先を行く欧米の状況を見る限り、今後の需要見込みは確実であり、一気にその数が増えることになります。機械学習エンジニアへの道は一日にして成り得ないため、先に記述した必要スキルを高めながらキャリアパスを描くことが必要です。

ITエンジニアが機械学習エンジニアになるには

 ITエンジニアが機械学習エンジニアになるためには、先に記載した必要スキルを1つずつ習得してく必要あります。プログラマやインフラエンジニアの方であれば、まずは、他のITエンジニアのスキル領域を1つ習得するようにします。ITエンジニアにとって、どの職種においても不足しているのが統計知識であるため、基礎として学習を進めておく必要があります。

 各社が優秀な機械学習エンジニアの獲得に向かうことが予想されるため、アンテナを張っておくことも大切です。1つの方法として、GitHub採用を見込んで自己学習しているPython等による機械学習関連のプログラミングをGitHubにアップしておくなども効果的です。また、先に挙げたクラウド環境において、モデリングによって簡易的なAIサービスを構築し、外部公開するということも効果的です。現状でITスキルや統計スキルが不足していても、AIを構築すること自体はできてしまうため、AI技術者になりたいという意思と実績をアピールすることで機械学習エンジンニアとして採用される可能性が高まります。現状において完成された機械学習エンジニア自体が希少であるため、採用後のスキルアップを見越した、素養ややる気によるアピールが有効な手段と成りえます。

 また、機械学習エンジニアはスキル要求が高いことから、現在においては一般的な公募は非常に少ないです。このため、転職エージェントを通じて企業からの募集情報を入手することをおすすめします。転職エージェントを通すことで、先に述べたGitHub採用をしているかどうかの情報を知ったり、AI構築の実績などを効果的に先方企業へ伝えたりすることも可能になってきます。

まとめ

AIは今後のビジネスニーズが望める分野です。AIを実現するための基礎である機械学習を扱うエンジニアは需要があり、高収入が見込める有望職種です。その分、求められるスキルレベルは高く、日頃からのスキルアップ、キャリアアップが必要となります。また、機械学習エンジニアとして良い転職先を見つけるにはアンテナを広げておく必要があり、機械学習エンジニア採用を考えている企業を見逃さないようにしておかなくてはいけません。アンテナの1つとして転職エージェントをご利用いただくことが効果的です。