機械学習用語集: 言語評価

このページでは、言語評価の用語集の用語について説明します。すべての用語集の用語については、こちらをクリックしてください。

A

Attention、

#language

ニューラル ネットワークで使用されるメカニズム。特定の単語または単語の一部の重要性を示します。アテンションは、モデルが次のトークン/単語を予測するために必要な情報量を圧縮します。一般的なアテンション機構は、一連の入力に対する加重合計で構成され、各入力の重みはニューラル ネットワークの別の部分によって計算されます。

トランスフォーマーの構成要素であるセルフ アテンションマルチヘッドセルフ アテンションもご覧ください。

オートエンコーダ

#language
#image

入力から最も重要な情報を抽出するように学習するシステム。オートエンコーダは、エンコーダデコーダを組み合わせたものです。オートエンコーダは、次の 2 段階のプロセスに依存します。

  1. エンコーダは、入力を(通常は)非可逆圧縮の低次元(中間)形式にマッピングします。
  2. デコーダは、低次元形式を元の高次元入力形式にマッピングすることで、元の入力の非可逆変換バージョンを作成します。

オートエンコーダは、元の入力をエンコーダの中間形式から可能な限り復元するようにデコーダに再現させることで、エンドツーエンドでトレーニングされます。中間形式は元の形式よりも小さい(低次元)ため、オートエンコーダは入力のどの情報が不可欠かを学習せざるを得ず、出力は入力と完全に同一にはなりません。

例:

  • 入力データがグラフィックの場合、非正確なコピーは元のグラフィックに似ていますが、多少変更されています。非完全なコピーにより、元のグラフィックからノイズが除去されたり、欠落しているピクセルが塗りつぶされたりする可能性があります。
  • 入力データがテキストの場合、オートエンコーダは元のテキストを模倣した(ただし同一ではない)新しいテキストを生成します。

変分オートエンコーダもご覧ください。

自己回帰モデル

#language
#image
#ジェネレーティブ AI

過去の予測に基づいて予測を推測するモデルmodel。たとえば、自己回帰型言語モデルは、以前に予測したトークンに基づいて次のトークンを予測します。Transformer ベースの大規模言語モデルはすべて自己回帰型です。

一方、GAN ベースの画像モデルは通常、単一のフォワードパスで画像を生成し、ステップで反復的に生成しないため、自己回帰的ではありません。ただし、特定の画像生成モデルは、画像を段階的に生成するため、自己回帰型です。

B

言葉の袋

#language

フレーズや文に含まれる単語の表現。順序は関係ありません。たとえば、bag of words は、次の 3 つのフレーズをまったく同じように表します。

  • 犬がジャンプする
  • 犬をジャンプする
  • 犬がジャンプする

各単語はスパース ベクトルのインデックスにマッピングされます。このベクトルには、語彙内のすべての単語のインデックスが含まれます。たとえば、「the dog jumps」というフレーズは、thedogjumps の単語に対応する 3 つのインデックスがゼロ以外の値を持つ特徴ベクトルにマッピングされます。ゼロ以外の値は次のいずれかになります。

  • 1 は単語の存在を示します。
  • バッグ内で単語が出現する回数のカウント。たとえば、「the maroon dog is a dog with maroon fur」というフレーズの場合、maroondog はどちらも 2 と表され、他の単語は 1 と表されます。
  • その他の値(バッグ内で単語が出現する回数の対数など)。

BERT(Bidirectional Encoder Representations from Transformers)

#language

テキスト表現のモデル アーキテクチャトレーニング済みの BERT モデルは、テキスト分類などの ML タスクの大規模なモデルの一部として機能できます。

BERT には次の特徴があります。

BERT のバリアントは次のとおりです。

  • ALBERTA Light BERT)の頭字語です。
  • LaBSE

BERT の概要については、Open Sourcing BERT: 自然言語処理の最先端の事前トレーニングをご覧ください。

双方向

#language

対象セクションの前後にあり続くテキストを評価するシステムを表す用語。一方、単方向システムは、テキストの対象セクションの前のテキストのみを評価します。

たとえば、次の質問の下線を表す単語の確率を判断する必要があるマスクされた言語モデルについて考えてみます。

あなたと一緒にいる _____ とは何ですか?

単方向言語モデルでは、「What」、「is」、「the」という単語によって提供されるコンテキストのみに基づいて確率を推定する必要があります。一方、双方向言語モデルでは「with」と「you」からコンテキストを得ることもできるため、モデルによる予測の精度が向上する可能性があります。

双方向言語モデル

#language

特定のトークンがテキストの抜粋内の特定の位置に存在する可能性を、のテキストとのテキストに基づいて決定する言語モデル

バイグラム

#seq
#language

N=2 の N グラム

BLEU(Bilingual Evaluation Understudy)

#language

人間の 2 つの言語間(英語とロシア語など)の翻訳の品質を示す、0.0 ~ 1.0 のスコア。BLEU スコアが 1.0 の場合は翻訳が完全であることを示し、BLEU スコアが 0.0 の場合は翻訳が悪いことを示します。

C

因果言語モデル

#language

単方向言語モデルと同義。

言語モデリングにおける異なる方向性の違いについては、双方向言語モデルをご覧ください。

