5.6 KiB
開発
必要なツールをインストールしてください:
- cmake バージョン3.24以上
- go バージョン1.21以上
- gcc バージョン11.4.0以上
brew install go cmake gcc
オプションでデバッグおよび詳細なログを有効にする:
# At build time
export CGO_CFLAGS="-g"
# At runtime
export OLLAMA_DEBUG=1
必要なライブラリを取得し、ネイティブLLMコードをビルドしてください:
go generate ./...
次に、Ollamaをビルドしてください:
go build .
これで、ollama
を実行できます:
./ollama
Linux
Linux CUDA (NVIDIA)
お使いのオペレーティングシステムディストリビューションには、既にNVIDIA CUDA用のパッケージが含まれているかもしれません。ディストリビューションパッケージは通常好ましいですが、手順はディストリビューションに依存します。可能であれば、ディストリビューション固有のドキュメントを確認して、依存関係に関する情報を参照してください。
cmake
およびgolang
をインストールし、NVIDIA CUDAの開発およびランタイムパッケージもインストールしてください。
通常、ビルドスクリプトはCUDAを自動検出しますが、Linuxディストリビューションやインストールアプローチが異常なパスを使用する場合は、環境変数CUDA_LIB_DIR
を共有ライブラリの場所に、CUDACXX
をnvccコンパイラの場所に指定することができます。また、CMAKE_CUDA_ARCHITECTURES
を設定して、対象のCUDAアーキテクチャをカスタマイズできます(例:"50;60;70")。
その後、依存関係を生成してください:
go generate ./...
その後、バイナリをビルドしてください:
go build .
Linux ROCm (AMD)
お使いのオペレーティングシステムディストリビューションには、すでにAMD ROCmおよびCLBlast用のパッケージが含まれているかもしれません。ディストリビューションパッケージは通常好ましいですが、手順はディストリビューションに依存します。可能であれば、ディストリビューション固有のドキュメントを確認して、依存関係に関する情報を参照してください。
まず、CLBlastとROCmの開発パッケージ、およびcmake
とgolang
をインストールしてください。
通常、ビルドスクリプトはROCmを自動検出しますが、Linuxディストリビューションやインストールアプローチが異常なパスを使用する場合は、環境変数ROCM_PATH
をROCmのインストール場所に(通常は/opt/rocm
)、CLBlast_DIR
をCLBlastのインストール場所に(通常は/usr/lib/cmake/CLBlast
)指定することができます。また、AMDGPU_TARGETS
を設定してAMD GPUの対象をカスタマイズすることもできます(例:AMDGPU_TARGETS="gfx1101;gfx1102"
)。
go generate ./...
その後、バイナリをビルドしてください:
go build .
ROCmは実行時にGPUにアクセスするために特権が必要です。ほとんどのディストリビューションでは、ユーザーアカウントをrender
グループに追加するか、rootとして実行することができます。
ROCm requires elevated privileges to access the GPU at runtime. On most distros you can add your user account to the render
group, or run as root.
高度なCPU設定
デフォルトでは、go generate ./...
を実行すると、一般的なCPUファミリとベクトル数学の能力に基づいて、いくつかの異なるバリエーションのLLMライブラリがコンパイルされます。これには、ほとんどの64ビットCPUで動作する最低限のバージョンも含まれており、パフォーマンスはやや低いです。実行時に、Ollamaは最適なバリエーションを自動検出してロードします。プロセッサにカスタマイズされたCPUベースのビルドを作成したい場合は、OLLAMA_CUSTOM_CPU_DEFS
を使用したいllama.cppフラグに設定できます。たとえば、Intel i9-9880H向けに最適化されたバイナリをコンパイルする場合は、次のようにします:
OLLAMA_CUSTOM_CPU_DEFS="-DLLAMA_AVX=on -DLLAMA_AVX2=on -DLLAMA_F16C=on -DLLAMA_FMA=on" go generate ./...
go build .
コンテナ化されたLinuxビルド
Dockerが利用可能な場合、CUDAおよびROCmの依存関係が含まれている./scripts/build_linux.sh
を使用してLinux用のバイナリをビルドできます。生成されたバイナリは./dist
に配置されます。
Windows
注意:OllamaのWindowsビルドはまだ開発中です。
必要なツールをインストールしてください:
- MSVCツールチェーン - C/C++およびcmakeが最小要件です
- go バージョン1.21以上
- GCCを搭載したMinGW(いずれかを選択)
$env:CGO_ENABLED="1"
go generate ./...
go build .
Windows CUDA (NVIDIA)
上記で説明した一般的なWindows開発ツールに加えて、以下をインストールしてください: