KV Cache - 読んだトークンの計算結果を取っておく仕組みとコンテキスト長
KV キャッシュ(key-value cache)は、LLM(Large Language Model、大規模言語モデル)が文章を生成する時に、既に読んだトークンの計算結果をメモリに取っておく仕組みです。トークンは、LLM が文章を読み書きする単位で、単語や単語の一部にあたります(トークナイザーのノート)。 ...
KV キャッシュ(key-value cache)は、LLM(Large Language Model、大規模言語モデル)が文章を生成する時に、既に読んだトークンの計算結果をメモリに取っておく仕組みです。トークンは、LLM が文章を読み書きする単位で、単語や単語の一部にあたります(トークナイザーのノート)。 ...
Ollama は、手元の PC で LLM(Large Language Model、大規模言語モデル)を動かすソフトウェアです。Ollama でモデルを読み込む時には、モデルが一度に扱えるトークン数の上限(コンテキスト長)を num_ctx というオプションで決めます。トークンは、LLM が文章を読み書きする単位です(トークナイザーのノート)。 ...
ローカル LLM(手元の PC で動かす Large Language Model、大規模言語モデル)が質問に答えるまでの時間は、2 つの段に分かれます。1 つは、入力のトークン(文を区切った単位で、LLM はこの単位で読み書きします)をまとめて読む段で、prefill と呼びます。もう 1 つは、答えを 1 トークンずつ生成する段で、decode と呼びます。Ollama では、ollama run --verbose の表示の prompt eval rate が prefill、eval rate が decode の速さです。 ...
MoE(Mixture of Experts、専門家の混合)は、LLM(Large Language Model、大規模言語モデル)の層の一部を「専門家(expert)」と呼ぶ小さなネットワークの束に分け、トークン(文を区切った単位で、LLM はこの単位で読み書きします)ごとにその一部だけを動かす作りです。どの専門家を動かすかは、ルーター(router。原論文では gating network)と呼ぶ小さな層がトークンごとに決めます。そのため、MoE のモデルには、全ての専門家を足した総パラメーター(学習で決まる重みの数値)の数と、1 トークンを処理する時に実際に動くパラメーター数(active parameters)の 2 つの数があります。 ...