Mac Info

MacでローカルLLMが動く!「LM Studio」で大規模言語モデルを使ってみよう

 大規模言語モデル(LLM)は一般的にクラウド上で運用されますが、Macのローカル環境で動かすこともできます。その際におすすめなのが、米Element Labsが開発した「LM Studio」です。このアプリを使えば、インターネットに接続することなく、また重要なデータを外部に送信することなく、さまざまなオープンソースのLLMをMacで利用できます。本記事ではLM Studioのインストール方法や基本的な使い方を解説しますので、これを機にMacで「ローカルLLM」を始めてみましょう。

LM Studioは無料で利用できます。Macで利用するにはAppleシリコン(Mシリーズ)を搭載したMacが必要です

ローカルLLMとLM Studioの魅力

 現在多くの人が利用する「ChatGPT」や「Copilot」のような生成AIサービスでは、大規模言語モデル(LLM)の処理がクラウドで行なわれるのが一般的です。

 その一方で、自分(または自社)のPCやサーバなどのローカルな環境でLLMを動作させる「ローカルLLM」が最近注目を集めています。

 その大きな理由は、インターネットに接続することなく高度な自然言語処理を実行でき、重要なデータを外部に送信せずに済むから。

 つまり、個人情報などの大切なデータが外部に漏れる心配がないため、プライバシーやセキュリティを重視する用途にも安心して利用できるのです。

 このローカルLLMをMacで実現する方法はいくつかありますが、その中でもっともおすすめしたいのが米Element Labsが開発した「LM Studio」です。

 その一番の特徴は、GUI(グラフィカルユーザインターフェイス)による操作で、気軽にオープンソースのLLM(およびSLM)をダウンロードして試せること。

 また、非常に多くの言語モデルをサポートしているのも特徴です。有名なGoogleの「Gemma(ジェマ)」やMetaの「Llama(ラマ)」はもちろん、特定の言語モデルをベースにファインチューニングされた派生モデルなどもサポートしています。

 一般的に言語モデルのパラメータ数が多いほど性能が高いとされていますが、最近はパラメータ数が少なくても高性能モデルに匹敵する処理能力を備えた小型モデル(SLM)も登場しています。

 また、日本語での応答性能に優れたモデルやプログラミングに特化したモデルなど、LM Studioを使えば自分好みの言語モデルを用途に応じて簡単に使い分けることが可能です。

 さらに、LM Studioでは中国のAIスタートアップが開発した「DeepSeek」もサポートしています。

 Webサービスを利用するのを不安に感じる場合でも、LM Studioを利用すればオフライン環境でその機能を自分のMacで確かめられるのも大きなメリットでしょう。

LM Studioのインストールと基本操作

 LM Studioを利用するには、まずは公式サイトからアプリをダウンロードして[アプリケーション]フォルダにコピーします。

 そしてアプリを起動すると、LM Studioが推奨するLlamaなどの言語モデルをダウンロードするよう促されます(下記の手順で説明するようにいったんスキップしてあとから追加することも可能です)。

 その後、LM Studioのメイン画面が表示されたら、言語モデルの読み込みを行ない、あとは質問文(プロンプト)を入力して送信すれば回答が表示されます。

 このあたりの使い方は、一般的な生成AIサービスを使ったことがあれば戸惑うことはないでしょう。回答が出力されるまでの時間は、言語モデルやMacの処理能力によって異なります。

 筆者の「M3 Pro」搭載のMacBook Proで試した限りでは、ChatGPTなどのクラウド型AIサービスと比べてやや遅い傾向にありました。

 なお、言語モデルのファイルサイズは、メモリやCPUリソースを節約するための量子化フォーマット(形式)の種類によって変動します。たとえば、パラメータ数8B(80億)の「Llama 3.1」の場合は約4.92GBです。

 複数の言語モデルをダウンロードする場合は、あらかじめストレージの空き容量を確保しておきましょう。

