OpenAI製の無料LLM「gpt-oss」の使い方!高性能な対話型AIをローカルで動かそう

生成AI一般

今回は対話型AIをローカルで動かす方法に関する話題で

OpenAI製の無料LLM「gpt-oss」の使い方・ローカルで動かす方法

を一通りご紹介するという内容になっております。

対話型AIといえばChatGPTを筆頭にWebサービス形式で提供されているものが多く、高性能で便利な一方で使用制限や情報の漏洩リスクなどいくつかデメリットがあります。なので「高性能な対話型AIをローカルで動かして自由に好きなだけ使いたい」という方も少なくないでしょう。

ローカルで使える対話型AI用のLLM(=大規模言語モデル)としてはMeta社の「Llama」シリーズをはじめ性能の良いモデルが多数公開されています。しかし例えばChatGPTの開発元・OpenAIは今まで自社のモデルを公開してこなかったので「ChatGPTに近いAIをローカルで動かしたいな」と思ってもなかなか実現できませんでした。

ところが先日、ついにOpenAIが「gpt-oss」と呼ばれるオープンな無料モデルをリリースしたことが話題になっています。このモデルには2種類のサイズがあり小さいほうのモデルは私のPCでも動かすことができました。そこでここでは

  • gpt-ossの導入方法や使い方
  • 動作に必要なスペック
  • 性能的にはどうなのか?

といった点を書いていきますね。

gpt-ossとは?

公式ページ

gpt-ossについて

gpt-ossはOpenAIがリリースした無料のオープンウェイトモデルです。主な特徴としては下記のようなものが挙げられます。

  • 誰でも無料で使用可能
  • スペックに応じた2種類のモデル
    • 120b:高性能だが動作には超高性能なGPUが必要
    • 20b:精度は劣るが軽量で一般的なGPUでも動かせる
  • 比較的自由な「Apache 2.0ライセンス」のもとで利用できる(改変・商用利用可)
  • 日本語に対応

なんといってもOpenAI製のモデルを緩いライセンスのもとで無料で使える点が一番の特徴です。一般の方は普通にChatGPTを使ったほうがいいと思いますが、例えば「LLMを使ったアプリを開発したい」といった開発者の方にとってはかなり有用なモデルとなるでしょう。あとは日本語にもきちんと対応している点も地味ながら魅力ですね。

実際にローカルで動かした場合の例

ではそんなgpt-ossをローカルで動かすとどんな感じなのか?という点が皆さん気になるかと思いますので、軽量な「gpt-oss-20b」のほうを実際に私のPCで動かして試してみた結果を書きます。

動作に必要なPCの性能について

まずgpt-oss-20bの動作に必要なPCスペックについては、下記のようなミドルスペック程度の性能を持つ私のPCでも十分動きましたので参考になさってください。

  • CPU:Core Ultra 5
  • GPU:NVIDIA GeForce RTX 3060(12GB版)
  • RAM:32GB

一般的にAIをローカルで動かす場合はGPU(グラボ)のVRAM容量が非常に重要です。できれば12GB以上は欲しいところ。私のGPUはやや古いモデルですがVRAMが12GBあるので何とか動きました。

ちなみに余談ですがローカルでAIを動かす際は環境構築やモデルファイルの配置でストレージの容量をかなり食うので、少なくとも30GB以上の空き容量のあるSSDを用意しておきましょう。

gpt-ossの回答例

例1:動物について尋ねた場合

ツキノワグマについて尋ねたところ流暢な日本語で下記のような回答をしてくれました(見出しや表も生成してくれます)。ただしローカルだと回答が始まるまでしばらく待たされるので、普通のChatGPTに慣れていると待ち時間がかなり長く感じます。

gpt-ossの回答例(1)
gpt-ossの回答例(2)

上記の画像の下にもまだ回答が続いています。割と詳しくて長い回答をしてくれました。

ぱっと見内容的におかしい部分はそんなになさそうです。しかし怪しい部分がちらほらありますし何度か試してみると明らかに間違った情報を混ぜてくることもありました。似たようなサイズのほかのLLMと比較するとかなり高精度ではあるものの、ChatGPTと同様に正確な事実を調べる用途には向いていなさそうです。

あと当然かもしれませんが文章のスタイルはローカルで扱えるLLMの中では一番ChatGPTに近い印象を受けます。ChatGPTが好みの私からしたらこれは地味に嬉しいポイントです。

例2:Unityでのゲームプログラミングについて尋ねた場合

もう一つ、プログラミングの能力はどうかなと思ってUnityでのゲームプログラミングについて尋ねてみました。

gpt-ossの回答例(3)
gpt-ossの回答例(4)

2種類の方法を提示してくれました。プログラミングも思っていたよりはできるようです。

ChatGPTに同じ質問をしたところ追加でさらに2つの方法を提示してくれたので、それよりは簡素な回答ですがローカルで動いていることを考えると「まあこんなもんかな」と思います。

結局gpt-oss(20b版)の性能はどう?

結論として、私が試したgpt-oss-20bはコンパクトな割には非常に高性能なモデルだと感じました。ただし一般ユーザーの方であれば素直にChatGPTを使ったほうが圧倒的に便利だと思うのでわざわざこのモデルをローカルで動かす必要はなさそうです。

逆に恩恵を受けそうなのは

  • ローカルLLMマニアの人
  • 対話型AIを自作アプリに組み込みたい開発者の人
  • 120b版を動かせるような超高性能なグラボを積んだPCを持っている人
  • ChatGPT等では制限を食らうタイプの人(使いすぎ・きわどい質問をするなど)

といった感じでしょうか。例えば暇つぶしに延々とAIとチャットしたい…という場合にはちょうどいいモデルなのではないかと思います。

gpt-ossの導入方法・使い方

さて前置きが長くなってしまいましたがここからが本題です。gpt-ossの導入方法や使い方を詳しく解説していきます。

導入方法(Text generation web UIのインストールなど)

まず導入方法についてですが、HuggingFace等からダウンロードできるgpt-ossのファイルは単なるウェイト(=重み)なのでそれだけでは動作しません。そこでAIを動かすための環境構築を行う必要があります。

一般的にLLMを使うための環境構築は難しくて面倒くさいのですが、最近では便利なツールがいろいろ登場しているので素直にツールを導入しましょう。私個人としては「Text generation web UI」というツールがお気に入りで、これを導入すると簡単に対話型AIを動かせるようになるのでここではこのツールを使うことにします。

Text generation web UIについての詳細は(少々古い記事ですが)下記で詳しく解説したのでそちらも併せてご覧ください。

Text generation web UIのインストール方法は

  • ポータブル版:
    ダウンロードして実行するだけ
  • ワンクリックインストール版:
    公式リポジトリをクローンしてバッチファイルを実行しインストール

の2種類があります。ポータブル版の導入方法はここに書くまでもないほど簡単なので、ここではあえてひと手間かかるワンクリックインストール版の導入方法を簡単にご説明します。主な手順は次の通り。

  1. バージョン管理ソフト「Git」をインストールする
  2. 任意のフォルダに公式リポジトリをクローンする
  3. バッチファイルを実行してインストールを行う

手順1:Gitのインストール

はじめに、このブログをご覧になるような方でインストールしてない方はいないと思いますが「Git」というバージョン管理ソフトをインストールしておく必要があります。下記の公式サイトからインストーラをダウンロードして導入しておきましょう。

手順2:リポジトリをクローン

次にText generation web UIの公式リポジトリを任意のフォルダにクローンします。適当なフォルダを右クリック→「ターミナルで開く」を選択し、出てきた黒い画面に下記のコードをコピペして実行してください。

git clone https://github.com/oobabooga/text-generation-webui.git

するとそのフォルダの中に「text-generation-webui」というフォルダが作られて中にいろいろなファイルが作成されます。

手順3:バッチファイルを実行してインストール

さてその中に「start_○○」(○○の部分はOS名)と書かれたバッチファイルがあると思うので、お使いのOSに合ったもの(例えばWindowsなら「start_windows」)を実行してください。初回実行時にはツールの実行に必要なファイルのダウンロードが行われて自動的に環境を構築してくれます。お使いのネット環境にもよりますが環境構築には十数分かかります。気長に待ちましょう。

最後に「Running on local URL ~」と出たらインストール完了です。Ctrlを押しながらそのURLをクリックするとブラウザが起動してText generation web UIの画面が表示されます。

Text generation web UIの画面

なおこれ以降は「start_○○」を実行することでこのツールを起動することができます。あと起動後も黒い画面は残りますが、そっちが本体でブラウザは単なるUIなので使っている最中は黒い画面のほうは閉じないようにしてください。

gpt-ossのダウンロード・モデルの読み込み方法

では環境構築が済んだところでいよいよgpt-oss(20b版)を導入していきます。gpt-ossのモデルは自分でダウンロードしてもいいのですが、Text generation web UIには指定したモデルファイルを自動でダウンロードして導入してくれる機能があるのでそれを使いましょう。

まず、Text generation web UIの画面左側の「Model」タブを選択すると下のような画面になります。ここでモデルをダウンロードしたり読み込んだりすることができます。

Text generation web UI モデル選択・ダウンロード画面

モデルのダウンロードを行う場合は、画面右側の部分(上図赤枠)にモデル名を記入して「Download」ボタンを押します。ここではgpt-oss-20bをGGUF形式に変換したモデルを使用するので

ggml-org/gpt-oss-20b-GGUF

と記入してボタンを押しましょう。モデルファイルは12GBほどあるためダウンロードにはしばらく時間がかかります。

ダウンロードしたらモデルをロードする必要があります。左上のドロップダウンメニューから「gpt-oss-20b-mxfp4.gguf」を選択してLoadボタンを押しロードしましょう。Downloadボタンの下あたりに「Successfully loaded gpt-oss-20b-mxfp4.gguf.」と出たら準備完了です(※なおモデルの読み込みは起動後に毎回手動でやる必要があります)。

ローカル環境での使い方

ここまで準備できたら使い方自体は簡単です。Text generation web UIの「Chat」タブを開き、画面右側の「Mode」を「instruct」にしておきます。

あとはこの状態でChatGPTなどと同様に文章を打ち込んでEnterを押すだけです。しばらく待つと回答が生成されます。

おわりに

以上、gpt-ossについて概要や導入方法をご説明しました。

個人的にはまさかOpenAI製のモデルをローカルで動かせる日が来るとは思っていなかったので驚きましたが、一方で普通に使うならChatGPTを使ったほうがいいよなという身も蓋もないことも確認できたのでよかったです。ローカルでいろいろ遊ぶ分にはいいモデルだと思いますのでぜひ皆さんも試してみてください。

この記事が何かしらお役に立てば幸いです。