ollama/docs/ja/development.md
2024-03-12 19:59:59 +08:00

6.0 KiB
Raw Blame History

開発

必要なツールをインストールしてください:

  • cmake バージョン 3.24 以上
  • go バージョン 1.22 以上
  • gcc バージョン 11.4.0 以上
brew install go cmake gcc

オプションでデバッグおよび詳細なログを有効にする:

# ビルド時
export CGO_CFLAGS="-g"

# 実行時
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 用のパッケージが含まれているかもしれません。ディストリビューションパッケージは通常好ましいですが、手順はディストリビューションに依存します。可能であれば、ディストリビューション固有のドキュメントを確認して、依存関係に関する情報を参照してください。

まず、CLBlastROCmの開発パッケージ、および cmakegolang をインストールしてください。

通常、ビルドスクリプトは 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 として実行することができます。

高度な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 を最小の要件として - 環境変数を設定した "Developer Shell" からビルドする必要があります
  • go のバージョン 1.22 以上
  • GCC を搭載した MinGWいずれかを選択
$env:CGO_ENABLED="1"

go generate ./...

go build .

Windows CUDA (NVIDIA)

上記で説明した一般的な Windows 開発ツールに加えて、MSVC をインストールしたに CUDA をインストールしてください。

Windows ROCm (AMD Radeon)

上記で説明した一般的な Windows 開発ツールに加えて、MSVC をインストールしたに AMD の HIP パッケージをインストールしてください。