序文
つねづね「俺の未来予想の当たらなさぷりには自信がある」と自負しています。特に「XX とか当たるわけないでしょ」と思ったのも関わらず、後になってそれに仕事で関わる、ということが数回起きていて、グーグルで社内オンリー情報だった時代の Chrome や Android を見て、「なんじゃこれ、グーグルがサーバサイド以外やってどうすんの?」と思った二年後に Chrome チームで働いていましたし(その後 Android 関係の仕事もした)、「ニューラルネットの復権!」みたいな話を見て「ワロタ、 C マガかよ」と思ってた二年後にはグーグル翻訳チームに入れてもらっていました。 5年前に書いた未来予想 によると GPGPU は永遠にニッチ、みたいなことが書かれていますが、 CUDA 使ったり、それを倒すべく頑張ったりしているのが最近であります
逆に僕が夢中になったテクノロジーを3つほど挙げていってみると、 Native Client 、 Intel TSX 、 Swift for TensorFlow 。なかなか見事な予想ではないでしょうか
というわけで逆張り推奨な予想をやっていきます。本人はいたってマジメなやつと、あとは単なる願望というものがあります
Predictions
1. GPU はグラフィックプロセッサに戻る
ドメイン特化なアクセラレータの特需が今しばらく続くと、 CUDA はアクセラレータ用途としては特化度が低すぎて、没落するように思う。「SIMD 使うくらいなら GPU でいいよなあ」が「GPGPU やるくらいならアクセラレータ使えばいいよなあ」となるはず、という話です
一応書いておくと、最近のメインの仕事がアクセラレータで GPU を倒すというものなので、ポジショントーク的というか、個人的な意気ごみです
2. 深層学習の自然科学応用でノーベル賞
ノーベル賞は成果出てから受賞までに時間がかかると思うので、受賞自体はしないとして、 2030 年までの深層学習を使って得た成果がノーベル賞を取ると思う。たぶんふたつくらい
このスライドの最後の
物理学における機械学習は「第3の実験」
とか、この文章の
ランダウの理論物理学教程に入ってないものは物理じゃないなんてケチなこと言ってはいけない.だって,もし,ランダウがまだ生きていたら,嬉々として「機械学習」をランダウの理論物理学教程の最後の一巻として付け加えるに違いないから
とか、なかなかわくわくするのです
3. 演繹的な AI が復権し、深層学習を補完する
もうずっと期待している、完全に願望枠。さすがの僕でもこれは当たらないとわかる
第五世代的なやつというか、知識溜めていって演繹するようなやつを、深層学習とくっつけることができるようになる。なってほしい。例えば総理大臣が変わったら「新しい総理大臣は XX ですよ」と言えば挙動が変わるとか、深層学習モデルを説明可能にするには、どうしてもそういうのが必要なんじゃないの、って妄想しているのですよね……
ついでに書いておくと、 Jeff Dean のバカデカマルチタスク AI で知性に近付きますよ的な野望 はあまり信用していない
4. 教育系の会社が GAFA る
これも願望枠
ここ5年くらい、世の検索エンジンの品質が上がっている、と感じる人はあまりいないのではないかと思う。これは寡占は悪という話とかもあるのだろうけど、機械的に情報を整理する、というアプローチに限界が来ているのでは、という気もしている。10年くらい前までは、インターネットに新しく現われる有用な情報、というのが指数的に増えていっていて、機械で分類するしかない状況だったと思う。ただ、なんかそろそろスパムはともかく、有益な情報の増加は落ちついてるのではないか
で、そういう情報をうまく処理して整理できるのってどういう会社かなーというと、マジメに人手で情報を整理して教育をやってる会社だったりしないのかな、と。例えば試しに今思いついた「太陽」「なぜ白い」でぐぐってみて、イマイチな結果だなあと思ったのだけど、こういうので30分くらい学べる教材が出てくると良いなぁ、と
5. VR が職人技術の高速道路になる
インターネットが知識のハイウェイになって、若者の知識が人間離れしたのと同様に、 VR が職人技術のハイウェイになる。手術ゲームにドハマリした小学生が、本職の医者より手術がうまい、とか
Web サイト見て学ぶ時代から YouTube 見て学ぶ時代になったんだなあ、と思ったのはたぶん10年くらい前なのだけど、次の10年くらいだと VR になってていいんじゃないの、と
僕自身は VR ほとんど遊んだことないのだけど、 2021 年こそが VR 元年だったと言えるような展開を期待している
6. Rust は普通にそれなりに流行る
今ごろ「これからは Rust!」とかいうのちょっと恥ずかしいものがありますね……まあでも C++ が置き換えられる、とまでは思ってない。 C++ の延命策は十分に発明されてしまった
プログラム言語まわり、この5年の大きな変化というと Rust と TypeScript などの型書けるスクリプト言語かなあと思う。このうち、 Rust は順調に増えてくんでないかなあ、と。型書けるスクリプト言語は、なんかやってみると意外と微妙な気持ちになることが多くて……既存のスクリプト言語が置き変えられるというほどのシェアの変化は起きないんじゃないかなあ、などと思っている
それ以外でも Rust 以外の勢力図が大きく変化してそうという気があまりしないかなあ、という気持ち。「変化しない」「うまくいかない」系の予想は面白みを感じないので微妙な気持ちなのだけど、プログラム言語について何か書きたかったのと、「ここ10年なんやかんやと変わってきたけど、次の10年では変化が減るのでは」という予想なので入れても良いかな、となった
Zig も流行ってほしいけど、厳しいのだろうな
7. セキュリティ研究やバグハントが下火になる
ここ10年はセキュリティはアツい分野で、なんともたくさんの面白バグが世間を騒がせていた。でも、この先 10 年もすれば状況は良くなってるのではないか。気のせいでなければ、既にだいぶ減ってきているような気もする。例えば CTF で言うところの pwn 的なやつ(C/C++ のクラッシュバグとかをセキュリティの突破に使う系)とかも、 sandbox とかで根本的に対処されつつあるような気するし、 XSS とか SQL injection とかも聞く頻度が減ってきているような
ソフトウェアは良くなったけど Row hammer 地獄、とか、 IoT ハック全盛時代とか来てないと思いたい
8. クラウドストレージが普通の FS ぽく見えるようになり NFS が死ぬ
クラウドぽいのもなんか書いてみようと入れてみた。みんな欲しいと思ってると思うけど、地味に大変というのもわかるのだけど、でもさすがに10年もあればいいかげん使えていてほしい……
FUSE でそれっぽいものを作るのは、まあできるはずだけど、システムコール界面そのままでクラウドを見せるのは、それはそれほど便利でないかもしれなくて(例えばNFS内のファイルをタブ補完するのが好きな人はいないと思う)、 GNU fileutils や shell 自体がクラウドストレージ対応する、みたいなのが楽しそうかな、とか思っている。 rsync 的なツールがクラウドからクラウドのコピーとかを、手元介さず高速にやってほしいよね、とか
ただそれだと多言語対応ができないのだよなあ。なんか次の項目が実現すると Unix の CLI での見た目とかどうでもよくなっているのかも
9. みんなブラウザでプログラム書いてる
github.dev みたいなやつで、実行なんかも含めて全部やってる、という時代になってそう。 Web ベースの IDE やコンテナで、要素技術はおおむねそろっていそう
ただ僕は未だに Emacs で作業してそう……という気もする
10. 論文は TeX で書かれて PDF で公開されている
残念ながらこれは変わらない。前職の上司の受け売り。インターフェイスがサイアクでも、正しい機能がそろっているものはなかなか死なないね……という。 cmake とかも、そういう機能としては正しいけど文法すごい、みたいなやつだと思っていて、 10 年後も「なんで俺たちこんなもの使ってるの……?」となりつつも使われていそうと思っている
その他
面白みに欠けたり、色んな理由で挙げなかったものの供養
- 脳波で操作するようになる (来る気がしない)
- 5G で十分なので光回線ひく家庭が電話回線並に減る
- アニメやゲームのモブは基本 GAN で作るようになる
- あと AI 系で言うと動画処理に期待しています
- エッジでトレーニングも来ない (ベンチマークが作れないのがキツい)
- やたら家電が喋るようになるが不評
- 量子コンピュータは来ない
- プロセスルールの数字に意味はないらしいけど、それにしても 1Å とかになってるのだろうか……
全体通じての感想として、「それ既に流行ってるよ」は普通にありそうだなあとビクビクしながら書いていました