############################################################## Ollama ローカル利用 (1) - 社内LAN環境向け備忘録 - ############################################################## * 社内ネットワーク環境下など、ChatGPTなどのAPIやWebサービスが使いにくい場合に、 :red:`ローカルLLM` が有用. * さらに、社内ネットなどでは、モデルのダウンロード ( :blue:`ollama pull` )が使用できないなどがあり、セットアップにも工夫が必要. * `Ollama` をローカルにセットアップし、モデルを手動導入する手順を示す. | 概要: =========== - `TL;DR <#TL;DR>`_ - `Ollama とは <#Ollamaとは>`_ - `WSLでのGPUセットアップ <#wslでのgpuセットアップ>`_ - `Ollamaのインストール <#ollamaのインストール>`_ - `ggufモデルのダウンロード <#ggufモデルのダウンロード>`_ - `Modelfile の作成とパラメータ解説 <#modelfileの作成とパラメータ解説>`_ - `Ollamaへの登録 <#ollamaへの登録>`_ | TL;DR =========== 最小は下記手順. 1. ollamaの.tgzファイルを入手 - ollama install > Linux タブ > Manual install instructions より - ブラウザに https://ollama.com/download/ollama-linux-amd64.tgz で入手 2. $ sudo tar -C /usr -xzf ollama-linux-amd64.tgz 3. ollama serve 4. .gguf を入手 5. Modelfileを作成 6. $ ollama create gemma3-local -f Modelfile 7. $ ollama run gemma3-local | Ollamaとは =========== `Ollama `_ は、llama.cpp をベースにしたローカルLLM実行プラットフォームで、 `gguf` 形式のモデルを用いて、CPU/GPU 両対応で高速に推論を実行できます。 - WSL2 上でも動作可能 - python でも動作可能 ( サーバを立てておいて、HTTPリクエストを投げて利用できる ) | WSLでのGPUセットアップ ====================== NVIDIA GPU を活用するには、以下が必要です: 1. WSL2が有効な状態であること 2. Windows 側に NVIDIA Driver + CUDA Toolkit(WSL対応版)をインストール済みであること 3. WSL 側で CUDA サポート付き `nvidia-smi` が動作すること チェック方法:: $ nvidia-smi `OLLAMA_NUM_GPU_LAYERS=999` を環境変数に設定すると、GPU推論が有効になります。 | Ollamaのインストール ===================== 通常は以下のコマンドでインストールしますが、**証明書エラーにより失敗する場合があります** :: curl -fsSL https://ollama.com/install.sh | sh 回避策(検証無効) :: curl -kO https://ollama.com/install.sh install_custom.sh これで、 **インストールスクリプトを保存し、照明書を検証しない(好ましくはない) -k オプションを全curlに対して付与し、WSL内でローカル実行** します :: (curl をcurl -kに置換して、) bash install.sh これで入るはず. もしくは、tgzをダウンロードしてきて、/usr/local/lib/ollamaに展開する. :: curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz sudo tar -C /usr -xzf ollama-linux-amd64.tgz curlが通らなければ、直接、https://ollama.com/download/ollama-linux-amd64.tgz をブラウザで入力し、ダウンロード. 2行目を実施すれば、展開されるはず. | ollamaサーバの起動確認(serve) ================================== :: ollama serve 別タブのコンソールなどを用意し、 :: ollama -v で確認. | ggufモデルのダウンロード ============================= プロキシが設定されているLANでは `ollama pull` が失敗するため、以下の手順で `.gguf` モデルを取得し、WSLへ移動します: * 社外ネットワークで Hugging Face から `.gguf` をダウンロード - 例: `gemma-2b-it.Q4_K_M.gguf`(約2.7GB) | Modelfileの作成とパラメータ解説 ================================= `Modelfile` は、モデルとその動作パラメータを定義する設定ファイルです。例:: FROM ./gemma-2b-it.Q4_K_M.gguf TEMPLATE "{{ .Prompt }}" PARAMETER temperature 0.7 PARAMETER top_k 40 PARAMETER top_p 0.9 PARAMETER repeat_penalty 1.2 各パラメータの解説: - ``temperature``: 出力の多様性(0.7が標準) - ``top_k``: 上位k個の単語のみ候補(絞り込み) - ``top_p``: 累積確率がpを超えるまでの語から選択 - ``repeat_penalty``: 同じ語の繰り返しを抑制 | Ollamaへの登録 =============== `ollama create` を使ってモデルを登録します:: cd ~/ollama_models/gemma/ ollama create gemma-local -f Modelfile 確認:: ollama list 実行:: ollama run gemma-local