思考の連鎖プロンプト

#language
#ジェネレーティブ AI

大規模言語モデル(LLM)によってその根拠を段階的に説明できるようにするプロンプト エンジニアリング手法。たとえば、2 番目の文に特に注意を払って、次のプロンプトについて考えてみましょう。

車で、時速 0 ~ 60 マイルを 7 秒間で加速させる力はいくつになるでしょうか。解答の中に、関連するすべての計算を示してください。

LLM の回答は次のようになります。

  • 一連の物理数式を示し、適切な場所に値 0、60、7 を挿入します。
  • それらの数式が選ばれた理由と、さまざまな変数が何を意味するのかを説明します。

チェーン オブ ミス(思考の連鎖)プロンプトにより、LLM にすべての計算を行わせることで、より正確な答えを導き出すことができます。また、思考チェーンプロンプトにより、ユーザーは LLM の手順を調べて、回答が理にかなっているかどうかを判断できます。

選挙区の解析

#language

文をより小さな文法構造(「構成要素」)に分割する。自然言語理解モデルなど、ML システムの後の部分では、元の文よりも構成要素を解析しやすくなります。たとえば、次の文について考えてみましょう。

友だちが 2 匹の猫を育てました。

構成パーサーは、この文を次の 2 つの構成要素に分割できます。

  • My Friend は名詞句です。
  • Adopted two cats は動詞句です。

これらの構成要素は、さらに小さな構成要素に細分化できます。たとえば、動詞句は、

2 匹の猫を飼った

次のように、さらに細分化できます。

  • adopted は動詞です。
  • two cats」も名詞句です。

クラッシュ・ブレイシブ

#language

意味が曖昧な文やフレーズ。 クラッシュ ブローズは、自然言語理解に重大な問題をもたらします。たとえば、「Red Tape Holds Up Skyscraper」という見出しは、NLU モデルが見出しを文字どおりまたは比喩的に解釈できるため、クラッシュの花です。

D

デコーダ

#language

一般に、処理済みの表現、密な表現、内部表現から未加工の表現、スパースな表現、外部表現に変換する ML システムを指します。

デコーダは大規模なモデルのコンポーネントであることが多く、エンコーダとペアになることがよくあります。

シーケンス間のタスクでは、デコーダはエンコーダによって生成された内部状態から開始し、次のシーケンスを予測します。

Transformer アーキテクチャ内のデコーダの定義については、Transformer をご覧ください。

ノイズ除去

#language

自己教師あり学習に対する一般的なアプローチには、次のようなものがあります。

  1. ノイズは、データセットに人為的に追加されます。
  2. モデルmodelはノイズの除去を試みます。

ノイズ除去により、ラベルのないサンプルからの学習が可能になります。元のデータセットがターゲット(ラベル)として機能し、ノイズのあるデータが入力として使用されます。

一部のマスク言語モデルでは、次のようにノイズ除去が使用されます。

  1. 一部のトークンをマスキングすることで、ラベルのない文に人為的にノイズが追加されます。
  2. このモデルは、元のトークンを予測しようと試みます。

ダイレクト プロンプト

#language
#ジェネレーティブ AI

ゼロショット プロンプトと同義。

E

距離を編集

#language

2 つのテキスト文字列の類似度の測定値。機械学習では、編集距離は計算が簡単で、類似している 2 つの文字列を比較したり、特定の文字列に類似した文字列を見つけたりするのに効果的な方法であるため、便利です。

編集距離にはいくつかの定義があり、それぞれで異なる文字列オペレーションが使用されています。たとえば、 レーベンシュタイン距離では、削除、挿入、置換オペレーションの最小数が考慮されます。

たとえば、「heart」と「darts」という単語間のレーベンシュタイン距離は 3 です。これは、次の 3 つの編集が、1 つの単語を別の単語に変換するための最小限の変更であるためです。

  1. ハート → deart(「h」を「d」に置き換える)
  2. deart → dart(「e」を削除)
  3. dart → darts(「s」を挿入)

Embedding レイヤ、

#language
#fundamentals

特別な隠しレイヤ。高次元のカテゴリ特徴をトレーニングして、低次元のエンベディング ベクトルを徐々に学習します。エンベディング レイヤを使用することで、ニューラル ネットワークは高次元カテゴリ特徴だけをトレーニングするよりもはるかに効率的にトレーニングできます。

たとえば、地球は現在約 73,000 種の樹木をサポートしています。樹種がモデルの特徴である場合、モデルの入力レイヤには長さが 73,000 のワンホット ベクトルが含まれているとします。たとえば、baobab は次のように表されます。

73,000 個の要素の配列。最初の 6,232 個の要素は値 0 を保持します。次の要素は値 1 を保持します。最後の 66,767 の要素は値 0 を保持します。

73,000 要素の配列は非常に長いです。モデルにエンベディング レイヤを追加しないと、72,999 個のゼロが乗算されるため、トレーニングに非常に時間がかかります。エンベディング レイヤを 12 次元で構成するのもよいでしょう。そのため、埋め込みレイヤは、樹種ごとに新しい埋め込みベクトルを徐々に学習します。

状況によっては、エンベディング レイヤの代わりとしてハッシュが合理的です。

埋め込み空間

#language

高次元ベクトル空間の特徴がマッピングされる d 次元ベクトル空間。エンベディング空間には、有意義な数学的結果を生成する構造が含まれているのが理想的です。たとえば、理想的なエンベディング空間では、エンベディングの加算と減算によって単語類似タスクを解決できます。

2 つのエンベディングのドット積が類似度の尺度です。

エンベディング ベクトル

#language

大まかに言うと、隠しレイヤへの入力を記述する任意の隠しレイヤから取得された浮動小数点数の配列。多くの場合、エンベディング ベクトルはエンベディング レイヤでトレーニングされた浮動小数点数の配列です。たとえば、エンベディング レイヤが、地球にある 73,000 種の樹種それぞれのエンベディング ベクトルを学習する必要があるとします。次の配列はおそらく、バオバブ ツリーのエンベディング ベクトルです。

12 個の要素の配列。各要素は 0.0 ~ 1.0 の浮動小数点数を保持します。

エンベディング ベクトルは乱数の集まりではありません。これらの値は、ニューラル ネットワークがトレーニング中に他の重みを学習するのと同様に、エンベディング レイヤがトレーニングを通じて決定します。配列の各要素は樹種の特性に応じた評価です。樹種の特徴を表す要素はどれですか。人間が判断するのはとても難しいことです。

エンベディング ベクトルの数学的に注目すべき部分は、類似のアイテムが類似の浮動小数点数のセットを持つことです。たとえば、類似樹種は、異種樹種よりも類似の浮動小数点数のセットを持ちます。セコイアとセコイアは関連する樹種であるため、セコイアやヤシの木よりも浮動小数点数のセットが多くなります。エンベディング ベクトルの数値は、同じ入力でモデルを再トレーニングしても、モデルを再トレーニングするたびに変わります。

エンコーダ

#language

一般に、生の表現、スパースな表現、または外部表現から、より処理済みの高密度の、またはより内部的な表現に変換する ML システム。

エンコーダは大規模なモデルのコンポーネントであることが多く、デコーダとペアになることがよくあります。一部の Transformer はエンコーダとデコーダをペアにしますが、他の Transformer はエンコーダのみまたはデコーダのみを使用します。

一部のシステムでは、エンコーダの出力を分類ネットワークまたは回帰ネットワークへの入力として使用します。

「シーケンス間のタスク」では、エンコーダは入力シーケンスを受け取って内部状態(ベクトル)を返します。次に、デコーダがその内部状態を使用して、次のシーケンスを予測します。

Transformer アーキテクチャでのエンコーダの定義については、Transformer をご覧ください。

F

少数ショット プロンプト

#language
#ジェネレーティブ AI

大規模言語モデルの応答方法を示す複数(一部)の例を含むプロンプト。たとえば、次の長いプロンプトには、大規模言語モデルでクエリに応答する方法を示す 2 つの例が含まれています。

1 つのプロンプトの一部 メモ
指定された国の公式通貨は何ですか? LLM に回答してほしい質問。
フランス: EUR 1 つの例です。
英国: GBP 別の例です。
インド: 実際のクエリ。

一般的に、少数ショット プロンプトは、ゼロショット プロンプトワンショット プロンプトよりも望ましい結果を生成します。ただし、少数ショット プロンプトには長いプロンプトが必要です。

少数ショット プロンプトは、プロンプト ベースの学習に適用される少数ショット学習の一種です。

フィドル

#language

侵襲的なコードやインフラストラクチャなしで関数とクラスの値を設定する Python ファーストの構成ライブラリ。Pax やその他の ML コードベースの場合、これらの関数とクラスはモデルトレーニングハイパーパラメータを表します。

Fiddle では、機械学習のコードベースが通常、次のものに分割されていることを前提としています。

  • ライブラリ コード。レイヤとオプティマイザーを定義します。
  • データセットの「接着剤」コード。ライブラリを呼び出してすべてをまとめます。

フィドルは、グルーコードの呼び出し構造を未評価で変更可能な形式でキャプチャします。

微調整

#language
#image
#ジェネレーティブ AI

2 つ目のタスク固有のトレーニング パス。特定のユースケースに合わせてパラメータを調整するために、事前トレーニング済みモデルに対して実行します。たとえば、一部の大規模言語モデルの完全なトレーニング シーケンスは次のようになります。

  1. トレーニング前: 膨大な一般的なデータセット(英語のすべての Wikipedia ページなど)で大規模言語モデルをトレーニングします。
  2. 微調整: 事前トレーニング済みモデルをトレーニングして、医療関連のクエリへの応答など、特定のタスクを実行します。通常、微調整では特定のタスクに焦点を当てた数百または数千の例が必要になります。

別の例として、大規模な画像モデルの完全なトレーニング シーケンスは次のようになります。

  1. 事前トレーニング: Wikimedia Commons のすべての画像など、非常に一般的な画像データセットで大規模画像モデルをトレーニングします。
  2. 微調整: 事前トレーニング済みモデルをトレーニングして、シャチの画像の生成など、特定のタスクを実行します。

