0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LM Studio の使い方を図で整理した——モデル選びから API サーバー・CLI まで

0
Posted at

はじめに

LM Studio は、手元の PC で大規模言語モデル(LLM)を動かすためのデスクトップアプリです。モデルの検索・ダウンロード・チャット・API サーバー化までを GUI でまとめて扱えるため、「ローカル LLM を触ってみたいけれど、環境構築で詰まりたくない」という人の最初の一歩として定番になっています。

本記事では、LM Studio の全体像を Mermaid の図で整理しながら、次の流れで使い方を見ていきます。

  1. LM Studio の構成を理解する
  2. インストールとモデル選び(量子化・メモリ見積もり)
  3. チャット画面の使い方とパラメータ
  4. OpenAI / Anthropic 互換 API サーバーとして使う
  5. コーディングに活用する(Continue / Cline / Aider / Claude Code / 自作スクリプト)
  6. CLI(lms)とヘッドレス運用(llmster)
  7. トラブルシューティング

info
本記事は LM Studio 0.4 系を前提にしています。バージョンによってメニュー名や機能が変わることがあるため、最新情報は 公式ドキュメント と Changelog も合わせて確認してください。


LM Studio の全体像

まずは LM Studio がどんな部品で構成されているかを俯瞰します。

LM Studio の全体構成。Hugging Face からモデルを取得し、GUI・CLI から推論コアとランタイムを操作して API サーバーでクライアントに公開する

ポイントは 3 つです。

要素 役割
ランタイム 実際に推論を行うエンジン。GGUF 形式は llama.cpp、Apple Silicon 向けの MLX 形式は MLX で動く
推論コア(llmster) モデルのロード・アンロード、リクエスト処理を担う本体。0.4 系から GUI なしでも単独起動できるようになった
API サーバー ロードしたモデルを OpenAI 互換・Anthropic 互換などの HTTP API として公開する

GUI はあくまで「推論コアを操作するためのフロントエンド」の 1 つで、CLI や API からも同じコアを操作できる、という構造を押さえておくと後の理解が楽になります。


インストール

公式サイト から OS に合ったインストーラーをダウンロードして実行するだけです。

OS 対応状況・備考
macOS Apple Silicon(M1 以降)が対象。MLX ランタイムが使える
Windows x64 / ARM64。NVIDIA GPU なら CUDA、AMD / Intel GPU なら Vulkan が使える
Linux AppImage で配布。x64 / ARM64

info
LM Studio は個人利用だけでなく、業務利用も無償で可能になっています(2025 年 7 月にライセンスが変更)。社内で使う場合も、念のため最新の利用規約を確認しておくと安心です。

初回起動時にはオンボーディング画面が表示され、おすすめのモデルをダウンロードするよう促されます。スキップしても問題ありません。


画面構成

LM Studio の左サイドバーには主に 4 つのタブがあります。

LM Studio の画面イメージ。左サイドバーの Chat・Developer・My Models・Discover の 4 タブと役割

基本的な流れは Discover で探す → My Models に入る → Chat か Developer でロードして使う です。


モデル選び

ローカル LLM で一番悩むのがモデル選びです。ここでは「量子化」と「メモリ見積もり」の 2 つの観点で整理します。

量子化とは

LLM の重みは本来 16bit(FP16 / BF16)の浮動小数点で保存されています。これを 8bit・4bit などに圧縮したものが 量子化モデル です。精度を少し犠牲にする代わりに、ファイルサイズと必要メモリを大きく減らせます。

Discover 画面でモデルを開くと、同じモデルでも Q4_K_M、Q5_K_M、Q8_0 など複数のファイルが並んでいます。これが量子化の種類です。

8B モデルの量子化レベル別ファイルサイズと品質。Q2_K 3.2GB から FP16 16.1GB まで。Q4_K_M 4.9GB がおすすめ

迷ったら Q4_K_M を選ぶのが定番です。サイズと品質のバランスがよく、多くの環境で実用的な速度が出ます。メモリに余裕があれば Q5_K_M や Q6_K に上げる、という順番で考えるとよいでしょう。

GGUF と MLX

