アメリカの半導体メーカー・NVIDIA社はこのほど、対話型AIについて論じたブログを公開した。
人間と機械の間で質の高い会話をするためには、応答は迅速で、インテリジェントで、自然であることが理想的だが、これまで、リアルタイム音声アプリケーションを強化する言語処理ニューラルネットワークの開発者は、応答を迅速にすると質が犠牲になり、質に拘ると応答が遅すぎるという残念なトレードオフを抱えてきた。
本ブログでは、このトレードオフを解消する大きな一歩となるNVIDIAのAIソフトウェアについて、および未来の対話型AIの姿について紹介する。詳細は以下の通り。
対話型AIとは
真の対話型AIとは、人間のような会話を行い、文脈を理解し、インテリジェントな応答を提供できる音声アシスタントのこと。このようなAIモデルは当然、大規模で非常に複雑だ。
ただし、モデルが大きくなるほど、ユーザーの質問とAIの応答の間の遅延が長くなる。会話の切れ目が0.3秒以上空くだけでも、不自然に聞こえることがある。
NVIDIA GPU、対話型AIソフトウェア、CUDA-X AIライブラリを使用することで、大規模な最先端の言語モデルを迅速にトレーニングおよび最適化して、わずか数ミリ秒(ミリ秒=1000分の1秒)で推論を実行できる。これは、高速なAIモデルと大規模で複雑なAIモデルの間に存在するトレードオフを解消する大きな進歩だ。
これらのブレイクスルーにより、開発者はこれまでで最も高度なニューラルネットワークを構築、展開できるようになるため、真の対話型AIを実現するという目標に一歩近づくことになる。
GPUに最適化された言語理解モデルは、ヘルスケア、小売、金融サービスなどの業界のAIアプリケーションに統合でき、スマートスピーカーやカスタマーサービスの電話で使用される高度なデジタル音声アシスタントを可能にする。このような高性能の対話型AIツールを使用することにより、さまざまな分野の企業が顧客とのやり取りにおいて、これまで達成できなかった水準のパーソナライズされたサービスを提供できるようになる。
対話型AIに求められる応答の速さ
自然な会話における応答間の切れ目は一般に約300ミリ秒。AIが人間のような双方向のやり取りを再現するには、多層タスクの一部として12個以上のニューラルネットワークを順番に、しかも300ミリ秒以内に実行しなければならないだろう。
質問に回答するには、ユーザーの音声をテキストに変換する、テキストの意味を理解する、文脈に合った最適な回答を検索する、Text-to-Speechツールを使用して音声で回答するなどの手順を踏むことになる。これらの手順それぞれで、複数のAIモデルを実行する必要がある。したがって、個々のネットワークの実行に許される遅延は、約10ミリ秒以下になる。
各モデルの実行に時間がかかると、応答が遅くなり、ぎこちなくて不自然な会話になってしまう。
このようなわずかな遅延しか許されない中で開発が求められる現在の言語理解ツールの開発者は、前述のトレードオフを許容せざるを得なくなる。チャットボットでは高品質で複雑なモデルを使用できる。チャットボットの場合、遅延は音声インターフェイスほど重要ではないからだ。一方、開発者はあまり大規模ではない言語処理モデルに頼ることもできるが、より迅速に結果を提供できる代わりに微妙なニュアンスの応答ができない。
NVIDIA Jarvisは開発者向けのアプリケーションフレームワークで、双方向型アプリに求められる300ミリ秒のしきい値をはるかに下回る速度で実行できる高精度の対話型AIアプリケーションを構築できる。企業の開発者は、NVIDIA DGXシステム上で10万時間以上のトレーニングを経た最先端のモデルを始めから使用することができる。
企業は、Transfer Learning Toolkitを使用して転移学習を適用し、自分たちのカスタムデータでこれらのモデルを微調整できる。これらのモデルは、企業独自の専門用語を理解してユーザーの満足度を高めるといった用途に適している。
モデルは、NVIDIAの高性能推論SDKであるTensorRTを使用して最適化され、データセンターで実行および拡張できるサービスとして展開できる。
さらに、音声と視覚を一緒に使用して、デバイスとのやり取りをより自然で人間らしいものにするアプリを作成することができる。Jarvisにより、以前はAIの専門家だけが試みることしかできなかった世界クラスの対話型AIテクノロジをあらゆる企業が使用できるようになる。
未来の対話型AIでの音声はどう聞こえるか
電話の通話におけるツリー構造のアルゴリズムなどの基本的な音声インターフェイス(「新しいフライトを予約するには、『予約』と言ってください」などの指示)はトランザクション型であり、事前にプログラムされたキューを介してユーザーを移動する一連の手順と応答が必要。
微妙なニュアンスの質問を理解し、電話の相手からの質問にインテリジェントに回答できるのは、通話のツリー構造の最後にいる人間のエージェントだけの場合もある。
現在市場に出回っている音声アシスタントは、非常に多くのことを実行しているが、使用しているパラメータは数十億ではなく数百万で、それほど複雑ではない言語モデルに基づいている。
これらのAIツールでは、発話された質問に答える前に「ただ今お調べしております」などの応答をすることにより、会話の流れが途切れることがある。または、質問への応答を会話で行うのではなく、ウェブの検索結果のリストを表示する。
真の対話型AIは、ここからさらに飛躍するだろう。理想的なモデルとしては、銀行の明細書や検診結果のレポートについて個人的な質問を正確に理解できるレベルの複雑さや、シームレスな自然言語でほぼ瞬時に応答できるレベルの迅速さが考えられる。
このテクノロジのアプリケーションには例えば、患者が予約と経過観察用の血液検査をスケジューリングするのを支援する診療所の音声アシスタントや、荷物の出荷が遅れる理由を説明して返品分と同額のストアクレジットを提供できる小売業界での音声AIなどがあるだろう。
このような高度な対話型AIツールの需要が高まっている。2020年までに検索の50%が音声で行われていると推定され、2023年までに80億台のデジタル音声アシスタントが使用されるようになると予想されている。
BERTとは
BERT(Bidirectional Encoder Representations from Transformers)は発表された当時、自然言語理解の分野で世界最高精度を達成した大規模な計算量の多いモデル。微調整をすることで、読解、感情分析、質疑応答といった幅広い言語タスクに適用できる。
33億語の英語テキストから成る膨大なコーパスを用いてトレーニングされたBERTは、言語の理解に非常に優れており、場合によっては平均的な人間よりも優れている。BERTの強みは、ラベル付けがされていないデータセットでトレーニングでき、最小限の変更で幅広いアプリケーションに一般化できること。
同じBERTを使用して複数の言語を理解し、微調整して、翻訳、オートコンプリート、検索結果のランク付けなどの特定のタスクを実行できる。このように汎用性が高いことから、複雑な自然言語理解の開発において広く選ばれるテクノロジとなっている。
BERTの基盤となるTransformer層は、attentionという手法を適用し、リカレント ニューラル ネットワークの代替となっている。attentionとは、前後にある最も関連性の高い単語に注意(attention)を向けることで文を解析する手法だ。
例えば、「窓の外にcraneがあります」という文は、「湖畔にある小屋の」で始まるか「私のオフィスの」で始まるかに応じて、craneが鳥のツルを指すか建設現場のクレーンを指すかが変わってくる。BERTのような言語モデルは、双方向のエンコードまたは無指向のエンコーディングと言われる方法を用いることで文脈の手掛かりを使用でき、どのような場合にどの意味が適用されるかについて優れた理解力を発揮する。
BioBERT(生物医学論文用)やSciBERT(科学出版物用)など、現在の様々な分野の主要な言語処理モデルはBERTをベースとしている。
NVIDIAのテクノロジがTransformerベースのモデルを最適化する方法
NVIDIA GPUの並列処理機能とTensor コアアーキテクチャにより、複雑な言語モデルを操作する際のスループットとスケーラビリティが向上し、BERTの学習と推論の両方で記録的な性能が実現する。
強力なNVIDIA DGX SuperPODシステムを使用すると、トレーニング時間に通常は数日かかる3億4000万パラメータのBERT-Largeモデルを1時間以内にトレーニングできる。しかし、リアルタイムの対話型AIの場合、最も重要なスピードアップは推論だ。
NVIDIAの開発者はTensorRTソフトウェアを使用して、1億1,000万パラメータのBERT-Baseモデルを推論向けに最適化した。このモデルをNVIDIAT4GPU上で動作させ、Stanford Question Answering Datasetでテストしたところ、わずか2.2ミリ秒で応答を導き出した。SQuADという呼び方でも知られるこのデータセットは、文脈を理解するモデルの能力を評価する代表的なベンチマークだ。
多くのリアルタイムアプリケーションでのレイテンシのしきい値は10ミリ秒。高度に最適化されたCPUコードでも、処理時間は40ミリ秒を超える。
推論時間を数ミリ秒に短縮することで、BERTを本番環境に導入することが初めて現実的になった。また、BERTだけでなく、GPT-2、XLNet、RoBERTaといった、Transformerベースの大規模な自然言語モデルにも同じ方法を使用して高速化することができる。
真の対話型AIの実現という目標に向けて、言語モデルは時を経ることに成長している。将来のモデルは現在使用されているモデルよりも何倍も大きくなることだろう。そのため、NVIDIAは最大級のTransformerベースのAIであるGPT-28Bを構築してオープンソース化した。これは、83億パラメータを持つ言語処理モデルで、BERT-Largeの24倍の大きさだ。