AI技術の発展には欠かせないと言われる量子コンピューター。当コラムでは2015年に初めて取り上げています。
[058]量子コンピュータへ一歩前進か、日本の頭脳。
(2015年05月26日)
この頃は、量子コンピューター理論が正しく動作するのかを実験室で検証している段階でした。海外でも量子コンピューターはまだ数えるほどしかなく、またプログラムの難しさから従来のコンピューターを越える性能は発揮できていませんでした。
あれから8年。日本でも一般に公開できる量子コンピューターが実用化されたようです。
量子コンピューター国産初号機、今月末にクラウド公開
理化学研究所は9日、量子コンピューターの国産初号機を今月末にクラウド公開し、外部から研究に使ってもらうサービスの運用を開始すると明らかにした。
(SankeiBIZ 2023年3月9日)
ところで、量子コンピューターって何?私たちが使っているPCとどこが違うの?と疑問の方も多いでしょう。
上記のコラムでその原理を説明済みですが、安心してください。今は、ChatGPT くんがあります。改めて彼に質問をぶつけてみました。
------------------------------
Q:
量子コンピュータの仕組みをわかりやすく教えて。
A:
量子コンピュータは、従来のコンピュータとは異なる仕組みを持っています。
従来のコンピュータは、ビットと呼ばれる0か1の状態を取る情報の最小単位を使って情報を処理します。これに対して、量子コンピュータは量子ビット(qubit)と呼ばれる量子力学的な状態を取る情報の最小単位を使って情報を処理します。
量子ビットは、0と1の状態の線形結合で表現されます。つまり、量子ビットは0と1の状態の両方を同時に持つことができます。これを重ね合わせ状態と呼びます。また、量子ビットは量子もつれと呼ばれる相関状態を取ることもできます。
量子コンピュータは、量子ビットを使って計算を行います。量子ビット同士を操作することで、重ね合わせ状態や量子もつれを作り出し、その状態を利用して計算を行います。
量子コンピュータの特徴として、同じ計算でも従来のコンピュータよりも高速に処理できることが挙げられます。また、量子コンピュータは従来のコンピュータでは解けないような問題を解くことができる可能性があります。
ただし、量子コンピュータの技術はまだ発展途上であり、実際に量子コンピュータを使って問題を解くことは非常に難しいとされています。
------------------------------
わかりましたね。要は「重ね合わせ」と「もつれ」で計算するコンピューターです。筆者はこの状態をわかりやすく「シュレディンガーの猫」で例えています。
------------------------------
Q:
量子コンピューターの「重ね合わせ」と「もつれ」の状態を、「シュレディンガーの猫」にたとえて、わかりやすく説明して。
A:
量子コンピューターの「重ね合わせ」と「もつれ」の状態を、シュレディンガーの猫の例えで説明します。
シュレディンガーの猫とは、箱の中に猫と放射性物質を入れ、放射性物質が崩壊するかどうかはランダムであるため、外から見る限りは猫が生きているか死んでいるかわからない状態のことを言います。このように、観測されるまで状態が確定しない状態を「重ね合わせ」と言います。
量子コンピューターでも同様に、量子ビット(qubit)が複数ある場合、その状態はすべての可能性を含んでいる「重ね合わせ」の状態にあります。例えば、2つの量子ビットがある場合、それぞれの状態は |0? または |1? のどちらかであるかの確率が50%ずつであり、それぞれの状態を同時に持つ状態にあります。これは、シュレディンガーの猫が生きているか死んでいるかわからない状態に似ています。
また、量子ビット同士が相互作用している場合、それらの状態は「もつれ」ている状態になります。例えば、2つの量子ビットがもつれている場合、それぞれの状態を単独で測定することはできず、一方を測定した場合にはもう一方の状態も同時に確定することになります。これは、シュレディンガーの猫が生きているか死んでいるかが、外から見る限りは確定しない状態に似ています。
つまり、量子コンピューターにおいて、重ね合わせやもつれの状態は、複数の状態が同時に存在している状態であると理解することができます。
------------------------------
では、量子コンピューターはどうやって操作しているのか。プログラム言語をたずねてみました。
------------------------------
Q:
量子コンピュータを動かすプログラム言語は何ですか?
A:
量子コンピュータを動かすためには、通常のプログラム言語とは異なる量子プログラム言語を使います。量子プログラム言語は、量子ビットの状態を操作する命令や、量子ビット同士の相互作用を制御する命令、測定を行う命令などを提供します。
代表的な量子プログラム言語には、Qiskit、IBM Quantum Experience、Cirq、Forest(pyQuil)などがあります。これらのプログラム言語は、量子アルゴリズムを実装するためのライブラリや、量子回路を設計するためのツールを提供しています。
また、量子プログラム言語は従来のプログラム言語と異なり、量子ビットの重ね合わせ状態や量子もつれを扱うため、プログラミングの考え方も異なります。量子コンピュータを使ったプログラミングは、従来のプログラミングとは異なる難しさがあります。
------------------------------
ChatGPT くんは、「重ね合わせ」と「もつれ」でしか説明していません。たぶんこれ以上の情報を持ち合わせていないようです。
せっかくなので、量子コンピューターがChatGPT くんに与える影響について聞いてみました。
------------------------------
Q
量子コンピューターを使うと、ChatGPTの性能は向上しますか?
A
量子コンピューターは、特定の種類の問題に対して従来のコンピューターに比べて高速に解決できる可能性がありますが、一般的な自然言語処理タスクにおいて量子コンピューターがChatGPTの性能を向上させることはまだ十分に理解されていません。
現在のところ、自然言語処理タスクにおける量子コンピューターの応用は、主に言語モデルの学習や解析に関する一部の研究が行われています。これらの研究は、量子コンピューターがより高速に言語モデルのトレーニングを実行できる可能性があることを示唆していますが、現在の技術的制限により、実用的な応用にはまだ至っていません。
したがって、現時点では、量子コンピューターがChatGPTの性能を向上させる可能性はありますが、具体的な結果は不明です。今後、量子コンピューターの発展に伴い、ChatGPTの性能向上に向けた研究が進められることが期待されます。
------------------------------
自分のことなのに消極的な返答でした。今のままでも十分です、といった考えを持っているようですね。
ネット上にある複数の情報をまとまった文章で取得するには、ChatGPTはグーグル検索より便利です。というより「楽」です。
しかし、その情報が将来にわたって社会に引き起こす影響、利益、損失といった利害に関わる予測にはまったく向いていないことがわかります。
こうした未来予測こそが私たちが求めているものですが、検索結果を寄せ集めるChatGPTには荷が重すぎるようです。では、量子コンピューターを導入すれば、チャットAIはもう少しまともになるでしょうか。
おそらく、そうした利害関係を計測するプログラムづくりが、これからの量子コンピューターの課題となるでしょう。(水田享介)