形式 ランタイム 向いている環境
GGUF llama.cpp Windows / Linux / Mac すべて。GPU と CPU の併用(部分オフロード)が可能
MLX Apple MLX Apple Silicon Mac。ユニファイドメモリを活かして高速に動くことが多い

Mac を使っているなら、同じモデルに MLX 版があればそちらを試してみる価値があります。

必要メモリの見積もり

モデルを動かすのに必要なメモリは、ざっくり次の式で見積もれます。

必要メモリ ≈ パラメータ数 × (量子化ビット数 ÷ 8) + KV キャッシュ + 余裕(1〜2GB)

たとえば 8B(80 億パラメータ)モデルを Q4_K_M(実効約 4.5bit)で動かす場合、

8B × 4.5 ÷ 8 ≈ 4.5GB  + KV キャッシュ(コンテキスト長に比例)

となり、8GB 程度の VRAM / ユニファイドメモリがあれば快適に動く計算です。

ただし見落としがちなのが KV キャッシュ です。会話の文脈を保持するためのメモリで、コンテキスト長に比例して増えます。

8GB の GPU で 8B モデルを動かす例。Context 8K なら重み 4.9GB + KV 1GB + 余裕 1GB で収まるが、Context 32K では KV キャッシュが 4GB に膨らみ 8GB を超える

同じモデルでも、コンテキスト長を 8K から 32K に伸ばしただけで 8GB に収まらなくなります。「モデルは載ったのに長い会話で落ちる」ときは、まずここを疑いましょう。

目安を表にすると次のようになります。

パラメータ数 Q4_K_M のファイルサイズ目安 推奨メモリ(VRAM / ユニファイドメモリ)
1〜4B 1〜2.5GB 4〜6GB
7〜9B 4〜5.5GB 8GB 以上
12〜14B 7〜9GB 12〜16GB 以上
24〜32B 14〜20GB 24〜32GB 以上
70B 40GB 前後 48〜64GB 以上

info
LM Studio の Discover 画面では、各ファイルに「Full GPU Offload Possible」「Partial GPU Offload Possible」「Likely too large」といった目安が表示されます。まずはこの表示を信用して選ぶのが手っ取り早いです。

メモリ量から選ぶ

メモリ量別のモデルサイズの目安。8GB までは 1〜4B、16GB 前後は 7〜14B、32GB 以上は 20〜32B や MoE。Vision・Tool Use・Reasoning・MoE の能力アイコンの意味

Discover 画面ではモデルごとに 👁️(Vision)や 🔧(Tool Use)、🧠(Reasoning)といった能力アイコンが表示されるので、用途に合わせて絞り込めます。

また、最近は MoE(Mixture of Experts) モデルも増えています。総パラメータ数は大きくても、推論時に使うのは一部の「エキスパート」だけなので、同規模の Dense モデルより高速に動く傾向があります。ただし重み全体はメモリに載せる必要があるため、必要メモリは総パラメータ数で見積もる 点に注意してください。

おすすめモデル(2026 年 10 月時点)

ここまでの考え方を踏まえて、2026 年 10 月時点で LM Studio から入手できる定番モデルをメモリ別にまとめました。

メモリ別おすすめモデル。8GB まで: Qwen3.5-9B・Gemma 4 E4B・Qwen3.5-4B、16GB: gpt-oss-20b・Qwen3.5-9B Q8・Gemma 4 26B-A4B Q3、24〜32GB: Qwen3.6-35B-A3B・Qwen3.8-27B・Gemma 4 26B-A4B、64GB 以上: gpt-oss-120b・Qwen3.5-122B-A10B・Gemma 4 31B Q8

モデル 開発元 構造 特徴 こんな人に
Qwen3.5-9B Alibaba (Qwen) Dense / 画像入力対応 小型ながら汎用性が高い。262K コンテキスト 最初の 1 本。8GB 環境
Gemma 4 E4B Google Dense / マルチモーダル 端末向けに最適化された軽量モデル ノート PC で画像も扱いたい
gpt-oss-20b OpenAI MoE 推論(Reasoning)とツール呼び出しが安定。Apache 2.0 16GB 環境の本命
Gemma 4 26B-A4B Google MoE(総 25.2B / アクティブ 3.8B) 4B 相当の速さで動く。256K コンテキスト 速さと賢さを両立したい
Qwen3.8-27B Alibaba (Qwen) Dense / 画像入力対応 同サイズ帯で高い性能。262K コンテキスト 24GB GPU で品質重視
Qwen3.6-35B-A3B Alibaba (Qwen) MoE(総 35B / アクティブ 3B) エージェント的なコーディングやリポジトリ単位の推論を強化 ローカルでコーディングエージェント
gpt-oss-120b OpenAI MoE ローカルで動かせる最上位クラス 64GB 以上の Mac / マルチ GPU

LM Studio では Discover 画面でモデル名を検索するか、CLI から取得できます。

# 8GB クラス
lms get qwen/qwen3.5-9b

# 16GB クラス
lms get openai/gpt-oss-20b

# 24〜32GB クラス(コーディング向け)
lms get qwen/qwen3.6-35b-a3b

info
ローカル LLM の世界は数か月単位で主役が入れ替わります。上の表はあくまで 2026 年 10 月時点の目安です。Discover 画面の「Staff Picks」や各モデルの Hugging Face ページで、最新のバージョンとライセンスを確認してから使ってください。


チャットで使う

モデルのロード

  1. 画面上部の「Select a model to load」をクリック(または Cmd/Ctrl + L)
  2. ダウンロード済みのモデルを選ぶ
  3. ロード設定を確認して「Load Model」

ロード時の主な設定は次のとおりです。

設定 説明 目安
Context Length 一度に扱えるトークン数 大きいほど KV キャッシュでメモリを食う。まずは 4096〜8192
GPU Offload GPU に載せるレイヤー数 全部載るなら最大に。足りなければ減らして CPU と分担
Flash Attention 高速な Attention 実装 対応環境なら ON でメモリと速度が改善することが多い
KV Cache Quantization KV キャッシュの量子化 長いコンテキストでメモリが足りないときに試す

GPU Offload の考え方を図にすると次のようになります。

GPU Offload の仕組み。40 レイヤー中 30 を GPU、10 を CPU で処理する例と、オフロード量ごとの速度の違い

全レイヤーを GPU に載せられれば最速ですが、VRAM が足りない場合は一部を CPU 側に残すことで「遅いけれど動く」状態にできます。これが GGUF + llama.cpp の強みです。

推論パラメータ

右側のパネルでは、生成時のパラメータを調整できます。

パラメータ 効果 使い分け
Temperature 出力のランダムさ 正確さ重視なら 0.1〜0.3、創作なら 0.7〜1.0
Top P / Top K 候補トークンの絞り込み 基本はモデルの推奨値のまま
Repeat Penalty 同じ表現の繰り返しを抑える ループするときに少し上げる
System Prompt モデルの役割・口調の指定 「日本語で簡潔に答えて」など

モデルによっては推奨パラメータが設定済みのプリセットとして読み込まれます。まずはデフォルトで試し、気になる点があれば調整する、くらいで十分です。

ファイル添付と RAG

チャット欄にはドキュメント(PDF・テキストなど)や画像を添付できます。

添付ファイルと画像の処理フロー。コンテキストに収まれば全文、収まらなければ RAG

短いファイルは全文がそのまま渡され、長いファイルは自動的に RAG(検索拡張生成)で関連部分だけが渡されます。画像を読ませたい場合は Vision 対応モデルを選ぶ必要があります。

MCP 連携

LM Studio は MCP(Model Context Protocol) クライアントとしても動作します。mcp.json に MCP サーバーを登録すると、チャット中のモデルが外部ツールを呼び出せるようになります。

mcp.json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/Users/me/Documents"]
    }
  }
}

右サイドバーの「Program」タブで「Install」→「Edit mcp.json」を選ぶと編集できます(書式は Cursor の mcp.json と同じです)。ツール呼び出しには 🔧 アイコン付きの Tool Use 対応モデルを使ってください。

alert
MCP サーバーはローカルのファイルやコマンドにアクセスできます。信頼できないサーバーは登録しないようにし、ツール実行時の確認ダイアログも内容を読んでから許可しましょう。


API サーバーとして使う

LM Studio の真価は、ロードしたモデルを ローカル API サーバー として公開できる点にあります。既存の OpenAI 向けツールやライブラリを、接続先を変えるだけでローカル LLM に向けられます。

