Facebook AI Research(FAIR)はBlenderBot 2.0をオープンソース化した。これはAIチャットボットで、長期に記憶を保持し、補足的な会話コンテキストのためにインターネットを検索する。人による評価で、新しいモデルは、以前の最先端のチャットボットであるバージョン1.0を上回り、以前と同じ会話を使った場合に55%改善した。
研究者のJason Weston氏とKurt Shuster氏から、このシステムについて、最近のブログ投稿で説明があった。多くの自然言語処理(NLP)AIモデルが示す「金魚の記憶力(記憶時間が短いこと)」問題に対処するために、BlenderBotには数週間から数か月にわたって会話コンテキストを追跡できる長期記憶が組み込まれている。ボットは、インターネットを検索して、会話に加える新しい情報を見つけることもできる。FAIRはコードとモデルに加えて、ボットのトレーニングに使われる2つのデータセットをリリースしている。Weston氏とShuster氏は次のように述べている。
この改善により、チャットボットでは仮想アシスタントやデジタルフレンドなどのアプリケーションの最先端を進歩させられると考えています。このリリースと対応するデータセットによって、コミュニティ全体として、他の多くの方向性も含め、さらなる進歩に役立つことを願っています。
GPT-3などの大規模なNLPモデルは、質問応答や現実のようなストーリー生成など、多くのNLPタスクでうまく機能する。しかし、会話コンテキストの記憶が不足している。したがって、モデルを使ってやり取りしているユーザによって提供された事実やデータは、会話が終了する前に忘れられる可能性がある。さらに、モデルは多くの一般的な知識を「知っている」ことがよくあるが、この情報はモデルがトレーニングされた後に更新されることはない。たとえば、GPT-3に「Tom Bradyは誰?」という質問に対して、ニューイングランドペイトリオッツのクォーターバックだと言われる可能性がある。GPT-3がトレーニングを受けた後にBradyがチームを移籍したにもかかわらずだ。モデルはよく、検証可能な間違いを事実として述べるという「幻覚」を起こしてしまう。
多くのNLPテキスト生成モデルと同様に、BlenderBot 2.0は、エンコーダ/デコーダあるいはseq2seqニューラルアーキテクチャをベースとしている。ただし、BlenderBotには、テキスト入力をコンテキストスペースにマップするエンコーダーが1つではなく、複数組み込まれている。これらのエンコーダは、テキスト入力と共に、ダイアログ履歴、インターネット検索、ボットのメモリからのデータをマップするために使われる。複数のエンコーダからの結合されたコンテキストは、テキスト出力を生成するためにデコードされる。別のデコーダモジュールは、メモリに保存するデータを生成する。インターネットやメモリから情報を取得するための検索クエリを生成するモジュールもある。
BlenderBot 2.0は、バージョン1.0と同じ混合スキルタスクに加えて、新たな2つのタスクを基にトレーニングされた。この2つのタスクは、インターネットのウィザードとマルチセッションチャットだ。前者は、会話コンテキストを基に検索クエリを生成するために、モデルをトレーニングするものである。後者は、メモリに保存する知識を特定し、メモリに基づいて応答を生成するためにトレーニングするものである。BlenderBot 1.0はすでに他の既存のチャットボットの性能を上回っていたため、FAIRチームは、人の評価者にボットとのやり取りをスコアリングさせることで、バージョン2.0とバージョン1.0のパフォーマンスを比較した。新しいモデルは、以前の会話の記憶について1.0を上回っただけでなく、幻覚を9.1%から3.0%に減らし、「事実との一貫性」が12%高くなった。
知識を追加してニューラルNLPモデルを強化することは、活発な研究分野だ。2020年、清華大学のチームはカナダの研究者と協力してKEPLERを開発した。これは、Wikipediaのテキストコンテンツに構造化されたWikidataナレッジベースを組み合わせて、トレーニングされている。最近では、MITのチームがGPT-3ディープラーニングモデルとシンボリックワールドステートモデルを組み合わせてGPT-3のテキスト生成の一貫性を向上させている。そして、Baiduは知識グラフをNLPトレーニングに組み込んでERNIE 3.0を開発しており、SuperGLUE言語理解ベンチマークの新しいハイスコアを記録した。
BlenderBot 2.0のソースコード、モデル、トレーニングデータセットは、FAIRのParlAIオープンソースチャットボットフレームワークの一部として利用できる。