制作の過程: Lupe Fiasco とのコラボレーションで作成された AI ツールのスイート TextFX

8月 02, 2023
Aaron Wade Creative Technologist

Google Lab Session は、イノベーターとの一連の実験的な AI コラボレーションです。最新の Lab Session では、AI が人間の創造性をどのように拡大できるかを具体的に探求したいと思いました。そこで、グラミー賞を受賞したラッパーであり MIT の客員研究員でもある Lupe Fiasco に目を向け、TextFX と呼ばれる AI 実験を構築しました。

Link to Youtube Video (visible only when JS is disabled)

ディスカバリー プロセス

まず、Lupe と一緒に時間を過ごし、彼の制作過程を観察して学びました。この過程は、常にある種の言語的「いじり」によって特徴づけられていました。つまり、言語を解体し、斬新で革新的な方法で再構築することです。直喩や頭韻法など、Lupe のテクニックのいくつかは、伝統的な文学的手段の規範から引き出されています。しかし、彼のやり方の多くはまったくユニークなものです。その中には、特定の単語と同じように聞こえるものの異なる意味を持つフレーズを作成するという巧妙な方法があり、彼は「expressway(高速道路)」という単語を使用して実証しました。

express whey(乳製品副産物の迅速な配達)
express sway(影響を示すため)
ex-press way(ニュースメディアなしのパス)

この種の操作は、Lupe の作詞に重要な役割を果たしました。これを考慮して、私たちは次のように考え始めました。Lupe がテキストと言語で創造的な可能性を探るのを、AI を使用してどのように助けることができるだろうか?

言語関連のアプリケーションに関しては、AI の観点からして、大規模言語モデル(LLM)が選択肢になることは明白です。LLM は、言語関連のタスクを実行するために特別に設計された機械学習モデルのカテゴリであり、その使用目的の 1 つはテキストの生成です。しかし、LLM が実際に Lupe の歌詞作成ワークフローにどのように適合するかについての疑問は依然として残っています。

Google の Bard などの一部の LLM は、会話エージェントとして機能するように微調整されています。PaLM API の Text Bison モデルなどの他のモデルには、この会話要素がなく、代わりに指定された入力テキストを拡張または補うことによってテキストを生成します。この後者のタイプの LLM の素晴らしい点の 1 つは、フューショット学習の能力です。言い換えれば、少量のトレーニング サンプルで発生するパターンを認識し、新しい入力にそれらのパターンを複製できます。

最初の実験として、Lupe に同じ発音のフレーズを使うテクニックのより多くの例を提供してもらいました。次に、これらの例を使用してプロンプトを構築しました。プロンプトは、LLM を特定の方法で動作させるために慎重に工夫されたテキストの文字列です。同じ発音のフレーズに関するタスクの最初のプロンプトは次のようになりました。

単語:defeat(敗北)
同じ発音のフレーズ: da feet(「足」の中のように)\ r
 
単語:surprise(驚き)
同じ発音のフレーズ: Sir Prize(Prize という名前の騎士)
 
単語:expressway(高速道路)
同じ発音のフレーズ: express whey(乳製品副産物の迅速な配達)
 
(...その他の例...)
 
単語:[入力単語]
同じ発音のフレーズ:

このプロンプトはしばしば適正なアウトプットを生み出しましたが、まだ改善の余地があると感じました。実際に、サンプルの内容と量以外の要素が、出力に影響を与える可能性があることがわかりました。例えば、タスクがどのような枠組みをしているか、入力と出力がどのように表現されているかなどです。何回かの反復試行を経て、最終的に次のようになりました。

同じ発音のフレーズは、別の単語やフレーズのように聞こえるフレーズです。
 
 
単語 "defeat"(敗北)と同じ発音のフレーズは:
 
da feet(「足」の中のように)
 
 
単語 "surprise"(驚き)と同じ発音のフレーズは:
 
Sir Prize(Prize という名前の騎士)
 
 
単語 "expressway"(高速道路)と同じ発音のフレーズは:
 
