生成モデルについて

生成 AI モデル(Gemini ファミリーなど)は、 モデルは、さまざまなタイプのデータ入力からコンテンツを作成できます。たとえば、 テキスト、画像、音声などです最も基本的なレベルでは、これらのモデルは 高機能な予測入力アプリケーションに最適です与えられた入力テキスト(「馬を導くことができます」) というテキスト)を生成すると、生成モデルは、入力テキストが 次の条件に基づいて、統計的に「飲みに行かない」 パターンを学習します。この基本的なプロパティを使用して、 生成モデルの例を紹介します。

  • 詩、短編小説、たとえ話、 ブログ投稿
  • 構造化データを自由形式のテキストに変換する
  • 自由形式のテキストから情報を抽出して要約する
  • コードを生成する
  • 言語間の翻訳

生成モデルを使用してこれらの機能を構築するのに、マシン 学習(ML)の専門知識が必要です。大規模なデータセットを収集したり、モデルを モデルです。作成したい内容を記述するだけで、最初のプロトタイプを作成できます。 数文で予測します。

テキストの入力と出力のみを処理する生成モデルは、 大規模言語モデル(LLM)。Gemini ファミリーのモデルは、より多くの LLM の機能を実行することはできますが、 生成モデルとしてよく知られています。

サンプル アプリケーション

次の例は、一般的なテキスト入力と出力を示しています。 説明します。

詩を生成する

ユーザー入力: Write me a four-line poem about puppies and Android phones. Make sure it rhymes.

モデル出力:

Puppies are cute,
Android phones are neat,
They both bring joy,
And make life complete.

リストを生成する

ユーザー入力: Generate a bulleted list of items I need to pack for a three-day camping trip.

モデル出力:

*   Tent
*   Sleeping bag
*   Sleeping pad
*   Camp stove
*   Pots and pans
*   Utensils
*   Food
*   Water
*   First-aid kit
*   Sunscreen
*   Insect repellent
*   ...

生成モデルでは、さまざまな有用な動作を生成できます。たとえば、 これは、適切な入力テキスト(プロンプトとも呼ばれる)を作成するだけです。アート 生成モデルに期待する適切な言い回しを見極めるための 「プロンプト エンジニアリング」とも呼ばれる、プロンプト設計です。 単純な「プロンプト」など)です。

プロンプト設計入門

前のセクションでは、Terraform の記述を含むプロンプトの例をいくつか 「詩を書いて」のような指示を与えます。このような手順が適しているのは 行うこともできます。ただし、その他のアプリケーションでは、 少数ショット プロンプトと呼ばれる手法の方が効果的な場合もあります。少数ショット プロンプトは 大規模言語モデルは、非常に優れた処理能力、 テキストデータのパターンを認識して複製します考え方としては、 テキスト パターンを学習して完成させます。たとえば、 国名を入力として受け取り、その国の名前を出力する あります次のテキスト プロンプトは、そのために設計されています。

Italy : Rome
France : Paris
Germany :

このプロンプトでは、パターン [country] : [capital] を指定します。Google プロンプトを大規模言語モデルに渡すと、パターンが予測入力され、 次のようなコードが返されます。

     Berlin
Turkey : Ankara
Greece : Athens

このモデルのレスポンスは少し奇妙に見えるかもしれません。モデルは、ラベルだけでなく、 ドイツの首都(手書きメッセージの最後の国)に加え、 追加の国と資本のペアの完全なリスト。なぜなら、 「パターンを継続」することです。やりたいことが 入力国の首都を調べる関数(「Germany : Berlin」)では、おそらく、モデルのテキストは 「Berlin」の後に生成されます。実際、アプリケーション設計者は、 余分な例を切り捨てますさらに 入力をパラメータ化して、ドイツが固定文字列ではなく変数になるようにする エンドユーザーが提供します。

Italy : Rome
France : Paris
<user input here> :

今度は、国の首都を生成するための少数ショット プロンプトを作成しました。

この少数ショット プロンプトに従うことで、多くのタスクを実行できます。 使用します。この少数ショット プロンプトは、形式が少し異なり、 Python を JavaScript に変換します。

