Local / Edge実践ガイド
LM Studioのコンテキスト長はどう決める?必要な長さから設定する

目次
公式サイトで次に進む
この記事で明示的に扱うソフトだけを表示します。配布・手順は各公式ページで確認してください。
LM Studio
local-gen.jpがファイルを配布するものではなく、互換性を保証するものでもありません。
LM Studioでコンテキスト長を設定するとき、モデルカードに書かれた最大値をそのまま使えばよいとは限らない。
モデルが128Kまで対応していても、普段の会話でそこまで長い入力を使わないなら、最初から128Kを確保する必要はない。自分が実際に使う入力の長さを基準にし、足りないときだけ増やす方がメモリの変化も追いやすい。
モデルの上限とLM Studioの設定値を分ける
モデルカードにあるコンテキスト長は、そのモデルが扱える範囲を示す情報だ。一方、LM Studioで読み込むときに指定する長さは、今回の実行で確保する設定になる。
まず次を分けて記録する。
モデルが対応する上限:
普段使う入力の長さ:
必要な余裕:
LM Studioで設定する長さ:
最大値ではなく、普段の用途に必要な長さから考える。
モデルごとの設定やlms loadで確認する
LM Studioではモデルを読み込むときにコンテキスト長を設定できる。CLIのlms loadを使う場合は、--context-lengthで長さを指定できる。
また、対応するバージョンでは--estimate-onlyを使って、実際に読み込む前にメモリの見積もりを確認できる。
ただし、この見積もりを推論中に観測した最大VRAM使用量と同じ数字として扱わない。実際の使用量を比べる場合は、実行中の計測を別に行う。
長くするとKV cacheなどのメモリも増える
コンテキストを長くすると、KV cacheなどに必要なメモリも増える。
そのため、モデルが長いコンテキストへ対応していることと、自分のPCでその長さを余裕を持って使えることは別の話になる。
通常の会話が中心なら、将来使うかもしれない最大値を常時設定するより、今必要な範囲で読み込む方が扱いやすい。
小さい設定から一段ずつ増やす
メモリ使用量を確認しながら調整するなら、一度に複数条件を変えない。
- 必要最低限のコンテキスト長でモデルを読み込む
- メモリの見積もりや実測値を記録する
- 実際に使うプロンプトを試す
- 長さが足りなければ一段増やす
- 同じモデルと設定で再確認する
モデルや量子化まで同時に変えると、何がメモリ差を作ったのか分かりにくくなる。
PDFやRAGでは質問文以外も入る
文書チャットやRAGでは、コンテキストへ入るのは質問文だけではない。
- system prompt
- 会話履歴
- 検索で取り出した文書
- 添付文書の内容
なども加わる。
長いPDFを扱うから最大値へ設定するのではなく、実際にLM Studioがモデルへ渡す情報量を確認する。
必要な処理が入る長さで止める
目的は最大値を使うことではなく、必要な入力を安定して扱うことだ。
普段使う長さで始め、メモリと応答時間を確認し、足りない場合だけ増やす。 この順にすると、モデルの最大仕様ではなく、自分の使い方に合ったコンテキスト長を決めやすい。
LM Studioでモデル自体を選ぶ段階なら、LM Studioでモデルと量子化を選ぶ方法を先に確認できる。長いコンテキストが実際に必要か評価したい場合は、長コンテキストのローカルLLMを評価する方法へ進む。
まとめ
- モデルが対応する最大コンテキスト長と、LM Studioで実際に確保する長さは別に考える
- `lms load`ではコンテキスト長を指定でき、読み込み前のメモリ見積もりも確認できる
- 長いコンテキストはKV cacheなどのメモリ使用量へ影響するため、最初から最大値へ設定する必要はない
- 普段使う入力の長さを基準にし、足りないときだけ段階的に増やす
この記事で扱ったデータ
モデル・GPU・実行ソフトの確認済みデータを、記事とは別に確かめられます。