【入門】話題のOllamaモデルをインストールして使ってみよう

はい、承知いたしました。話題のOllamaモデルをインストールして使うための詳細な入門記事を、約5000語で記述します。


【入門】話題のOllamaモデルをインストールして使ってみよう – ローカルでLLMを動かす完全ガイド

近年、ChatGPTをはじめとする大規模言語モデル(LLM)が大きな注目を集めています。文章作成、情報検索、プログラミング支援など、その活用範囲は日々広がっています。しかし、これらのサービスの多くはクラウド上で提供されており、利用にはインターネット接続が必要で、プライバシーやコスト、カスタマイズの自由度といった面で制約を感じることも少なくありません。

そんな中、「ローカル環境で手軽にLLMを動かせる」と話題になっているのが「Ollama」です。Ollamaを使えば、お手持ちのコンピューターにモデルをインストールし、オフラインでもLLMを利用できます。プライバシーを守りながら、自分好みのモデルや設定でLLMを使いたい――そんな願いを叶えてくれる強力なツール、それがOllamaです。

この記事は、Ollamaを初めて使う方や、ローカルLLMに興味はあるけれど何から始めれば良いか分からない方を対象としています。Ollamaの基本的なインストール方法から、CLI(コマンドラインインターフェース)を使ったモデルの操作、人気モデルの利用方法、さらにはパフォーマンスに関する考慮事項やトラブルシューティングまで、Ollamaを使いこなすためのステップを約5000語の詳細な解説で網羅します。

さあ、あなたもOllamaを使って、ローカルLLMの世界に飛び込んでみましょう!

第1章 Ollamaとは? その魅力に迫る

1.1 なぜ今、ローカルLLMなのか?

LLMの利用は、主にクラウドベースのサービスを通じて行われています。これは便利である一方で、以下のような課題も存在します。

  • プライバシーの懸念: 入力したテキストデータがサービス提供者のサーバーに送信されます。機密情報や個人情報を含む内容を扱う場合、データ漏洩のリスクがゼロではありません。
  • コスト: 無料枠が提供されているサービスもありますが、本格的に利用したり、APIを使ったりする場合は利用量に応じた課金が発生します。頻繁に、あるいは大量に利用する場合、コストが無視できなくなります。
  • オフライン利用の限界: インターネット接続が必須です。ネットワーク環境がない場所や、安定しない環境では利用できません。
  • 速度と遅延: クラウドとの通信が発生するため、応答に多少の遅延が生じることがあります。特に、対話形式でサクサク使いたい場合に遅延が気になることがあります。
  • カスタマイズの難しさ: 利用できるモデルや設定はサービス提供者によって決められています。特定の用途に特化したモデルを使いたい、パラメータを調整したいといった要望に応えるのは難しい場合があります。

ローカルLLMは、これらの課題に対する有効な解決策となります。

  • プライバシーの保護: データはすべて自分のコンピューター内で処理されます。外部にデータが送信される心配がありません。
  • コスト効率: モデルさえダウンロードすれば、その後の利用に追加費用はかかりません(電気代はかかりますが)。使い放題です。
  • オフラインでの利用: 一度モデルをダウンロードすれば、インターネット接続がない環境でも利用可能です。
  • 速度: コンピューターのスペックによりますが、ローカルでの処理はクラウドへの通信遅延がないため、快適な応答速度が得られる場合があります。
  • 高いカスタマイズ性: 多様なモデルを自由に選び、複数のモデルを使い分けることができます。さらには、既存モデルをベースに自分専用のモデルを作成することも可能です。

1.2 OllamaがローカルLLM普及の鍵となる理由

ローカルでLLMを動かすための技術はOllama以外にも存在します。しかし、Ollamaが特に注目を集めているのは、その圧倒的な使いやすさにあります。

  • 簡単なインストール: macOS, Windows, Linuxといった主要なOSに対応しており、インストーラーを実行するだけで手軽に導入できます。複雑な依存関係の解決や環境設定は、Ollamaが自動で行ってくれます。
  • シンプルな操作: コマンドラインインターフェース(CLI)を提供しており、数個の簡単なコマンドだけでモデルのダウンロード、実行、管理が行えます。プログラミングの知識は必須ではありません。
  • 豊富なモデルサポート: Llama 2, Mistral, Gemma, Claude (Via third-party integrations) など、多様なオープンソースモデルや、それらをOllamaで使いやすい形式(主にGGUFフォーマット)に変換したものが豊富に提供されています。新しいモデルも続々と追加されています。
  • REST APIの提供: CLIだけでなく、開発者向けに使いやすいREST APIを提供しています。これにより、他のアプリケーションやWebサービスからOllamaを利用することが容易になり、ローカルLLMを組み込んだ様々なツールやサービスが開発されています。
  • クロスプラットフォーム対応: 異なるOSでも同じ操作感で利用できます。
  • ハードウェアアクセラレーション対応: 対応するGPU(NVIDIA, AMD, Apple Silicon)があれば、その計算能力を活用して高速にモデルを実行できます。

これらの特徴により、OllamaはこれまでローカルLLMの導入に敷居の高さを感じていたユーザー層にも広く受け入れられています。

1.3 この記事で学ぶこと

この記事を通じて、あなたは以下のことができるようになります。

  • 自分のコンピューターにOllamaをインストールする。
  • OllamaのCLIを使って、モデルをダウンロードし、実行する。
  • 人気のあるいくつかのモデルを試してみる。
  • 基本的なプロンプトを使ってLLMと対話する。
  • ローカルLLMのパフォーマンスに関する基本的な理解を得る。
  • Ollamaのさらに進んだ使い方(API、Web UIなど)について知る。
  • Ollama利用時の一般的な問題に対する解決策を知る。

さあ、準備はいいですか? 次の章で、Ollamaのインストールに向けた準備を始めましょう。

第2章 インストール前の準備とシステム要件

Ollamaをインストールする前に、お使いのコンピューターがOllamaを実行するための基本的な要件を満たしているか確認しましょう。特に、ローカルでLLMを快適に動かすには、ある程度のハードウェア性能が必要です。

2.1 システム要件

Ollama自体のインストールは比較的軽量ですが、実際にモデルを実行するにはモデルのサイズに応じたリソースが必要になります。

  • オペレーティングシステム:
    • macOS: Sonoma (14) 以降を推奨。ただし、一部の古いバージョンでも動作する場合があります。Apple Silicon (M1, M2, M3など) または Intelプロセッサ搭載Mac。
    • Windows: Windows 10 / Windows 11 (64-bit)。Linux環境としてWSL2(Windows Subsystem for Linux 2)の利用が推奨されます。
    • Linux: 64-bit Linuxディストリビューション。主要なディストリビューション(Ubuntu, Fedora, Debianなど)のsystemdを使用するバージョン。
  • RAM (メモリ): モデルのサイズによって要求されるメモリ量は大きく変わります。
    • 7Bパラメータ程度のモデル: 最低8GB、推奨16GB以上。
    • 13Bパラメータ程度のモデル: 最低16GB、推奨32GB以上。
    • 70Bパラメータ程度のモデル: 最低64GB、推奨128GB以上。
      モデルが大きくなるほど、多くのRAMが必要です。RAMが不足すると、モデルをロードできなかったり、実行速度が極端に遅くなったりします。
  • ストレージ容量: ダウンロードするモデルのサイズによります。
    • 7Bパラメータ程度のモデル: 数GB。
    • 13Bパラメータ程度のモデル: 10GB前後。
    • 70Bパラメータ程度のモデル: 40GB以上。
      複数のモデルを試したり、サイズの大きなモデルを使ったりする場合、数十GBから数百GBの空き容量が必要になることもあります。事前に十分な空き容量を確保しておきましょう。
  • GPU (グラフィックス処理装置) / VRAM (ビデオメモリ): OllamaはGPUを使ったハードウェアアクセラレーションに対応しており、これによりモデルの実行速度を劇的に向上させることができます。必須ではありませんが、快適にLLMを利用するには強力なGPUと十分なVRAMが強く推奨されます。
    • NVIDIA GPU: CUDA対応のGPU。VRAM容量が重要です。7Bモデルには最低8GB、13Bモデルには最低16GB、70Bモデルには最低48GB以上のVRAMが目安となります。新しいモデルや高負荷なタスクではさらに必要になることがあります。ドライバーは最新版にしておくのが望ましいです。
    • AMD GPU: ROCm対応のGPU (Linuxのみ)。
    • Apple Silicon Mac: 搭載されている統合GPU (Metalフレームワークを利用)。ユニファイドメモリがVRAMとしても機能します。メモリ容量が大きいほど有利です。
    • GPUがない、またはVRAMが不足している場合、OllamaはCPUを使ってモデルを実行します。CPU実行は可能ですが、応答速度が非常に遅くなる可能性が高いです。
    • VRAM容量とモデルサイズの目安(あくまで目安です。Quantizationレベルやタスクによって変動します):
      • 3Bモデル: 4GB VRAM~ (8GB 推奨)
      • 7Bモデル: 8GB VRAM~ (12GB+ 推奨)
      • 13Bモデル: 16GB VRAM~ (24GB+ 推奨)
      • 70Bモデル: 48GB VRAM~ (64GB+ 推奨)
        Quantization(量子化)という技術により、モデルサイズを小さくし、必要なVRAMを減らすことができます。後述のモデル選択の章で触れます。

