ollamaは、ローカルマシンで大型言語モデル(LLM)を簡単に実行できるパワフルなツールです。本記事では、ollamaの基本的な使い方から、コマンドラインオプション、環境変数まで詳しく解説していきます。これを読めば、ollamaを使いこなして、あなた自身のLLM環境を構築できるようになります。
ollamaとは?
ollamaは、LLMをローカル環境で効率よく実行するためのランタイム環境です。特徴は次のとおりです。
- シンプルで使いやすい: コマンドラインインターフェースで、LLMの起動、停止、管理などが簡単に行えます。
- 高速で効率的: 複数のGPUに対応し、高速な推論処理を実現します。
- 柔軟性が高い: さまざまなLLMに対応し、カスタマイズも可能です。
Ollamaの環境構築について知りたい方はこちら
ollamaの基本操作
ollamaの基本的な操作方法を、コマンド例と共に解説します。
バージョン確認
ollamaのバージョン確認のためのコマンド
ollama -v
出力結果:
ollama version is 0.4.0
ヘルプ確認
ollamaのヘルプ確認のためのコマンド
ollama -h
出力結果:
Large language model runner
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
モデルリスト確認
インストール済みのモデルを確認するためのコマンド
ollama list
出力結果 (例):
NAME ID SIZE MODIFIED
gemma2:latest ff02c3702f32 5.4 GB 2 months ago
モデルの起動
モデルを起動するためのコマンド
※モデルが未インストールの場合インストール(pull)から実行されます。
ollamaで利用可能なモデルは、https://ollama.com/library から検索できます。
例えば、「llama3.2」というモデルを起動する場合、以下のコマンドを使用します。
ollama run llama3.2
出力結果 (例):
pulling manifest
pulling manifest
pulling dde5aa3fc5ff... 100% ▕████████████████████████████████████████████████████████▏ 2.0 GB
pulling 966de95ca8a6... 100% ▕████████████████████████████████████████████████████████▏ 1.4 KB
pulling fcc5a6bec9da... 100% ▕████████████████████████████████████████████████████████▏ 7.7 KB
pulling a70ff7e570d9... 100% ▕████████████████████████████████████████████████████████▏ 6.0 KB
pulling 56bb8bd477a5... 100% ▕████████████████████████████████████████████████████████▏ 96 B
pulling 34bb5ab01051... 100% ▕████████████████████████████████████████████████████████▏ 561 B
verifying sha256 digest
writing manifest
success
>>> Send a message (/? for help)
モデルのインストール
モデルをインストールするためのコマンド
ollama pull [モデル名]
例えば、「llama3.2-vision」というモデルをインストールする場合、以下のコマンドを使用します。
ollama pull llama3.2-vision
出力結果 (例):
pulling manifest
pulling manifest
pulling 11f274007f09... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 6.0 GB
pulling ece5e659647a... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 1.9 GB
pulling 715415638c9c... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 269 B
pulling 0b4284c1f870... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 7.7 KB
pulling fefc914e46e6... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 32 B
pulling fbd313562bb7... 100% ▕███████████████████████████████████████████████████████████████████████████▏ 572 B
verifying sha256 digest
writing manifest
success
モデルの停止
動作中のモデルを停止するためのコマンド
ollama stop [モデル名]
例えば、「llama3.2」というモデルを停止する場合、以下のコマンドを使用します。
ollama stop llama3.2
出力結果: 特に何も出力されません。
起動中のモデルリスト確認
起動中のモデルのリスト取得コマンド
ollama ps
出力結果 (例):
NAME ID SIZE PROCESSOR UNTIL
llama3.2:latest a80c4f17acd5 3.5 GB 100% CPU 4 minutes from now
モデル情報確認
モデルの情報を取得するためのコマンド
ollama show [モデル名]
例えば、「llama3.2-vision」というモデルの情報を確認する場合、以下のコマンドを使用します。
ollama show llama3.2-vision
出力結果 (例):
Model
architecture mllama
parameters 9.8B
context length 131072
embedding length 4096
quantization Q4_K_M
Projector
architecture mllama
parameters 895.03M
embedding length 1280
dimensions 4096
Parameters
temperature 0.6
top_p 0.9
License
LLAMA 3.2 COMMUNITY LICENSE AGREEMENT
Llama 3.2 Version Release Date: September 25, 2024
ollamaのオプション・コマンド一覧
ollamaが持つオプション・コマンドの一覧はこちらです。
主要なオプション:
オプション | 説明 |
-h, –help | ヘルプを表示します。 |
-v, –version | バージョン情報を表示します。 |
主要なコマンド:
コマンド | 説明 |
serve | ollamaサーバーを起動します。 |
create | Modelfileからモデルを作成します。 |
show | モデルの情報を表示します。 |
run | モデルを実行します。 |
stop | 実行中のモデルを停止します。 |
pull | モデルをレジストリから取得します。 |
push | モデルをレジストリに登録します。 |
list | モデルの一覧を表示します。 |
ps | 実行中のモデルの一覧を表示します。 |
cp | モデルをコピーします。 |
rm | モデルを削除します。 |
help | 特定のコマンドに関するヘルプを表示します。 |
ollamaの環境変数一覧
ollamaのその他の動作は環境変数を用いて、動作をカスタマイズできます。
※環境変数はシステムに事前に設定する必要があります。
※ollamaのマニュアルに記載がなかったので、下記の環境変数は、ollamaのソースコード (https://github.com/ollama/ollama/blob/main/envconfig/config.go) から取得しました。
主要な環境変数:
環境変数 | 説明 |
CUDA_VISIBLE_DEVICES | 使用可能なNVIDIA GPUのデバイスIDを指定します (例: CUDA_VISIBLE_DEVICES=0,1). |
GPU_DEVICE_ORDINAL | AMD GPUのデバイスIDを指定します。 |
HIP_VISIBLE_DEVICES | AMD GPUのデバイスIDを指定します。 |
HSA_OVERRIDE_GFX_VERSION | すべての検出されたAMD GPUで使用されるgfxをオーバーライドします。 |
HTTPS_PROXY | HTTPSプロキシを設定します。 |
HTTP_PROXY | HTTPプロキシを設定します。 |
NO_PROXY | プロキシを適用しないドメインを指定します。 |
OLLAMA_DEBUG | デバッグ情報を表示します (例: OLLAMA_DEBUG=1). |
OLLAMA_FLASH_ATTENTION | フラッシュアテンションを有効化します。 |
OLLAMA_GPU_OVERHEAD | GPUごとに予約するVRAMの量を指定します (バイト単位). |
OLLAMA_HOST | ollamaサーバーのIPアドレスとポートを指定します (デフォルトは 127.0.0.1:11434). |
OLLAMA_INTEL_GPU | 実験的なIntel GPU検出を有効化します。 |
OLLAMA_KEEP_ALIVE | メモリにロードされたモデルを保持する期間を指定します (デフォルトは 5m). |
OLLAMA_LLM_LIBRARY | LLMライブラリを指定します (自動検出をバイパス). |
OLLAMA_LOAD_TIMEOUT | モデルのロードがタイムアウトするまでの時間を指定します (デフォルトは 5m). |
OLLAMA_MAX_LOADED_MODELS | GPUごとにロードされるモデルの最大数を指定します。 |
OLLAMA_MAX_QUEUE | キューに入れられるリクエストの最大数を指定します。 |
OLLAMA_MODELS | モデルディレクトリのパスを指定します。 |
OLLAMA_MULTIUSER_CACHE | マルチユーザーシナリオにおけるプロンプトキャッシュを最適化します。 |
OLLAMA_NOHISTORY | Readline履歴を保存しません。 |
OLLAMA_NOPRUNE | スタートアップ時にモデルのblobを削除しません。 |
OLLAMA_NUM_PARALLEL | 並列リクエストの最大数を指定します。 |
OLLAMA_ORIGINS | 許可されるオリジンのリストを指定します (カンマ区切り). |
OLLAMA_SCHED_SPREAD | すべてのGPUにモデルを常にスケジューリングします。 |
OLLAMA_TMPDIR | 一時ファイルの場所を指定します。 |
ROCR_VISIBLE_DEVICES | UUIDまたは数値IDでAMD GPUのデバイスIDを指定します。 |
まとめ
ollamaは、ローカルマシンでLLMを簡単に利用するための強力なツールです。コマンドラインオプションや環境変数を活用することで、ollamaは様々なニーズに対応できる柔軟性を備えています。本記事の内容を参考に、ollamaを使ってあなた自身のLLM環境を構築してみてください。
Ollama+Langchainで簡易チャットボットの作成について知りたい方はこちら
Ollama+LangchainでWebの要約をしたい方はこちら
この記事が、あなたの役に立てば幸いです!
コメント