タイムマシンをつくりたかった夢が、量子アニーリングマシンの社会実装をミッションとするスタートアップに形を変える
社内に専門家がいなくても量子・古典イジングマシンが使える、ミドルウェアJijZeptを中心とする事業展開
——量子コンピュータに興味をもった経緯をお聞かせください
高校生のころから、タイムマシンをつくって未来を見てみたいという夢を持っていました。そこで、まず宇宙の研究をしようと。琉球大学では相対論や素粒子を学びました。さらに知見を蓄えるため、沖縄科学技術大学院 (OIST)に進み、量子技術を使ったハードウェアの研究にも取り組んだ。しかし、様々な観点からタイムマシンをつくることはできないという結論に至りました。
それでは、未来が見れないなら、どうやって未来の科学を知ればよいのか?と考えたとき、今の科学を社会実装し、自分で未来をつくればよいのだと閃きました。あらためて科学や技術の歴史を読み解き、社会実装のインパクトがある分野を調べたところ、量子コンピュータに行きつきました。そこで、量子アニーリングについて最先端の研究がなされていた、東京工業大学の西森研の扉を叩いたというわけです。
——設立の経緯を教えてください。
あるとき、東北大学大学院の大関真之准教授(当時)から、JST(科学技術振興機構)のSTARTに採択され、研究員を募集していたので、そちらに僕が応募したのが始まりです。 その研究とは「巡回セールスマン問題」に代表される組合せ最適化問題を、量子アニーリング技術を応用して、高速に解決する新規のアプリケーションを開発するというものでした。もともと、基礎研究も好きですし、応用研究にも大いに興味がありました。まさに、基礎研究と応用研究が同時にできる環境だったので、面白そうだと思い大関先生の研究プロジェクトに加わったのです。
実は、大関先生は西森研の先輩でもあり、当初は研究内容に惹かれて参加したのですが、後半になってSTRATの応用、つまり社会実装が、起業を一つの出口にしていることを知りました。プログラムの終了が迫り、誰が代表をやるんだ?という話になったとき、やらせてくださいと手を挙げました。(大関先生はアドバイザーに就任)
量子・古典イジングマシンのアルゴリズムとミドルウェア開発にポジショニング
——基本的な質問ですが量子力学原理を使ったコンピュータにもいろいろ種類があるのと、コンピュータと組合せ最適化の関係はどのようになっているのでしょうか?
量子コンピュータ(量子ゲート方式)とは、量子情報科学を使った新しい計算の枠組みで実装されているコンピュータのことです。現在(2021年末)の量子コンピュータの開発は、量子ビット数でいうとIBMが約100量子ビット、Googleが約50量子ビットといった状況です。これ以外にもNTTが光量子コンピュータの基幹技術を発表したり、様々な大企業やスタートアップ企業が開発に取り組んでいる最中です。
量子コンピュータの計算能力が高いことは証明されていますが、課題としては、ノイズに非常に弱いことが挙げられます。理論的にはノイズを削減できる「量子誤り訂正」が提案されているものの、まだ、研究段階と認識しています。そこで、各方面で量子ビット数も少なく、ノイズのある現状の量子コンピュータ(NISQ)で、何か応用ができないかと方法を探っているところです。
一方で、量子アニーリングマシン(D-Wave Systemsなど)は、組合せ最適化問題を解くために量子アニーリングを実行することに特化したコンピュータです。ただ、すべての量子計算ができるわけではなく、どちらかというと物理現象シミュレータなので量子コンピュータではありません。
また、古典イジングマシンとは、この組合せ最適化問題に特化した専用古典コンピュータです。量子でなくとも通常のコンピュータ技術を使った専用コンピュータでアプローチすればよいという考えです。イジングモデルという組合せ最適化問題を解くことに特化した古典コンピュータなので、古典イジングマシンと呼ぶのですね。
このように、現状では量子コンピュータはまだ量子ビット数も少なくノイズも多い。しかし着実に発展してきており、今後、量子ビット数も多くなっていくことが予想されます。遠くない将来、大きな問題サイズに対して量子アニーリングを量子コンピュータ上で実行することが可能となるでしょう。
そのため、ゆくゆくは量子・古典イジングマシンを使う必要がなくなってくる。さらには、量子コンピュータのほうが豊富な量子操作ができるため、現在、理論にとどまっている様々な最適化アルゴリズムを実行して、大きな価値を作れる可能性が大きいのですね。
一方で、ユーザー側からすれば、最適化計算の場合、使いやすいミドルウェアがあれば、処理するマシンが、量子・古典イジングマシンでも量子コンピュータでも大きな違いはないのです。そこで、先々、量子コンピュータに変換されていくことを見据えた上で、使いやすいミドルウェアをつくることこそが重要なのです。
——なるほど、それで量子・古典イジングマシンのミドルウェアにかかわる領域を選んだわけなのですね。
社会実装のニーズから言うと、昨今の超高速回線やIoTの広がりにより、ビッグデータはますます膨大になり、またAI技術の発展によって、それらを事業に上手く活かす方法が求められています。その有効な方法の一つが組合せ最適化問題を解くというアプローチになります。今後、間違いなく加速度的に必要となる「最適化問題市場」の課題に対応する必要があります。
とは言え、質、量ともに膨大となった予想データや、制約条件の中でベストな判断を下す計算を行うことは、従来手法では簡単ではありません。そこでわれわれは、そのような「計算困難な問題」の解決に向け、高性能なマシンだけではなく、それらを動かすアルゴリズムの開発と、専門家でなくとも使いやすいミドルウェアに注目しているわけなのです。
組合せ最適化問題はいたるところに発生している
——具体的にはどのような組合せ最適化問題を解いているのですか?
企業との関係で、詳細をお話できるレベルでは、豊田通商様とマイクロソフト様と取り組んだ都市交通における信号機の最適化があります。マイクロソフトにはQIO(Quantum Inspired Optimization)という優れた古典イジングマシンがあり、これを活用して信号機の最適化の実証実験を行いました。結果的に、われわれは信号機の点滅にかかるスケジュール制御によって自動車の待ち時間を既存方式から20%削減することができました。
この実験は、昔からある有名な組合せ最適化問題の一つです。都市の交通を考えた時、多くの車両が青信号をすりぬけた後に、タイミングよく赤に変わり、歩行者を通すという状態がつくれないかという最適化問題を解くものです。つまり、車が信号にできるだけ引っかからないように制御すれば交通はスムーズに流れるはずですので、車の交通量と速度に合わせ信号機の間隔の考慮、つまり赤と青の時間幅を決めるというシミュレーションを行いました。
実際に、日本のいくつかの都市でも古典コンピュータを使って信号機システムを運用しているケースもあります。しかし、最適化問題を解くのに数式化は難しく、現実には車を流して信号機を調整しては、また車を流し、調整するという対応になっています。また交通シミュレータを活用しているので、非常に重たい処理にならざるを得ません。
実は、最適化問題を解くことはSDGsにも直結します。車が止まる回数を減らし、ウェイティングコストを減らすというアプローチは車や街を何も変えなくても、信号機のタイミングを変えるだけで、全体の燃費が大きく下げられることを示唆しました。車社会の東南アジアやブラジルの国々の信号機を最適化すると、SDGs貢献へのインパクトも相当大きくなるはずです。実際、世界には、信号機最適化をするだけのスタートアップもあるくらいですので。
——他にもどんな最適化問題があるか教えてください
東邦ガス様との取り組みは、エネルギー供給の制御に組合せ最適化問題を応用するというものでした。ガス発電機で発電した時、廃熱も出るので、その熱を使ってお湯もつくるコ―ジェネレーションシステムという仕組みがあります。これは電気も熱も両方無駄なくエネルギーを得ようという、エネルギーを省力化するシステムです。ただ、現実的にお湯が必要ない時には、コージェネレーションシステムを使うより、電気だけ買ってきて使ったほうが安い場合もあります。つまり、使うタイミングが難しいという課題がありました。そこで、お湯が使われそうだという需要が予測できるときは、コージェネレーションシステムを動かし熱を得る、お湯を使わないときは、電気だけ買うという最適化シミュレーションを行いました(量子ソフトウェア研究会で発表済)。
それ以外には、保険会社との間での保険商品の推薦最適化や、 SIer 企業のエンジニアのシフト最適化、IoT端末のP2Pネットワーク最適化、センサー配置問題…と多様な最適化問題に、実業での課題を抱える企業様とともに取り組んでいます。
このように最適化問題は、すでに通常のビジネスにおいてかなり一般的に存在しているのですが、それが最適化問題であることに気づくのが難しいということがあります。そこで、われわれはまず、事例を増やすことに力を入れています。
社内に専門家がいなくても量子・古典イジングマシンが使える、ミドルウェアJijZeptを中心とする事業展開
——この組合せ最適化問題をテーマにして、どのように事業を展開しているのでしょうか?
われわれは、従来手法では計算が難しかった領域の最適化問題解決を支援するわけですが、具体的には3つの取り組みとして展開しています。
まずは、企業様との間で社会課題を共有しつつ、アルゴリズムの研究開発を行います。そしてその活用手法を提案し、その後のPoCや社会実装に繋げていきます。一方企業様には、アルゴリズムを活用し、アプリケーションの開発環境やそのクラウド計算基盤としてJijZept(ジェイアイジェイゼプト)をご利用いただきます。われわれはJijZeptのAPIを提供する一方で、当社が開発した新しいアルゴリズムをJijZeptクラウド計算基盤に反映していくという流れになります。
この中で肝となるJijZeptは最先端の量子・古典イジングマシンを専門知識が無くとも使えるようにするミドルウェアのクラウドサービスになっており、この計算基盤の普及によって社会実装がさらに進展していくものと期待しています。
——JijZeptとはどのようなものなのでしょうか?
組合せ最適化をさらに一般化すると、「数理最適化」という問題解決になります。課題を数理モデルとしてとらえ、最適解(最も良い答え)を求めます。この解を「計画」と呼ぶのです。数理モデルは、「変数、制約条件、目的関数」で構成されています。
たとえば、数理最適化は次のように表されます。目的関数が、売り上げの最大化と費用の最小化だとします。そして、変数は、売上金額と費用。制約条件は、予算の上限や、運用のルールだとします。
これに対して汎用Solver(ソフトウェア)を活用し、アルゴリズム実装していき計画(解)を得るのです。
先ほどの東邦ガス様との事例で、興味深いポイントは、熱エネルギーの需要予測と最適化を同時に行うことでした。それを一緒に実行するアルゴリズムを考え、AIによる機械学習とセットで、予測データがあったうえで、どのように意思決定するのが良いのかという判断を行いました。つまり、AIで予測し、DXの最後のプロセスを最適化するのが数理最適化という位置づけになります。
今後のデータ社会の中では、AIとセットになった数理最適化はDXに欠かせない手法になるでしょう。無線通信も5Gから、6Gに進化することで、陸地だけでなく、宇宙や海中も含めて無数のノードが繋がり、データを収集します。その、ビッグデータを機械学習で予測し、それをもとに数理最適化して計画を立てるということが通常のビジネスで行われていく手法になっていくと考えられます。
——JijZeptの使い方のイメージは?
企業が実社会の問題解決に資するアプリケーションをつくるためには、先ほどの数理モデルを構築し、数理モデルのイジングモデルへの変換を行い、モデル・マシンのパラメータの決定や各マシン向けの変換処理を行うことが必要となります。
このため、イジングマシンを利用するには多くのステップや、経験が必要になるのです。一方で、専門家を活用したPoCはコストが高く、自社内にノウハウも蓄積しづらいという課題もあります。
そこで、われわれは量子・古典イジングマシン活用の専門家がいなくても各社で実施ができるように、さまざまなステップをソフトウェアで自動化してJijZeptのクラウド基盤でサポートします。
JijZeptを活用すれば、専門家でなくても数理最適化の基礎知識があれば、数理モデルの構築、数理モデルのイジングモデルへの変換、モデル・マシンのパラメータの決定、各マシン向けの変換処理を行うことができます。これによって、事業に活用できるアプリケーションが比較的簡単に作れ、量子・古典イジングマシンで最適化計算の実行が日常業務としてできるようになるのです。
また、豊富なチュートリアルも用意しています。これらは、ゆくゆく社内での独自運用ができるようにしていくプログラムとなっており、数理最適化の基礎から自社で活用するための応用問題の取り扱いまで、自走を支える仕組みになっているのです。
さらに数理最適化の知識がない段階からでも、このチュートリアルで学習することで、JijZeptが使えるようになります。
——JijZeptでは計算の元になる数理モデルづくりはどのようにサポートされているのでしょうか
JijZeptには、定式化と実装を同時に実現する扱いやすい、直感的な数学的モデリングツール (JijModeling と呼ばれる) が含まれており、モデルをインタラクティブに実装するときにチェックすることができます。数式をそのまま記述できるインターフェースで定式化の試行錯誤と実装を同時に行うことができ、数理計画の作成が可能です。例えば、次のように、
どういった数式を書いているのかを確認しながら、計画をつくることができます。
また、JijZeptは、さまざまな強力な汎用ソルバーをサポートしています。問題に対しては、適切なソルバーを選択することができます。このとき、JijModelingのデータ構造は、モデルを深く理解し、各ソルバーに合わせて変換できるようになっており、専門家が傍らにいるようにモデリングをサポートしているのです。
また、これまで主導で調整していたパラメータの調整も、自動化が可能となっています。
さらに、パラメータサーチなどの独自の機能もあります。例えば、search=True のみで、探索した履歴と照合し、最も良かったパラメータの取得が可能となるのです。JijModelingの活用にあたっては、Pythonツールで実行でき、Python SDKからJijZeptに簡単にアクセスが可能です。
一方で、最適化がどんなに早くできても、既存のデータをイジングマシンに変換するのも重たい計算になるという課題がまだ残っています。
この時間のかかる前処理 (QUBOコンパイル)に関しては、JijZeptは独自のデータ構造で、量子・古典イジングマシンのための前処理の計算の高度化を実現しています。既存ツールと比べて前処理の高速化も達成し、トータルで見たとき、最適化マシンの恩恵が受けられるようになっています。
これらがJijZeptの技術的な特長です。もとはと言えば、JijZeptは企業様との共同研究の中で生まれたものです。先述のパラメータの設定や、前処理に時間がかかることなど、ボトルネックを、ひとつひとつ愚直に解決するために作ったツールでした。それを公開し標準的なサービスとして展開しているわけなのです。
——他にも似たようなサービスはないのでしょうか?
他社サービスでは、モデル・マシンのパラメータの決定と各マシン向けの変換処理の2つに対応できるものが多いので、それらと競合することはありません。むしろ、こういった既存サービスがカバーしていない分野のミドルウェアとして我々がバックエンドを受け持っていくことができるのです。
——そもそも最適化がうまくいっているかどうか自分で判断するのは難しくないですか?
そうですね。量子・古典イジングマシンは、いったん数式にしてしまえば何らかのアウトプットは出せるのですが、それが最適な答えでなかったりする。数式と問題ごとに自分でチューニングしないと、本当に良い答えは出ません。また、パラメータを調整し、ちゃんとした数式を使えば、高速マシンの本来の性能が引き出せるようになるのです。
つまり、問題に合わせていく力や経験が非常に重要で、そこが、ソフトウェア化が難しかったポイントでした。この点、JijModelingを使って書くと、この数式はどういった制約条件でどういった性質をもっているかというメタ情報に加工することができ、これをクラウド側に送ります。クラウド側では様々な数式パターンをもっていて、最適な数式にマッチングさせ、こういったアルゴリズムにしたほうが良い、こういったパラメータにしたほうが良いという、マシンに最適化した形の数式に変更して返してくれます。
——なるほど、ミドルウェアの役割がわかってきました
われわれは最適化問題を解くことについて、技術レイヤーで言えば、数理モデル構築から、量子・古典イジングマシンでの計算に至るまでの縦型のバーティカルな領域で、ぽっかりと穴のあいている部分を担当していることになります。ひいてはこの社会実装のボトルネックになっているミドルウェア領域で量子技術を使えるようにするというのが当社のミッションになります。
今後つくりたい世界観
——今後のJijZeptの展開を教えてください?
量子・古典イジングマシンにしっかり対応する一方で、現在、量子コンピュータ(量子ゲート型)の研究も進めていて、量子技術シミュレータの開発も行っています。
当社では技術を3つの領域に分けて考えています。まず、安定して提供できる計算技術。こちらは現状のコンピュータが活用できる領域になります。次に、実証実験できるレベルで今後活用が見込まれる領域。これには量子・古典イジングマシンが相応します。さらに基礎研究の領域があり、これが量子コンピュータになります。
2022年中には、研究機関向けに量子コンピュータのサポートを始める予定です。そもそも量子アニーリングは、アルゴリズムなので、量子コンピュータの上でもスムーズに動かすことができるのです。そして、2027年以降には、JijZeptが量子コンピュータにも対応できるようにします。
現在、コンピュータのリソースと言えば、AWSなどのクラウドベンダーが挙げられます。なぜ一般の産業でクラウドサービスが広く活用されているかというと、彼らが多量のハードを調達し、コンピュータが使われる環境を用意しているからです。
量子・古典イジングマシンと量子コンピュータが限られた人だけしか使えない、特殊なコンピュータで終わらないようにするためには、使われる場を整える必要がある。われわれは社会実装に最も近い、組合せ最適化問題から入ってますが、ユーザーに対し、JijZeptで量子・古典イジングマシンと量子コンピュータの活用環境が提供できれば、良い量子マシンを紹介するプロバイダとしてのプラットフォーマーにもなる必要があると考えます。
——組合せ最適化問題はあらゆる企業で発生していますが、それに気づくのも難しいですし、気づいたとしても取り組むにはいろいろハードルがあります。それを乗り越えるために企業はどうすればよいでしょうか?
信号機のような巨大インフラの話だと特殊に聞こえるかもしれませんが、身近な最適化問題はたくさんあります。コールセンターの人員配置のような人のシフト最適化、工場のラインでどの機械を稼働させるか等々、あらゆる事業の日常の課題に組合せ最適化問題は含まれています。
もし、すでに、社内で数理最適化に取り組んでいる開発者がいれば、すぐにでも取り組むことができます。また、今後DXの流れの中で、数理最適化に取り組みたいが、どの技術から手を出したらよいかわからないという企業様にも、JijZeptはお勧めできます。様々なハードウェアを気軽に試すことができて余計な心配も要りません。
また、量子アニーリングマシンが話題になったから使い始めたけど、難しかった。あるいは、今までやっていた数理最適化と同じように、触ってみたけれど難しかった。また、量子・古典イジングマシンのアプリケーションをつくったという企業様から、1個ずつ問題ごとに数式やパラメータを調整するのは大変、量子・古典イジングマシンの面倒見るのは負荷が大きいという課題をいただいています。そこを、JijZeptにお任せできるのは有難いという声も沢山いただいています。
さらに、これから数理モデルに取り組みたいという企業様向けには、機械学習を使って、今までの履歴から自動化して数理モデルをつくる方法を研究しています。今後、数理モデルがまったく初めてという企業様もサポートできるように準備しています。
最近では、材料の最適化に興味を持たれる企業様も増えてきました。Jijでは以前からブラックボックス最適化という自動で数式を構築して最適化問題を解く技術を研究しており、これまでの数理最適化のアプローチを混ぜることで、一部は自分で数式を作り、一部はデータ駆動で、自動的に数式を作ることができるというのが魅力のようです。半導体製造の材料投入の適正化やゴムの構造、金属にどうやって穴をあけるか…という、材料の構造をどう最適化するかといったテーマにも、有用なアルゴリズムがあります。これをJijZeptで共有していますので、そこにも興味をお持ちいただいています。
——Jijでの仕事の面白さはどんなところにありますか?
社内体制は、大まかにはJijZeptの機能開発、企業様と社会実装する取り組み、アルゴリズム開発をするメンバーに分かれているものの、当社では皆が重ね合わせ状態で、どのポジションにも関わることができます。
JijZeptでは、コンピュータのハードウェアも黎明期にある中で、まったく何もないところから、ミドルウェアをつくっています。逆に言えば、これがデファクトスタンダードになる可能性を秘めています。まったく新しい領域なので、われわれが一早くいろいろなマシンのインターフェースの共通化をしたり、数理モデルを解釈したり、仕様を決めていくことができるのです。
最適化問題は、アカデミアでも考えることは可能ですが、われわれは実際に、世の中で起こっている課題解決に企業様と取り組んでいます。信号機の最適化などの社会課題は、後で聞くとわかりますが、アカデミアにいては発見できないと思います。
企業様の課題を聞いたうえで、どんなアプローチがよいか、自分で数式をつくってみて、社会課題に潜んでいる課題の数理的な難しさを理解したり、それをさらにソフトウェアに反映するといったプロセスで、顧客と触れ合い、最適化問題を解いていくのは非常に良い機会です。
このとき、最適化問題を企業とディスカッションをしながら数式にしていくのですが、データサイエンティストとちがって分析ではなく、計画をつくることがわれわれの目標です。目的関数を決める時に、本当に最小化したいのはそのコストですか、制約条件がこうだというときに、本当にそのルールを守っていますかといったことを聞き出しながら、一方で数式の構造を社内のメンバーと一緒に考えていく。多岐にわたる能力が必要ですが、その分やりがいがあります。
また、PoCだけだと数理に触れることが少なく、数理が好きな人は辛いかもしれないですし、数理的なことだけをやっていると、何に役立っているのかがわからず、モチベーションが保てないといったこともあります。この両方ができるのが、われわれのエンジニアにとっては魅力かと思います。
勤務形態は、海外メンバーもいるので、コロナの有無にかかわらず、フルリモートとなっていて、場所と時間の制約もありません。社内に物理出身者は多いのですが、量子だけでなく、コンピュータサイエンス専門、数学専門、最適化専門と各分野に強みをもつメンバーがいて、相互に教え合う研究会も活発に行っています。アプリケーション開発、量子技術分野だけの知識では足りず、多角的な知識が必要で、色んな分野の人と交流しながら知見を深めていけるという面白さもあります。
(現在、ソフトウェアエンジニアに加えアルゴリズム研究開発メンバー、企業との最適化エンジニアを募集しています。)
——会社をドライブしている基本的な価値観は何でしょう?
タイムマシンをつくりたかったという冒頭の話は、そもそも科学技術の進化の先の未来を見てみたかったからですが、今もその思いは変わりません。量子力学より先の、根源的な物理が知りたいというモチベーションが強くあります。
歴史をさかのぼると、産業革命以来、科学と社会実装は、相互に絡み合って発展してきました。量子力学が生れたのも、19世紀後半に、鉄鋼業界が鉄の色と温度の関係を知りたいというニーズから発生したものでした。20世紀後半になると量子力学を活用した半導体が伸びて、これが情報革命を引き起こしました。その手前で情報科学が発展していたからこそです。その後、情報科学が量子力学と結びついた量子情報科学が現れ、物理の知見がさらに深まってきています。
つまり次の物理を見たいといったときに、人類は新しい科学的知見をもとに、技術を発展させて、科学を使いこなせるようになってから、初めて次の科学や物理の発見に至っているのです。ダイレクトには見つからないので、まず、まだ新しい、この量子情報科学を社会で使えるようにする必要があります。だからこそ、われわれは社会実装を急ぎたい。
私は、相対論から研究をはじめたわけですが、相対論と量子力学をまぜて、究極の理論を見出したいと思って、場の量子論や、素粒子を学んで一歩進もうとしました。しかし、素粒子も現状はかなり混沌としています。
今、量子情報科学という新しい視点で、量子コンピュータや量子技術が当たり前になると、量子コンピュータで実験する人にもっと研究資金も入って、科学が発展していくのです。
そして、科学の社会実装で、社会を変えるためには、最適化技術は必須です。それと量子を掛け合わせた世界にわれわれは今、立っている。社会実装が牽引できるプラットフォームになって、多くの企業様とともに課題を解決し、さらにいろいろな同業企業の参入も促し、量子コンピューティング全体を盛り上げるのも我々の役割と認識しています。
こんな科学あるいは物理のビジョンに共鳴し参画しているメンバーは多いです、今後そういった仲間をさらに増やしたいと思います。