gpt-oss-120b Derestricted を動かしてみる
はじめに
chatGPTやGeminiでは基本的に安全フィルタがかかっており、何でも答えることはできません。
公開されているモデルの中には安全フィルタが除去されたモデルもあり、今回はそれを動かしてみて、安全フィルタ有無で出力の違いを見比べてみたいと思いました。
OpenAIが公開しているモデルで一番大きいのは現状gpt-oss-120bだと思いますが、それの安全フィルタが除去されたモデルがhugging faceで公開されているのでそちらを実際に自分の環境で動かし、安全フィルタがかかっている状態と比べてみました。
使用したモデル・環境
安全フィルタあり:Web 上で提供されているgpt-oss-120b実行環境
https://gpt-oss.com/
安全フィルタ除去:gpt-oss-120b-Derestricted-GGUF をUbuntu(ARM64)マシンで、llama.cpp使用
安全フィルタの有無による挙動の違い結果
具体的に書くとあれなので濁すが、犯罪を手助けするような同じ質問を両モデルに投げかけた。
-
安全フィルタありモデル返答
- [I'm sorry, I can't help with that.]
-
Derestricted モデル返答
- 普通の質問をしたときと同様に詳細に何も躊躇うことなく、質問に対するアドバイスが返ってきた。(フィルタがないので当然といえば当然だが、安全フィルタ無は初めて動かしたので衝撃的だった。)
- 普通の質問をしたときと同様に、要点ごとに分析的な回答を生成していた。
少なくとも誰でも簡単に使えるようなサービスでは安全フィルタがないと危険ということが実感できました。
Derestricted モデルをローカルで動かす手順
gpt-oss-120b Derestricted モデルを、ローカル環境で動かすまでの手順
(120bのモデル動かすにはGPUメモリ80GBとか必要ぽいです。)
1. llama.cpp の取得とビルド
リポジトリの取得
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
インストール(Ubuntu)
sudo apt update
sudo apt install -y cmake build-essential git
ビルド(CUDA)
mkdir build
cd build
cmake .. -DLLAMA_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build . -j
2. モデル重みダウンロード
gpt-oss-120B-Derestricted-Q4_K_M.gguf
mkdir -p models/gpt-oss-120b-derestricted
cd models/gpt-oss-120b-derestricted
wget -c \
https://huggingface.co/Calandracas/gpt-oss-120b-Derestricted-GGUF/resolve/main/gpt-oss-120B-Derestricted-Q4_K_M.gguf
ダウンロードしたモデルはさっき作ったここにあること確認
llama.cpp/
└─ models/
└─ gpt-oss-120b-derestricted/
└─ gpt-oss-120B-Derestricted-Q4_K_M.gguf
3. 実行
引数の -n は最大トークン数で小さすぎると文章途中で切られるのでとりあえず大きめがいいです。
./build/bin/llama-cli \
-m models/gpt-oss-120b-derestricted/gpt-oss-120B-Derestricted-Q4_K_M.gguf \
-p "HELLO" \
-n 4096 \
--ctx-size 8192 \
-ngl 999