サーバーの起動

GUI から: Developer タブを開き、「Status: Stopped」のトグルを ON にします。

CLI から:

lms server start

デフォルトでは http://localhost:1234 で待ち受けます。

提供されるエンドポイント

LM Studio Server が提供する OpenAI 互換・Anthropic 互換・ネイティブ REST API

種類 用途
OpenAI 互換 OpenAI SDK や LangChain など、既存エコシステムをそのまま使う
Anthropic 互換 Claude Code など Anthropic API 前提のツールをローカルモデルで動かす
ネイティブ REST API モデルのロード状態や詳細な統計など、LM Studio 固有の情報を扱う

リクエストの流れ

リクエストの流れ。受信→JIT ロード→推論→SSE ストリーミング→TTL による自動アンロード

Developer タブの設定で JIT(Just-In-Time)ロード を有効にしておくと、リクエストで指定されたモデルが未ロードでも自動的に読み込まれます。さらに Auto Unload(TTL) を設定すれば、しばらく使われないモデルを自動でアンロードしてメモリを解放してくれます。

curl で試す

# ロード済み・利用可能なモデル一覧
curl http://localhost:1234/v1/models

# チャット
curl http://localhost:1234/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen3.5-9b",
    "messages": [
      {"role": "system", "content": "日本語で簡潔に答えてください。"},
      {"role": "user", "content": "LM Studio とは何ですか?"}
    ],
    "temperature": 0.3
  }'

model には /v1/models で返ってきた ID を指定します。

Python(OpenAI SDK)から使う

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:1234/v1",
    api_key="lm-studio",  # ダミーで OK(認証を有効にしていない場合)
)

stream = client.chat.completions.create(
    model="qwen/qwen3.5-9b",
    messages=[{"role": "user", "content": "ローカル LLM の利点を 3 つ挙げて"}],
    stream=True,
)

for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

既存コードの base_url を書き換えるだけで、クラウドの API からローカル LLM に切り替えられます。

構造化出力(JSON Schema)

response_format に JSON Schema を渡すと、出力をスキーマに沿った JSON に制約できます。

schema = {
    "type": "object",
    "properties": {
        "name": {"type": "string"},
        "category": {"type": "string", "enum": ["fruit", "vegetable"]},
        "price": {"type": "integer"},
    },
    "required": ["name", "category", "price"],
}

res = client.chat.completions.create(
    model="qwen/qwen3.5-9b",
    messages=[{"role": "user", "content": "りんごの情報を出力して"}],
    response_format={
        "type": "json_schema",
        "json_schema": {"name": "item", "schema": schema, "strict": True},
    },
)
print(res.choices[0].message.content)
# => {"name": "りんご", "category": "fruit", "price": 150}

データ抽出や分類タスクをローカルで回したいときに便利です。

公式 SDK(lmstudio-python / lmstudio-js)

OpenAI 互換 API のほかに、LM Studio 専用の SDK も用意されています。モデルのロード管理なども含めて扱えるのが特徴です。

pip install lmstudio
import lmstudio as lms

model = lms.llm("qwen/qwen3.5-9b")  # 未ロードならロードされる
result = model.respond("Mermaid で使える図の種類を教えて")
print(result)

TypeScript 向けには @lmstudio/sdk があります。

LAN 内の別マシンから使う

Developer タブのサーバー設定で「Serve on Local Network」を有効にすると、localhost 以外からも接続できるようになります(CLI なら lms server start --bind 0.0.0.0)。

LAN 内の GPU マシンで LM Studio Server を動かし、ノート PC やスマホから接続する構成

alert
ネットワークに公開する場合は、設定で API トークンによる認証 を有効にしてください。認証なしでインターネットに直接公開するのは避けましょう。離れた場所から使いたい場合は、後述の LM Link や VPN(Tailscale など)を経由するのが安全です。


コーディングに活用する

LM Studio の API サーバーを立てておけば、エディタの AI アシスタントやコーディングエージェントのバックエンドとしてローカル LLM を使えます。ソースコードを外部に送らずに済むので、社外秘のコードを扱う場面でも試しやすいのが利点です。

全体像

コーディングツール(Continue / Cline / Aider / Claude Code / 自作スクリプト)と LM Studio Server・モデルの接続関係

