人工知能(AI)
PR

【生成AI】 大規模言語モデルを自分のパソコンで動かしてみよう【Open WebUI + Ollama】

えりる
記事内に商品プロモーションを含む場合があります

この記事ではローカル環境で大規模言語モデル(Large Language Model; LLM)を動作させる手順を解説します。

大規模言語モデルについて

大規模言語モデルって?

大規模言語モデル(Large Language Model; LLM)とは、ChatGPTのような大量のテキストデータを学習することで、人間が書いたような自然な文章を生成したり、質問に答えたり、様々なタスクを実行できる人工知能の一種です。

ChatGPTやGemini, CopilotなどのAIはデータセンターと呼ばれる最強パソコンを集めた施設で動いていて、自分のパソコンやスマホで動いているわけではありません。

個人ではデータセンター規模の装置は所有できないので、普段はデータセンターの計算能力を借りてAIを使っているわけですね。

学習モデルのサイズとパラメータ数

なぜデータセンターが必要かというと、AIの知識を担っている部分(学習モデル)がデータとしてかなり重く、一般の家庭用パソコンで扱えるレベルを超えているからです。

学習モデルは.safetensorsなどの拡張子がついているファイルでStable Diffusionなどを触ったことがある人は見たことあると思います。
このファイルの実態はAIが推論するときに行う計算に使用するパラメータが含まれています。
このパラメータ数がLLMの学習モデルのサイズを表す指標の一つです。
一般に、パラメータ数が多いほど高性能なマシンが必要ですが、推論性能もその分高いです。

パラメータ数は1B、4B、70BとかのようにBをつけて表します。BはBillion(\(=10^9\)=10億)を表しているので、パラメータ数が1Bだよ~ってことは10億個のパラメータを含んでいますよって意味です。
有料版のChatGPTのモデルには500B以上のパラメータが含まれているといわれています。

こんな激重モデルは当然ゲーミングPCレベルでは扱えないわけですが、AI研究の発展により最近は個人で扱えるレベルの軽量モデルが増えてきました。
今回は軽量モデルを自宅のゲーミングPCで動かしてみようと思います。

どうやって使うの?

実はオープンソースソフトウェアだけでLLMをローカルPCで動かす環境が作れてしまいます。
使うツールは以下の2つです。

  • Ollama
    LLMを簡単に実行・管理するためのツール。
  • Open WebUI
    Ollamaで動作するLLMとチャット形式で対話するためのウェブインターフェース。

以下、この2つのツールをインストールしてLLMを使用できるようにするところまでを解説していきます。

Open WebUI + Ollama でLLM環境を作る

Ollamaのインストール

Windowsの場合

Ollamaの公式サイトからWindows用のインストーラを選んでダウンロードします。
.exe ファイルがダウンロードされるので実行するとインストールできます。

Macの場合

Ollamaの公式サイトからMac用のインストーラを選んでダウンロードします。
.zip ファイルがダウンロードされるので解凍すると.app ファイルがダウンロードされるのでApplication フォルダに移せば完了です。

Linux(WSL2を含む)の場合

Ollamaの公式サイトからLinux用のインストーラを選ぶとインストールコマンドが表示されるので、以下の通りそれを実行します。

curl -fsSL https://ollama.com/install.sh | sh

インストール後、確認として以下のコマンドを実行してバージョンが表示されたらOKです。

ollama list

言語モデルのインストール

LLMをインストールしてみましょう。Ollamaがサポートしている言語モデルはOllamaの公式ページから確認することができます。

自分のパソコンのスペック(特にGPUメモリ容量)と相談ながら、できるだけパラメータ数の多いモデルを選ぶとよいと思います。

モデルをインストールするにはターミナルを起動します。
その後、以下のコマンドでインストールすることができます。

ollama pull モデル名

例えば、Goolgle製のLLMのgemma3(パラメータ数が4Bのモデル)をインストールするには、以下のようにします。

ollama pull gemma3:4b

Python 3.11 のインストール

Open WebUIにはPython 3.11が必要です。
生のPythonでもAnacondaでもなんでもよいですが、以下のコマンドを実行したときに
Python 3.11とバージョンが返ってくるような環境を作っていきます。

