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

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

A

Attention、

#language

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

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

オートエンコーダ

#language
#image

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

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

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

次に例を示します。

  • 入力データがグラフィックの場合、完全ではないコピーは元のグラフィックと似ていますが、若干変更されています。元の画像からノイズが取り除かれたり、欠落しているピクセルが埋め込まれていたりすると、元の画像からノイズが取り除かれる場合があります。
  • 入力データがテキストの場合、オートエンコーダは元のテキストを模倣した(ただし同一ではない)新しいテキストを生成します。

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

自己回帰モデル

#language
#image
#生成 AI

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

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

B

袋に入った言葉

#language

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

  • 犬がジャンプしている
  • 犬をジャンプする
  • 犬がジャンプ

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

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

BERT(Bidirectional Encoder Representations from Transformers)

#language

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

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

BERT の亜種は以下のとおりです。

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

双方向

#language

テキストの対象セクションの前後にあるテキストを評価するシステムを説明するために使用する用語。一方、単方向システムは、テキストの対象セクションの前にあるテキストのみを評価します。

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

あなたの _____ は何ですか?

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

双方向言語モデル

#language

言語モデル。特定のトークンがテキストの抜粋の特定の場所に存在する確率を、前のテキストと後のテキストに基づいて決定します。

Bigram

#seq
#language

N グラム(N=2 の場合)。

BLEU(Bilingual Evaluation Understudy)

#language

2 つの人間の言語間(英語とロシア語など)の翻訳の品質を示す、0.0 ~ 1.0 のスコア。BLEU スコアが 1.0 は完全な翻訳を示し、BLEU スコアが 0.0 は不適切な翻訳を示します。

C

因果言語モデル

#language

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

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

Chain-of-Thought プロンプト

#language
#生成 AI

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

時速 0 ~ 60 マイルを 7 秒間で走る車で、ドライバーが経験する力はいくつでしょうか。回答には、関連する計算をすべて示してください。

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

  • 一連の物理式を示し、適切な場所に値 0、60、7 を挿入します。
  • このような数式を選択した理由と、さまざまな変数の意味を説明します。

Chain-of-Thought プロンプトでは、LLM にすべての計算を実行させ、より正しい回答につながる可能性があります。さらに、Chain-of-Thought プロンプトにより、ユーザーは LLM の手順を調べて、回答が理にかなっているかどうかを判断できます。

チャット

#language
#生成 AI

ML システム(通常は大規模言語モデル)との対話の内容。チャットの以前のやり取り(入力した内容と大規模言語モデルがどのように応答したか)が、チャットの後続の部分のコンテキストになります。

chatbot は大規模言語モデルのアプリケーションです。

会議

#language

ハルシネーション」と同義です。

会話という言葉は、ハルシネーションよりも技術的に正確だと考えられます。しかし、ハルシネーションが最初に普及しました。

選挙区の解析

#language

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

友だちが 2 匹の猫を里親になりました。

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

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

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

2 匹の猫を養子にした

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

  • adopted は動詞です。
  • two cats は別の名詞句です。

コンテキスト化された言語埋め込み

#language
#生成 AI

ネイティブの人間の話者と同じ方法で単語やフレーズを「理解」できるエンベディング。コンテキスト化された言語エンベディングは、複雑な構文、セマンティクス、コンテキストを理解できます。

たとえば、英語の単語 cow のエンベディングについて考えてみましょう。word2vec などの古いエンベディングは、エンベディング空間内でのから雄牛までの距離が、女性(女性の羊)から(男性の羊)または女性から男性への距離と等しくなるように、英語の単語を表現できます。コンテキスト化された言語エンベディングは、さらに一歩進んで、英語話者にとって「cow」という言葉が牛や雄牛を意味するという意味で使われることがあることを認識し、さらに踏み込んでいます。

コンテキスト ウィンドウ

#language
#生成 AI

特定のプロンプトでモデルが処理できるトークンの数。コンテキスト ウィンドウが大きいほど、モデルはより多くの情報を使用して、プロンプトに対して一貫性のある一貫したレスポンスを提供できます。

クラッシュ・ブロッサム

#language

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

D

デコーダ

#language

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

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

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

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

ノイズ除去

#language

自己教師あり学習に対する一般的なアプローチは次のとおりです。

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

ノイズ除去により、ラベルのないサンプルからの学習が可能になります。元のデータセットがターゲットまたはラベルとして機能し、ノイズの多いデータが入力として機能します。

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

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

ダイレクト プロンプト

#language
#生成 AI

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

E

距離を編集

#language

2 つのテキスト文字列の類似度の測定。ML では、編集距離は計算が簡単で、似ていることがわかっている 2 つの文字列を比較したり、特定の文字列に類似した文字列を検出したりする効果的な方法であるため便利です。

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

たとえば、「heart」と「darts」という単語間のレーベンシュタイン距離は 3 です。これは、次の 3 つの編集によって、ある単語が別の単語に変換される変更が最も少なくなるためです。

  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 つ例を示します。
インド: 実際のクエリ。

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

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

フィドル

#language

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

Fiddle は、ML のコードベースが通常次のように分割されていることを前提としています。

  • レイヤとオプティマイザを定義するライブラリ コード。
  • データセットの「グルー」コード。ライブラリを呼び出して、すべてをつなぎ合わせます。

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

ファインチューニング

#language
#image
#生成 AI

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

  1. 事前トレーニング: 膨大な一般的なデータセット(すべての英語の Wikipedia ページなど)で大規模言語モデルをトレーニングします。
  2. ファインチューニング: 医療関連のクエリへの応答など、特定のタスクを実行するように事前トレーニング済みモデルをトレーニングします。ファインチューニングには通常、特定のタスクに焦点を当てた数百または数千のサンプルが含まれます。

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

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

ファインチューニングでは、次の戦略を任意に組み合わせることができます。

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

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

ファインチューニングを以下の用語と比較対照してください。

亜麻

#language

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

フラックスフォーマー

#language

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

1 階

生成 AI

#language
#image
#生成 AI

正式な定義のない、新たな変革の分野。とはいえ、生成 AI モデルは、次のすべてを含むコンテンツを作成(「生成」)できるとほとんどの専門家が同意しています。

  • 複雑
  • 首尾一貫した
  • オリジナル

たとえば、生成 AI モデルは洗練されたエッセイや画像を作成できます。

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

予測 ML と対比する。

