NTTソフトウェアイノベーションセンタ×NTTデータ数理システム 組合わせ最適化のための、新原理の計算機とミドルウェアの開発事例

  • HOME
  • 組合わせ最適化のための、新原理の計算機とミドルウェアの開発事例

新原理コンピュータの計算言語を構築
─光イジングマシンLASOLV用計算基盤 LCS/SDK─

2020年7月10日 10:00

日本電信電話(NTT)様では、レーザ技術を応用した新原理の計算機「光イジングマシン LASOLV(ラゾルブ)」を独自開発している。それと並行して同社ソフトウェアイノベーションセンタ様は、この新原理の計算機を容易に使いこなすためのミドルウェア開発を、NTTデータ数理システムとのアライアンスにより進めている。このシステムにより、2の2,000乗の組合せ最適化問題の計算を、わずか数ミリ秒で実現するプログラム開発やコンピューティングを一般のユーザ向けに提供可能となった。

Profile:NTTソフトウェアイノベーションセンタ 様
NTTグループの研究機関として、IoT/AIサービスの革新的基盤技術創出に向け、モデリング、データ活用分析、クラウド・IT基盤構築・運用、ソフトウェア開発・運用支援の4領域を中心に研究活動を展開している。同社の LASOLV 研究開発はハードウェアの機能・性能向上を担うNTT物性科学基礎研究所や先端集積デバイス研究所、そしてミドルウェア開発を担うNTTソフトウェアイノベーションセンタらと共同で進められている。

NTTソフトウェアイノベーションセンタープロジェクト担当者様の画像
NTTソフトウェアイノベーションセンタ

分散処理基盤技術プロジェクト
主幹研究員 堀川 桂太郎 様(中央)
主任研究員 八木 哲志 様(左)

第三推進技術プロジェクト
研究員 宮原 和大 様(右)

2 の 2,000 乗の組合せ最適化問題の計算を、わずか数ミリ秒で実現する

「LASOLV」はどんな計算機なのでしょうか。

堀川 組合せ最適化問題の解を得る新原理の計算機ですが、NTT がこれまで培ってきたレーザ技術を応用している点がその他のイジングマシンとの相違点です。NTT物性科学基礎研究所が研究開発し、2017年に体験サービスを公開しました。
解を得るまでの計算時間が指数関数的に跳ね上がる組合せ最適化問題において、LASOLV はレーザパルスの物理現象とイジングモデルの応用により、解の発見的探索を瞬時に行う設計です。現段階では2,000ビット、つまり2の2,000乗の組合せから解を探索することが可能です。
新アーキテクチャの計算機を使いこなすためには、新しい OS やミドルウェアが必要です。そこで、LASOLV用のコンピューティングシステムと開発環境を用意するのがNTTソフトウェアイノベーションセンタの役割です。

どのようなミドルウェアを開発されているのですか。

堀川 組合せ最適化は、製造業や医薬、素材などの産業分野をはじめ、人口や環境、防災など幅広い社会課題の中に普遍的に存在する問題です。今後はより一層複雑化し、膨大な計算時間がかかるようになります。高速な計算能力を使いやすい形で提供したい思いで、今回の開発を進めています。
当初の目標は、一般的なプログラマでも LASOLV を簡単に使えて組合せ最適化問題を解けること、複数の利用者がそれぞれの問題を解くために多数のジョブを実行しても対応できることです。
それぞれ現在までに実現しており LCS/SDK(LASOLV Computing System/Software Development Kit)と呼んでいます。

LASOLVの画像
光イジングマシン「LASOLV」

ミドルウェアの機能について教えていただけますか。

八木 組合せ最適化問題は一般に、目的関数、制約条件の複雑な集まりで表現されます。一方、LASOLV はイジングモデルで定式化された式しか解釈できません。
組合せ最適化問題はこのイジングモデルで定式化された式が最小となる状態を探す問題に変換可能なことが知られていますが、この変換作業には専門的なスキルが求められます。LCS/SDK はこの変換作業を自動で行う機能を提供します。他にも巡回セールスマン問題やジョブショップスケーリング問題といった汎用性の高い問題に対するライブラリのほか、使い方が習得できる例題や動作確認用のサンプルアプリなども用意しています。