微調整では、以下の戦略を任意に組み合わせて実行できます。

  • 事前トレーニング済みモデルの既存のパラメータをすべて変更する。これは「完全な微調整」とも呼ばれます。
  • 事前トレーニング済みモデルの既存のパラメータの一部(通常は出力レイヤに最も近いレイヤ)のみを変更し、その他の既存のパラメータ(通常は入力レイヤに最も近いレイヤ)は変更しない。パラメータ効率の高い調整をご覧ください。
  • レイヤを追加する。通常は、出力レイヤに最も近い既存のレイヤの上に追加します。

微調整は転移学習の一種です。そのため、微調整では、事前トレーニング済みモデルのトレーニングに使用したものとは異なる損失関数や異なるモデルタイプが使用される場合があります。たとえば、事前トレーニング済みの大規模画像モデルを微調整して、入力画像内の鳥の数を返す回帰モデルを生成できます。

微調整を以下の用語と比較しましょう。

亜麻

#language

JAX 上に構築された、ディープ ラーニング用の高性能なオープンソース ライブラリです。Flax は、ニューラル ネットワークをトレーニングする機能と、それらのパフォーマンスを評価するメソッドを提供します。

フラックスフォーマー

#language

Flax 上に構築されたオープンソースの Transformer ライブラリで、主に自然言語処理とマルチモーダル研究用に設計されています。

G

生成 AI

#language
#image
#ジェネレーティブ AI

正式な定義のない新たな変革の分野。とはいえ、ほとんどの専門家は、ジェネレーティブ AI モデルは以下の内容をすべて作成(「生成」)できると考えています。

  • 複雑
  • 一貫性のある
  • オリジナル

たとえば、ジェネレーティブ AI モデルは洗練されたエッセイや画像を作成できます。

LSTMRNN などの以前の一部の技術でも、オリジナルで一貫性のあるコンテンツを生成できます。こうした初期のテクノロジーをジェネレーティブ AI とみなす専門家もいれば、真のジェネレーティブ AI には、以前のテクノロジーで生成できるよりも複雑な出力が必要だと考える専門家もいます。

予測 ML と比較する。

GPT(生成、事前トレーニング済み Transformer)

#language

OpenAI が開発した Transformer ベースの大規模言語モデルのファミリー。

GPT のバリエーションは、以下を含む複数のモダリティに適用できます。

  • 画像の生成(ImageGPT など)
  • テキストから画像の生成(DALL-E など)

H

幻覚

#language

現実世界についてアサーションを行っていると装ったジェネレーティブ AI モデルによって、現実にはあり得るようにも実際には正しくない出力を生成する。たとえば、バラク オバマが 1865 年に亡くなったと主張するジェネレーティブ AI モデルは、幻想的です。

I

コンテキスト内の学習

#language
#ジェネレーティブ AI

少数ショット プロンプトと同義。

L

LaMDA(Language Model for Dialogue Applications)

#language

Google が開発した Transformer ベースの大規模言語モデルで、現実的な会話レスポンスを生成できる大規模な会話データセットでトレーニングされています。

LaMDA: Google の画期的な会話テクノロジーでは、その概要を説明しています。

言語モデル

#language

より長い一連のトークンでトークンmodelまたはトークン列が発生する確率を推定するモデルmodel

LLM(大規模言語モデル)

#language

厳密な定義がない非公式な用語で、通常は多数のパラメータを持つ言語モデルを意味します。一部の大規模言語モデルには 1,000 億を超えるパラメータが含まれています。

M

マスクされた言語モデル

#language

トークンがシーケンスの空白を補う確率を予測する言語モデル。たとえば、マスクされた言語モデルは、次の文の下線を置き換える候補単語の確率を計算できます。

帽子の ____ が帰ってきた。

文献では通常、下線の代わりに「MASK」という文字列が使用されます。例:

帽子の「MASK」が帰ってきた。

最新のマスク言語モデルは双方向です。

メタラーニング

#language

学習アルゴリズムを検出または改善する機械学習のサブセット。メタラーニング システムは、少量のデータや以前のタスクで得られた経験から新しいタスクをすばやく学習するようにモデルをトレーニングすることもできます。メタ ラーニング アルゴリズムは、一般的に次の目的を達成しようとします。

  • 手動で設計された機能(イニシャライザやオプティマイザーなど)を改善、学習する。
  • データ効率とコンピューティング効率を向上させる。
  • 一般化を改善する。

メタ ラーニングは少数ショット学習に関連しています。

モダリティ

#language

大まかなデータカテゴリ。たとえば、数字、テキスト、画像、動画、音声は 5 つの異なるモダリティです。

モデル並列処理

#language

1 つのモデルmodelの異なる部分を異なるデバイスmodelに配置するトレーニングまたは推論をスケーリングする方法。モデル並列処理により、大きすぎて 1 つのデバイスに収まらないモデルが可能になります。

モデル並列処理を実装するために、システムは通常、次のことを行います。

  1. モデルをシャード(分割)して小さな部分に分割します。
  2. こうした小さい部分のトレーニングを複数のプロセッサに分散します。各プロセッサはモデルの独自の部分をトレーニングします。
  3. 結果を組み合わせ、単一のモデルを作成します。

モデル並列処理はトレーニングを遅らせます。

データ並列処理もご覧ください。