用途別のモデルの選び方

コーディング用途では、役割ごとにモデルを分ける のがポイントです。

用途 求められる性質 モデルの目安 コンテキスト長
コード補完(Tab 補完) とにかく低レイテンシ 1〜3B のコード特化モデル(FIM 対応) 2K〜4K
チャット・質問・リファクタ コード理解力 7〜14B のコード特化モデル 8K〜16K
エージェント(ファイル編集・コマンド実行) Tool Use の安定性・長文脈 30B クラス(MoE が速くておすすめ) 32K 以上

ロード例(CLI):

# エージェント・チャット用(長めのコンテキスト)
lms load qwen/qwen3.6-35b-a3b --context-length 32768 --gpu max --identifier coder

# 補完用の小型モデル(同時にロード)
lms load qwen2.5-coder-1.5b-instruct --context-length 4096 --identifier autocomplete

Continue(VS Code / JetBrains)

Continue は、チャット・インライン編集・Tab 補完をまとめて提供する OSS の拡張機能です。LM Studio をプロバイダーとして直接指定できます。

~/.continue/config.yaml の例:

~/.continue/config.yaml
name: Local LM Studio
version: 0.0.1
schema: v1
models:
  - name: Coder (LM Studio)
    provider: lmstudio
    model: coder              # lms load の --identifier で付けた ID
    apiBase: http://localhost:1234/v1/
    roles:
      - chat
      - edit
      - apply
  - name: Autocomplete (LM Studio)
    provider: lmstudio
    model: autocomplete
    apiBase: http://localhost:1234/v1/
    roles:
      - autocomplete

これで、

  • サイドバーのチャット でコードについて質問する
  • コードを選択して Cmd/Ctrl + I でインライン編集を指示する
  • 入力中に Tab 補完 の候補を出す

といった操作がすべてローカル LLM で動きます。

Cline(VS Code)

Cline は、ファイルの読み書きやコマンド実行まで自律的に行うコーディングエージェントです。

  1. VS Code に Cline 拡張をインストール
  2. Cline の設定で API Provider に「LM Studio」 を選択
  3. Base URL に http://localhost:1234、Model ID に coder を指定

コーディングエージェントのループ。考える→ツールを呼ぶ→人が承認→実行→結果を渡すを繰り返す。右にテスト追加の実行ログ例

Cline は各操作の前に承認を求めてくるので、ローカルモデルの判断が怪しいときもその場で止められます。

Aider(ターミナル)

Aider は Git と連携したターミナル型のペアプログラミングツールです。変更ごとに自動でコミットしてくれるので、ローカルモデルの出力が微妙でも git で簡単に戻せます。

pip install aider-install && aider-install

export LM_STUDIO_API_BASE=http://localhost:1234/v1
export LM_STUDIO_API_KEY=dummy

# lm_studio/ の後ろに LM Studio 上のモデル ID を指定
aider --model lm_studio/coder
> src/utils.py の parse_date に、ISO 8601 以外の形式もサポートするよう修正して

Claude Code

LM Studio 0.4.1 で追加された Anthropic 互換エンドポイント(/v1/messages)を使うと、Claude Code の接続先を LM Studio に向けられます。

lms server start --port 1234

export ANTHROPIC_BASE_URL=http://localhost:1234
export ANTHROPIC_AUTH_TOKEN=lmstudio   # 認証を有効にしている場合は LM Studio の API トークン
export CLAUDE_CODE_ATTRIBUTION_HEADER=0
claude --model coder

Claude Code はコンテキストを大量に消費するため、公式ドキュメントでは 25K トークン以上 のコンテキスト長でモデルをロードすることが推奨されています。

info
ローカルモデルは Claude 本体に比べるとエージェント的なタスクの性能が大きく劣ることが多いです。「オフライン環境で試す」「API コストをかけずに挙動を確認する」といった用途として割り切るのがおすすめです。

自作スクリプトで開発作業を自動化する

ツールを使わず、SDK から直接呼び出して開発フローに組み込むこともできます。

例 1: git diff をローカル LLM にレビューさせる

review.py
import subprocess
from openai import OpenAI

client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")

diff = subprocess.run(
    ["git", "diff", "--staged"], capture_output=True, text=True, check=True
).stdout