公式サイトで右上の[Download]をクリックします。Appleシリコン(Mシリーズ)の最新モデルが選ばれているのを確認し、[Download LM Studio for macOS]を選択してダウンロードします
ダウンロードしたディスクイメージを開き、「LM Studio」を[アプリケーション]フォルダにコピーすればインストール完了です。ダブルクリックしてアプリを起動しましょう
言語モデルをダウンロードするように促されます。ダウンロードする場合は[Get your first LLM]をクリック。あとでダウンロードする場合は、画面右上の[Skip onbording]をクリックします
LM Studioのメイン画面が表示されます。ウインドウ右下の歯車アイコンをクリックして設定画面を表示しましょう
設定画面ではアプリの言語を[日本語]に変更できます。メニューの一部が日本語化されるだけなので、デフォルトの英語環境のまま利用してもよいでしょう
初回起動時に言語モデルのダウンロードをスキップした場合は、メイン画面で[command]+[L]キー、または画面上部の[読み込むモデルを選択(Select a model to load)]をクリックして、推奨された言語モデルをダウンロードします
ダウンロードが完了したら[Load Model]をクリックして読み込みます
メイン画面に戻ると、読み込まれたモデル名がウインドウ上部に表示されます。これで準備は完了です。チャットの入力欄に質問文を入力して、[送信]ボタンをクリックしてみましょう
回答が出力されます。画面下部の入力欄にさらに質問文を入力して続けることも可能です。なお、ウインドウの右下にはメモリ(RAM)の使用量とCPUの占有率が表示されます

話題の言語モデルでどんなことができる?

 LM Studioの基本的な使い方をマスターしたら、別の言語モデルも追加して試してみましょう。LM Studioでは、AI開発プラットフォーム「Hugging Face」で公開されている言語モデルを検索して追加できます。

 検索するには[Power User]モード(画面下部から変更可能)の状態で、サイドバーにある検索ボタンをクリック。すると言語モデルの検索画面が表示され、ダウンロード可能な言語モデルが一覧表示されます。

 また、検索窓の脇にある[GGUF]と[MLX]というチェックボックスを利用して言語モデルを絞り込むことも可能です。

 GGUFは汎用性の高いモデル形式、MLXはAppleシリコン向けにMetalで最適化されたモデル形式です。通常は、種類が多いGGUFを選択しましょう。

 なお、各言語モデルを選択すると、ベースとなる言語モデルやパラメータ数、ユーザからのお気に入り登録数、ダウンロード数、公開日などが表示されます。

 最初は比較的新しく、ダウンロード数が多い人気モデルから試してみましょう。

 ただし、パラメータ数が大きく、自分のMacで動かすには負荷が高過ぎる場合は赤い警告表示が出ます。一方、比較的軽量なモデルはファイルサイズの左側に緑色のアイコンが表示されます。

 このようにモデルによっては動作に一定以上のメモリやGPU性能を必要とする場合もありますが、利用するMacの環境に合わせて柔軟に調整できるのがLM Studioの魅力。

 まずはスムーズな応答が得られるものから試してみて、自分なりの活用方法を見つけ出してみましょう。なお、LM Studioは、画像生成モデルを現時点ではダウンロードできません。

 しかし、「Gemma」など一部のモデルではテキストや画像、音声などの情報を処理できるマルチモーダルAIに対応しています。特にGemmaではPDFファイルなども扱えるため、外部の情報を利用するRAG(検索拡張生成)も行なえます。

 ユーザ独自の情報を組み込めば、自分を理解してくれるパーソナルAIアシスタントのような使い方もできるでしょう。また、企業が自社内で蓄積した情報だけで利用するAIエージェントを開発する際などにも利用できます。

[Power User]モードでサイドバーにある検索ボタンをクリックすると、言語モデルの検索画面が表示されます。検索結果は[ベストマッチ]や[最もダウンロードされた]などで並び替えできます
ファイルサイズの大きなモデルは[おそらくこのマシンには大きすぎます]と警告表示が出ます
検索欄からはAI開発プラットフォームのHugging Faceで公開されているモデルを検索できます(図は、日本のサイバーエージェントがDeepSeekをファインチューニングしたモデルを表示)
ダウンロードした言語モデルに切り替えるには、画面上部のメニューをクリックしましょう
言語モデルによっては、AIが回答をするまでの推論過程をユーザ側で視覚的に確認できるものもあります
言語モデルが学習した時期によって、質問に答えられない場合があります。図のモデルは2023年1月までの情報を学習していたため、リアルタイムの質問には答えられませんでした
「Gemma」のように画像の解析に対応した言語モデルもあります。写真に写り込んでいる内容をテキストで答えてくれます
Gemmaでは、自分で用意したPDF資料などを読み込ませることで、独自の知識に基づいたRAGによる回答も可能になります