Hana’s Note

はじめに

クラウドAIを使うだけなら、裏側のモデルが何個のパラメータを持ち、どれくらいのメモリを使うのかを意識する場面は多くありません。サービス側がモデルを動かし、こちらはブラウザやアプリから質問するからです。

ところが、自分のPCでAIを動かすローカルLLMを試そうとすると、「このモデルは自分の環境で動くのか」という問いが出てきます。モデルを大きくすればよいとも限らず、PCのメモリ、GPU、用途、応答速度のバランスを考える必要があります。

この記事では、ローカルLLMを始める前に知っておきたい考え方を整理し、最後に環境確認を助けるllmfitを紹介します。llmfitの判定を、モデルの品質や満足度を保証するものとして扱わないことも確認します。

ローカルLLMとは何か

LLMは、大量の文章から言葉のつながりを学んだ「大規模言語モデル」です。クラウドAIでは、このモデルがサービス提供者のデータセンターで動き、入力した文章がネットワークを通って処理されます。

ローカルLLMは、モデルのファイルを自分のPCに置き、手元のCPUやGPUなどで実行する形です。入力したデータを外部へ送らない選択肢を持てること、自分の環境で試せること、設定や接続先を細かく調整しやすいことが利点になります。

一方で、モデルを保存する容量だけでなく、実行中に使うメモリや計算資源も必要です。対応する実行環境を用意し、モデルを選び、速度や品質を確かめる手間もあります。ローカルだから常に安く、速く、安全になるという意味ではありません。

AIモデルの「大きさ」とは

モデルの説明で見かける7B、14B、70Bの「B」は、パラメータ数の規模を表す記号です。パラメータは、モデルが文章のパターンを学習した数値の集まりだと考えると分かりやすいでしょう。7Bならおよそ70億、14Bならおよそ140億のパラメータを持つモデルを指します。

一般に、規模の大きいモデルは複雑な文脈や難しい指示を扱える可能性があります。しかし、パラメータ数だけで実際の能力や使いやすさは決まりません。学習データ、設計、調整、量子化、用途によって結果が変わるためです。

大きいモデルほど、読み込むためのメモリや計算量も増えやすくなります。小さいモデルでも、要約、分類、定型的な文章作成など、目的によっては十分な候補になります。大きさを順位として見るのではなく、「自分の用途に必要な能力」と「自分のPCで許容できる負荷」を一緒に考えることが出発点です。

量子化とは何か

AIモデルは、大量の数値を使って計算します。量子化は、その数値をより少ない情報量で表現し、モデルが使うメモリを減らす技術です。同じモデルでも、Q4やQ8のように量子化の種類が異なるファイルが用意されることがあります。

量子化すれば、より小さなメモリで動かせる可能性があります。ただし、圧縮の仕方、モデル、入力の長さ、用途によって、出力の品質や速度への影響は変わります。「軽くなったから、どの用途でも同じ」とは考えない方が安全です。

通常の数値表現と量子化した数値表現を概念的に比較し、量子化で必要メモリを小さくできる場合がある一方、圧縮率・モデル・用途で結果が変わることを示す図
図1. 量子化は、数値表現を圧縮してメモリとのバランスを取る方法。 概念図であり、特定の量子化方式の性能差や品質低下率を示すものではありません。

「動く」と「快適に使える」は違う

モデルがメモリに読み込めることと、日常的に快適に使えることは別です。起動して返答が出ても、生成が遅すぎたり、他のアプリが動かなくなったり、長い入力で急に負荷が増えたりすることがあります。

確認したい要素は、次のようなものです。

  • RAM:PC全体で使うメモリ。CPUでモデルを動かす場合や、他のアプリとの共存に関係します。
  • VRAM:GPUが使う専用メモリ。モデルの計算をGPUに載せられる範囲に関係します。
  • ユニファイドメモリ:Apple SiliconのようにCPUとGPUが同じメモリを共有する構成。容量だけでなく、OSや他の処理の分も残す必要があります。
  • CPU・GPU:計算をどこで行うか、どれくらいの速度で処理できるかに影響します。
  • モデルサイズと入力の長さ:大きなモデルや長い文脈を扱うほど、必要なメモリは増えやすくなります。

だから、「動作可能」と表示された候補をそのまま正解と考えるのではなく、余裕を持って使えるか、用途に必要な速度かを実際に確かめます。

llmfitは何を助けてくれるのか

llmfitは、公式READMEで、手元のRAM、CPU、GPU、ユニファイドメモリなどを読み取り、モデルごとのメモリ使用量を量子化別に見積もるツールとして説明されています。モデルサイズや名前を指定して、どの量子化なら環境に収まりそうかを確認する機能もあります。

ここでの位置づけは、AIモデルを人気順に探す検索サイトではありません。自分のPCの条件から、ダウンロード前に「候補になりそうなモデルと量子化」を絞るための補助ツールです。

公式READMEでは、Ollama、llama.cpp、MLX、LM Studio、vLLMなどを対象に、実際のトークン生成速度を測るbenchも説明されています。推定だけでなく、自分の環境で測ってみるための入口になります。

ただし、適合判定の数値はエンジニアリング上の推定です。公式README自身も、実際のメモリ使用量は文脈の長さ、バッチサイズ、KVキャッシュの量子化などで変わると説明しています。llmfitが「このモデルなら必ず快適」と保証するわけではありません。

実際の利用イメージ

ローカルLLMを試す流れは、次のように分けて考えられます。

  1. 自分のPCのRAM、VRAM、GPU、ユニファイドメモリなどを確認する。
  2. 要約、文章作成、コード、画像説明など、使いたい用途と必要な入力の長さを決める。
  3. モデルサイズと量子化の候補を考え、llmfitで環境に収まりそうか確認する。
  4. Ollama、LM Studioなど、使いたいローカル実行環境でモデルを試す。
  5. 速度、出力品質、安定性、発熱、他の作業への影響を確認して、用途に合うか判断する。

この順番でも、最終的な選択は自分の目的次第です。環境確認ツールがモデルを自動で選んでくれるのではなく、判断に必要な材料を先に集めると考えます。

限界と注意点

推定値と実測値は違う

メモリの見積もりが収まっていても、実際の速度はPCの構成、実行環境、入力の長さ、同時に動かすアプリなどで変わります。推定はダウンロード前の目安、実測は自分の用途での確認と役割を分けます。

モデル性能は用途で変わる

同じモデルでも、要約、コード、長文の整理、専門分野の質問では印象が変わります。パラメータ数やベンチマークだけで、すべての用途の品質を予測することはできません。

ローカル実行にも準備がいる

モデルの取得、実行環境の設定、更新、保存容量、ライセンスの確認が必要です。データを外部へ送らない選択肢がある一方、PC内のファイルやログをどう管理するかは自分で決めなければなりません。

Taka’s View

Summary

ローカルLLMでは、モデルサイズ、量子化、メモリ、CPU・GPU、用途を組み合わせて考えます。大きいモデルほど良いとは限らず、「動く」と「快適に使える」も同じではありません。

llmfitは、手元のハードウェアから候補モデルと量子化を考え、必要なら実測へ進むための補助ツールです。推定値を目安として使い、最後は自分の用途で速度と品質を確かめることが大切です。

Hana & Taka

夜の窓辺の丸テーブルで、黒白猫のHanaとTakaがコーヒーをそばに静かに話している

HanaAIを自分のPCで動かすって、モデルを選ぶところから自分の環境を知ることなんだね。

Takaそうだね。大きさだけで決めず、目的とPCに合う候補を小さく試す。その積み重ねが、ローカルAIを使い続ける準備になると思う。