GPT(Generative Pre-Training 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

大規模言語モデル

#language

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

潜在空間

#language

エンベディング空間と同義です。

LLM

#language

大規模言語モデルの略語。

LoRA

#language
#生成 AI

Low-Rank Adaptability の略語。

低ランク適応性(LoRA)

#language
#生成 AI

大規模言語モデルのパラメータのサブセットのみをファインチューニングするパラメータ効率調整を実行するためのアルゴリズム。LoRA には次の利点があります。

  • モデルのすべてのパラメータを微調整する必要がある手法よりも迅速にファインチューニングできる。
  • ファインチューニングされたモデルでの推論の計算コストを削減します。

LoRA で調整されたモデルは、予測の品質を維持または改善します。

LoRA を使用すると、複数の特殊なバージョンのモデルを使用できます。

M

マスク言語モデル

#language

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

帽子の____が戻ってきました。

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

帽子の中の「マスク」が戻ってきました。

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

メタラーニング

#language

学習アルゴリズムを発見または改善する ML のサブセット。メタラーニング システムは、少量のデータや以前のタスクでの経験から新しいタスクをすばやく学習できるようにモデルをトレーニングすることを目指しています。メタ ラーニングのアルゴリズムは通常、次のことを実現しようとします。

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

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

モダリティ

#language

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

モデル並列処理

#language

1 つのモデルmodelのさまざまな部分を異なるデバイスmodelに配置するトレーニングまたは推論をスケーリングする方法。モデル並列処理を使用すると、大きすぎて 1 つのデバイスに収まらないモデルを実現できます。

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

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

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

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

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

#language

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

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

マルチモーダル モデル

#language

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

N

自然言語理解

#language

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

N グラム

#seq
#language

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

N この種類の N グラムの名前
2 バイグラムまたは 2 グラム ランチを食べる、ディナーを食べる
3 トライグラムまたは 3 グラム 3 匹の盲目のネズミを食べすぎ、
4 4 グラム 公園を散歩する、風の中のほこり、少年がレンズ豆を食べた、

自然言語理解モデルの多くは、ユーザーが次に入力または発話する単語を予測するために N グラムを使用します。たとえば、ユーザーが「スリーブラインド」を入力したとします。トライグラムに基づく NLU モデルは、ユーザーが次にマウスを入力することを予測します。

N グラムと、順序付けされていない単語の集合であるbag of words と対比します。

NLU

#language

Natural Language understanding の略語。

O

ワンショット プロンプト

#language
#生成 AI

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

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

ワンショット プロンプトと以下の用語を比較対照してください。

P

パラメータ効率調整

#language
#生成 AI

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

パラメータ効率調整と以下を比較対照します。

パラメータ効率調整は、パラメータ効率ファインチューニングとも呼ばれます。

パイプライン処理

#language

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

ステージングされたトレーニングもご覧ください。

PLM

#language
#生成 AI

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

位置エンコード

#language

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

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

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

#language
#image
#生成 AI

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

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

事前トレーニング

#language
#image
#生成 AI

大規模なデータセットでのモデルの初期トレーニング。一部の事前トレーニング済みモデルは扱いにくいため、通常は追加のトレーニングによって改良する必要があります。たとえば、ML のエキスパートは、膨大なテキスト データセット(Wikipedia の全英語ページなど)で大規模言語モデルを事前にトレーニングできます。結果として得られるモデルは、事前トレーニングの後、次のいずれかの手法でさらに細かく調整できます。

プロンプト

#language
#生成 AI

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

プロンプトのカテゴリ メモ
質問 ハトの飛行速度は?
手順 アービトラージについての面白い詩を書いて。 大規模言語モデルに何かを行うよう求めるプロンプト。
マークダウン コードを HTML に変換します。例:
マークダウン: * リスト項目
HTML: <ul> <li>リスト項目</li> </ul>
このサンプル プロンプトの最初の文は指示です。プロンプトの残りの部分は例です。
ロール Physics で博士号を取得するための ML トレーニングに勾配降下法が使用される理由を説明する。 文の最初の部分は指示です。「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 つであり、「query」、「key」、「value」などの辞書検索用語を使用します。

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

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

動物は疲れていたため、通りを渡りませんでした。

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

次の文が 2 回出現しています。「動物は疲れていたため、通りを横断しませんでした。1 つの文の代名詞が、別の文の 5 つのトークン(The、Animal、street、it、ピリオド)に接続されています。代名詞 it と Animal という単語の間の線が最も強いです。

セルフ アテンション レイヤでは、「それ」に関連する単語がハイライト表示されます。この場合、アテンション レイヤは、参照する可能性のある単語を強調することを学習し、動物に最も高い重みを割り当てます。

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

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

感情分析

#language

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

シーケンス ツー シーケンス タスク

#language

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

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

スキップグラム

#language

n-gram。元のコンテキストから単語を省略(またはスキップ)できます。つまり、N の単語が元々は隣接していなかった可能性があります。より正確には、「k-skip-n-gram」は k 単語までスキップされた可能性がある n-gram です。

たとえば、「クイック ブラウン キツネ」には次のような 2 グラムがあります。

  • 「クイック」
  • "クイック ブラウン"
  • 「brown fox」

「1-skip-2-gram」とは、間に最大 1 つの単語がある単語のペアです。 したがって、「クイック ブラウン キツネ」には次のような 1 スキップ 2 グラムが含まれます。

  • "the brown"
  • 「クイック キツネ」

また、スキップされる単語が 1 単語未満であるため、2 グラムはすべて 1 スキップ 2 グラムになります。

スキップグラムは、単語の周囲のコンテキストをより深く理解するのに役立ちます。この例では、「fox」は 1-skip-2-grams のセットでは「quick」と直接関連していましたが、2-g-gram のセットではありませんでした。

スキップグラムは、単語埋め込みモデルのトレーニングに役立ちます。

ソフト プロンプト調整

#language
#生成 AI

リソースを大量に消費する微調整なしで、特定のタスク用に大規模言語モデルをチューニングするための手法。ソフト プロンプト調整では、モデル内のすべての重みを再トレーニングする代わりに、プロンプトを自動的に調整して同じ目標を達成します。

テキスト プロンプトの場合、ソフト プロンプトの調整では通常、追加のトークン エンベディングをプロンプトに追加し、バックプロパゲーションを使用して入力を最適化します。

ハード プロンプトには、トークン エンベディングではなく実際のトークンが含まれます。

スパースな特徴

#language
#fundamentals

値が主にゼロまたは空である特徴。たとえば、単一の 1 値と 100 万 0 値を含む特徴はスパースです。一方、高密度の特徴は、ゼロや空以外の値が大半を占めます。

ML では、かなりの数の特徴がスパースな特徴です。通常、カテゴリ特徴はスパースな特徴です。たとえば、森にある 300 種類の樹木のうち、1 つのサンプルでカエデの木だけを識別できます。動画ライブラリにある何百万本もの動画のうち、1 つの例で「カサブランカ」だけを識別することもあります。

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

スパース表現

#language
#fundamentals

スパースな特徴にゼロ以外の要素の位置のみを格納します。

たとえば、species という名前のカテゴリ特徴によって、特定の森林の 36 種の樹木が識別されたとします。さらに、各が 1 つの種のみを識別すると仮定します。

各サンプルの樹種を表すために、ワンホット ベクトルを使用できます。ワンホット ベクトルには、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 つの隠れ層で学習した重みでトレーニングを開始します。

3 つのステージがあり、ステージ 1、ステージ 2、ステージ 3 というラベルが付けられています。各ステージに含まれるレイヤ数は異なります。ステージ 1 には 3 つのレイヤ、ステージ 2 には 6 つのレイヤ、ステージ 3 には 12 のレイヤが含まれています。ステージ 1 の 3 つのレイヤが、ステージ 2 の最初の 3 つのレイヤになります。同様に、ステージ 2 の 6 つのレイヤがステージ 3 の最初の 6 レイヤになります。

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

サブワード トークン

#language

言語モデルでは、単語の部分文字列であるトークン(単語全体の場合もあります)。

たとえば、「itemize」のような単語は、「item」(語根)と「ize」(接尾辞)に分割され、それぞれが独自のトークンで表されます。一般的でない単語をサブワードと呼ばれる部分に分割すると、言語モデルは、接頭辞や接尾辞など、単語のより一般的な構成部分に対して動作できるようになります。

逆に、「going」のような一般的な単語は分割されず、1 つのトークンで表される場合があります。

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

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

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

温度はソフトマックスでよく使用されます。

テキストスパン

#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 グラム(N=3 の場合)。

U

単方向

#language

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

一方向言語モデル

#language

言語モデル。確率を、ターゲット トークンの後ではなく前にあるトークンのみに基づいて決定します。双方向言語モデルとは対照的です。

V

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

#language

入力と出力の不一致を利用して入力の変更バージョンを生成するオートエンコーダの一種。変分オートエンコーダは生成 AI に役立ちます。

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

W

単語の埋め込み

#language

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

Z

ゼロショット プロンプト

#language
#生成 AI

大規模言語モデルの応答方法の例を示していないプロンプト次に例を示します。

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

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

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

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

ゼロショット プロンプトと以下の用語を比較対照してください。