ローカルLLM Stable Code 3BをMacbook Airで動かして VSCodeから使ってみる


2024年1月17日にStability AIから、オフラインで使用できるコーディング生成AI「Stable Code 3B」が発表されました。

通常、大規模言語モデル(LLM)を動作させるためにはグラフィックカードを載せたマシンを利用しなければ動作が重くなるのですが、Stable Code 3BはMacBook Airのような専用GPUを搭載していないマシンでもオフラインで動作するとのことで試してみました。

LM Studio

LM Studioは、あまり高性能ではないPCでもLLMを動作させることが可能なツールです。

インストール

Windows、Mac、Linuxに対応しており、インストールすれば簡単にLLMを動作せさることが可能です。

今回使用するMacのスペックは下記の通り。

Macbook Air 2020

  • チップ Apple M1
  • メモリ 16GB


まずは、下記ページからソフトをダウンロードしてインストールします。

インストール後、LM Studioを起動し、ダウンロードするLLMを検索します。

ここでは「stable code 3b」と入力して検索。

検索結果の左側画面の「TheBlock/stable-code-3b-GGUF」をクリックし、右側画面の「Q5_K_M」をダウンロードします。

「Q5_K_M」の○ i アイコンにカーソルを載せると「recommended」と表示されるので、適していると思われます。

チャット

画面左側のアイコンからチャットアイコンを選び、画面上のロードするLLM選択画面から、さきほどダウンロードしたファイルを選択します。

画面下に「Model Downloads」の画面が表示されたままだと邪魔になるので、右端の×アイコンをクリックして非表示にします。

すると、画面最下部にチャットの入力画面が見えるため、そこにFizz Buzz問題をPythonで解くソースコードを示すように記入します。

Use Python to code for FizzBuzz. 
The rules are as follows: Print numbers from 1 to 100
- Print numbers from 1 to 100
- If the number is a multiple of both 3 and 5, print "FizzBuzz"
- If the number is a multiple of 3, print "Fizz"
- If the number is a multiple of 5, print "Buzz"
- For all other numbers, it should just print the number itself.

エンターを入力するとLLMが応答します。

ローカルサーバー

LLMをLM Studio以外から利用するために、ローカルサーバーを起動します。

今回は、VSCodeからアクセスしてLLMを利用するために必要です。

画面左の「サーバー」アイコンをクリックし、「Start Server」ボタンをクリックします。

これで、localhost:1234にアクセスすることで、LLMを利用可能になります。

VSCode拡張機能「Continue」

この拡張機能をインストールすることで、VSCodeからLM StudioにアクセスしてLLMを利用することができます。

インストール

通常の拡張機能インストール手順でContinueをインストールします。

Continueの設定

拡張機能をインストールすると、画面左側にcontinueのアイコンが表示されるのでクリック。
その次に、画面下の設定アイコン(歯車)をクリックすると、config.jsonが表示されるため、”modeds”内に下記を追記して保存。
一旦、VSCodeを終了し、再起動する。

{
  "title": "LM Studio",
  "model": "stable-code-3b",
  "contextLength": 2048,
  "apiBase": "http://localhost:1234",
  "completionOptions": {},
  "provider": "lmstudio"
}

Continueの利用

VSCodeを再起動したら、画面左下のモデル選択で「LM Studio」を選択し、プロンプトを入力するとLLMが応答する。

速度比較

下記の設定で、Fizz Buzz問題を解くPythonソースコード出力完了までの速度比較映像です。

  • GPT-4
  • Stable Code 3B (ローカル LLM)
  • Code Llama 7B (ローカル LLM)