LM Studio

ローカルLLMを動かすツールとして、今まで Ollama を使っていたが、OpenAI の gpt-oss を動かすためには LM Studio のほうが良さそうだということで、乗り換えてみた。

インストールは LM Studio のサイトから簡単にできる。インストールすると、“Choose your level” と聞かれるので、Developer を選んだ。

ダウンロードするモデルを聞かれるので、メモリ128GのMacがあれば gpt-oss-120b、メモリが24G程度なら gpt-oss-20b を選べばよかろう。あとは好みに応じて Context Length や Reasoning Effort を設定する。Ollama に比べて設定の自由度が大きい。私は Context Length を gpt-oss-120b の最大値 131072 に設定してみているが、さすがに長い出力では遅くなる。Reasoning Effort は medium で十分であろう。

Mac Studio M4 Max 128GB で動かして mactop で見ると、Memory Usage 105GB/128GB ほど、GPU Usage 100% で、使用電力は30Wほど増え、筐体がほんのり暖かくなる。

デフォルトではアプリでの動作だけだが、メニューバーからサーバを起動すれば http://127.0.0.1:1234 でAPIが使える。

Emacs の gptel から使うには、例えば次のようにする。モデル名はここでは lmstudio としたが、実際には LM Studio 側で設定するので、ここでは何でもよい。

(use-package gptel
  :ensure t
  :config
  ;; ...(他の設定)...
  (setq gptel-model 'lmstudio)
  (setq gptel-backend
	(gptel-make-openai "lmstudio"
	  :protocol "http"
	  :host "localhost:1234"
	  :models '((lmstudio))
	  :stream t))
  (setq gptel-temperature 0)
  (setq gptel--system-message nil))

これで、ローカルで LM Studio を立ち上げるか、それともすでに LM Studio が立ち上がったマシン(例えば 192.168.1.123 とする)に ssh -L 1234:localhost:1234 192.168.1.123 でログインすれば使える。-L はいわゆるsshトンネルを作るオプションである。

あとは LM Studio サイトにあるドキュメント類を読んで使う。OpenAI Cookbook の How to run gpt-oss locally with LM Studio も参考になる。

LM Studio を一度起動すると、~/.lmstudio 以下にいろいろファイルができる。特に ~/.lmstudio/bin の中には lms というCLI(コマンド)が入るので、パスに入れておく。また、デフォルトでは ~/.lmstudio/models 以下にモデル(巨大なファイル)が入るが、これは設定で変えられるので、容量に余裕のあるドライブに設定するとよい。

Python から使うときは pip install lmstudio でパッケージを入れておく(APIはほぼOpenAI互換なので openai パッケージでもよい)。

コマンドライン(lmsコマンド)でもモデルのダウンロードなどができる。