宮原 組合せ最適化問題をイジングモデルで考える時、複雑な条件を1ビットずつ意識したプログラミングになることがあります。問題が複雑になれば、式はビットの関係性も複雑化し、人力で計算困難なレベルとなりますが、LCS/SDK によってそのような計算は不要です。
新しい原理で動く LASOLV と、従来のコンピュータ環境をつなぎ、問題を解きたい人間を助ける存在が LCS/SDK です。

八木 LCS/SDKを使えば、目的関数と制約条件を実装するだけで LASOLV が理解できるイジングモデルに自動で変換され、その高速な計算能力の恩恵を享受できるようになります。これらの実装は Python に慣れているプログラマであれば直観的に理解できるような API で可能となっています。
また LASOLV から得られた解は必ずしも制約条件を満たすとは限らないのですが、制約を満たすか否かを自動的に検算できる機能もあり有用です。これらによりLASOLV利用のハードルをかなり下げることができたと思っています。

LASOLVの計算方法の画像
LASOLV に格納されている全長1kmの光ファイバ上に2,000個の光パルスが数マイクロ秒で周回する。初期段階でランダムな位相の光パルスが図内の PSA を通過する過程でゼロ位相かπ位相のどちらかに絞られ、エネルギーが安定する状態で全体のパルスの位相が一斉に決定する。これが問題の答えとなる。

最適化問題を新原理コンピュータの定式へと変換

NTTデータ数理システムはどのような役割を果たしましたか。

堀川 開発スタート時から多大な協力をいただいています。数理問題全般で深いノウハウをお持ちで、私たちの要求や疑問にも常に適切な回答が得られ、プロジェクトにかかる全員がとても助かっています。
プログラミングのスキルも高く、シンプルで拡張性が高くわかり易いため、バグがなく優れた安定性をもったコードです。このような素晴らしい力のあるパートナーの協力を身近なところで得られることがとても頼もしく、プロジェクトの力強い前進を実感しています。

LCS/SDK の今後の開発予定についてお聞かせください。

八木 LASOLV はいま、10万ビット対応を目指して開発が進められており、LCS/SDK も同様です。これにより、より大規模で現実的な問題への適用が可能になると考えています。大規模化に伴い新たに発生する課題や、その他現状でまだ十分に対応できていないところもある細かい使い勝手に関わる課題などにも着実に対応しながら機能の追加やブラッシュアップをしていきたいと考えています。

宮原 LCS/SDK の最終的な目標として、イジングモデルの知識がなくても LASOLV を利用できるようにしたいと考えています。集合の表現の書き方や多項式の書き方程度の数学の基本が身についているユーザであれば LASOLV が使える。そこまでハードルを下げることができれば、例えば企業や行政などの実務担当者レベルでも組合せ最適化問題を手軽に計算できるようになり、産業界や社会の課題解決に大きなインパクトが出てくるはずです。

この記事をお読みのかたに、メッセージをお願いします。

堀川 現在、LCS/SDK によりイジングマシンを使って実際の組合せ最適化問題を解く実証実験を行っています。より多くの応用問題を素早く定式化して、クイックに求解作業を進められる使いやすい環境を提供しながら継続して取り組んでいきます。新しい原理の計算システムに強い理解を持ち、概念実証(PoC: Proof of Concept)テーマをお持ちのさまざまな方々との建設的な協業の形も継続的に検討してまいります。どうぞよろしくお願いいたします。

おわりに

弊社NTTデータ数理システムでは、長年培ってきた数理科学の技術を基に、お客様のご要望に合わせた受託開発を承っております。「データはあるから何となく何かをやりたい…」というきっかけでも大丈夫です。お客様が解きたい課題を弊社技術スタッフが一緒に課題整理を行いながら、ご要望に合わせたご利用形態で課題解決をサポートします!ぜひお気軽にお問い合わせ、ご相談いただけると幸いです。