リトリーバル・オーグメンテッド・ジェネレーションを使用して、安定した拡散プロンプトを改善しましょう
リトリーバル・オーグメンテッド・ジェネレーションを活用して、効果的な拡散プロンプトを実現しましょう
テキストから画像を生成することは、人工知能の急速に成長している分野であり、メディアやエンターテイメント、ゲーム、電子商取引の商品視覚化、広告とマーケティング、建築デザインと視覚化、芸術的創造、医療画像など、さまざまな分野での応用があります。
Stable Diffusionは、数秒で高品質の画像を作成することができるテキストから画像へのモデルです。2022年11月、私たちは発表しました。AWSのお客様は、Amazon SageMaker JumpStartでStable Diffusionモデルを使用して、テキストから画像を生成できるようになりました。2023年4月には、便利なAPIを通じて、Stable Diffusionを含む最先端の基礎モデルにアクセスできるAmazon Bedrockというフルマネージドサービスが登場しました。
テキストから画像への取り組みをする顧客がますます増えるにつれ、共通の障壁が生じます。それは、高品質で目的に沿った画像を生む力を持つプロンプトを作成する方法です。この課題は、ユーザーが自分のビジョンと一致するプロンプトを見つけるための実験的な旅に時間とリソースを割くことがしばしば要求されます。
検索補完生成(RAG)は、言語モデルが外部データソースから文脈のある文書を取得し、この情報を使用してより正確で情報豊富なテキストを生成するプロセスです。この技術は、知識集約的な自然言語処理(NLP)タスクに特に役立ちます。私たちは、この革新的な効果をテキストから画像への生成にも広げます。この記事では、RAGの力を活用して、Stable Diffusionモデルに送信されるプロンプトを強化する方法を紹介します。Amazon BedrockおよびSageMaker JumpStartの大規模言語モデル(LLM)を使用して、数分で独自のAIアシスタントをプロンプト生成のために作成できます。
- 「Amazon ComprehendのためのPDFの事前ラベル付けを自動化する」
- 『AWSプロトタイピングによるICL-GroupのAmazon SageMaker上でのコンピュータビジョンモデルの構築』
- 「2024年に探索する必要のある10の最高のGPU」
テキストから画像へのプロンプト作成の手法
テキストから画像へのモデルのためのプロンプトを作成することは、最初に見ると簡単に見えるかもしれませんが、実際には複雑なタスクです。単に数語を打ち込んでモデルに思い描くイメージと一致する画像を作り出すこと以上の意味を持ちます。効果的なプロンプトは、明確な指示を提供しながら創造性の余地を残す必要があります。具体性と曖昧さをバランスさせ、特定のモデルに合わせて適切に行われるべきです。プロンプトエンジニアリングの課題に対処するために、業界ではさまざまなアプローチが模索されています:
- プロンプトライブラリ – 一部の企業では、アクセスしてカスタマイズできる事前に書かれたプロンプトのライブラリを提供しています。これらのライブラリには、さまざまなユースケースに合わせた幅広いプロンプトが含まれており、特定のニーズに合わせてプロンプトを選択または調整できます。
- プロンプトのテンプレートとガイドライン – 多くの企業や組織が、事前定義されたプロンプトのテンプレートとガイドラインをユーザーに提供しています。これらのテンプレートは、効果的な指示を作成するための構造化されたフォーマットを提供し、効率的なプロンプトの作成が可能になります。
- コミュニティとユーザーの貢献 – クラウドソーシングプラットフォームやユーザーコミュニティは、プロンプトの向上において重要な役割を果たしています。ユーザーは自分の微調整されたモデル、成功したプロンプト、ヒント、ベストプラクティスをコミュニティと共有し、他の人がプロンプト作成のスキルを学び、向上させる手助けをします。
- モデルの微調整 – 企業はテキストから画像へのモデルを微調整して、特定のタイプのプロンプトを理解し、応答する能力を向上させることがあります。モデルの微調整は、特定のドメインやユースケースにおいてモデルのパフォーマンスを向上させることができます。
これらの業界のアプローチは、効果的なテキストから画像へのプロンプト作成プロセスをよりアクセス可能でユーザーフレンドリーかつ効率的にし、広範なアプリケーションでテキストから画像を生成するモデルの利用可能性と柔軟性を向上させることを目指しています。
プロンプトデザインにRAGを使用する
このセクションでは、RAGの技術が既存のアプローチと協調して、プロンプトエンジニアリングにおいてゲームチェンジャーとなる方法について掘り下げます。RAGをプロセスにシームレスに統合することで、プロンプトデザインの効率を向上させることができます。
プロンプトデータベースの意味的検索
大量のプロンプトを蓄積したプロンプトライブラリや、特定のユースケースと目標に対応するために設計された大量のプロンプトテンプレートを持つ会社を想像してみてください。従来、テキストから画像へのプロンプトのインスピレーションを求めるユーザーは、これらのライブラリを手動で見ることが多く、長いオプションリストを選別することがありました。このプロセスは、時間のかかる効率的ではありません。プロンプトライブラリからテキスト埋め込みモデルを使用してプロンプトを埋め込むことで、会社は意味的な検索エンジンを構築することができます。以下にその動作方法を示します:
- プロンプトの埋め込み – 会社はテキストの埋め込みを使用して、ライブラリ内の各プロンプトを数値表現に変換します。これらの埋め込みは、プロンプトの意味的な意味と文脈を捉えています。
- ユーザーのクエリ – ユーザーが独自のプロンプトを提供したり、望む画像を説明したりする場合、システムはその入力を分析し、埋め込むこともできます。
- 意味的な検索 – 埋め込みを使用して、システムは意味的な検索を実行します。ユーザーのクエリに基づいて、プロンプトライブラリ内の最も関連性の高いプロンプトを取得します。ユーザーの入力とプロンプトライブラリ内の履歴データの両方を考慮します。
プロンプトライブラリに意味的な検索を導入することで、会社は従業員が簡単に大量のプロンプトにアクセスできるようにします。このアプローチは、プロンプトの作成を加速するだけでなく、テキストから画像生成における創造性と一貫性を促進します。
意味的検索からのプロンプト生成
意味的な検索は関連するプロンプトを見つけるプロセスを効率化しますが、RAGはさらに一歩進んで、これらの検索結果を使用して最適化されたプロンプトを生成します。以下にその動作方法を示します:
- 意味的な検索結果 – ライブラリから最も関連性の高いプロンプトを取得した後、システムはこれらのプロンプトをユーザーに提示します。ユーザーの元の入力と一緒に表示されます。
- テキスト生成モデル – ユーザーは検索結果からプロンプトを選択するか、さらに文脈を提供することができます。システムは選択されたプロンプトとユーザーの入力の両方をLLM(言語生成モデル)に入力します。
- 最適化されたプロンプト – LLMは言語のニュアンスを理解しているため、選択されたプロンプトとユーザーの入力から要素を組み合わせた最適化されたプロンプトを作成します。この新しいプロンプトは、ユーザーの要件に合わせて設計され、望ましい画像の出力を生み出すようになっています。
意味的な検索とプロンプト生成の組み合わせは、プロンプトの検索プロセスを簡素化するだけでなく、生成されるプロンプトが関連性の高く効果的であることを保証します。これにより、プロンプトを微調整してカスタマイズし、最終的にテキストから画像生成の結果を改善することができます。以下は、意味的検索とプロンプト生成から生成された画像の例です。
元のプロンプト | 意味的な検索からのプロンプト | LLMによる最適化されたプロンプト |
小さな犬の漫画 |
|
アニメーションスタイルで、かわいいペットの犬と手をつないで森の小道を歩く少年の漫画シーン |
異なる産業でのRAGベースのプロンプトデザインの応用
提案されたRAGアーキテクチャの応用に入る前に、画像生成モデルが最も適用される産業から始めましょう。AdTechでは、速さとクリエイティビティが重要です。 RAGベースのプロンプト生成は、広告キャンペーンのために多くの画像を素早く生成するためのプロンプトの提案を生成することで即座の価値を追加できます。 人間の意思決定者は、自動生成された画像を選択してキャンペーンの候補画像を選択することができます。 この機能は、独立したアプリケーションとして提供することも、現在利用可能な人気のあるソフトウェアツールやプラットフォームに埋め込むこともできます。
Stable Diffusionモデルが生産性を高めることができる他の産業はメディアおよびエンターテイメントです。 RAGアーキテクチャは、アバター作成のユースケースで役立つことがあります。 単純なプロンプトから始めて、RAGはアバターのアイデアにより多くの色と特徴を加えることができます。 多くの候補プロンプトを生成し、より創造的なアイデアを提供することができます。 これらの生成された画像から、与えられたアプリケーションに最適な適合を見つけることができます。 自動的に多くのプロンプトの提案を生成することにより、生産性が向上します。 ソリューションの直接的な利点は、それが提供できるバリエーションです。
ソリューション概要
顧客が自分自身のRAGベースのAIアシスタントを作成し、プロンプトデザインに活用する能力は、現代の技術の多様性の証明です。 AWSは、この取り組みを支援するためのさまざまなオプションとサービスを提供しています。 次のリファレンスアーキテクチャ図は、AWS上でのプロンプトデザインのためのRAGアプリケーションを示しています。
AIアシスタントに適した適切なLLMを選択する際、AWSは具体的な要件に合わせて多くの選択肢を提供しています。
まず、専用のインスタンスを利用したSageMaker JumpStartを介して利用可能なLLMを選択することができます。これらのインスタンスは、Falcon、Llama 2、Bloom Z、Flan-T5などのさまざまなモデルをサポートしています。または、CohereのCommandとMultilingual Embedding、AI21 LabsのJurassic-2などの専用モデルを試すこともできます。
より簡略化されたアプローチを希望する場合、AWSはAmazon Bedrock上のLLMを提供しています。これには、Amazon TitanやAnthropic Claudeなどのモデルが含まれます。これらのモデルは、簡単なAPI呼び出しを通じて簡単にアクセスでき、そのパワーを無理なく利用することができます。 柔軟性と多様性のあるオプションにより、容器を開いたイノベーションまたは専用モデルの堅牢な機能のいずれかを追求するか、プロンプトデザインの目標に最も合ったLLMを選ぶ自由があります。
重要なベクトルデータベースを構築するために、AWSはネイティブサービスを通じて多くのオプションを提供しています。 Amazon OpenSearch Service、Amazon Aurora、またはAmazon Relational Database Service(Amazon RDS) for PostgreSQLのいずれかを選択することができます。これらは、特定のニーズに合わせた強力な機能を提供しています。 または、Pinecone、Weaviate、Elastic、Milvus、ChromaなどのAWSパートナーの製品を探索することもできます。これらの製品は、効率的なベクトルの格納と検索のための特殊なソリューションを提供しています。
RAGベースのAIアシスタントをプロンプトデザインに構築するのを支援するために、私たちはGitHubリポジトリに包括的なデモンストレーションを用意しました。このデモンストレーションでは、以下のリソースが使用されています:
- 画像生成:Amazon Bedrock上のStable Diffusion XL
- テキスト埋め込み:Amazon Bedrock上のAmazon Titan
- テキスト生成:Amazon Bedrock上のClaude 2
- ベクトルデータベース:効率的な類似検索のためのオープンソースライブラリであるFAISS
- プロンプトライブラリ:テキストから画像生成モデルのための最初の大規模なプロンプトギャラリーデータセットであるDiffusionDBからのプロンプトの例
また、LLMの実装にLangChainを組み込み、WebアプリケーションコンポーネントにはStreamitを使用して、シームレスでユーザーフレンドリーな体験を提供しています。
前提条件
このデモアプリケーションを実行するには、以下が必要です:
- AWSアカウント
- Amazon SageMaker Studioの操作方法に基本的な理解
- GitHubからリポジトリをダウンロードする方法に基本的な理解
- ターミナル上でのコマンドの実行に関する基本知識
デモアプリケーションの実行
GitHubのリポジトリから、必要なすべてのコードと手順をダウンロードできます。アプリケーションがデプロイされると、以下のスクリーンショットのようなページが表示されます。
このデモンストレーションでは、AWS上でのRAGとプロンプト設計の世界に参加するための手順を簡単かつ理解しやすくすることを目指しています。
クリーンアップ
アプリを試した後は、アプリケーションを停止してリソースをクリーンアップしてください。
結論
RAGは、プロンプト設計の世界で画期的なパラダイムとして登場し、Stable Diffusionのテキストから画像への能力を再構築しました。RAGの技術を既存のアプローチと統合し、AWSの強力なリソースを利用することで、スムーズな創造性と学習の加速への道筋が見つかりました。
追加のリソースについては、以下をご覧ください:
- Stability.ai公式ウェブサイト
- Stability.ai Stable Diffusion XL 1.0リリースノート
- Amazon Bedrockユーザーガイド
- Amazon SageMaker JumpStart開発者ガイド
- Amazon SageMaker StudioでStreamlitアプリを構築する
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- 一緒にAIを学びましょう−Towards AIコミュニティニュースレター#5
- このAI論文は、高度な時空間予測のためのニューラルオペレータの自己回帰エラーに対するディープラーニングソリューションを探求しています
- デシAIはDeciLM-7Bを紹介します:超高速かつ超高精度の70億パラメータの大規模言語モデル(LLM)
- 「CNNにおけるアトラウス畳み込みの総合ガイド」
- 「AIアクトの解読」
- インドのスタートアップ、OpenHathiをリリース:初のヒンディー語LLM
- このAI論文は、イメージとテキストのアラインメントモデルにおける詳細なテキストとビジュアルの説明のための高度な技術を紹介しています