マルチヘッド セルフ アテンション

#language

入力シーケンスの各位置にセルフ アテンション メカニズムを複数回適用するセルフ アテンションの拡張。

Transformers では、マルチヘッド セルフ アテンションを導入しました。

マルチモーダル モデル

#language

入力または出力に複数のモダリティが含まれるモデル。たとえば、画像とテキスト キャプションの両方(2 つのモダリティ)を特徴として受け取り、テキスト キャプションが画像に対してどの程度適切であるかを示すスコアを出力するモデルについて考えてみましょう。つまり、このモデルの入力はマルチモーダルで、出力はユニモーダルです。

N

自然言語理解

#language

ユーザーの入力内容や発言に基づいてユーザーの意図を判断する。 たとえば、検索エンジンは自然言語理解を使用して、ユーザーの入力または発言に基づいてユーザーが検索している内容を判断します。

N グラム

#seq
#language

N 個の単語の順序付きシーケンス。たとえば、truly madly は 2 グラムです。順序に関連性があるため、マドリー トゥ マジックは 2 グラムが異なります。

N この種類の N グラムの名前
2 バイグラムまたは 2 グラム
3 トライグラムまたは 3 グラム 目に見えないマウスを 3 匹食べすぎた、
4 4 グラム

自然言語理解モデルの多くは、ユーザーが次に入力または発話する単語の予測に N グラムに依存しています。たとえば、ユーザーが「three blind」と入力したとします。トライグラムに基づく NLU モデルでは、ユーザーが次にマウスを入力することが予測されます。

N グラムと、順序付けのない単語の集合であるバッグ オブ ワードと対比してください。

NLU

#language

自然言語理解の略語。

O

ワンショット プロンプト

#language
#ジェネレーティブ AI

プロンプト大規模言語モデルの応答方法を示す 1 つの例が含まれています。たとえば、次のプロンプトには、大規模言語モデルがどのようにクエリに応答するかを示す一例が含まれています。

1 つのプロンプトの一部 メモ
指定された国の公式通貨は何ですか? LLM に回答してほしい質問。
フランス: EUR 1 つの例です。
インド: 実際のクエリ。

ワンショット プロンプトを以下の用語と比較しましょう。

P

パラメータ効率調整

#language
#ジェネレーティブ AI

大規模な事前トレーニング済み言語モデル(PLM)を完全な微調整よりも効率的に微調整するための一連の手法。通常、パラメータ効率の調整で微調整を行うパラメータは完全な微調整よりもはるかに少なくなりますが、生成される大規模言語モデルは、完全な微調整から構築された大規模言語モデルと同等またはほぼ同等のパフォーマンスを発揮します。

パラメータ効率の高い調整と以下を比較対照してください。

パラメータ効率調整は、パラメータ効率調整ともいいます。

パイプライン処理

#language

モデル並列処理の一形態で、モデルの処理が連続するステージに分割され、各ステージが異なるデバイスで実行されます。ステージが 1 つのバッチを処理している間、前のステージは次のバッチで作業できます。

段階的なトレーニングもご覧ください。

PLM

#language
#ジェネレーティブ AI

事前トレーニング済み言語モデルの略語。

位置エンコード

#language

シーケンス内のトークンの位置に関する情報をトークンのエンベディングに追加する手法。Transformer モデルでは、位置エンコードを使用して、シーケンスのさまざまな部分間の関係をより深く理解します。

位置エンコードの一般的な実装では、正弦関数が使用されます。(具体的には、正弦関数の周波数と振幅は、シーケンス内のトークンの位置によって決まります)。この手法により、Transformer モデルは、位置に基づいてシーケンスのさまざまな部分に対応するように学習できます。

事前トレーニング済みモデル

#language
#image
#ジェネレーティブ AI

すでにトレーニングされているモデルまたはモデル コンポーネント(エンベディング ベクトルなど)。事前トレーニング済みのエンベディング ベクトルをニューラル ネットワークにフィードする場合もあります。また、モデルは、事前トレーニング済みのエンベディングに依存せずに、エンベディング ベクトル自体をトレーニングします。

事前トレーニング済み言語モデルという用語は、事前トレーニングが行われた大規模言語モデルを指します。

トレーニング前

#language
#image
#ジェネレーティブ AI

大規模なデータセットでのモデルの初期トレーニング。事前トレーニング済みのモデルの中には、うまく機能しないものがあり、通常は追加のトレーニングで改良する必要があります。たとえば、ML の専門家は、Wikipedia のすべての英語ページなど、膨大なテキスト データセットで大規模言語モデルを事前トレーニングできます。事前トレーニングの後、次のいずれかの手法でモデルをさらに絞り込むことができます。

prompt

#language
#ジェネレーティブ AI

大規模言語モデルに入力として入力されたテキスト。モデルが特定の動作をするように条件付けされます。プロンプトは、フレーズのように短くすることも、任意の長さ(小説のテキスト全体など)にすることもできます。プロンプトは、次の表のように複数のカテゴリに分類されます。

