IBM Watson / AIの導入・運用支援、アドバイザリーをしている西原です。
ただでさえ、世の中全般的に人手不足と言われているのに、ITのエンジニア、特に、AIのエンジニアはなかなかどうして。確保するのも、会社に定着化させるのも大変ですね。なので、Web系のエンジニアをAI系のエンジニアにジョブチェンジ・スキルチェンジという話もよく聞きますが、あまり上手くは行きません。
理由としては、大きくふたつあります。
ひとつめはスキルの習熟に必要なステップが踏めないことになります。Webサービスやバックエンドのシステム開発などでは、プログラム言語を独習で習得し、想定するような機能を作ってみることである程度はスキル化できます。もちろん、実案件や大規模な案件をやってみないと、教科書に書いてあるやり方と実際のやり方の違い、ポイント、気をつけることなどはわかりませんが。
AIに関しても、同じように独習でプログラムや学習を実行することができるようにはなります。ただ、データがないので、独習のレベルが、「書いてあることはわかった、後はデータを入れてやってみる」で終わってしまうこともあります。また、実案件も少ないので、業務で使えるようになるというまでには中々到達しません。
中小でSESなどを行っていた企業が、AIをやっている企業にSESの売り込みに多くくるのも、実案件とデータが揃っている環境で修行させてください、という背景があるからですね。
ふたつめは、言語系のAIに限った話です。数値や画像などの機械学習のエンジニアについては、上記の理由のみになりますが、言語を扱うようなAI、例えば、応答(チャットボット)、検索・探索、書類判定などの領域では、別の理由がでてきます。それが、言語(国語・言葉)を扱えるかどうかです。
実は、言語に関するAIについては、そのコアな辞書部分はIBM Watson、Azure Cognitive Servicesなどのクラウドサービスとして登場していますので、プログラムを書くエンジニアが登場することはほとんどありません。
加えて、これらのクラウドAIサービスを使う場合に必要なAIの学習については、数値などのパラメーター調整ではなく、子ども(論理的でとても頭が良いけど、少しやんちゃで融通が利かない小学生)に「国語」を教えるような世界になってきます。例えば、長文から主文を抜き出したり、文章の主語と述語を見つけたり、文章を他の言い方に書き換えたり、そのような作業(子どもに教える)が必要となります。
そういうことが出来る人は、教科としての国語や言語(言葉の構造)にアレルギーのない、かつ、融通が利かない子どもに教える柔軟さを持った人になります。論理的にプログラムを書いていた人材がそのまま移行できるかというと、なかなかできません。
実際、私のチームでは、エンジニア以外に、言葉を教える専門のWatson / AIのディレクタがいます。また、お客様でWatsonの言語学習スピードが速いお客様には、女性の担当者が多い傾向があります。論理性のみではなく、融通が利かない箇所は別の方法でアプローチしてみようという教えるということに対しての柔軟な発想や、その時に、言葉をオモチャのように扱える感覚が良いのかもしれません。インターネットで使われる略語や新しい言葉も、女性が作ることが多いですしね。
とは言え、男性やプログラムを書いていたエンジニアが言葉の学習ができないわけではありません。弊社のWatsonレクチャーサービスを受講いただいて、課題をもっとも速くクリアしたのは、20代半ばの男性エンジニアでした。この方の背景をお伺いすることはできませんでしたので、このような男性であればというのを述べることは難しいのですが。。。
さて、「言語に関するAI学習は、システム系のエンジニアにはできない」とちょっと煽ったタイトルにしてしまいましたが、
などが、IBM Watson / AI導入や運用、アドバイザリを4年近くやってきたやってきたものの感想です。何かのヒントになれば。