$ python --version
Python 3.11.**

Windowsの場合

まず、Pythonの公式サイトからPython 3.11のインストーラをダウンロードしましょう。
アクセスすると下のほうにインストーラのダウンロードリンクがあります。
Windows installer (64-bit) と書いてあるものをダウンロードしてください。

.exeファイルがダウンロードされるので、実行します。
するとインストーラが起動して以下のような画面になります。
このとき、一番下のAdd python.exe to PATH のチェックを外しておきましょう。
これをしておくと複数バージョンのPythonを使い分けることができます。

Macの場合

ここでは、pyenvを使ってPythonのバージョンを複数使い分けられるような環境を作ってみます。

Homebrew(公式サイト)のインストールがまだの方は以下のコマンドでインストールしておきましょう。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

次はターミナルを開いて以下のコマンドでpyenvをインストールします。

brew install pyenv

以下のコマンドでpyenvのバージョンが表示されれば完了です。

pyenv -v

Linux(WSL2を含む)の場合

以下の記事でLinux(WSL2を含む)でのPython環境構築方法を解説しているので、こちらを参考に環境を作ってみてください。

あわせて読みたい
【Python仮想環境構築】pyenv+venvの開発環境の作り方【Linux】
【Python仮想環境構築】pyenv+venvの開発環境の作り方【Linux】

Python 3.11の仮想環境を作って有効化

次はPythonの仮想環境を作ります。
適当なところに名前は何でもよい(全角文字は使用しない)のでフォルダを作成してください。
そのあと、作成したフォルダをカレントディレクトリとしてPowerShellなどのターミナルを起動してください。

Windowsの場合

以下のコマンドでPython 3.11を指定して仮想環境を作します。

py -3.11 -m venv venv

その後、

.\venv\Scripts\activate

で仮想環境を有効化します。

Mac/Linuxの場合

MacとLinuxの場合はpyenvを使ってPythonのバージョン制御をします。
まずは、以下のコマンドで現在のディレクトリ限定でPython 3.11を有効化しましょう。

pyenv local 3.11

その後、venvを使って仮想環境を作成しましょう。

python -m venv venv

仮想環境ができたら以下のコマンドで有効化します。

source ./venv/bin/activate

Open WebUIのインストール

公式マニュアルによるとインストールの方法は以下の3つです。

  • Docker でインストール
  • uv でインストール
  • pip でインストール

この記事ではpip を使ってインストールしてみましょう。
方法は簡単で以下のコマンドを実行するだけです。

pip install open-webui

これだけでOKです。
起動するときは以下のコマンドでOKです。

open-webui serve

起動したら、ブラウザで以下のいずれかにアクセスしてみましょう。

すると、初回起動時にはアカウント登録画面が出てくるので、それに従ってアカウントを作成します。
その後、以下のような画面が出てくれば起動は成功です。

えりる
えりる

ほとんどChatGPTと同じような画面で使いやすいです

あとはチャット形式でAIと対話することができます。
ちなみに左上のgemma3と書いてあるところで、LLMを切り替えることができます。
他のLLMが使いたい場合はOllamaでインストールすると使用できるようになります。

使用感

私の環境はCore Ultra 9 285K + RTX5080なのですが、パラメータ数が12BまでならChatGPTくらいの動作速度で回答が返ってきました。

えりる
えりる

想像以上にサクサク動作でびっくりです。
回答の精度も実用レベルに達していると感じました。

パラメータ数が4Bくらいの軽量モデルであればGPUメモリが小さいグラボでも動くので、ローカル環境で動かすハードルがかなり下がっていると思います。

こちらからAIに入力する内容が学習に使用されないので、セキュリティ的にもよいかなと思います。

まとめ

この記事ではローカル環境で大規模言語モデル(Large Language Model; LLM)をOllama+Open WebUIで動作させる方法について解説しました。

ChatGPTのようなサービスを使うほうが性能は高いのですが、自分で動かしてみるのも楽しいので、試してみるのはいかがでしょうか。

えりるについて
えりる
えりる
日本のどこかに生息する平成生まれの研究者。とっても理論家と思いきや気分屋さんでもある。基本的にめんどくさがり。修士(工学)を持っている。
記事URLをコピーしました