Scribble at 2024-03-01 09:15:54 Last modified: unmodified
いちどに処理するデータの量を大きくするというのが、従来の計算機科学のトレンドだった。なので、僕らが初めて使ったコンピュータは8ビットのマシンだったけれど、それが高校の頃に16ビットのマシンとなり、大学を出ることには32ビットのマシンになって、現在は64ビットのマシンが当たり前のように普及している。これは、なにも「3204817950734」のような大きな数をいちどに処理するという話ではなく、各桁のビットが取る値の桁が大きければ、それだけいちどに扱える組み合わせが多くなるので、いちどに処理できる内容が増えるということだ。
これに対して、大きな話題となっている上記の論文では、逆に1ビット(0か1か)の計算を積み上げるだけで、それら従来の大きな桁数で処理している計算と同等の、あるいはそれらを上回るパフォーマンスを達成したということである。確かに、演算のルーチンに値を渡すときのオーバーヘッドが小さくなれば、そういう短所を克服できるという推論はできる。実際、この新しいモデルでは、-1 の値を使っているため、実際には2値だけで済む計算ではなく、符号を変換する計算も含めて3値 (ternary) なのだが、それでも従来の計算モデルと比べて格段にシンプルだ。そして、計算資源を有効に使えるという色々なメリットもあるらしい。
ただし、このようなモデルを十分に活用するには、ハードウェアの適切な設計や材質の選択が重要にもなる。大きなビット数で演算するモデルに対応するハードウェアよりも、機器内部でのレイテンシをさらに小さくする必要があるだろう。