プロンプトのカテゴリ メモ
問題 ハトはどれくらいの速さで飛ぶことができる?
手順 アービトラージについての面白い詩を書いて。 大規模言語モデルに何かを行うよう求めるプロンプト。
Markdown コードを HTML に変換します。例:
Markdown: * list item
HTML: <ul> <li>list item</li> </ul>
この例のプロンプトの最初の文は「指示」です。プロンプトの残りの部分は例です。
ロール 物理学の博士号を取得するための機械学習のトレーニングで勾配降下法が使用される理由を説明する。 文の最初の部分は指示です。「to a PhD in Physics」というフレーズがロール部分です。
モデルを完成させるための部分入力 英国の首相の 部分入力プロンプトは、(この例のように)突然終了することも、アンダースコアで終了することもできます。

ジェネレーティブ AI モデルは、テキスト、コード、画像、エンベディング、動画など、ほぼすべての内容でプロンプトに応答できます。

プロンプトベースの学習

#language
#ジェネレーティブ AI

任意のテキスト入力に応じて動作を調整できるようにする、特定のモデルの機能(プロンプト)。一般的なプロンプト ベースの学習パラダイムでは、大規模言語モデルがプロンプトに応答してテキストを生成します。たとえば、ユーザーが次のプロンプトを入力したとします。

ニュートンの運動の第 3 法則を要約する。

プロンプト ベースの学習が可能なモデルは、以前のプロンプトに応答するように特にトレーニングされていません。むしろ、このモデルは、物理学に関する多くの事実、一般的な言語のルールについて多く、そして一般的に有用な答えを構成するものについて多く「認識」しています。その知識があれば、有用な答えを提供できるはずです。プロンプト ベースの学習システムでは、人間による追加のフィードバック(「その答えが複雑すぎました」や「リアクションとは?」など)を追加することで、回答の有用性を徐々に高めることができます。

プロンプト設計

#language
#ジェネレーティブ AI

プロンプト エンジニアリングと同義。

プロンプト エンジニアリング

#language
#ジェネレーティブ AI

大規模言語モデルから目的のレスポンスを引き出すプロンプトを作成する技術。プロンプト エンジニアリングは人間が行います。適切に構造化されたプロンプトを作成することは、大規模言語モデルから有用なレスポンスを得るうえで欠かせません。プロンプト エンジニアリングは、次のようなさまざまな要因に左右されます。

  • 大規模言語モデルの事前トレーニングと、場合によっては微調整に使用されるデータセット。
  • モデルがレスポンスを生成するために使用する温度とその他のデコード パラメータ。

有用なプロンプトの作成について詳しくは、プロンプト設計の概要をご覧ください。

プロンプト設計はプロンプト エンジニアリングと同義です。

プロンプト調整

#language
#ジェネレーティブ AI

パラメータ効率の高い調整のメカニズム。システムが実際のプロンプトの先頭に付加する「プレフィックス」を学習します。

プロンプト調整のバリエーションの一つは、「プレフィックスの調整」とも呼ばれますが、すべてのレイヤでプレフィックスを付加することです。対照的に、ほとんどのプロンプト調整では、入力レイヤに接頭辞を追加するだけです。

R

ロール プロンプト

#language
#ジェネレーティブ AI

ジェネレーティブ AI モデルのレスポンスのターゲット オーディエンスを識別するプロンプトのオプション部分。ロール プロンプトが表示されなくても、大規模言語モデルは回答を提示しますが、質問者にとって有用である場合もあれば、そうでない場合もあります。ロール プロンプトを使用すると、大規模言語モデルは、特定の対象グループに対してより適切で有用な方法で回答できます。たとえば、次のプロンプトのロール プロンプト部分は太字で表示されます。

  • 経済学の博士号取得者向けの記事を要約してください。
  • 10 歳の子どもの潮流の仕組みを説明する。
  • 2008 年の金融危機について説明する。幼い子どもやゴールデン レトリバーのように話す。

S

セルフ アテンション(セルフ アテンション レイヤとも呼ばれます)

#language

一連のエンベディング(トークン エンベディングなど)を別のエンベディング シーケンスに変換するニューラル ネットワーク レイヤ。出力シーケンスの各エンベディングは、アテンション メカニズムによって入力シーケンスの要素からの情報を統合することによって構築されます。

セルフアテンションのセルフアテンションのセルフアテンションとは、他のコンテキストではなく、セルフアテンション自身に対応するシーケンスを指します。セルフ アテンションは Transformer の主要な構成要素の一つであり、「クエリ」、「キー」、「値」などの辞書検索用語を使用します。

自己注意レイヤは、単語ごとに 1 つずつ、一連の入力表現から始まります。単語の入力表現は単純な埋め込みでもかまいません。ネットワークは、入力シーケンスの単語ごとに、単語シーケンス内のすべての要素に対する単語の関連性をスコアリングします。関連性スコアにより、最終的な単語表現に他の単語表現がどの程度組み込まれているかが決まります。

たとえば、次の文について考えてみましょう。

動物は疲れていて通りを横断しませんでした。

次の図(Transformer: A Novel Neural Network Architecture for Language Understanding からの)は、代名詞 it に対する自己注意レイヤのアテンション パターンを示しています。各行の濃さは、各単語が表現にどの程度貢献しているかを示しています。