Convert Python to JavaScript.
Python: print("hello world")
JavaScript: console.log("hello world")
Python: for x in range(0, 100):
JavaScript: for(var i = 0; i < 100; i++) {
Python: ${USER INPUT HERE}
JavaScript:

または、この「逆辞書」を表示されます。定義を指定すると、 定義できます。

Given a definition, return the word it defines.
Definition: When you're happy that other people are also sad.
Word: schadenfreude
Definition: existing purely in the mind, but not in physical reality
Word: abstract
Definition: ${USER INPUT HERE}
Word:

お気づきかもしれませんが、これらの少数ショット プロンプトの正確なパターンは、 わずかに下回ります。サンプルを含めるだけでなく、 プロンプトは、独自のプロンプトを記述する際に考慮すべき追加の戦略です。 意図をモデルに伝えるのに役立ちます。

プロンプトと従来のソフトウェア開発の比較

入念に書かれた仕様に従って設計された従来のソフトウェアとは異なり、 生成モデルの動作は、モデル トレーナーにとってもおおむね不透明です。たとえば、 どのようなプロンプト構造がどのような構造に変化し、 特定のモデルに最適な動作を検出できますさらに、生成 AI の モデルの大部分はトレーニング データによって 新しいデータセットで継続的にチューニングが行われると、 最適なプロンプト構造を誤って変更してしまう場合があります。具体的には ?試行錯誤を繰り返す。さまざまなプロンプト形式を試します。

モデル パラメータ

モデルに送信するすべてのプロンプトには、モデルにどのように モデルがレスポンスを生成します。このモデルは、パラメータ値によって異なる結果を生成できます。最も一般的なモデル パラメータは次のとおりです。

  1. 最大出力トークン: 出力トークンの最大数を指定します。 レスポンスで生成されます。トークンは約 4 文字です。100 人 約 60 ~ 80 語に相当します。

  2. Temperature: 温度は、トークンのランダム性の度合いを制御します。 選択します。温度は、レスポンス生成時のサンプリングに使用されます。 これは、topPtopK が適用された場合に発生します。温度を低くするといい より決定的なレスポンスや自由度の低いレスポンスが求められるプロンプトの場合は、 温度を高くすると、より多様で創造的な結果を導くことができます。 温度 0 は決定論的であり、最も高い確率で 常に選択されます。

  3. topK: topK パラメータは、モデルが次のトークンを選択する方法を変更します。 出力です。topK が 1 の場合、選択されたトークンが すべてのトークンを特徴量として扱うため(グリーディ デコードとも呼ばれます)、 topK が 3 の場合は、3 つの中から次のトークンが選択されることを意味します。 temperature を使って最も確率が高いデータです。トークン選択のそれぞれのステップで、 確率が最も高い topK のトークンがサンプリングされます。トークンは topP に基づいてさらにフィルタリングされ、最終的なトークンが次のように選択されます。 温度サンプリングを使用します。

  4. topP: topP パラメータは、モデルが次のトークンを選択する方法を変更します。 出力です。最も確率の高いものから順に選択され、 確率は topP 値と等しくなります。たとえばトークン A、B、 C の確率は 0.3、0.2、0.1 で、topP の値は 0.5 です。 その場合、モデルは次のトークンとして A または B を 候補として C を除外しますtopP のデフォルト値は 0.95 です。

  5. stop_sequences: 停止シーケンスを コンテンツの生成を停止するようモデルに指示します。停止シーケンスには任意の文字列を指定できます。 使用します。同じ文字列を連続的に使用しないでください。 動画が削除される可能性があります。

プロンプトの種類

含まれているコンテキスト情報のレベルに応じて、プロンプトは 大きく 3 つに分類できます

ゼロショット プロンプト

これらのプロンプトには、モデルを複製する例は含まれません。ゼロショット プロンプトとは基本的に、モデルに入力なしでプロンプトを 完了する能力を示すものです 追加の例や情報を提供します。つまり、モデルは入力文の 既存の知識を使って、妥当な回答を生成します。

よく使用されるゼロショット プロンプト パターンは次のとおりです。

  • 手順コンテンツ
<Overall instruction>
<Content to operate on>

次に例を示します。

Summarize the following into two sentences at the third-grade level:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds.

Hummingbirds are made up of three main parts: the head, the body, and the tail.
The head is small and round, and it contains the eyes, the beak, and the brain.
The body is long and slender, and it contains the wings, the legs, and the
heart. The tail is long and forked, and it helps the hummingbird to balance
while it is flying.

Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color!

Hummingbirds are very active creatures. They spend most of their time flying,
and they are also very good at hovering. Hummingbirds need to eat a lot of food
in order to maintain their energy, and they often visit flowers to drink nectar.

Hummingbirds are amazing creatures. They are small, but they are also very
powerful. They are beautiful, and they are very important to the ecosystem.
  • 指示、コンテンツ、指示
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>

次に例を示します。

Here is some text I'd like you to summarize:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds. Hummingbirds
are made up of three main parts: the head, the body, and the tail. The head is
small and round, and it contains the eyes, the beak, and the brain. The body is
long and slender, and it contains the wings, the legs, and the heart. The tail
is long and forked, and it helps the hummingbird to balance while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color! Hummingbirds are very active creatures. They spend most
of their time flying, and they are also very good at hovering. Hummingbirds need
to eat a lot of food in order to maintain their energy, and they often visit
flowers to drink nectar. Hummingbirds are amazing creatures. They are small, but
they are also very powerful. They are beautiful, and they are very important to
the ecosystem.

Summarize it in two sentences at the third-grade reading level.
  • 継続。場合によっては、何も入力せずにモデルにテキストを できます。たとえばこのゼロショット プロンプトでは、モデルの は、提供された入力を継続します。
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow

ゼロショット プロンプトを使用して、詩、コード、 スクリプト、音楽、メール、手紙。

ワンショット プロンプト

これらのプロンプトは、複製して続行するための 1 つの例をモデルに提供します。 パターンを認識しません。これにより、モデルから予測可能な応答を生成できます。 モデルです。

たとえば、次のような食品の組み合わせを生成できます。

Food: Apple
Pairs with: Cheese
Food: Pear
Pairs with:

少数ショット プロンプト

これらのプロンプトは、複製する複数の例をモデルに提供します。使用 少数ショット プロンプトを使用して、複雑なタスクを完了させる パターンに合わせます

プロンプトの例:

Generate a grocery shopping list for a week for one person. Use the JSON format
given below.
{"item": "eggs", "quantity": "6"}
{"item": "bread", "quantity": "one loaf"}

生成モデルの仕組み

このセクションは、「生成 AI にランダム性はあるか モデルのそれとも決定論的なものですか?

簡潔に言うと、どちらでもかまいません。生成モデルにプロンプトを入力すると、テキストが レスポンスは 2 段階で生成されます。最初のステージでは、生成モデルは 入力プロンプトを処理し、確率分布を生成します。 トークン(単語)の候補を表示します。たとえば、プロンプトに対して という入力テキストが入力されている場合、生成モデルは 次に続く可能性が高い単語の配列を生成します。

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

このプロセスは決定論的です。生成モデルでは、これと同じものが 予測と分布を示します。

第 2 段階では、生成モデルがこれらの分布を テキストレスポンスをデコードします。シンプル 最も可能性の高いトークンを時間ステップごとに選択します。この 決定論的になります。代わりに Google Meet を使用して によって返された分布に対してランダム サンプリングを行い、レスポンスを生成する モデルです。このプロセスは確率的(ランダム)です。レベルの制御 温度を設定することで、このデコード プロセスで許容されるランダム性の度合いを高めることができます。 Temperature 0 は、最も確率が高いトークンのみが選択され、 ランダム性です。逆に、温度を高くすると、ランダム性が高くなります。 トークンに変換されるため、より予想外の驚くべき結果に 学習します。

関連情報

  • プロンプトと生成モデルについて理解を深めたところで、 gcloud コマンドを使用して独自のプロンプトを Google AI Studio
  • 詳しくは、プロンプトのガイドラインをご覧ください。 プロンプト作成のベストプラクティスを ご覧ください