日本におけるAIエンジニア育成の難しさについて

久々の投稿になってしまいましたが、今日は日本におけるAI教育の難しさについてコメントを残したいと思います。AI技術といっても僕の場合はコンピュータサイエンスを大学で学んでいない人向けのディープラーニング教育のことです。

ご存知の方もいらっしゃるかもしれませんが、2年程前から友人の会社のプログラマさんを対象にスキルとしてのディープラーニングを教えたり、その講義内容をYoutubeで公開したりといったことをしてきました。

これは、英語で学ぶ事ができれば、質の良いコンテンツが無料、もしくは無料に近い価格で受けられます。USでも機械学習の無料講座といえば元々はのAndrew NgがやっていたCouseraの奴くらいしかなかったのですが、ニューラルネットの発展と知名度向上に伴ってUdacity、FastAI、Siraj ravalのYoutubeチャンネルなど、多くの優良講座が登場してきました。

以降、英語でディープラーニングを学べる講座に関しては、キャッチアップしていませんが、たしかCouseraもディープラーニングの講座を新設していたはずですし、その他数々のプレーヤーが参入して全体として質が上がってきていると思います。

余談ですが、Andrew Ngの初期のCouseraのコースはOctaveなるマニアックな言語を使い、行列計算をひたすら自分でやるような内容で、一応最後まで完走はしたものの、正直しんどいコースで、なおかつ、実際の役には何一つ役にも立たなかったのを覚えています。まぁパイオニアなので仕方がありませんよね。

一方で、日本語でディープラーニングを学ぶとなると、少なくとも2年前の時点では無料で受けられる質の高い講座がありませんでした。少なくとも僕は見つけられませんでした。東京大学が提供していた講座はまぁまぁだったかもしれませんが、フレームワークとしてChainerが使われており、Chainerそのものは優れたフレームワークですが、世界的には知名度が低く、お世辞にも初心者向けとは言えませんでした。

プログラムを書く仕事をされているかたであればご理解頂けると思いますが、困った時はStack overflowを見て、それっぽい解決策をコピペ&微調整で動くものを作って行きますよね。ユーザーが少ないということは困った時に全て自分で考えて解決策を見つけていかなければならないので、使い手に力量が求められます。

いずれにせよ、理論から実践へという段階において、FastAIのプログラマがディープラーニングを使えると便利なんだ。エンジニアのアイデアが入ると研究の方も進化するんだというメッセージは僕に強く響き、それを日本語で学べる講座をやってみようというのが出発点でした。

そんなこんなで、友人の会社でFastAIをベースとした講座をやったり、それを録画してYoutubeで垂れ流してみたりしたわけですが、思ったようなインパクトは作れませんでした。

ちょこっと見てくれた方はそれなりにいたと思うのですが、やり切って、なおかつ仕事や趣味で活用するに至った方はごく僅かです。ほとんど居ないといっても良いかもしれません。

千載一遇のチャンスなんだから頑張れよ

もちろん、僕の知名度が低く、そもそも見てくれた人が少ないというのが根本にはあると思いますが、動画講義を見ただけではスキルとしてのディープラーニングは身に付かないというのも真理かなと思います。

ディープラーニングをスキルとして身につけるためには以下の3つが重要です。

コンセプトを理解するためには動画をご覧になっていただけば良いと思うのですが、その動画は1本1時間半を超える動画が10本以上と結構なボリュームです。また、その後jupyter notebooksの形式で与えられる教材を自分で実行して体験をする必要があります。正直コンセプトを理解するためには自分でjupyter notebooksを実行した後で再度動画を見たりする必要があるでしょうから、それなりに時間とエネルギーを使う覚悟がないとできることではありません。

その上で、チュートリアルは所詮チュートリアルなので、最後は自分の興味のある分野で実験をして理解を深めつつ何ができれば自分のやりたいことができるのかを感覚として掴んでいく必要があります。やりたい事を定、githubのレポジトリからそれっぽいものを見つけ、それをカスタマイズしつつ自分のデータで学習を行なってみるとか、そういった事です。

僕の場合、自分のスタートアップの武器にしたいという思いがあったので、誰のサポートを必要とすることもなく、この工程をこなし、ある程度ディープラーニングできますよといえる状態になれた(論文は読むけど書く事はないのでまだ道半ばかな…)わけですが、客観的にみると結構ヘビーですよね。

また、ハイスキルの方は引く手数多でしょうけど、エントリーレベルのデータエンジニアは、仕事してどんな案件があり、どんな会社に就職できるのかという泥臭い部分が不明瞭というのも強いモチベーションが生まれにくい土壌になってしまっているかもしれません。

まぁ、所謂プログラマ/エンジニアとしてまずまずの給料をもらっていて満足できていれば、わざわざ膨大なエネルギーを投入して新しいスキルを身につけようとは思わないですよね。膨大なエネルギーを投入した結果、何がどうなるのかも不明瞭なわけですし。

一方で、AIエンジニアの不足は何年も叫ばれていることですし、僕自身の経験から、僕がハッカータイプだったからこそ思いつけたアイデアがいくつもあり、プログラム能力のある奴がスキルとしてのディープラーニングを身につけると面白い事ができるようになるというのは間違いのないことだと思います。

余談ですが、僕のスタートアップ、喋ラボは正にハッカー的なスキルとディープラーニングスキルの融合から生まれた会社です。

そこで、教育プラットフォームのハンターシティと組んでちょっと風変わりなAI技術講座を開催してみることにしました。というか現在やっておりまして、その状況報告ということになります。

講座の内容ですが、元々の動画に加えて付け足したものは以下の3点です。

まず、チュートリアルをなぞるだけでは実践部分が弱いのはわかっていたので、問題形式の実践課題を新設しました。実践課題のいくつかは最終試験という名前にして、そこをパスできるかどうかでクリアという概念を作りました。

また、強い意思をもって学習に臨んでいただくため、クリアできなかったら30万円という罰金制度を採用しました。これにより、途中で挫けそうになっても30万円がかかっているから頑張ろうと思ってもう一粘りしてもらえると嬉しいなと思っています。

あとは、やり切れることが重要なのでコーチングもできたら良いなとは思ったのですが、コーチングはまだ機能はしていません。コーチングは機能していませんが、個別の技術サポートは行なっており、エラーが出て進めないなどの障害は乗り越えてもらえるようになっています。

2021年8月20日現在、学生さんから主婦の方まで、10名を超える方が参加され、日々僕の動画やチュートリアルと格闘をされています。

参加者の方のプログラマとしての経験レベルは残念ながら低めなので、そこがどう出るかはわかりませんが、30万円の罰金制度のかいあってか割と多くの人が一生懸命努力をされている気がします。

最終試験の期限は10月17日なので、まずは脱落者の方が出ないようサポートをするとともに、一人でも勤めている会社や自分のスタートアップでスキルとしてのディープラーニングを活用できる方が出てくると嬉しいなと思います。

ちょっとボランティアとしては重たい感じになりつつあるので、僕も時間のやりくりが必要ですが。

あとは、まぁ、PyTorch関連だけでなく、プログラミングスキルも相当な覚悟で経験値を増やす必要がありますねどねー。特に仕事で活かそうと思うと、みなさんプログラミングのスキルレベルは5段階くらいパワーアップする必要がありますな。

I'm a serial entrepreneur. I enjoy AI, UI, and blockchain. I like history and reading too.