if not diff:
    raise SystemExit("ステージされた変更がありません")

res = client.chat.completions.create(
    model="coder",
    temperature=0.2,
    messages=[
        {
            "role": "system",
            "content": (
                "あなたは経験豊富なレビュアーです。"
                "バグ・セキュリティ上の問題・可読性の順に、"
                "指摘箇所のファイル名と行を添えて日本語で簡潔に指摘してください。"
            ),
        },
        {"role": "user", "content": f"次の差分をレビューしてください。\n\n```diff\n{diff}\n```"},
    ],
)
print(res.choices[0].message.content)
git add -p
python review.py

Git の pre-commit フックに組み込めば、コミット前に毎回ローカルでレビューを走らせることもできます。

例 2: コミットメッセージを生成する

git diff --staged | python -c '
import sys
from openai import OpenAI
c = OpenAI(base_url="http://localhost:1234/v1", api_key="x")
r = c.chat.completions.create(model="coder", temperature=0.2, messages=[
  {"role": "system", "content": "Conventional Commits 形式で 1 行のコミットメッセージだけを出力して"},
  {"role": "user", "content": sys.stdin.read()},
])
print(r.choices[0].message.content.strip())
'

例 3: lmstudio-python の .act() でツールを使わせる

公式 SDK の .act() を使うと、Python 関数をツールとしてモデルに渡し、モデルが必要に応じて呼び出す「エージェントループ」を数行で書けます。

agent.py
from pathlib import Path
import lmstudio as lms

ROOT = Path("./src").resolve()

def list_files() -> list[str]:
    """src 配下の Python ファイル一覧を返す"""
    return [str(p.relative_to(ROOT)) for p in ROOT.rglob("*.py")]

def read_file(path: str) -> str:
    """src 配下のファイルの内容を返す"""
    target = (ROOT / path).resolve()
    if not target.is_relative_to(ROOT):
        return "src 外のファイルは読めません"
    return target.read_text(encoding="utf-8")

model = lms.llm("coder")
model.act(
    "src 配下のコードを読んで、例外処理が不足している関数を一覧にしてください",
    [list_files, read_file],
    on_message=print,
)

alert
ツールとしてファイル書き込みやシェル実行を渡すと、モデルの判断でそれらが実行されます。対象ディレクトリを限定する・書き込み系は人間の確認を挟むなど、安全策を入れてから使いましょう。

コーディング用途での Tips

コーディング用途でつまずいたときの症状別対処。補完が遅い・ツール呼び出し失敗・指示を忘れる・メモリ不足・編集で壊れる・原因不明

  • Temperature は低め(0.1〜0.3): コード生成は再現性が大事なので、ランダム性を抑えます
  • lms log stream で実際のプロンプトを見る: ツールが何を送っているか分かると、うまくいかない原因を特定しやすくなります
  • JIT ロード + TTL を有効に: 補完用・チャット用のモデルを必要なときだけ自動でロード/アンロードできます

CLI(lms)を使う

LM Studio には lms という CLI が同梱されています。初回は一度 LM Studio を起動したあと、次のコマンドでパスを通します。

# macOS / Linux
~/.lmstudio/bin/lms bootstrap

# Windows (PowerShell)
cmd /c %USERPROFILE%/.lmstudio/bin/lms.exe bootstrap

新しいターミナルを開いて lms が使えれば準備完了です。

よく使うコマンド

コマンド 説明
lms ls ダウンロード済みモデルの一覧
lms ps 現在ロード中のモデルの一覧
lms get <model> モデルを検索・ダウンロード
lms load <model> モデルをロード
lms unload <model> / lms unload --all モデルをアンロード
lms chat ターミナル上でチャット
lms server start / lms server stop API サーバーの起動・停止
lms server status サーバーの状態確認
lms log stream リクエストやモデルのログをリアルタイム表示
lms runtime ls / lms runtime update ランタイム(llama.cpp / MLX)の確認・更新

使用例

# モデルをダウンロード
lms get qwen/qwen3.5-9b

# コンテキスト長と GPU オフロードを指定してロード
lms load qwen/qwen3.5-9b --context-length 8192 --gpu max --identifier my-qwen

