第6部 LLMを使いこなす

第23章コンテキストウィンドウと主要パラメータ

LLMを使うときには、扱える入力の長さや、出力の調整に関わるいくつかの設定を知っておくと役立ちます。 この章では、コンテキストウィンドウという考え方と、温度をはじめとする主要なパラメータを見ていきます。 意図した出力が得られないとき、これらが調整の手がかりになります。

23.1コンテキストウィンドウとは

コンテキストウィンドウとは、LLMが一度に扱える入力と出力の合計の上限のことです。トークンの数で決まっており、この範囲を超えることはできません。

LLMには、一度に扱える文章の量に上限があります。この上限をコンテキストウィンドウと呼びます。大きさは、 第12章で見たトークンの数で表されます。プロンプトとして与える入力も、モデルが返す出力も、あわせて この範囲に収まる必要があります。コンテキストウィンドウは、モデルがその場で見渡せる作業机の広さの ようなものだと考えると分かりやすいでしょう。机が広ければ多くの資料を一度に広げられますが、広さには 限りがあります。

コンテキストウィンドウ(トークン数の上限) システムプロンプト これまでの会話履歴 今回の入力 出力
図23-1 入力も出力も、あわせてコンテキストウィンドウの範囲に収める必要があります。

23.2入力が長すぎるときに起きること

入力がコンテキストウィンドウを超えると、古い部分が収まりきらず扱えなくなります。長い文脈では、情報の取捨選択が必要になります。

やり取りが長くなったり、与える資料が多くなったりして、コンテキストウィンドウを超えそうになると、 すべてを一度に扱うことができなくなります。多くの場合、古い部分から収まりきらなくなり、モデルはその 部分を踏まえられなくなります。長い会話の序盤で伝えた内容を、終盤で忘れたように見えるのは、これが 一因です。

この上限は、後の章で扱う会話履歴の管理やRAGとも深く関わります。第26章で見るように、会話を続けるには 履歴を毎回渡す必要がありますが、その履歴もこの枠に収めなければなりません。長い文脈を扱うときは、 何を残し何を省くかという取捨選択が必要になります。枠が広いモデルほど多くを一度に扱えますが、広ければ 広いほど、そのぶん処理する量が増えて費用もかさむ、という兼ね合いもあります。

23.3温度(temperature)と出力の多様性

温度は、出力の選び方のばらつきを調整する設定です。低いと安定して無難な出力に、高いと多様で意外性のある出力になりやすくなります。

第15章で、LLMは候補ごとの確率にもとづいて次の一語を選ぶと述べました。この選び方のばらつきを調整するのが、 温度(temperature)と呼ばれる設定です。温度を低くすると、確率の高い候補が選ばれやすくなり、出力は 安定して無難なものになります。温度を高くすると、確率の低い候補も選ばれやすくなり、出力は多様で意外性の あるものになります。

具体例:温度による出力の違い

「秋を表す言葉を一つ」と頼んだ場合、温度によって傾向が変わります。

低い温度 毎回「紅葉」のような、もっとも無難な語が返りやすい
高い温度 「金木犀」「夜長」など、回ごとに変化のある語が返りやすい

事実を正確に答えてほしい場面では低めに、アイデアを広げたい場面では高めに、と使い分けます。

23.4その他の主要パラメータ

温度のほかにも、出力の最大の長さや、候補の絞り込みに関わる設定などがあります。用途に応じて調整することで、出力を目的に近づけられます。

出力を調整する設定は、温度のほかにもいくつかあります。代表的なのは、出力する最大の長さを決める設定で、 長くなりすぎるのを防いだり、費用を抑えたりするのに使います。第28章で見るように、出力もトークンとして 費用に数えられるため、長さの上限はコスト管理にも役立ちます。また、次の語の候補をどこまで広げて考えるかを 絞り込む設定もあり、温度と組み合わせて出力のばらつきを調整します。

実務メモ:まず温度と最大長から触る

設定がたくさんあると身構えてしまいますが、実務でまず意識するとよいのは、温度と出力の最大長の二つです。 正確さ重視なら温度を低めに、発想重視なら高めに。費用や表示の都合に合わせて最大長を決める。この二つを 押さえるだけでも、出力をかなり目的に寄せられます。細かい設定は、意図した出力が得られないときに、 手がかりとして調整すれば十分です。すべてを一度に触る必要はありません。

ここまで、プロンプトの工夫と主要な設定を見てきました。しかし、どれだけ工夫しても、LLMには避けられない 限界もあります。次の章では、その代表であるハルシネーションと、限界を踏まえた使い方を見ていきます。

この章の要点

  • コンテキストウィンドウは、一度に扱える入力と出力の合計の上限で、トークン数で決まります。
  • 上限を超えると古い部分が扱えなくなるため、長い文脈では情報の取捨選択が必要です。
  • 温度は出力のばらつきを調整し、低いと安定、高いと多様な出力になりやすくなります。
  • 出力の最大の長さや候補の絞り込みなどの設定も、用途に応じて出力の調整に使えます。
  • まずは温度と最大長を押さえれば、出力を目的にかなり寄せられます。