「動物は疲れすぎたから通りを横断しませんでした」という文が 2 回出現しています。ある文の「it」という単語と、もう一方の文の 5 つのトークン(「The」、「animal」、「street」、「it」、およびピリオド)が線でつながっています。「it」と「animal」の間の線が最も強い。

自己注意レイヤでは、「it」に関連する単語がハイライト表示されます。この場合、アテンション レイヤは、参照する可能性のある単語のハイライト表示を学習し、最大の重みを動物に割り当てます。

n 個のトークンのシーケンスの場合、セルフ アテンションはエンベディングのシーケンスを n 回(シーケンス内の各位置で 1 回ずつ)変換します。

アテンションマルチヘッド セルフ アテンションもご覧ください。

感情分析

#language

統計アルゴリズムまたは機械学習アルゴリズムを使用して、サービス、プロダクト、組織、またはトピックに対するグループの全体的な態度(肯定的か否定的か)を判断する。たとえば、自然言語理解を使用して、大学の課程からのテキスト フィードバックの感情分析をアルゴリズムで行い、学生が一般的にこのコースをどの程度気に入っているか、または低く評価しているかを判断できます。

シーケンス間のタスク

#language

トークンの入力シーケンスをトークンの出力シーケンスに変換するタスク。たとえば、一般的に次の 2 種類のシーケンス間のタスクがあります。

  • 翻訳者:
    • 入力シーケンスの例: 「大好き」
    • 出力シーケンスの例: 「Je t'aime」。
  • 質問への回答:
    • 入力シーケンスの例: 「ニューヨーク市に車は必要ですか?」
    • 出力シーケンスの例: 「いいえ。車は自宅に置いたままにしてください。」

スパースな特徴

#language
#fundamentals

値が主にゼロまたは空の特徴。たとえば、値が 1 で 100 万の 0 が 1 つ存在する特徴はスパースです。一方、密な特徴は、主に 0 や空でない値を持ちます。

機械学習では、驚くほど多くの特徴がスパースな特徴です。通常、カテゴリ特徴はスパースな特徴です。たとえば、ある森林の 300 種の樹種のうち、1 つの例でカエデの木だけを識別できます。あるいは、動画ライブラリにある何百万本もの動画の中で、1 つの例で「Casablanca」だけを識別することもできます。

モデルでは通常、スパースな特徴をワンホット エンコーディングで表現します。ワンホット エンコードが大きい場合は、ワンホット エンコードの上に埋め込みレイヤを配置して効率を高めることができます。

スパース表現

#language
#fundamentals

スパースな特徴にゼロ以外の要素の位置のみを保存する。

たとえば、species という名前のカテゴリ特徴から、特定の森林の 36 種類の樹木が識別されるとします。さらに、各は単一の種のみを識別するものと仮定します。

各例では、ワンホット ベクトルを使用して樹種を表すことができます。ワンホット ベクトルには、1 つの 1(その例では特定の樹種を表す)と 35 個の 0(この例にはない 35 の樹種を表す)が含まれます。そのため、maple のワンホット表現は次のようになります。

位置 0 ~ 23 に値 0、位置 24 に値 1、位置 25 ~ 35 に値 0 を保持するベクトル。

一方、スパース表現では、単に特定の種の位置を特定できます。maple が位置 24 にある場合、maple のスパース表現は次のようになります。

24

スパース表現は、ワンホット表現よりもはるかにコンパクトです。

段階的なトレーニング

#language

一連の個別のステージでモデルをトレーニングする戦術。目標は、トレーニング プロセスの高速化と、モデルの品質向上のいずれかです。

プログレッシブ スタッキングのアプローチを以下の図に示します。

  • ステージ 1 には 3 つの隠れ層、ステージ 2 には 6 つの隠れ層、ステージ 3 には 12 つの隠れ層があります。
  • ステージ 2 は、ステージ 1 の 3 つの隠れ層で学習した重みでトレーニングを開始します。ステージ 3 は、ステージ 2 の 6 つの隠れ層で学習した重みでトレーニングを開始します。

「ステージ 1」、「ステージ 2」、「ステージ 3」とラベル付けされた 3 つのステージ。
          ステージごとに含まれるレイヤの数は異なります。ステージ 1 には 3 つのレイヤ、ステージ 2 には 6 つのレイヤ、ステージ 3 には 12 個のレイヤがあります。ステージ 1 の 3 つのレイヤが、ステージ 2 の最初の 3 つのレイヤになります。同様に、ステージ 2 の 6 つのレイヤが、ステージ 3 の最初の 6 つのレイヤになります。

パイプライン処理もご覧ください。

T

T5

#language

2020 年に Google AI によって導入されたテキスト間の転移学習モデル。T5 はエンコーダ - デコーダ モデルであり、Transformer アーキテクチャに基づいて、非常に大きなデータセットでトレーニングされます。これは、テキストの生成、言語の翻訳、会話形式での質問への回答など、さまざまな自然言語処理タスクで効果を発揮します。

T5 の名前は、「Text-to-Text Transfer Transformer」の 5 つの T に由来するものです。

T5X

#language

大規模な自然言語処理(NLP)モデルの構築とトレーニング用に設計されたオープンソースの機械学習フレームワーク。T5 は、T5X コードベース(JAXFlax 上に構築)に実装されています。