2.2 各OSでの注意点

  • macOS:
    • Apple Silicon Macの場合、統合メモリ(ユニファイドメモリ)がLLM実行に非常に有利に働きます。メモリ容量が多いモデルを選ぶと、GPU性能も合わせて最大限に活用できます。
    • Intel MacでもCPU実行または互換性のあるGPUがあれば動作しますが、パフォーマンスはApple Siliconに劣る傾向があります。
  • Windows:
    • OllamaのWindowsネイティブ版は比較的最近登場しました。インストールは簡単ですが、GPUサポート(特にNVIDIA以外)や安定性において、WSL2上のLinux版に一歩譲る部分があるかもしれません。
    • WSL2 (Windows Subsystem for Linux 2) を利用したインストールが推奨されることが多いです。 WSL2内にLinux環境を構築し、その中でOllamaのLinux版をインストールします。これにより、Linux版の安定性や機能に加え、WSL2経由でホストOSのGPU(NVIDIA CUDAなど)を利用することができます。GPUを使うには、WSL2、Linuxディストリビューション、NVIDIAドライバー、CUDAツールキットなどが正しく設定されている必要があります。WSL2のセットアップについては後述します。
  • Linux:
    • 最も柔軟性が高く、GPUサポートも充実しています(NVIDIA CUDA、AMD ROCm)。
    • インストールは通常、公式サイトのスクリプトを実行するだけで完了します。
    • systemdを使用しない古いディストリビューションや、特殊な環境では手動でのインストールや設定が必要になる場合があります。
    • NVIDIA GPUを使う場合、最新のドライバーとCUDAツールキットがインストールされていることを確認してください。

2.3 事前確認チェックリスト

インストールに進む前に、以下の点を確認しておきましょう。

  • お使いのOSバージョンは対応していますか?
  • 十分なRAM容量がありますか?
  • モデルを保存するのに十分なストレージ空き容量がありますか?
  • 快適な利用のためにGPU(特にVRAM)の容量を確認しましたか?(必須ではありませんが推奨です)
  • WindowsでWSL2を使う場合、WSL2の有効化やLinuxディストリビューションのインストールは済みましたか?(次章で解説します)
  • 管理者権限を持つユーザーで作業していますか?(インストール時に必要になる場合があります)

これらの準備ができたら、いよいよOllamaのインストールに進みましょう!

第3章 Ollamaのインストール方法

ここでは、主要なOSであるmacOS、Windows、Linux(WSL2を含む)それぞれでのOllamaのインストール手順を詳しく解説します。

3.1 macOSでのインストール

macOSへのインストールは非常に簡単です。

  1. Ollama公式サイトにアクセス:
    ウェブブラウザを開き、Ollamaの公式サイトにアクセスします。URLは https://ollama.com/ です。
  2. macOS版のダウンロード:
    公式サイトのトップページにある「Download」ボタンをクリックします。OSを自動判定して、macOS版のダウンロードリンクが表示されるはずです。「Download for macOS」ボタンをクリックして、Ollamaのディスクイメージファイル(.dmgファイル)をダウンロードします。ファイル名はOllama-darwin.zipのような形式になっていることが多いです。
  3. ディスクイメージファイルを開く:
    ダウンロードが完了したら、ダウンロードしたOllama-darwin.zipファイルをダブルクリックして解凍します。解凍されると、Ollama.dmgファイルが表示されます。この.dmgファイルをダブルクリックして開きます。
  4. アプリケーションのインストール:
    .dmgファイルを開くと、ウィンドウが表示されます。その中にOllamaのアイコンと「Applications」フォルダのエイリアスが表示されているはずです。Ollamaのアイコンをドラッグして、「Applications」フォルダのエイリアスの上にドロップします。これでOllamaアプリケーションが「アプリケーション」フォルダにコピーされます。
  5. Ollamaを起動する:
    「アプリケーション」フォルダを開き、Ollamaアイコンをダブルクリックして起動します。初めて起動する際は、インターネットからダウンロードしたアプリケーションであることの警告が表示されることがあります。その場合は「開く」をクリックして実行を許可します。
    Ollamaはバックグラウンドサービスとして動作します。起動すると、macOSのメニューバーにOllamaのアイコン(通常は羊のマーク)が表示されるはずです。アイコンをクリックすると、メニューが表示され、Ollamaの状態を確認したり、終了したりできます。Ollamaはデフォルトで起動時に自動的に開始するように設定されます。
  6. インストール確認:
    Ollamaサービスが起動したら、ターミナルアプリケーションを開いて、Ollamaコマンドが使用できるか確認します。ターミナルは「アプリケーション」フォルダ内の「ユーティリティ」フォルダにあります。
    ターミナルを開き、以下のコマンドを入力してEnterキーを押します。

    bash
    ollama --version

    Ollamaのバージョン情報が表示されれば、インストールは成功です。例:ollama version is 0.1.42

これでmacOSへのOllamaインストールは完了です。メニューバーのアイコンからOllamaを停止することもできますが、通常は起動したままにしておきます。

3.2 Windowsでのインストール (ネイティブ版)

