ローカルLLMというものをDeepSeek R1が登場してから知り、サブPCのTITAN Vで色々試していたが、メインPCでも動かせないかなーと思い試してみた。
環境
- OS:Windows 11
- GPU:Radeon RX 7800 XT
WSLやネイティブLinux環境は分からん。
手順
自分もよく分かってない部分があるので間違っている点があれば指摘していただきたい。
なおこの投稿を参考に進めていく。
1. HIP SDKをDL+Install
リンクはこちら↓
https://www.amd.com/en/developer/resources/rocm-hub/hip-sdk.html
Windows 10 & 11の最新版(投稿時6.2.4)を選択する。
HIPってなんぞ?と思ったのでChatGPTに投げてみる。
2. HIP (Heterogeneous-Computing Interface for Portability)
HIP は、CUDA に非常に似た構文を持つ C++ API で、AMD と NVIDIA の両方の GPU で動作するコードを記述できるように設計されています。
基本的に HIP は、CUDA コードを AMD 環境に移植しやすくするための仕組みです。
HIP の特徴
CUDA に似た API を持つため、CUDA コードを簡単に変換できる
hipcc コンパイラを使用して、NVIDIA (CUDA) 用と AMD (ROCm) 用のバイナリを生成可能
ROCm の一部として提供される
簡単に言うと:HIP は CUDA 互換の C++ API で、AMD GPU でも CUDA のように並列計算を記述できる技術
そういうことらしい。
2. OllamaをDL+Install
リンクはこちら↓
https://ollama.com/download
Windowsを選択すれば良い。
なおGUIはないのでインストール後にOllamaをクリックしても何も表示されないことに注意。
Ollamaはllama.cppをバックエンドにしたOSSで、色々なローカルLLMを実行可能にするやつ。似たようなのでLM Studioというものもある。
3. ROCmLibraryをDL
リンクはこちら↓
https://rocm.docs.amd.com/projects/install-on-windows/en/latest/reference/system-requirements.html
このリンクに飛び、自分のGPUの欄のLLVM Targetという項目と同じ名前のものをDLする。私の場合は「hipblaslt-rocmlibs-for-gfx1100-gfx1101-gfx1102-gfx1103-gfx1150-for.hip6.2.7z」を使う。
DLが終わったら解凍しておく。
4. ZLUDAをDL
リンクはこちら↓
https://github.com/lshqqytiger/ZLUDA/releases
1でインストールしたHIP SDKのROCmバージョンに合わせてDLする(投稿時最新版は3.9.0)。私の場合「ZLUDA-windows-rocm6-amd64.zip」を選択。
で、解凍して任意の場所に配置後、パスを通しておく。
5. ファイル操作
3で解凍したフォルダ直下の「library」フォルダをコピーし、「C:\Users\tomo_9180\AppData\Local\Programs\Ollama\lib\ollama\rocm\rocblas」直下に上書きする。
4で解凍したフォルダ内の「cublas.dll」をコピーし、「C:\Users\ユーザ名\AppData\Local\Programs\Ollama」下に貼り付けて、名前を「cublas64_11.dll」に変える。
6. Ollama起動
> ollama run gemma2:9b
例としてgemma2を置いておく。これでGPUがちゃんと使われるはず。
コメントを残す