ローカル LLM を体験する

2024/11/16

はじめに

自宅で作業するときにメインで使っている Mac mini をハイスペックなものに買い換えた。その結果としてローカル LLM を運用できるようになったため、ローカル LLM 導入の手順と感想を記す。

環境

  • Mac mini 2024
    • チップ: Apple M4 Pro
    • CPU: 14 コア
    • GPU: 16 コア
    • メモリ: 64 GB
    • SSD: 1 TB
    • macOS: Squoia 15.1

何に使うの?

ローカル LLM 実行までの手順

ollama をインストール

Nix + Home Manager を使って環境を管理しているため、以下の設定を普段使っている設定ファイルから import する。

Loading code...

Nix + Home Manager を使って管理していない方は公式のインストーラをダウンロードして、インストールしてください。

正しくインストールされていれば、ターミナルで ollama コマンドが使える。

Loading code...

LLM をダウンロード

はじめに使いたい LLM をダウンロードします。モデルは Ollama のウェブページで検索できる。

https://ollama.com/library

今回はこの記事を執筆している数日前に Gigazine で紹介されていた Qwen2.5-Coder を使う。

次のコマンドを実行してモデルをダウンロード。

Loading code...

モデル名の : の後にある 32b は自身の環境に合わせて調整してください。あとで書きますが 32b を使うと私の環境で 20 GB ほどメモリを持っていかれた。

サーバを立てる

ローカル LLM を実行するために ollama を使ってサーバを立てる。サーバを立てると言っても以下のコマンドを実行するだけでよい。

Loading code...

実行に成功すると以下のようなログが流れる。

Loading code...

ローカル LLM を実行

ダウンロードした LLM を実行してみる。実行も簡単で次のコマンドを実行するだけだ。モデル名はダウンロードの手順で指定したものに合わせる。

Loading code...

実行に成功するとプロンプトが表示される。

Loading code...

このプロンプトで簡易的だが LLM と対話できる。

ソースコードに特化しているモデルを使っているので簡単のコードを書いてもらおう。

Loading code...

流石に簡単すぎたかな?
実行方法まで合わせて教えてくれた。

次はフィボナッチ数列を 100 まで出力するプログラムを書かせてみよう。

Loading code...

フィボナッチ数列を出力するプログラムを正しく書けてそうだ。流石にフィボナッチ数列を出力するプログラムくらいは書けてしまうか。

更に実験を続けてもいいが、ターミナル上で会話するというのは体験としてはよろしくないだろう。次の記事では異なる UI 越しにローカル LLM を利用する方法を試してみる。

おわりに

ローカル LLM の導入は驚くほど簡単になっている。 Ollama のおかけでこれから新しいモデルが登場したとしてもコマンド一発で実行できるだろう。

日本語の LLM を試したい人は 日本語 LLM まとめ | LLM-jp で気になったモデルを試してみるのがよさそうだ。

Llama-3-ELYZA-JP-8B-GGUF を試してみたが日本語 LLM は会話として成り立たないことがあるように感じた。これから発展していく分野だと思うので定期的に新しいモデルを探索していくつもりだ。

SuzumiyaAobaのプロフィール画像

SuzumiyaAoba

プログラミング、技術、その他の話題について共有するブログを書いてます。 主にScala、Java、TypeScriptなどの技術について興味あり。

ScalaJavaTypeScriptReact

Buy Me A Coffee