# ロード状態を確認
lms ps

# サーバーを起動して、ログを流しながら動作確認
lms server start
lms log stream

--identifier を付けると、API から呼び出すときのモデル ID を自分で決められます。スクリプトから扱うときに便利です。

典型的なワークフロー

モデルの状態と lms コマンド。未ダウンロード→lms get→ダウンロード済み→lms load→ロード済み→推論中


ヘッドレス運用(llmster)

0.4 系からは、GUI を使わずに推論コアだけを動かす llmster が利用できます。GPU サーバーや CI 環境など、デスクトップ環境がないマシンで LM Studio を動かしたいときに使います。

# Linux / macOS
curl -fsSL https://lmstudio.ai/install.sh | bash

# デーモンを起動して、モデルをロード・サーバーを開始
lms daemon up
lms get qwen/qwen3.5-9b
lms load qwen/qwen3.5-9b
lms server start

info
インストールスクリプトのコマンドやデーモン関連のサブコマンドは、バージョンによって変わることがあります。実行前に 公式ドキュメント で最新の手順を確認してください。

GUI 版と比べた使い分けは次のとおりです。

デスクトップアプリ・llmster(ヘッドレス)・LM Link の 3 つの動かし方の比較

0.4.5 で追加された LM Link を使うと、別のマシンで動いている LM Studio に接続し、そのモデルをあたかもローカルにあるかのように使えます。「普段はノート PC、重いモデルは自宅の GPU マシンで」といった使い方ができます。


Ollama との比較

ローカル LLM ツールとしてよく比較される Ollama との違いもまとめておきます。

比較軸 LM Studio Ollama
主なインターフェース GUI(+ CLI / ヘッドレス) CLI(+ 公式アプリ)
モデル入手 Hugging Face を GUI で検索 ollama pull で公式ライブラリから
Apple Silicon 最適化 MLX ランタイムに対応 Metal(llama.cpp 系)が標準。2026 年 3 月から MLX バックエンドをプレビュー提供
量子化の選択 同じモデルの量子化違いを GUI で比較して選べる タグで指定
API OpenAI / Anthropic 互換 + ネイティブ OpenAI 互換 + ネイティブ
ライセンス アプリ本体はプロプライエタリ(無償) MIT(オープンソース)

LM Studio と Ollama の特徴比較

どちらも OpenAI 互換 API を持っているので、アプリ側から見れば差し替えは容易です。「まず GUI で色々なモデルを試して当たりをつけ、本番の常駐は好きな方で」という使い分けも現実的です。


トラブルシューティング

症状別トラブルシューティング。ロード失敗・生成が遅い・繰り返し・API に繋がらない・長文で崩れる、それぞれの対処手順

特によくあるのが 「Context Length を大きくしすぎてメモリ不足」 です。モデル本体が載っても、KV キャッシュはコンテキスト長に比例して増えるため、32K や 128K を指定すると一気にメモリが足りなくなります。まずは小さめで動作確認し、必要に応じて増やしていくのがおすすめです。

また、lms log stream でサーバーのログを見ながらリクエストを送ると、どのモデルにどんなプロンプトが渡っているかを確認でき、原因の切り分けに役立ちます。


まとめ

LM Studio の使い方を、全体の流れとしてもう一度整理します。

LM Studio を使いこなすまでの 6 ステップ。インストール・モデルを探す・チャットで試す・API サーバー化・ツールから使う・自動化と常駐

  • GUI でモデル探しから試用までを手軽にこなせる
  • 量子化(Q4_K_M が基準) と メモリ見積もり を押さえればモデル選びで迷いにくい
  • OpenAI / Anthropic 互換 API で既存ツールをそのままローカル LLM に向けられる
  • Continue・Cline・Aider・Claude Code などのコーディング支援ツールも、接続先を変えるだけでローカル LLM で動く
  • lms CLI や llmster を使えば、スクリプト化やサーバー運用もできる

クラウドの LLM と比べると性能面での差はまだありますが、「データを外に出さずに済む」「API コストがかからない」「オフラインで動く」というメリットは大きいです。まずは手元のマシンに合ったサイズのモデルを 1 つダウンロードして、触ってみるところから始めてみてください。

参考


この記事はZennでも公開しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?