トークン
トークンとは、言語モデルにおいて
『単語や単語の一部などの基本単位』
のことです。
例えば、「犬が好きです」は
>「犬」
>「が」
>「好き」
>「です」
といったように分割されます。
トークン化とは、テキストを小さな単位に分割するプロセスのことです。
トークンが長すぎると
モデルが文脈や意味をうまく捉えられなくなります。
また、モデルのメモリ消費や計算負荷が増大し、処理効率が低下します。
トークンが短すぎると
文脈を十分に理解できないことが多く、予測精度が低下する。
生成されるトークンの長さを制御
生成されるレスポンスの長さは、トークン数の制限によって制御されます。トークン数が多いほど、長いテキストを生成することができます。トークン数を制限して、簡潔な解答を強制する場合にも利用できる
ベクトル
『テキストデータを数値として表現し、言語の意味や文脈をモデルが計算できるようにする。』
単語や文がベクトルで表現されることで、モデルが単語や文の意味を数値的に捉えることで、類似したものを効果的に比較することができます。
「犬」と「猫」は、類似したベクトルを持ちます。
ベクトルの次元
ベクトルは、数字が並んだリストであり、各数字が「特徴」を表現します。
具体例として、以下のようなベクトルを見てみましょう。
[0.5, -0.2, 0.8]
このベクトルには3つの数字が含まれているため、「3次元ベクトル」と呼びます。つまり、数字の個数がベクトルの次元を決定します。
例えば、10次元のベクトルは、以下のように10個の数字で構成されます。
[0.1, -0.5, 0.3, 0.7, ... , 0.2] # 10個の数字
次元が高くなるほど、ベクトルが表現できる特徴の数も増えていきます。