Windowsネイティブ版のインストール手順です。より安定性やGPUサポートを求める場合は、次のWSL2を使った方法も検討してください。

  1. Ollama公式サイトにアクセス:
    ウェブブラウザを開き、Ollamaの公式サイト(https://ollama.com/)にアクセスします。
  2. Windows版のダウンロード:
    公式サイトのトップページにある「Download」ボタンをクリックします。OSを自動判定してWindows版のダウンロードリンクが表示されるはずです。「Download for Windows」ボタンをクリックして、Ollamaのインストーラーファイル(.exeファイル)をダウンロードします。ファイル名はOllamaSetup.exeのような形式になっていることが多いです。
  3. インストーラーの実行:
    ダウンロードしたOllamaSetup.exeファイルをダブルクリックして実行します。
    ユーザーアカウント制御のダイアログが表示されたら、「はい」をクリックして実行を許可します。
    インストーラーの画面が表示されます。通常は特に設定を変更する必要はありません。「Install」ボタンをクリックしてインストールを開始します。
  4. インストール完了:
    インストールが完了すると、完了画面が表示されます。「Finish」ボタンをクリックしてインストーラーを閉じます。
    OllamaはWindowsサービスとしてバックグラウンドで起動します。タスクトレイにOllamaのアイコンが表示されることがあります(表示されない場合もありますが、サービスは起動しています)。
  5. インストール確認:
    Ollamaサービスが起動したら、コマンドプロンプトまたはPowerShellを開いて、Ollamaコマンドが使用できるか確認します。
    スタートメニューから「コマンドプロンプト」または「PowerShell」を検索して起動します。
    コマンドプロンプトまたはPowerShellを開き、以下のコマンドを入力してEnterキーを押します。

    cmd
    ollama --version

    Ollamaのバージョン情報が表示されれば、インストールは成功です。

これでWindowsネイティブ版のOllamaインストールは完了です。OllamaサービスはWindows起動時に自動的に開始されます。

3.3 Windowsでのインストール (WSL2を利用)

Windows上でLinux環境を実行できるWSL2を利用してOllamaをインストールする方法です。Windowsネイティブ版よりも安定性やGPUサポートに優れる場合があります。この方法をとるには、まずWSL2が有効化されており、UbuntuなどのLinuxディストリビューションがインストールされている必要があります。

ステップ1: WSL2の有効化とLinuxディストリビューションのインストール

まだWSL2をセットアップしていない場合は、以下の手順で行います。既にセットアップ済みの場合は、ステップ2に進んでください。

  1. WSL2の有効化:
    管理者としてPowerShellまたはコマンドプロンプトを開き、以下のコマンドを実行します。

    powershell
    wsl --install

    このコマンドは、WSLの有効化、仮想マシン プラットフォーム機能のインストール、WSL2への設定、そしてUbuntuディストリビューションのダウンロードとインストールをまとめて行います。
    再起動が求められた場合は、コンピューターを再起動します。
    再起動後、Ubuntuの初期設定(ユーザー名とパスワードの設定)を求められる場合があります。画面の指示に従って設定してください。
    ※特定のディストリビューションを指定したい場合や、より詳細なWSLのセットアップ手順はMicrosoftの公式ドキュメントを参照してください。
    2. GPUサポートの確認 (NVIDIAの場合):
    WSL2でGPUを利用するには、Windows側に最新のNVIDIAドライバーがインストールされている必要があります。また、WSL2環境内でCUDAツールキットなどが正しく認識される必要があります。通常、最新のNVIDIAドライバーにはWSL2用のコンポーネントが含まれています。WSL2内でnvidia-smiコマンドが実行できるか確認してみてください(ディストリビューションによってはnvidia-smiを別途インストールする必要があります)。

ステップ2: WSL2上のLinux環境へのOllamaインストール

WSL2がセットアップされ、Linux環境が起動できるようになったら、そのLinux環境内でOllamaをインストールします。

  1. WSL2上のLinux環境を起動:
    WindowsのスタートメニューからインストールしたLinuxディストリビューション(例: Ubuntu)を起動します。ターミナルウィンドウが開きます。
  2. Ollama公式サイトにアクセス (Linux版):
    Linuxターミナルから直接ダウンロードスクリプトを実行します。Ollamaの公式サイトのLinuxインストール手順を確認すると、以下の様なコマンドが表示されているはずです。
  3. インストールスクリプトの実行:
    Linuxターミナルで、以下のコマンドを入力してEnterキーを押します。

    bash
    curl https://ollama.com/install.sh | sh

    このコマンドは、curlコマンドを使ってOllamaのインストールスクリプトをダウンロードし、ダウンロードしたスクリプトをshコマンドで実行します。スクリプトはOllamaバイナリをダウンロードし、システムサービスとしてセットアップしてくれます。
    curlコマンドやshコマンドが見つからないというエラーが出た場合、それらのパッケージがインストールされていない可能性があります。sudo apt update && sudo apt install curl のようなコマンドでインストールしてください(ディストリビューションによってコマンドは異なります)。
    インストールにはsudo権限が必要になるため、ユーザーパスワードの入力を求められることがあります。
    4. サービスの確認:
    インストールスクリプトはOllamaをシステムサービスとして登録し、起動します。以下のコマンドでサービスの状態を確認できます。

    bash
    systemctl status ollama

    「active (running)」と表示されていれば、Ollamaサービスは正常に動作しています。
    5. インストール確認:
    Ollamaコマンドが使用できるか確認します。

    bash
    ollama --version

    Ollamaのバージョン情報が表示されれば、インストールは成功です。

これでWSL2上のLinux環境へのOllamaインストールは完了です。WSL2のLinuxターミナルからOllamaコマンドを実行して利用します。ホストOSのWindowsから直接Ollamaコマンドを実行することはできませんが、Ollamaサービスはネットワーク経由(デフォルトではlocalhost:11434)で利用できるため、Windows上のアプリケーションやWeb UIから接続することが可能です。

3.4 Linuxでのインストール

ネイティブLinux環境へのインストール手順です。

  1. Ollama公式サイトにアクセス (Linux版):
    ウェブブラウザを開き、Ollamaの公式サイト(https://ollama.com/)にアクセスし、Linuxのインストール手順を確認します。または、ターミナルから直接ダウンロードスクリプトを実行します。
  2. インストールスクリプトの実行:
    ターミナルを開き、以下のコマンドを入力してEnterキーを押します。

    bash
    curl https://ollama.com/install.sh | sh

    このコマンドは、curlコマンドを使ってOllamaのインストールスクリプトをダウンロードし、ダウンロードしたスクリプトをshコマンドで実行します。スクリプトはOllamaバイナリをダウンロードし、システムサービスとしてセットアップしてくれます。
    curlshが見つからない場合は、適切なパッケージマネージャーを使ってインストールしてください(例: sudo apt update && sudo apt install curl for Debian/Ubuntu)。
    インストールにはsudo権限が必要になるため、ユーザーパスワードの入力を求められることがあります。
    3. サービスの確認:
    インストールスクリプトはOllamaをシステムサービスとして登録し、起動します。以下のコマンドでサービスの状態を確認できます。

    bash
    systemctl status ollama

    「active (running)」と表示されていれば、Ollamaサービスは正常に動作しています。サービスの起動や停止は sudo systemctl start ollamasudo systemctl stop ollama コマンドで行えます。
    4. インストール確認:
    Ollamaコマンドが使用できるか確認します。

    bash
    ollama --version

    Ollamaのバージョン情報が表示されれば、インストールは成功です。

これでLinuxへのOllamaインストールは完了です。

第4章 Ollama CLIを使ってみよう! 基本コマンド徹底解説

Ollamaのインストールが完了したら、次はOllamaのコマンドラインインターフェース(CLI)を使ってモデルを操作してみましょう。CLIはOllamaの最も基本的な操作方法であり、モデルのダウンロードや実行、管理を行う上で不可欠です。

まずは、お使いのOSでターミナル(macOS, Linux)またはコマンドプロンプト/PowerShell(Windows)を開いてください。

4.1 ターミナルの起動方法

  • macOS: 「アプリケーション」フォルダ -> 「ユーティリティ」フォルダ -> 「ターミナル」をダブルクリック。またはSpotlight検索(Cmd + Space)で「ターミナル」と入力してEnter。
  • Windows: スタートボタンをクリックし、「cmd」(コマンドプロンプト)または「powershell」と入力してEnter。WSL2を使っている場合は、スタートボタンからインストールしたLinuxディストリビューションの名前(例: Ubuntu)を入力してEnter。
  • Linux: アプリケーションメニューから「ターミナル」またはそれに類するものを探して起動。ショートカットキー(Ctrl + Alt + T)で起動できるディストリビューションが多いです。

4.2 Ollamaのバージョン確認 (ollama --version)

Ollamaコマンドが正しくインストールされ、環境変数PATHが通っているかを確認する最も簡単な方法です。

bash
ollama --version

実行例:
ollama version is 0.1.42
バージョン情報が表示されれば、Ollamaコマンドはどこからでも実行できます。

4.3 Ollamaサービスの手動起動 (ollama serve)

通常、Ollamaはインストール時にシステムサービスとして登録され、OS起動時に自動的に起動します。しかし、何らかの理由でサービスが停止している場合や、サービスを使わずに一時的にOllamaを起動したい場合は、ollama serveコマンドを使用します。

bash
ollama serve

このコマンドを実行すると、Ollamaサービスがフォアグラウンドで起動し、APIリクエストなどを待ち受ける状態になります。このターミナルウィンドウを閉じるとサービスも停止します。サービスとして起動している場合は、このコマンドを手動で実行する必要はありません。

4.4 モデルの実行と対話 (ollama run <model_name>)

ollama runコマンドは、Ollamaで最も頻繁に使用するコマンドです。指定したモデルをダウンロードし、実行し、そのモデルと対話的なセッションを開始します。

  • <model_name>: 実行したいモデルの名前を指定します。例えば、llama3, mistral, gemmaなどです。利用可能なモデルはOllamaの公式サイトで確認できます。

基本的な使い方:

bash
ollama run llama3

このコマンドを実行すると、以下の処理が行われます。

  1. モデルの検索: ローカル環境にllama3という名前のモデルがダウンロードされているか確認します。
  2. モデルのダウンロード (未ダウンロードの場合): ローカルに見つからない場合、Ollamaはインターネット上のリポジトリ(通常はOllama Registry)から指定されたモデル(この場合はllama3のデフォルトバージョン)を自動的にダウンロードします。ダウンロードにはモデルのサイズに応じた時間がかかります。ダウンロード中は進捗状況が表示されます。
  3. モデルのロード: ダウンロードまたはローカルにあるモデルをメモリ(またはVRAM)にロードします。これもコンピューターのスペックやモデルサイズによって時間がかかります。
  4. 対話セッションの開始: モデルのロードが完了すると、プロンプトが表示され、モデルとの対話セッションが開始されます。

対話セッションの例:

“`
$ ollama run llama3
pulling manifest
pulling 8374f166c2d0… 100% ▰ Downloading model…
pulling 52a5403067f8… 100% ▰ Downloading model…
pulling fb95a931c47b… 100% ▰ Downloading model…
pulling 53153f10529c… 100% ▰ Downloading model…
pulling c7f039a9f7a6… 100% ▰ Downloading model…
pulling 152313959bc7… 100% ▰ Downloading model…
pulling 37a97b861159… 100% ▰ Downloading model…
verifying sha256 digest
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
using existing model layer
status: success

こんにちは!
こんにちは!どのようにすればお役に立てますか?
自己紹介をしてください。
私は、Metaによってトレーニングされた大規模言語モデルです。
日本語で物語を作成してください。テーマは「宇宙を旅する猫」です。
はい、承知いたしました。宇宙を旅する猫の物語ですね。

遠い未来、人間の代わりに宇宙船を操縦するのは、賢く好奇心旺盛な猫たちでした。主人公は、毛皮が星屑のように輝くトラ猫の「オリオン」です。彼は、小さな探査船「マタタビ号」に乗り込み、未知の銀河を冒検していました。

ある日、オリオンは奇妙な信号を受信しました。それは、どこか懐かしい、でも全く聞いたことのない鳴き声でした。信号を追跡し、辿り着いたのは、一面が巨大なキャットタワーのような構造物で覆われた惑星でした。

惑星に着陸したオリオンは、信じられない光景を目にします。そこには、様々な毛色の猫たちが、楽しそうに駆け回り、巨大な爪とぎで爪を研ぎ、宇宙で最も美味しいとされるネズミ型のおやつを食べていたのです。彼らは、遥か昔に地球から旅立った猫の子孫たちでした。

オリオンは彼らに歓迎され、しばらく惑星で過ごしました。彼は、自分たちのルーツを知り、新たな仲間と出会えたことに喜びを感じました。しかし、オリオンの冒険はまだ終わっていません。彼は別れを告げ、再びマタタビ号に乗り込み、次の星へと旅立つのです。宇宙には、まだまだ猫たちが知らない不思議な場所がたくさんあるのですから。

これが、宇宙を旅する猫、オリオンの物語です。いかがでしたでしょうか?

/bye
“`

  • 入力プロンプトに対して、モデルが応答を生成します。
  • /byeと入力してEnterキーを押すと、対話セッションが終了し、Ollamaコマンドのプロンプトに戻ります。
  • 対話セッション中は、入力したテキストがすべてモデルへのプロンプトとして送られます。
  • Ctrl + Cキーを押すことでもセッションを中断・終了できます。

非対話モードでの利用:

ollama runコマンドは、対話モードだけでなく、一度のプロンプトに対して応答を生成させる非対話モードでも利用できます。これは特に、他のコマンドの出力やファイルの内容をLLMに処理させたい場合に便利です。

例:標準入力からプロンプトを渡す

bash
echo "東京の観光名所を3つ教えてください。" | ollama run llama3

このコマンドを実行すると、echoコマンドの出力(”東京の観光名所を3つ教えてください。”)がパイプ(|)を通じてollama run llama3コマンドの標準入力に渡されます。Ollamaはプロンプトを受け取って応答を生成し、標準出力に出力して終了します。対話セッションは始まりません。

例:ファイルの内容をプロンプトとして渡す

summary.txtというファイルに要約したい長い文章が書かれているとします。

bash
ollama run llama3 < summary.txt

このコマンドは、summary.txtファイルの内容をollama run llama3コマンドの標準入力に渡します。モデルはファイルの内容をプロンプトとして受け取り、応答を生成します。

これらの非対話的な使い方は、シェルスクリプトなどと組み合わせて自動化処理を行う際に非常に役立ちます。

4.5 モデルの事前ダウンロード (ollama pull <model_name>)

ollama runコマンドは必要に応じて自動的にモデルをダウンロードしてくれますが、インターネット接続が不安定な場所で使う場合や、複数のモデルをまとめてダウンロードしておきたい場合は、ollama pullコマンドを使って事前にモデルをダウンロードしておくことができます。

bash
ollama pull mistral

このコマンドを実行すると、Ollamaはインターネットからmistralモデルの最新バージョンをダウンロードします。既にダウンロード済みで新しいバージョンがある場合は、差分のみがダウンロードされます。

ダウンロード中は、進捗状況が表示されます。

bash
$ ollama pull mistral
pulling manifest
pulling 59c4d72b18f4... 100% ▰ Downloading model...
pulling 8953ee2b290e... 100% ▰ Downloading model...
pulling c2860a72b6f4... 100% ▰ Downloading model...
pulling 62487ffb7f37... 100% ▰ Downloading model...
pulling c357513f3f5b... 100% ▰ Downloading model...
pulling 09f6546fcedb... 100% ▰ Downloading model...
verifying sha256 digest
status: success

ダウンロードが完了すれば、次回以降ollama run mistralを実行する際にダウンロードの待ち時間がなくなります。

4.6 ダウンロード済みモデルの一覧表示 (ollama list)

ローカルにダウンロードされているモデルの一覧を確認するには、ollama listコマンドを使用します。

bash
ollama list

実行例:
bash
$ ollama list
NAME ID SIZE MODIFIED
llama3:latest 8374f166c2d0 4.7 GB About an hour ago
mistral:latest 239515230661 4.1 GB 2 hours ago
gemma:2b e22bf1135122 1.7 GB Yesterday

表示される情報は以下の通りです。

  • NAME: モデルの名前とタグ(例: llama3:latest)。通常は<model_name>:<tag>の形式で、タグを省略するとlatestになります。
  • ID: モデルのユニークなハッシュ値またはID。
  • SIZE: モデルファイルのサイズ。
  • MODIFIED: モデルが最後に利用された、またはダウンロードされた日時。

このリストを見て、どのモデルがダウンロードされているか、ストレージをどれくらい消費しているかなどを把握できます。

4.7 モデルの削除 (ollama rm <model_name>)

不要になったモデルは、ollama rmコマンドで削除してストレージ容量を解放できます。

  • <model_name>: 削除したいモデルの名前とタグを指定します。例えば、llama3:latestや単にllama3(latestタグを削除)などです。

bash
ollama rm llama3:latest

または、タグを省略してデフォルトタグ(latest)のモデルを削除する場合:

bash
ollama rm llama3

削除確認のメッセージは表示されず、即座に削除されます。誤って必要なモデルを削除しないように注意してください。

複数のモデルを一度に削除することも可能です。

bash
ollama rm mistral gemma:2b

4.8 ヘルプの表示 (ollama help)

Ollamaの基本的な使い方やコマンドのオプションを知りたい場合は、ollama helpコマンドを使用します。

bash
ollama help

特定のコマンドに関するヘルプを見たい場合は、コマンド名の後に--helpオプションを付けます。

bash
ollama run --help

これで、ollama runコマンドに関する詳細な使い方やオプションが表示されます。困ったときはまず--helpオプションを使ってみましょう。

第5章 人気モデルを使ってみよう! モデルの選択と活用

Ollamaには様々なモデルが登録されており、それぞれ特徴や性能、必要なリソースが異なります。ここでは、Ollamaでよく使われる人気モデルのいくつかを紹介し、モデルの選び方や活用方法を解説します。

5.1 Ollamaがサポートするモデル形式とQuantization

Ollamaは、主にGGUFというファイル形式のモデルをサポートしています。GGUFは、LLaMA.cppプロジェクトで開発されたモデル形式で、CPUやGPU(特にコンシューマー向けGPU)での実行に最適化されています。

モデルを選ぶ際に重要になるのが「Quantization (量子化)」です。これは、モデルのパラメータをより低い精度(例: 16-bit浮動小数点から4-bit整数)で表現することで、モデルファイルのサイズを劇的に小さくし、必要なメモリ(VRAM)容量を減らす技術です。

Quantizationレベルはモデル名のタグで示されることが多いです(例: :7b, :7b-instruct-q4_k_m, :70b-fp16など)。

  • fp16 (Full Precision 16-bit Floating Point): 量子化されていない、最も精度が高いがファイルサイズも大きい。多くのVRAMが必要。
  • q8_0 (8-bit Quantization): 8ビットに量子化。精度は少し落ちるがサイズはかなり小さくなる。
  • q4_k_m (4-bit Quantization, K-Quant method): 4ビットに量子化。サイズが最も小さく、VRAM消費も少ない。速度も速くなることが多い。精度は少し落ちる可能性があるが、多くのタスクで十分な性能を発揮します。
  • 他にも様々なQuantizationレベルがあります。

初心者のうちは、まずQuantizationされたモデル(例: タグにq4q5を含むもの)から試してみるのがおすすめです。これにより、比較的少ないリソースでモデルを動かすことができます。特に、VRAM容量が限られている環境では、Quantizationレベルの低いモデル(例: q4_k_m)を選ぶことが必須となります。

5.2 おすすめの人気モデル紹介

Ollamaで利用できるモデルは、公式サイトのLibraryページ(https://ollama.com/library)で確認できます。ここでは、代表的なモデルをいくつか紹介します。

  • Llama 3: Metaが開発した最新の高性能モデル。特にllama3:8bllama3:70bが人気です。指示追従性や推論能力に優れています。デフォルトでダウンロードされるllama3は、通常llama3:8bのInstructバージョン、かつQuantizationされたものです。
    • ollama run llama3 (通常は llama3:8b-instruct のQuantized版)
    • ollama run llama3:70b (より高性能だが、非常に多くのリソースが必要)
  • Mistral / Mixtral: Mistral AI社が開発した高性能なオープンソースモデル。mistral:7bはLlama 2の13Bや34Bモデルと同等以上の性能を持つと言われており、比較的小さいサイズで高性能が得られます。mixtral:8x7bはMixture of Experts (MoE) モデルで、高い性能を発揮しますが、より多くのリソースが必要です。
    • ollama run mistral (通常は mistral:7b-instruct のQuantized版)
    • ollama run mixtral (通常は mixtral:8x7b-instruct のQuantized版)
  • Gemma: Googleが開発した軽量で高性能なオープンソースモデル。2Bと7Bのサイズがあり、特にgemma:2bは少ないリソースで動作するため、スペックが高くない環境でも試しやすいモデルです。
    • ollama run gemma:2b
    • ollama run gemma:7b
  • Phi-3: Microsoftが開発した比較的小さな高性能モデル。特に軽量性が特徴で、モバイルデバイスなどでも動作することを想定しています。phi3:3.8bphi3:7bなどがあります。
    • ollama run phi3 (通常は phi3:3.8b-mini-4k-instruct のQuantized版)
    • ollama run phi3:7b-4k-instruct
  • Japanese Stable LM: 日本語に特化したモデル。日本語での自然な対話や文章生成を重視する場合に選択肢となります。
    • ollama run japanese-stablelm-base-alpha-7b (ベースモデル)
    • ollama run japanese-stablelm-instruct-alpha-7b (指示追従に特化)

モデルの選び方のポイント:

  1. 目的: 何に使いたいか? (一般的な対話、特定のタスク、日本語特化など)
  2. コンピューターのスペック: 特にRAMとVRAM容量。まずは小さめのモデル(3B, 7B)から試すのが無難です。
  3. パフォーマンス: 大きいモデルほど高性能な傾向がありますが、必要なリソースも増え、応答速度が遅くなる可能性があります。 Quantizationレベルもパフォーマンスに影響します。
  4. 人気: Ollama Libraryでダウンロード数が多いモデルや、コミュニティで評判の良いモデルから試してみるのも良いでしょう。

まずはollama listで利用可能なモデルを確認し、必要ならollama pull <model_name>で新しいモデルをダウンロードしてみましょう。

5.3 実際にモデルを実行して対話する

ollama run <model_name>コマンドを使って、ダウンロードしたモデルと対話してみましょう。

例として、llama3モデルと対話してみます(まだダウンロードしていない場合は、自動でダウンロードが始まります)。

bash
ollama run llama3

プロンプトが表示されたら、自由に質問や指示を入力してみましょう。

簡単な質問応答:

“`

日本の首都はどこですか?
日本の首都は東京都です。
“`

文章生成:

“`

夏休みに関する短いポエムを書いてください。
夏休み、空は青く、雲は白い。
入道雲がモクモクと、遠くの空に湧いている。
蝉の声が降り注ぎ、アスファルトは熱い息。
冷たい麦茶、縁側で風を感じる。
夜には花火、夜空を彩り、
夢のような時間はあっという間。
また来年まで、さようなら、短い夏の夢。
“`

要約:

長いテキストをコピー&ペーストして、要約を依頼することもできます。

“`

以下の文章を3文で要約してください。
[ここに長い文章をペースト]

[モデルの応答]
“`

翻訳:

多言語に対応したモデルであれば、翻訳を依頼することも可能です。

“`

“Hello, world!” を日本語に翻訳してください。
「こんにちは、世界!」
“`

5.4 プロンプトエンジニアリングの基本

LLMから期待通りの応答を得るためには、「プロンプト(指示文)」を工夫することが重要です。これを「プロンプトエンジニアリング」と呼びます。OllamaでCLIを使って対話する際にも、基本的なプロンプトの書き方を意識すると、より良い結果が得られます。

  • 明確な指示: 何をしてほしいのか、具体的に指示します。「文章を書いて」だけでなく、「〜について、〜のスタイルで、〜文字程度の文章を書いて」のように詳しく指定します。
  • 役割を与える: モデルに特定の役割(例: 専門家、物語の登場人物)を与えることで、その役割に沿った応答を引き出しやすくなります。「あなたは歴史の専門家です。〜について教えてください。」
  • 制約を設ける: 回答の形式や長さ、含めてほしい要素や含めてほしくない要素などを指定します。「箇条書きで答えてください」「〜については言及しないでください」「500文字以内」
  • 例を示す (Few-shot prompting): いくつかの入出力例を示すことで、モデルに期待する応答のパターンを理解させます。
  • 思考プロセスを促す (Chain-of-Thought): 最終的な回答だけでなく、そこに至るまでの思考プロセスを示すように指示することで、より正確で論理的な回答が得られることがあります。「ステップバイステップで考えてください」

これらのテクニックは、CLIでの対話だけでなく、OllamaのAPIを利用してアプリケーションを開発する際にも応用できます。まずは気軽に色々なプロンプトを試して、モデルの反応を見てみましょう。

第6章 さらに活用! Ollamaの高度な機能紹介

OllamaはCLIでの対話だけでなく、開発者向けのREST APIを提供したり、コミュニティ製のGUIフロントエンドと連携したりすることで、さらに幅広い活用が可能です。ここではそれらの高度な機能について紹介します。

6.1 REST APIの利用

Ollamaサービスは、デフォルトでhttp://localhost:11434でREST APIを提供しています。これにより、プログラミング言語や他のアプリケーションからOllamaの機能を利用できます。

主なAPIエンドポイント:

  • /api/generate: テキスト生成
  • /api/chat: チャット形式の対話
  • /api/list: ダウンロード済みモデルの一覧取得
  • /api/pull: モデルのダウンロード開始
  • /api/create: カスタムモデルの作成
  • /api/delete: モデルの削除

curlコマンドを使った簡単なAPI利用例:

コマンドプロンプトやターミナルからcurlコマンドを使って、llama3モデルにテキスト生成を依頼する例です。

bash
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "宇宙エレベーターについて簡単に説明してください。"
}'

実行すると、JSON形式でモデルの応答が返ってきます。

json
{"model":"llama3","created_at":"2023-10-27T10:30:00.000Z","response":"宇宙エレベーターは、地上と宇宙空間を結ぶ巨大な構造物で、人や物資を低コストで宇宙へ運ぶことを目指す構想です。","done":true}

このように、APIを使えばOllamaを独自のアプリケーションに組み込むことができます。Python, Node.js, Goなど、様々なプログラミング言語からAPIを簡単に呼び出すためのライブラリもコミュニティによって提供されています。

6.2 Web UI / GUIフロントエンド

CLIでの操作に慣れていない方や、より直感的に複数のモデルを切り替えながら使いたい場合は、Ollamaと連携するWeb UIやGUIフロントエンドを利用するのがおすすめです。

人気のあるOllama対応Web UI/GUIの例:

  • Ollama Web UI: Ollamaチームやコミュニティによって開発されている公式に近いWeb UI。チャット形式での対話、モデルの切り替え、設定変更などがWebブラウザ上で行えます。Dockerを使って簡単にインストールできます。
  • Chatbot UI: オープンソースの汎用チャットUI。Ollamaだけでなく、OpenAI APIや他のLLMサービスとも連携できます。OllamaのAPIエンドポイントを指定して接続します。
  • Third-party Applications: OllamaのAPIを利用して開発された様々なデスクトップアプリケーションやWebアプリケーションも存在します。

これらのUIを使うことで、ブラウザや専用アプリケーション上でチャット感覚でLLMを利用できます。モデルの管理(ダウンロード、削除)や、システムプロンプトの設定などもGUIで簡単に行えるものが多いです。

Ollama Web UIのインストール例 (Docker利用):

Ollama Web UIはDockerイメージとして提供されているため、Docker環境が整っていれば以下のコマンドで簡単に起動できます。

bash
docker run -d -p 3000:8080 --add-host host.docker.internal:host-gateway -v ollama-webui:/app/backend/data --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main

Dockerコンテナが起動したら、ウェブブラウザでhttp://localhost:3000にアクセスするとWeb UIが表示されます。初回起動時にはユーザー登録が必要です。

※Dockerのインストールと基本的な使い方は、別途学ぶ必要があります。

Web UIを使えば、CLIが苦手な方でもOllamaの機能をフルに活用できるようになります。

6.3 カスタムモデルの作成 (ollama create)

Ollamaでは、既存のモデルをベースに、特定の振る舞いや知識を追加した独自のカスタムモデルを作成することも可能です。これには「Modelfile」という定義ファイルを使用します。

Modelfileの基本:

Modelfileは、ベースとなるモデルを指定し、その振る舞いを変更するための指示を記述するテキストファイルです。

例: my-llama3-modelというカスタムモデルを作成するためのModelfile

“`dockerfile
FROM llama3 # ベースとするモデルを指定

モデルに特定の役割や知識を与える

SYSTEM “””
あなたは親切で丁寧な日本語のアシスタントです。
どんな質問にも、日本の文化や習慣を考慮して回答します。
歴史に関する質問には、特に詳しく答えてください。
“””

モデルのパラメータを調整する (オプション)

PARAMETER temperature 0.7 # 応答のランダム性 (低いほど一貫性)
PARAMETER top_k 20 # サンプリング時に考慮するトークンの上位K個
PARAMETER top_p 0.9 # サンプリング時に考慮するトークンの累積確率

ユーザーやアシスタントの対話形式を設定する (オプション)

MESSAGE system “あなたは〇〇です。”

MESSAGE user “こんにちは”

MESSAGE assistant “こんにちは!”

“`

カスタムモデルの作成コマンド:

ModelfileをModelfileという名前で保存したディレクトリで、以下のコマンドを実行します。

bash
ollama create my-llama3-model -f Modelfile

  • my-llama3-model: 作成したいカスタムモデルの名前。
  • -f Modelfile: 使用するModelfileを指定。

このコマンドを実行すると、指定したModelfileに基づいて新しいモデルが作成され、ollama listで確認できるようになります。

カスタムモデルを作成することで、特定のタスクに特化したLLMを作成したり、自分好みの応答スタイルを持つLLMを育てたりといった応用が可能になります。さらに進んだ使い方として、LoRA (Low-Rank Adaptation) という技術でファインチューニングしたアダプターモデルをModelfileに組み込むことも可能です。

第7章 快適に使うためのパフォーマンスの考慮事項

ローカルLLMを快適に利用できるかどうかは、コンピューターのハードウェア性能に大きく依存します。特に、モデルの応答速度は、CPUやGPU(VRAM)の性能によって大きく変わります。

7.1 CPUベース vs GPUアクセラレーション

  • CPUベースでの実行: GPUがない、またはVRAMが不足している場合、Ollamaはモデルの計算をCPUで行います。これはどんなコンピューターでも実行できるという利点がありますが、計算能力の限界から応答速度が非常に遅くなります。小さなモデル(例: 3BパラメータのQuantized版)であれば実用的な速度で動くこともありますが、7B以上のモデルをCPUだけで動かすのは時間がかかります。
  • GPUアクセラレーション: 対応するGPU(NVIDIA CUDA, AMD ROCm, Apple Metal)がある場合、Ollamaはその計算能力を利用してモデルの実行を高速化します。特に、LLMの計算に重要な行列演算などはGPUが非常に得意とする分野です。快適にLLMを利用するには、GPUアクセラレーションがほぼ必須と言えます。

7.2 VRAM (GPUメモリ) の重要性

GPUの性能の中でも、LLMの実行において最も重要なのがVRAM容量です。モデルをGPU上で実行するためには、モデルのパラメータや計算途中のデータをVRAMにロードする必要があります。VRAM容量が不足していると、モデル全体または一部をVRAMにロードできず、CPUとの間でデータのやり取りが発生したり、最悪の場合は実行自体がエラーになったりします。

モデルサイズと必要なVRAM容量の目安(再掲 & 詳細化):

モデルサイズ (パラメータ) Quantizationレベル モデルファイルサイズ (概算) 必要なVRAM (目安) 備考
3B q4 ~2GB 4GB ~ 比較的低スペックでもGPU実行しやすい
3B fp16 ~6GB 8GB ~
7B q4 ~4GB 8GB ~ 多くのコンシューマー向けGPUで試せる
7B q8 ~7GB 10GB ~
7B fp16 ~14GB 16GB ~ 比較的高性能なGPU向け
13B q4 ~8GB 12GB ~ VRAM16GB以上を推奨
13B q8 ~13GB 20GB ~ VRAM24GB以上を推奨
13B fp16 ~26GB 32GB ~ ワークステーション/サーバー向け
70B q4 ~40GB 48GB ~ ハイエンドGPU必須、64GB以上を強く推奨
  • 上記のVRAM目安は、モデルを単にロードして実行する際の最低限または推奨される容量です。実際の使用時には、OSや他のアプリケーションが使用するVRAM、LLMの計算に必要な追加メモリなどが加わるため、表示されている容量よりも少し余裕がある方が望ましいです。
  • 特に複雑なプロンプトや長い応答を生成する場合、一時的に必要なメモリが増加することがあります。
  • 複数のモデルを同時にロードしたり、Web UIなどで複数のチャットセッションを開いたりすると、必要なVRAMはさらに増加します。

7.3 実行時のリソースモニタリング

Ollamaがどれだけコンピューターのリソース(CPU、RAM、GPU、VRAM)を使っているかを確認すると、パフォーマンスの問題の切り分けに役立ちます。

  • Windows: タスクマネージャー (Ctrl + Shift + Esc)。「パフォーマンス」タブでCPU、メモリ、GPUの使用率を確認できます。GPUの詳細表示では、各プロセスのVRAM使用量も確認できます。
  • macOS: アクティビティモニタ。「CPU」「メモリ」「GPU履歴」タブを確認します。Apple Siliconの場合、メモリ使用量が統合メモリとして表示されます。
  • Linux:
    • ターミナルでtophtopコマンドでCPU/メモリ使用量。
    • NVIDIA GPUの場合、nvidia-smiコマンドでGPU使用率とVRAM使用量を確認できます。
    • glancesのようなより高機能なモニタリングツールもあります。

モデルを実行中にこれらのツールでリソース使用率を確認し、特にCPUが100%近くになっている、またはVRAMが上限に達しているような場合は、ハードウェアがボトルネックになっている可能性が高いです。

7.4 パフォーマンス改善のヒント

  • より高性能なハードウェアへのアップグレード: これが最も効果的ですが、コストがかかります。特にVRAM容量の多いGPUは、ローカルLLMにとって非常に重要です。
  • より小さなモデルまたはQuantizationレベルの低いモデルを選択する: コンピューターのスペックに合わせたモデルサイズを選ぶことで、無理なく実行できます。まずは7B以下のモデルやq4などのQuantized版から試しましょう。
  • Ollamaのバージョンを最新に保つ: Ollamaは活発に開発されており、新しいバージョンではパフォーマンスの改善や新しいハードウェアへの対応が進んでいることがあります。
  • GPUドライバーを最新にする: GPUの性能を最大限に引き出すために、ビデオカードメーカーの公式サイトから最新のドライバーをダウンロードしてインストールしてください。
  • バックグラウンドプロセスを減らす: LLM実行中は多くのリソースを消費します。可能な限り、他のアプリケーションを終了させてリソースを解放することで、LLMのパフォーマンスが向上する場合があります。
  • Linux環境でのGPUパススルー設定: WindowsでWSL2を使用している場合、WSL2からホストOSのGPUに効率的にアクセスできるよう設定されているか確認します。NVIDIAの場合、CUDA on WSL2の設定を確認します。
  • Ollamaの設定調整: 一部の高度な設定(例: GPUレイヤー数など)を調整することで、特定の環境でのパフォーマンスを最適化できる場合がありますが、これは上級者向けです。Modelfileのパラメータ設定も応答生成の速度や質に影響します。

ローカルLLMのパフォーマンスはハードウェアに大きく左右されるため、ご自身のコンピューターのスペックを理解し、それに合ったモデルを選ぶことが快適な利用の鍵となります。

第8章 トラブルシューティング

Ollamaのインストールや利用中に遭遇しやすい一般的な問題と、その解決策を紹介します。

8.1 インストールや起動に関する問題

  • 「ollama」コマンドが見つからない:
    • インストールが正しく完了していない可能性があります。再度インストーラーを実行してみてください。
    • Windowsの場合、システムの環境変数PATHにOllamaがインストールされたディレクトリが含まれていない可能性があります。インストーラーが自動で設定することが多いですが、手動で確認・追加が必要な場合があります。または、コマンドプロンプト/PowerShellを再起動してみてください。
    • Linuxの場合、インストールスクリプトが正しく実行されなかったか、権限の問題でバイナリが配置できなかった可能性があります。curl https://ollama.com/install.sh | sh をsudo権限で実行してみてください。
  • Ollamaサービスが起動しない:
    • 別のプログラムがポート11434を使用している可能性があります。Ollamaはデフォルトでポート11434を使用します。他のアプリケーションがこのポートを占有していないか確認してください。必要であれば、Ollamaの設定ファイルを編集してポート番号を変更できます(上級者向け)。
    • Windowsサービス、macOSのメニューバーアイコン、またはLinuxのsystemctl status ollamaコマンドでサービスの状態を確認し、エラーメッセージが出ていないか確認します。ログファイルを確認することも有効です。
    • インストール時に問題が発生した可能性があります。Ollamaを一度アンインストールし、再起動後に再度インストールを試してみてください。
  • WindowsでWSL2版OllamaからホストOSのGPUが見えない:
    • Windows側のNVIDIAドライバーが最新か確認してください。WSL2向けのコンポーネントが含まれている必要があります。
    • WSL2環境内でCUDAツールキットなどが正しく設定されているか確認してください。Ubuntuの場合、NVIDIAの公式手順に従ってCUDA on WSL2をセットアップします。
    • WSL2のバージョンが古い可能性があります。wsl --updateコマンドでWSLを最新の状態に更新してください。

8.2 モデルのダウンロードに関する問題

  • ダウンロードが途中で止まる、またはエラーになる:
    • インターネット接続が不安定な可能性があります。ネットワーク環境を確認してください。
    • Ollamaのリポジトリサーバーに一時的な問題が発生している可能性があります。少し時間をおいてから再度試してみてください。
    • ローカルのストレージ容量が不足している可能性があります。不要なファイルを削除して空き容量を確保してください。ollama listやエクスプローラー/FinderでOllamaがモデルを保存しているディレクトリを確認してみてください(場所はOSによって異なります)。
  • 「Error: couldn’t find model …」と表示される:
    • 指定したモデル名またはタグが間違っている可能性があります。ollama listでローカルにあるモデル名を確認するか、Ollama Library(https://ollama.com/library)で正しいモデル名とタグを確認してください。
    • まだモデルをダウンロードしていない場合は、ollama pull <model_name>で事前にダウンロードするか、ollama run <model_name>を実行して自動ダウンロードを待ってください。インターネットに接続されていることを確認してください。

8.3 モデルの実行に関する問題

  • 実行が非常に遅い:
    • ハードウェアの性能が不足している可能性が高いです。特にRAMやVRAMが不足している場合、CPUでの処理が増加し、応答速度が遅くなります。第7章の「パフォーマンスの考慮事項」を参照してください。
    • GPUが正しく使われていない可能性があります。NVIDIA GPUの場合、nvidia-smiコマンドでGPU使用率とVRAM使用率を確認してください。OllamaのログにGPUが認識されているか、オフロードされているかに関する情報が出力されることがあります。
    • より小さなモデルや、Quantizationレベルの低いモデル(例: q4_k_m)を試してみてください。
  • 「Error: not enough memory」または類似のエラー:
    • コンピューターの物理メモリ(RAM)またはGPUのVRAMが不足しています。ロードしようとしているモデルサイズに対して、使用可能なメモリ容量が足りません。
    • より小さなモデル、またはQuantizationレベルの低いモデルを使用してください。
    • 不要なアプリケーションを終了してメモリを解放してください。
    • 可能であれば、RAMまたはVRAM容量の多いハードウェアにアップグレードを検討してください。
  • モデルの応答が不自然、または期待と違う:
    • プロンプトの指示が不明確な可能性があります。第5章の「プロンプトエンジニアリングの基本」を参考に、より具体的で明確なプロンプトを試してみてください。
    • モデル自体の性能や特性によるものです。他のモデル(例: Llama 3, Mistralなど)を試してみる価値があります。
    • Quantizationレベルが高いモデル(fp16など)は精度が高い傾向がありますが、必要なリソースも大きくなります。
    • カスタムモデルを使っている場合は、Modelfileの内容が適切か確認してください。
  • 対話セッション中にエラーが発生する:
    • モデルのロード中に問題が発生した可能性があります。一度/byeでセッションを終了し、再度ollama runコマンドでモデルを起動してみてください。
    • コンピューターのリソース(メモリ、CPU、GPU)が限界に達している可能性があります。リソースモニタリングツールで確認し、必要に応じて他のアプリケーションを終了するか、より小さなモデルを使用してください。
    • Ollamaサービス自体に問題が発生している可能性があります。サービスを再起動してみてください。

8.4 その他

  • Ollamaのアップデート方法: Ollamaをアップデートするには、公式サイトから最新版のインストーラーをダウンロードし、再度実行するだけです。既存のインストール環境に上書きインストールされ、モデルなどのデータは引き継がれます。Linux版は、インストール時に使用したスクリプトを再度実行することでアップデートできる場合があります(スクリプトの内容によります)。
  • Ollamaのアンインストール方法:
    • macOS: アプリケーションフォルダからOllamaアプリケーションをゴミ箱に移動します。完全に削除するには、設定ファイルやモデルデータも削除する必要があります(上級者向け)。
    • Windows: コントロールパネルの「プログラムのアンインストール」または「アプリと機能」からOllamaを選択してアンインストールします。
    • Linux (systemdを使用): sudo systemctl stop ollamaでサービスを停止後、sudo rm -rf /usr/local/bin/ollama /usr/share/ollama ~/.ollama のように、Ollamaのバイナリやデータディレクトリを削除します。

もし上記の方法で解決しない場合は、Ollamaの公式ドキュメントやGitHubリポジトリのIssueを確認したり、Ollamaコミュニティに質問したりすることも有効です。

第9章 まとめと次のステップ

この記事では、話題のローカルLLM実行環境であるOllamaのインストール方法から基本的な使い方、そしてさらに踏み込んだ活用方法までを詳細に解説しました。

Ollamaを使うことで、あなたは以下のことを手に入れました。

  • プライバシーとセキュリティ: 自分のコンピューター内で完結するLLM環境。
  • コスト効率: 一度モデルをダウンロードすれば、追加費用なしで使い放題。
  • 柔軟な利用: オフラインでの利用や、様々なモデルの試行錯誤。
  • カスタマイズの可能性: モデルパラメータの調整やカスタムモデルの作成。
  • 簡単な導入: 手軽なインストールとシンプルなCLI操作。

Ollamaは、これまで一部の開発者や研究者だけのものであったローカルLLMの世界を、多くのコンピューターユーザーにとって身近なものにしてくれました。これは、AI技術の民主化という観点でも非常に大きな進歩と言えるでしょう。

この記事で学んだCLIの基本的な使い方をマスターすれば、あなたはOllamaを使ったローカルLLMの可能性を大きく広げることができます。

次のステップへの提言:

  • 様々なモデルを試す: Ollama Libraryには様々な特徴を持つモデルがあります。日本語に強いモデル、特定のタスクに特化したモデルなどをダウンロードして試してみてください。
  • Web UIを使ってみる: CLI操作に慣れていない、あるいはより快適な操作感を求めるなら、Ollama Web UIなどのGUIフロントエンドを導入してみましょう。
  • Ollama APIを利用する: プログラミングができるなら、OllamaのREST APIを使って独自のアプリケーションやツールを開発してみましょう。Ollamaをバックエンドとして利用する様々なプロジェクトがGitHubなどで公開されています。
  • カスタムモデルを作成する: Modelfileを使って、自分専用の振る舞いを持つカスタムモデルを作成してみましょう。特定のドキュメントでファインチューニングされたLoRAアダプターを組み込むことも、より高度な応用として可能です。
  • コミュニティに参加する: Ollamaのコミュニティや関連プロジェクトは活発です。質問したり、情報を交換したりすることで、さらに理解を深めることができます。

Ollamaはまだ比較的新しいプロジェクトであり、日々進化しています。新しい機能が追加されたり、対応モデルが増えたりしていますので、公式情報を定期的にチェックすることをおすすめします。

あなたのローカルLLMライフが、Ollamaによってさらに豊かで創造的なものになることを願っています。

付録:用語集

  • LLM (Large Language Model / 大規模言語モデル): 大量のテキストデータで学習された、人間のような自然な文章を理解・生成できるAIモデルのこと。
  • CLI (Command Line Interface / コマンドラインインターフェース): テキストコマンドを入力してコンピューターを操作する方法。ターミナルやコマンドプロンプトから利用します。
  • GUI (Graphical User Interface / グラフィカルユーザーインターフェース): アイコンやウィンドウ、ボタンなどをクリックしてコンピューターを操作する方法。一般的なアプリケーションはこちらの形式です。
  • モデル (Model): LLMの中身、つまり学習済みのデータと構造のこと。特定のモデル名(例: Llama 3, Mistral)で呼ばれます。
  • トークン (Token): LLMがテキストを扱う際の基本的な単位。単語や文字のかたまり、あるいは句読点などがトークンになります。テキストは内部的にトークンの並びとして処理されます。
  • プロンプト (Prompt): LLMへの入力指示や質問のこと。この入力に基づいてモデルが応答を生成します。
  • Quantization (量子化): モデルのパラメータの精度(ビット数)を下げることで、モデルサイズを小さくし、必要なメモリ容量を減らす技術。
  • VRAM (Video RAM): GPUに搭載されている専用メモリ。特にLLMのような大規模な計算を行う際に、モデルやデータをロードするために非常に重要です。
  • GGUF: LLaMA.cppプロジェクトで開発された、CPUやコンシューマー向けGPUでのLLM実行に最適化されたモデルファイル形式。
  • Modelfile: Ollamaでカスタムモデルを作成する際に使用する定義ファイル。ベースモデルやパラメータ、システムプロンプトなどを記述します。
  • WSL2 (Windows Subsystem for Linux 2): Windows上で軽量かつ高性能なLinux環境を実行するための機能。

これで、Ollamaのインストールと基本的な使い方に関する約5000語の詳細な入門記事は完成です。この情報が、あなたのローカルLLM環境構築の助けになれば幸いです。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール