この記事は「NervesJP Advent Calendar 2019」の24日目です
昨日は、@GKBR さんの「nervesでもmmo!」でした
Merry Xmas!
piacere です、ご覧いただいてありがとございます
今回は、Nerves/Elixir/Phoenixによるエッジコンピューティングの可能性について、ポエムを語ります
ま、ポエムと言っても、これまでのfukuoka.exが叶えてきたこと同様、「実現をしていく厨二病的ポエム」ですので、未来に向けたワクワク感は、おおいに感じていただけると思います
なお基本骨子は、「Elixir、そしてあなたと共に歩む道(Way with Elixir and YOU)」というテーマで、2019年9月のElixirConf JP 2019でお話させていただいた内容をベースに、そこから3ヶ月間でアップデートされた部分も含めた形でお送りしたいと思います
内容が、面白かったり、役に立ったら、「いいね」よろしくお願いします
前段:高精度な未来予測を行うための考え方
詳しい説明は、下図でも紹介している「2100年の科学ライフ」という書籍に書いていますが、物理法則…つまり「自然界の4つの力(電磁気力、弱い力、強い力、重力)」がひっくり返るような、新たな発見でも無い限り、「今あるテクノロジーが成熟した姿」を思い描くことによって、空想や妄想を避け、未来に出現するテクノロジーは高精度に予測できます
このことを念頭に踏まえ、Nerves/Elixir/Phoenixによるエッジコンピューティングの可能性を探っていきます
この12年で世界はどのように変わったのか?
2019年の私たちが暮らしている世の中は、相当数のデジタルテクノロジーやソフトウェアサービスによって構成されていますが、その大半が、12年前は、存在していなかった新しいテクノロジーだらけです
たとえば、12年前である2007年は、以下のように、現存するテクノロジーの多くが、存在していませんでした
そして2019年現在、2007年には無かった多くのテクノロジーによって、経済や生活は、大きく変わりました
これを超えるようなインパクトを、次の3年間は、体験できる…これは「経済破綻」のような、ネガティブなシナリオも含め、かなり大きな変動を迎えることも意味していれば、そうした状況下において、Nerves/Elixir/Phoenixによるエッジコンピューティングが救い手に台頭できるという可能性も意味しています
こうした可能性を、Way1~3という3つの道で示したのが、ElixirConf JP 2019で登壇した、「Elixir、そしてあなたと共に歩む道(Way with Elixir and YOU)」というテーマでした
Way1:私達は12年先のIoTを作る
Nervesの高生産性とリアルタイム性、クラウド時代にフィットした充実のエコシステムを用いれば、Nerves/Elixir/Phoenixのセットが、クラウド上だけに限定されることなく、エッジサーバや、手元のスマホ/IoTセンサーに適用され、その全てで同じコード/言語を用い、容易に分散コンピューティング環境を作っていくことができます
このコンセプトを、kyoto.exオーガナイザ/fukuoka.exアドバイザーズの @takasehideki さんが図解してくれています
この図上では、Nerves/Elixir/Phoenixのセットに加え、エッジからクラウドまでのGPU/FPGAを駆動させる「Pelemay」と「Cockatrice」といった、fukuoka.ex発のOSSツールチェーンを組み合わせることで、AI・MLやXR、もしくは5Gを活用するサービスも、Elixirで効率良く構築していくことが可能となります
更に、「Pelemay」「Cockatrice」は、スマホやIoTデバイスのGPU/FPGAを活かせるため、たとえば「手元でAI・MLが動き、SF映画のようなAIアシスタントが日常になる世界が訪れる」なんて世界観も、Elixirによって現実のものにできるでしょう
他にも、「インダストリー 4.0」、つまり「オートメーション化/ビッグデータ化が進んだ製造業」といった応用分野が、これらツールチェーンにより身近になります
ElixirConf JP 2019では、時間の都合で示し切れませんでしたが、具体的には、以下の流れとループが実現された中で、仕事や生活といった現実世界は、今と全く異なるものへと変貌を遂げます
1.現実世界のデータ化
2.データ化された現実世界をデジタルワールド内で特徴分析したり、次のアクションを判断する
3.デジタルワールドで導出した次のアクションを、現実世界に戻し、現実世界に影響を与える
4.(上記3でアップデートされた現実世界にて、上記1から繰り返す)
このループは、現実世界がスタート地点でありながら、結果的には、「デジタルワールドから現実世界への干渉」をもたらします
このような現実世界とデジタルワールドを融合する考え方は、別名「Society 5.0」とも呼ばれており、「FM KITAQ」という北九州のラジオ局で放送している、私のラジオ番組「Technology Cruising Night」でも2019年11月にご紹介しましたので、「Society 5.0」という単語をはじめて聞く方は、下記のYouTubeライブ動画をご覧ください
https://www.youtube.com/watch?v=-9sMHz7zUhA&feature=youtu.be&t=458
Way2:私達は12年先のAI・ML+データサイエンスを作る
今回のテーマは、「Nerves/Elixir/Phoenixによるエッジコンピューティングの可能性」なので、ここから先は、間接的な内容のため、サラっとまとめます
AI・MLの主流である、ニューラルネットワークのタスクである「学習」と「予測」のうち、利用者が頻繁に使う「予測」の性能は、GPUよりもFPGAの方が性能が高いことが、Microsoftの全世界データセンターを用いた検証で明らかです
一方で、FPGAによるプログラミングは、難解なことで知られています
上記でもご紹介した「Cockatrice」は、FPGAのプログラミングをElixirで簡単に行え、ハードウェア化できるため、利用者が頻繁に使うAI・MLの「予測」のメインストリームを現存テクノロジーから置き換える、高いパワーを持っています
また「学習」においても、現行と同等かそれ以上のパフォーマンスを「Pelemay」や、「DeepPipe」を始めとするElixirディープラーニングエンジン開発において実現しつつあるので、これは続報を楽しみにしてください
ちなみに、世界的に見ても、私たちと「annex」というディープラーニングフレームワークを開発するグループだけが、Elixirのこの領域における先端研究をしています
日本から、世界に向けて、Elixir標準AI・MLエンジンを提供できる可能性は、おおいにあると考えています
なお、AI・ML/データサイエンス領域における課題は、テクノロジー以上に、以下2点の人間系です
・AI・MLとデータサイエンスの知識を持ったエンジニアの不足
・実務におけるAI・MLの活用をビジネスプレイヤー側が理解していない
ここに対するケアについても、2019年11月に開講したElixir専門学校「Elixir |> College」に、Pelemay/Cockatrice/DeepPipe/annex、そしてElixir製データサイエンスプラットフォーム「Esuna」による、AI・ML&データサイエンスのトレーニングを提供することでフォローしていきます
Way3:私達は12年先のWeb開発と次世代ITを作る
現在乱立している「データベースを読み書きするだけのWebシステム」が、無駄に高単価な時代も、そう長くは無いと考えており、次の経済破綻をもって、こうしたエンジニアの単価は、半分~1/3にまで減少すると捉えています
Elixir界隈とSI業界の両方に身を置いていると、PhoenixのようなモダンWebフレームワークの威力や、LiveViewのような革新的リアルタイムフロント技術の出現を目の当たりにし、これらがもたらす高生産性の恩恵を受けていることから余計にそう感じます
Web CRUDシステム開発の行き先は、一部の大規模Webや高性能Webを除き、その大半が「ノンプログラミング」であり、これまでは疑問視されてこなかったエンジニアの必要性にも疑問が投げかけられることでしょう
たとえば、@Yoosuke さんが、fukuoka.ex Advent Calendar1日目の[「GraphCMSからAbsintheを利用して作るElixirで体験的にGraphQLSeverを作る」] (https://qiita.com/Yoosuke/items/2346137ac39715b19cde)で示してくれたように、GraphQLとElixirが普及したら開発者は人間力で選ばれる時代へと移行していく…なんていうのも、その可能性の1つです
一方、単純なWeb CRUDで済まないシステムは、より高度化が進んでいきます
AI・ML/データサイエンスの常用なんかは、その分かりやすい例で、前述した下記2点により、従事できるプレイヤーが限定されていくことが想定されます
・AI・MLとデータサイエンスの知識を持ったエンジニアの不足
・実務におけるAI・MLの活用をビジネスプレイヤー側が理解していない
IoTおよびエッジコンピューティングも、こうした軸の1つで、ただのWebエンジニアが手を出すには重く、上述したような淘汰の構造へと巻き込まれていくことでしょう(Nervesは、Elixirがプログラミングできる人であれば、WebエンジニアであってもIoTやエッジコンピューティングに移行することができる可能性を提供します)
これは言葉を変えれば、ITという領域が、ある程度成熟し、以下2つの方向性に突入した…ということなんだと思います
1.ITが水道や電気と同じく「インフラ化」し、事業においてITは「当たり前」になってきた
2.インフラで済まない領域は、より高度な専門化の段階へとステージアップした
2.に関しては、これまでのIT領域の進化と同様、「エンジニアが学び続け、新しい概念をキャッチアップし続ける」領域(のハズ)なので、向上心があり、世界においてけぼりにされないだけのアグレッシブさを持っていれば、今後もやっていけるとは思います
1.に関しては、ITの主役が、徐々にエンジニアから、「IT起業家」や「IT事業家」に移行しつつあり、アウトソーシングからインソーシングへと移行しつつあると捉えています
現在、私が、北九州とアジアを中心としたIT起業家育成に力点を移し、事業への資金調達支援やIT有識者をアサインする事業を手掛けているのも、こうした背景から来ています
ElixirConf JP 2019でこれら発表をした後の影響
上述したような内容を、ElixirConf JP 2019で発表した後、ElixirConf JP 2019を開催した小倉および近隣市町村の、企業および行政の多くの方々とお話する機会が増え、実際に、5G+Nerves/Elixir/Phoenixでインダストリー4.0施設を作ったり、小倉駅前での大規模5G実証実験といった案件が複数並行で走り始めています
また、観光庁が地方創生に拠出している1,200億円もの助成金の一部を獲得して、Nerves/Elixir/Phoenixによる観光や街のIT化を推進したり、LiveViewを応用した3D地形点群データ解析システムの開発といったものがスタートしており、上述した「現実世界←→デジタルワールド」を行き来するようなSociety 5.0的システムを作っていく機運も高まっています
こうした成果が出やすい理由の1つに、Nerves/Elixir/Phoenixが、現実世界とデジタルワールドを繋ぐための、「良い意味でのルーズさ」があると考えており、2019年11月に「関数型プログラミングカンファレンス」で登壇した下記スライド中でも、こうしたElixirのコンセプトについてまとめています
https://speakerdeck.com/piacerex/elixirtohaskellfalsegen-di-niarutong-zimofalse-sosite-elixirgachan-tutadao
もう少し未来のお話を2つ
1つは、ネガティブなお話で、「地球温暖化」です
端的に言えば、地球温暖化は「技術的課題」であり、「2035~2040年には深刻な問題になる」と予測しています(このイメージを持っている方が、エンジニア/一般の方問わず、ビックリする位少ないんですよね…)
Nerves/Elixir/Phoenixは、地球温暖化への有力なソリューションにもなります
@zacky1972 さんが、「Nerves の可能性は IoT だけじゃない ~ElixirとPelemay、Nervesで世界の消費電力を抑える」というテーマで、そのホンの触りを共有してくれていますので、ぜひ読んでみてください
もう1つは、ポジティブなお話で、「エッジコンピューティングの行き着く先は宇宙」です
現在のNerves/Elixir/Phoenixは、プロトコルレイヤーまで深入りしていませんが、エッジコンピューティングにおける最大のテーマは、間違いなく「通信」です
そして通信の領域には、「衛星分散インターネット」や「惑星間インターネット」といった、宇宙での過酷な環境下における遅延耐久性を伴った分散コンピューティングが必要となり、私は、ここからの3~5年、ここを主線上とした展開をやっていく予定です
p.s.「いいね」よろしくお願いします
ページ左上のや のクリックを、どうぞよろしくお願いします
ここの数字が増えると、書き手としては「ウケている」という感覚が得られ、連載を更に進化させていくモチベーションになりますので、もっとElixirネタを見たいというあなた、私達と一緒に盛り上げてください!