温度

#language
#image
#ジェネレーティブ AI

モデルの出力のランダム性の度合いを制御するハイパーパラメータ。温度が高いほどランダムな出力は多くなり、温度が低いほど出力は少なくなります。

最適な温度を選択できるかどうかは、特定のアプリケーションと、モデルの出力の望ましい特性によって異なります。たとえば、クリエイティブ出力を生成するアプリを作成するときに、温度を上げることが考えられます。逆に、画像またはテキストを分類するモデルを構築する場合は、モデルの精度と整合性を高めるために温度を下げることをおすすめします。

温度は softmax でよく使用されます。

テキストスパン

#language

テキスト文字列の特定のサブセクションに関連付けられた配列インデックス スパン。 たとえば、Python 文字列 s="Be good now"good という単語は、3 から 6 のテキストスパンを占有します。

token

#language

言語モデルでは、モデルのトレーニングと予測の基準となる原子単位。通常、トークンは次のいずれかです。

  • たとえば、「dogs like cats」というフレーズは「dogs」、「Like」、「cats」の 3 つの単語トークンで構成されます。
  • 文字(たとえば、「バイクの魚」というフレーズは 9 文字のトークンで構成されます)。(空白もトークンの 1 つとしてカウントされます)。
  • 1 つの単語が 1 つのトークンまたは複数のトークンになります。サブワードは、語根の単語、接頭辞、接尾辞で構成されます。たとえば、サブ単語をトークンとして使用する言語モデルでは、「dogs」という単語を 2 つのトークン(根の単語「dog」と複数形の接尾辞「s」)として認識する可能性があります。同じ言語モデルでは、1 つの単語「taller」が 2 つのサブワード(ルート単語「tall」と接尾辞「er」)として認識される可能性があります。

言語モデル以外のドメインでは、トークンは他の種類のアトミック単位を表すことができます。たとえば、コンピュータ ビジョンでは、トークンが画像のサブセットである場合があります。

Transformer

#language

Google が開発したニューラル ネットワーク アーキテクチャは、セルフ アテンション メカニズムを利用して、畳み込み再帰型ニューラル ネットワークに依存せずに、一連の入力エンベディングを一連の出力エンベディングに変換します。Transformer は、自己注意レイヤの積み重ねと見なすことができます。

Transformer には次のいずれかを含めることができます。

エンコーダは、エンベディングのシーケンスを同じ長さの新しいシーケンスに変換します。エンコーダには N 個の同一のレイヤが含まれ、各レイヤには 2 つのサブレイヤが含まれています。これらの 2 つのサブレイヤは、入力エンベディング シーケンスの各位置に適用され、シーケンスの各要素が新しいエンベディングに変換されます。最初のエンコーダ サブレイヤは、入力シーケンス全体の情報を集約します。2 番目のエンコーダ サブレイヤは、集約された情報を出力エンベディングに変換します。

デコーダは、一連の入力エンベディングを、長さが異なる一連の出力エンベディングに変換します。デコーダには 3 つのサブレイヤを持つ N 個の同一レイヤもあり、そのうちの 2 つはエンコーダのサブレイヤに似ています。3 番目のデコーダ サブレイヤは、エンコーダの出力を取得し、セルフ アテンション メカニズムを適用して情報を収集します。

Transformer の概要については、ブログ投稿「Transformer: A Novel Neural Network Architecture for Language Understanding」をご覧ください。

トライグラム

#seq
#language

N=3 の N グラム

U

単方向

#language

テキストの対象セクションの前にあるテキストのみを評価するシステム。一方、双方向システムでは、テキストの対象セクションの前後と後続の両方のテキストが評価されます。詳しくは、双方向をご覧ください。

単方向言語モデル

#language

ターゲット トークンの後ではなく前に出現するトークンのみに基づいて確率に基づく言語モデル双方向言語モデルとの比較を行います。

V

変分オートエンコーダ(VAE)

#language

オートエンコーダの一種で、入力と出力の差異を利用して入力の修正版を生成します。変分オートエンコーダは、ジェネレーティブ AI に役立ちます。

VAE は変分推論(確率モデルのパラメータを推定する手法)に基づいています。

W

単語のエンベディング

#language

各単語をエンベディング ベクトル内で単語セットに表現する。つまり、各単語を 0.0 から 1.0 までの浮動小数点値のベクトルとして表現します。意味が似ている単語は、意味が異なる単語よりも表現が類似しています。たとえば、にんじん、セロリ、きゅうりはすべて比較的似ており、飛行機、サングラス、歯磨き粉の表現とは大きく異なります。

Z

ゼロショット プロンプト

#language
#ジェネレーティブ AI

大規模言語モデルの応答方法の例を示さないプロンプト。例:

1 つのプロンプトの一部 メモ
指定された国の公式通貨は何ですか? LLM に回答してほしい質問。
インド: 実際のクエリ。

大規模言語モデルは次のいずれかで応答します。

  • ルピー
  • インドルピー
  • ルピー(インド)
  • ルピー
  • インド ルピー

すべての選択肢が正解ですが、特定の形式を使用したほうがよい場合もあります。

ゼロショット プロンプトを以下の用語と比較しましょう。