最近注目を集めているローカルで動作するLLM(大規模言語モデル)ランタイム「Ollama」のUbuntu環境での導入方法と基本的な使い方について解説する。Ollamaを使用することで、プライバシーを保ちながら、ローカル環境で高性能なAIアシスタントを利用することが可能である。
1. Ollamaとは
Ollamaは、オープンソースのLLMランタイムで、以下のような特徴を持つ:
- ローカル環境で動作する(インターネット接続不要)
- 様々なオープンソースモデルに対応
- APIを通じた柔軟な利用が可能
- システムリソースの要件が比較的低い
2. システム要件
Ollamaの動作には以下のようなシステム要件が必要である。
What are the minimum hardware requirements to run an ollama model? あたりの情報を参考に。
2.1 基本要件
- RAM:
- 7Bパラメータモデル: 最低8GB RAM
- 13Bパラメータモデル: 最低16GB RAM
- 70Bパラメータモデル: 最低64GB RAM
2.2 推奨スペック
- CPU: AVX512対応のIntel/AMD CPU、もしくはDDR5対応プロセッサ
- RAM: 16GB以上
- ストレージ: 約50GB以上の空き容量
2.3 GPU要件(オプション)
- NVIDIA GPU: ドライバーバージョン452.39以上
- AMD GPU: 最新のRadeonドライバー
なお、実際の必要スペックは使用するモデルのサイズや用途によって大きく異なる。特に大規模なモデルを使用する場合は、より多くのリソースが必要となる点に注意が必要である。
3. インストール手順
Ubuntu環境でのインストールは非常に簡単である。以下のコマンドを実行する:
1 | curl -fsSL https://ollama.com/install.sh | sh |
インストール後、システムサービスとして登録し、自動起動を設定する。なお、手元の環境では最初から下記の環境設定が完了していたので不要かもしれない。:
1 | systemctl start ollama |
正常にインストールされたことを確認する:
1 | systemctl status ollama |
4. 基本的な使い方
4.1 モデルのダウンロード
最初に使用したいモデルをダウンロードする必要がある:
1 | # Llama 3モデルをダウンロード |
4.2 対話モードでの利用
1 | # 対話モードでモデルを起動 |
4.3 APIとしての利用
Ollamaは11434番ポートでHTTP APIを提供している:
1 | curl -X POST http://localhost:11434/api/generate -d '{ |
5. カスタマイズと応用
5.1 システムプロンプトのカスタマイズ
Modelfileを使用して、モデルの振る舞いをカスタマイズすることができる:
1 | # Modelfileの作成 |
5.2 環境変数の設定
必要に応じて以下のような環境変数を設定する:
1 | # GPUメモリ制限の設定 |
6. セキュリティ設定
6.1 ファイアウォールの設定
UFWを使用している場合は、必要なポートを開放する:
1 | sudo ufw allow 11434/tcp |
6.2 アクセス制限
特定のIPアドレスからのみアクセスを許可する場合の設定:
1 | # /etc/systemd/system/ollama.service.d/override.conf |
7. トラブルシューティング
7.1 ログの確認
問題が発生した場合は、以下のコマンドでログを確認する:
1 | # システムログの確認 |
7.2 一般的な問題の解決
1 | # サービスの再起動 |
8. 参考情報とリソース
公式リソース
- Ollama 公式サイト
- 最新のドキュメントと更新情報
- モデルのダウンロードとライブラリ
- Ollama GitHub
- ソースコードとイシュートラッキング
- コミュニティの貢献とディスカッション
モデル関連
- Llama 2
- Meta社による基本モデルの詳細
- ライセンスと使用条件
コミュニティリソース
- Ollama Discord
- コミュニティサポート
- ユースケースの共有
- Ollama Reddit
- ユーザーディスカッション
- トラブルシューティングのヒント
関連プロジェクト
- LangChain
- Ollamaとの統合例
- アプリケーション開発フレームワーク
まとめ
Ollamaを使用することで、プライバシーを保ちながらローカル環境で高性能なAIアシスタントを利用することが可能となる。 この記事で紹介した設定や使い方を参考に、各自の環境に合わせたAIアシスタントの構築を検討されたい。