AIパーソナル・ラーニング
と実践的なガイダンス
ビーンバッグ・マースコード1

GPUで動作するOllamaのカスタマイズ

ウィンドウズ

以下は、OllamaをWindowsシステムのGPUで実行するようにカスタマイズする方法の例です。

オーラマ デフォルトでは、CPU が推論に使用されます。このチュートリアルでは、WindowsシステムでGPUアクセラレーションを有効にするための環境変数の設定方法を説明します。

前提条件

  • このコンピューターにはNVIDIAのグラフィックカードが搭載されています。
  • NVIDIAグラフィックス・ドライバがインストールされ、次のコマンドで使用できる。 エヌビディア・スミ をクリックして、ドライバがインストールされているかどうかを確認してください。
  • CUDAツールキットがインストールされており、以下のコマンドで使用できる。 nvcc --バージョン をクリックして、CUDAがインストールされているかどうかを確認する。

チップ


NVIDIAグラフィックドライバとCUDAツールキットのインストールについては、関連するチュートリアルを各自で検索してください。 お使いのコンピューターが上記の前提条件を満たしている場合、OllamaはデフォルトでGPUアクセラレーションに対応しています。特定のGPUを指定したい場合は、以下の手順に従って設定してください。

環境変数の設定

  1. システム環境変数の設定を開く
    • Windowsの検索バーに「環境変数」と入力し、「システム環境変数の編集」を選択する。
    • システムのプロパティ」ポップアップウィンドウで、「詳細設定」タブをクリックし、「環境変数」ボタンをクリックします。
  2. OLLAMA_GPU_LAYER変数の作成
    • システム変数」エリアで、「新規」ボタンをクリックする。
    • New System Variableダイアログボックスで、以下の情報を入力する:
      • 変数名: ollama_gpu_layer
      • 変数値: クーダ (これはOllamaにGPUアクセラレーションにCUDAを使用するように指示します。)
    • OK」をクリックして変数を保存する。

    GPU-1で動作するOllamaのカスタマイズ

  3. (オプション)使用するGPUを指定します。
    • システムに複数のGPUがあり、Ollamaが特定のGPUを使うように指定したい場合は、以下のように設定します。 cuda_visible_devices 環境変数。
    • GPUのUUIDを検索します: ドライバの更新やシステムの再起動によって番号が変わる可能性があるため、番号の代わりにUUIDを使用することを強くお勧めします。
      • コマンドプロンプトまたはPowerShellを開く。
      • コマンドを実行する:nvidia-smi -L
      • 出力から、使用したいGPUの「UUID」値を見つける。 例gpu 00000000:01:00.0 下げる UUID : GPU-xxxxxxxxxxx-xxxxxx-xxxxxxxxxxxxxxx.

      GPU-2で動作するOllamaのカスタマイズ

    • CUDA_VISIBLE_DEVICES変数を作成する:
      • システム変数」エリアで、「新規」ボタンをクリックする。
      • New System Variableダイアログボックスで、以下の情報を入力する:
        • 変数名: cuda_visible_devices
        • 変数値: 見つかったGPUのUUID:GPU-xxxxxxxx-xxxxxx-xxxxxx-xxxxxxxxxxxxx
      • OK」をクリックして変数を保存する。

重要だ: 環境変数を有効にするには Ollamaが動作している端末またはアプリケーションを再起動する。 .

GPUアクセラレーションが有効であることを確認します:

  1. コマンドプロンプトを開く。
  2. 例えば、オーラマを走らせる: オラマラン ディープシークR1:1.5b
  3. 新しいコマンドプロンプトウィンドウを開き ollama ps コマンドを実行すると、Ollamaで実行中のプロセスが表示される。

OllamaのカスタマイズはGPU-3で実行される

 

リナックス

以下は、OllamaをLinuxシステムのGPU上で実行するようにカスタマイズする方法の例です。

  1. 確立 ollama_gpu_selector.sh スクリプト・ファイルは次のような内容である:
#!/bin/bash

# 入力を検証する
validate_input(){
if[[! $1 =~^[0-4](,[0-4])*$ ]];then
echo "エラー:無効な入力です。 0から4の数字をカンマで区切って入力してください。"
exit1
exit1." echo "エラー: 無効な入力です。
}

# CUDA_VISIBLE_DEVICESの値でサービスファイルを更新します。
update_service(){
# CUDA_VISIBLE_DEVICES環境変数がサービスファイルに存在するか確認します。
if grep -q '^Environment="CUDA_VISIBLE_DEVICES='/etc/systemd/system/ollama.service;then
# 既存の CUDA_VISIBLE_DEVICES の値を更新します。
sudo sed -i 's/^Environment="CUDA_VISIBLE_DEVICES=.*/Environment="CUDA_VISIBLE_DEVICES='"$1"'"/'/etc/systemd/system/ollama.service
cuda_visible_devices
# 新しいCUDA_VISIBLE_DEVICES環境変数を追加する。
sudo sed -i '/[Service]/a Environment="CUDA_VISIBLE_DEVICES='"$1"'" /etc/systemd/system/ollama.service
サービス'' /etc/systemd/system/ollama.service

# systemd サービスをリロードして再起動します。
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
echo "サービスが更新され、CUDA_VISIBLE_DEVICES=$1 で再起動されました。"
}

# 引数が渡されているかチェック
if["$#"-eq 0];then
# 引数が渡されない場合、CUDA_VISIBLE_DEVICES値の入力をユーザーに促す
read -p "CUDA_VISIBLE_DEVICESの値を入力してください(0~4、カンマ区切り): " cuda_values
バリデート入力 "$cuda_values"
update_service "$cuda_values"
その他
# CUDA_VISIBLE_DEVICES値として引数を使用する
cuda_values="$1"
validate_input "$cuda_values"
update_service "$cuda_values"
$cuda_values "オプションは次のページで利用できます。
  1. スクリプトファイルへの実行権限の追加
chmod +x ollama_gpu_selector.sh
sudo ./ollama_gpu_selector.sh

スクリプトを実行した後、GPU番号のプロンプトに従ってOllamaが使用するGPUを指定します。例えば、カンマで複数のGPU番号を区切ることができます:0,1,2.

  1. Ollamaサービスの再起動
cat /etc/systemd/system/ollama.service

コマンドを実行した後、Ollamaサービスファイルを見て cuda_visible_devices 環境変数が更新された。

更新されていれば、例えば次のように追加される。 Environment="CUDA_VISIBLE_DEVICES=0,1,2" 環境変数。

シーディーエヌワン
無断転載を禁じます:チーフAIシェアリングサークル " GPUで動作するOllamaのカスタマイズ

チーフAIシェアリングサークル

チーフAIシェアリングサークルは、AI学習に焦点を当て、包括的なAI学習コンテンツ、AIツール、実践指導を提供しています。私たちの目標は、高品質のコンテンツと実践的な経験の共有を通じて、ユーザーがAI技術を習得し、AIの無限の可能性を一緒に探求することです。AI初心者でも上級者でも、知識を得てスキルを向上させ、イノベーションを実現するための理想的な場所です。

お問い合わせ
ja日本語