生成AIで名刺用のロゴ作成に取り組みました。
Chain of Thoughtについて ChatGPTでDall-E3を使用する場合に、プロンプトの書き方以外にもいくつかのコツがあることがわかりましたので、備忘録します。 この記事がわかりやすかったです。
最近の自然言語処理において、言語モデルの思考の連鎖 (CoT :Chain-of-Thought )プロンプティング (Prompting )とは、問題を解くまでの一連の手順をプロンプト(=言語モデルに入力するテキスト)に含めるテクニックのことである。例えば図1の下にある「標準的なプロンプティング」では結果の例文だけをデモンストレーションとして提示しているのに対し、図1の上にある「CoTプロンプティング」では途中の計算過程(推論手順の流れ)の例文を提示している。 通常の人間の思考では、例えば算術の問題(例:「2個のリンゴと3個のリンゴの合計は?」)を解く際、いきなり計算結果(「答えは5個。」)が求まるのではなく、問題を途中の手順(計算過程)に分解して段階的に解いていく(例えば「2個と3個を足すので、2+3=5を計算して、答えは5個。」)のが一般的である。このような「途中の段階的な思考プロセス」を模倣して、その途中の推論(reasoning)手順の流れをフューショット学習(Few-shot Learning) の例文/見本として含める、というのが基本的なCoTプロンプティングだ。 なお、本稿で説明している「CoTプロンプティング」は主に、Googleが2022年1月に公開した論文『Chain-of-Thought Prompting Elicits Reasoning in Large Language Models』 (Googleの公式ブログ記事 )に基づいた内容となっている。この論文では、CoTプロンプティングというテクニックが算術や常識などの推論タスクにおいて言語モデルの推論能力を向上させることが報告されている。
https://atmarkit.itmedia.co.jp/ait/articles/2308/24/news041.html より引用 図1 CoT(思考の連鎖)プロンプティングのイメージ参考論文“Chain-of-Thought Prompting Elicits Reasoning in Large Language Models”(Jason Wei, et al. @ Google., arXiv, 2022.)のFigure 1 Chain of ThoughtとTree of Thoughtsプロンプトについて
要は何なの? →プロンプトに「ステップバイステップで考えてみましょう。」と入れることで、難しい課題に答えを導ける、というのがChain of Thoughtの重要点です。
ChatGPT上でのCoTのプロンプト ChatGPT上でCoTのプロンプトを設定するには、ChatGPT4の左下「…」のところから、「カスタム指示」を選択。
Promptの内容は、YouTuberのmikimikiさんのプロンプトを一部改変して実験しています。詳細はYouTube観てください。
1つ目のスロットには以下を入力。
画像生成のための明確なイメージを描写するプロンプトを生成してください。 あなたのタスクは、ユーザーのアイディアを読み取り、非常に詳細な4つのプロンプトを作成することです。 画像の生成には、以下のステップを毎回確実に含めてください。 1.適切なイメージのスタイルを選ぶ。 2.要素(オブジェクト)+短い大きなテキストを選ぶ。 3.テキストを、テキストの内容にマッチするフォントで表示する。 以下はあなたの課題です: ー詳細なプロンプトに取り組む前に完了しなければならない個別のアイディアリストを複数作成して、まず、提案する。 ーその後、リスト上のすべてのアイディアを上のステップバイステップの方法で完了する。 ーすべての個別のアイディアが生成された、4つの画像のための完璧な非常に詳細なプロンプトを作成できます。常に最初にスタイルから始め、次にテキスト、そして最後にオブジェクト/要素を選びます。 ープロンプトの順序が正しいことを常に確認する(スタイル、テキスト、オブジェクト/要素) ー提案された改善に従って、新しい非常に詳細なプロンプトを作成する。
4つと書いても、現状の仕様では2つしか出てきません。 2つ目のスロットには以下を。 内容が重複している文章があるのですが、ChatGPTさんには大切なことは2度言わないと伝わらない?と思うことがあるので、複数回出てきます。 プロンプトとしては美しくないので、いろいろ検証したらもう少しシンプルにしていけるように思います。
以下のルールを確実に守ってください。 ―詳細なプロンプトに基づいて、Dall-E3を使用して画像を生成してください。 ーデフォルトのアスペクト比は16:9です。 ―各画像のシード値も忘れずに表示してください。 ー常に最初に4つの新しいアイデアを提案し、4つの画像を生成し、4つの新しいアイデアを提案してください。 ーアウトプットはすべて英語で出してください。 ー各画像のシード値も表示してください。
シード値は生成時に忘れずゲット! シード値というのは、
というような生成結果の後に、 For the first image, the seed value is 268315XXXX. For the second image, the seed value is 311088XXXX. のように、生成された絵ごとの固有値を示してくれます。 なので、例えば、上の2つの絵の左をもう少し変えたければ、左の絵をどこをどうする、と指示するか、シード値を示して、どう変更するかを指示すると良いです。 生成AIは文字は苦手なので、英語は文字が欠落したりするくらいですが、日本語は壊滅的な創作文字が排出されます。
絵はいいんだけど文字が。。。と思っても、文字を取り除いて、という指示では違う絵に変わってしまいます。残念ながら。 上記、ロゴではないですが、創作文字が面白かったので備忘録します。
そしてデジタル修行は続く。。。