express whey(乳製品副産物の迅速な配達)
 
 
(...その他の例...)
 
 
単語 "[入力単語]" と同じ発音のフレーズは:

同じ発音の単語タスクをフューショット プロンプトにうまくコード化した後、Lupe と協力して、同じフューショット プロンプト戦略を使用して達成できる可能性のある追加のクリエイティブタスクを特定しました。最終的に、特定の単語、フレーズ、または概念から生じさせられる可能性のある創造的な可能性を探求するためにそれぞれ独自に設計された、10 のプロンプトを考案しました。

SIMILE(直喩) - 物事や概念についての直喩を作成します。
EXPLODE(爆発) - 単語を類似した発音のフレーズに分割します。
UNEXPECT(意外) - シーンをより予期せぬ想像力豊かなものにします。
CHAIN(チェーン) - 意味論的に関連するアイテムのチェーンを構築します。
POV(視点) - さまざまな視点からトピックを評価します。
ALLITERATION(頭韻) -選択した文字で始まるトピック固有の単語をキュレートします。
ACRONYM(頭字語) - 単語の文字を使用して頭字語を作成します。
FUSE(融合) - 単語の文字を使用して頭字語を作成します。
SCENE(シーン) - 単語の文字を使用して頭字語を作成します。
UNFOLD(展開) - 単語を他の既存の単語やフレーズにはめ込みます。

これらのアイデアは、MakerSuite を使用してすばやくプロトタイプ化することができました。MakerSuite は、ユーザーがインタラクティブなインターフェースを介して LLM プロンプトを簡単に構築して実験できるプラットフォームです。

制作方法: PaLM API を使用した構築

フューショット プロンプトを完成させた後、それらを収容するためのアプリを構築しました。各ツールが入力テキストに異なる「効果」を持っているという考えから、それを TextFX と呼ぶことにしました。効果音のようなものですが、テキスト用です。

プロンプトをソースコードに文字列として保存し、PaLM API を使用して Google の PaLM 2 モデルに送信します。PaLM API は、Google の大規模言語モデルへのエントリポイントとして機能します。

すべてのプロンプトは、不完全な入出力ペアで終了するように設計されています。ユーザーが入力を送信すると、その入力をプロンプトに追加してからモデルに送信します。モデルは、その入力に対応する出力を予測します。次にモデル応答からの各結果を解析しいくつかの後処理を行ってから、最終的に結果をフロントエンドに表示します。

lupe3

ユーザーはオプションとして、モデル温度を調整できます。モデル温度は、モデル出力で許容される創造性の量に大まかに対応するハイパーパラメータです。

実際に試す

TextFX は、textfx.withgoogle.com で試すことができます。

また、すべての LLM プロンプトを MakerSuite で利用できるようにしました。PaLM API と MakerSuite の公開プレビュー版にアクセスできる場合は、以下のリンクを使用してプロンプトの独自のコピーを作成できます。アクセスできない場合は、ウェイティングリストに登録することができます。

TextFX の構築方法を詳しくご覧になりたい方のために、ここでコードをオープンソース化しています。

PaLM API と MakerSuite を使用してビルドしてみたい場合は、ウェイティングリストに登録してください。

おわりに

TextFX は、PaLM API を試して、Google の最先端の大規模言語モデルを活用したアプリケーションを構築する方法を示す例です。より広く言えば、この探求は、人間の創造性を高めるための AI の可能性を物語っています。TextFX は創造的な著作をターゲットにしていますが、AI がコラボレーターとして他の創造的な分野に参入することは、どんな意味を持つでしょうか?クリエイターは、これらのコラボレーションがどのようなものになるかを想像するのに役立つ重要な役割を果たしています。この Lab Session で、PaLM API を使用して何が可能になるかを見ていただき、Google の AI 製品を使用して、どの分野においても、独自のアイデアを実現するためのインスピレーションを得ていただければ幸いです。

他の同様の Lab Session をもっとご覧になりたい方は、labs.google.com にアクセスしてください。