こんにちは。最近、会社によく出社するのですが、開発部の部屋を漁っていたら誰のものでもないPCを発見しました。
調べてみると結構いい性能だったので、ubuntuを入れてLocakLLMを構築してみようと思います。
この記事は、coins Advent Calendar 2025 の10日目の記事です。
構築するパソコンのスペック
会社に落ちていたPCのスペックは以下の通りです。
| 項目 | スペック |
|---|---|
| CPU | Intel 13世代 i9 |
| GPU | RTX 5000 Ada |
| RAM | 64GB |
| SSD | 6TB |
なんかすごいスペックで、放置されてたとは思えない。
そもそもなぜこのスペックのノートPCを買ったのか、ちなみにとんでもなく重くて持ち運べる重さではないです。
社長に聞いたところ、昔お金のないといった社員のPCを買い取ってお金を渡したそう。
こんなPC買うからお金がないのでは...
Windowsを消してUbuntuを入れる
とりあえず、Windowsを消していきたいと思います。
特に変わったことはしていないので詳しいことは省略しますが、Ubuntu ISOをUSBに書き込みブータブルUSBを作成して「ディスクを削除してUbuntuをインストール」を選択し実行しました。今回はデュアルブートにはせず、完全にWindowsを消し去りました。
参考にした記事を添付しておきます。
入れるLLMを決める
DeepseekとMixtralで悩みましたが、今回はRTX 5000 AdaのVRAMを最大限生かせてコーディングや技術関連に強いとされている、DeepSeek Coder 33B を採用しようと思います。
DeepSeek Coder 33B GGUFのダウンロード
システムエラーやパスの問題を回避するため、仮想環境とPythonスクリプトを使ってモデルファイルを確実にダウンロードします。
Hugging Face CLIの準備と仮想環境の有効化
cd ~/llama.cpp
python3 -m venv .venv-hf
source .venv-hf/bin/activate
pip install huggingface-hub hf-transfer
GGUFファイルのダウンロード
cd models
nano download_hf.py
download_hf.py の内容:
import os
from huggingface_hub import hf_hub_download
os.environ['HF_HUB_ENABLE_HF_TRANSFER'] = '1'
hf_hub_download(
repo_id="TheBloke/deepseek-coder-33B-instruct-GGUF",
filename="deepseek-coder-33b-instruct.Q4_K_M.gguf",
local_dir='.',
local_dir_use_symlinks=False
)
print("ダウンロードが完了しました。")
python download_hf.py
deactivate
llama.cppのビルド手順
RTX 5000 Adaの性能を引き出すため、CMakeと-DGGML_CUDA=ONオプション を使用し、GPUアクセラレーションを有効にしてビルドします。
1. 依存関係のインストール
# CUDA Toolkit (nvcc)と開発用ライブラリの確認/インストール
sudo apt install nvidia-cuda-toolkit cmake libcurl4-openssl-dev -y
git clone https://github.com/ggerganov/llama.cpp.git
2. ビルドの実行
cd ~/llama.cpp
rm -rf build # 以前のビルドを削除
mkdir build
cd build
# CMakeの設定: GGML_CUDAを有効化。CURLエラー回避のため無効化(-DLLAMA_CURL=OFF)
cmake .. -DGGML_CUDA=ON -DLLAMA_CURL=OFF
# makeの実行: i9-13th Genの全コア(-j)を使用
make -j$(nproc)
トラブルシューティング
構築過程でエラーが色々出たのでその解決方法を書いておきます。
| エラーメッセージの例 | 原因 | 解決策 |
|---|---|---|
bash: ./main: No such file or directory |
ビルドが成功していない、または実行ファイル名が変わった。 |
cd ~/llama.cpp/build でビルドが完了しているか確認し、./bin/llama-cli で実行する。 |
CUDA Toolkit not found |
CUDA開発環境(nvcc)がない。 |
sudo apt install nvidia-cuda-toolkit を実行し、nvcc --version で確認。 |
Could NOT find CURL |
CURLの開発ライブラリがない。 |
sudo apt install libcurl4-openssl-dev を追加でインストールし、ビルドを再実行する。 |
huggingface-cli: command not found |
仮想環境が有効化されていない。 |
source .venv-hf/bin/activate を再度実行し、プロンプトに (.venv-hf) が表示されているか確認する。 |
Permission denied |
aptコマンドでsudoを使い忘れている。 |
sudo を付けてコマンドを再実行するか、他のaptプロセスを終了する。 |
DeepSeek Coder 33Bの実行と最適化
ビルドに成功し、実行ファイルが ./build/bin/llama-cli に生成されたら、以下のコマンドで起動します。
実行コマンド
# ~/llama.cpp ディレクトリにいることを確認
cd ~/llama.cpp
# ライブラリパスの設定と llama-cli の実行
LD_LIBRARY_PATH=./build/bin:$LD_LIBRARY_PATH ./build/bin/llama-cli \
-m models/deepseek-coder-33b-instruct.Q4_K_M.gguf \
-p "Write a C++ function to reverse a string in-place." \
-ins \
-n 512 \
--n-ctx 4096 \
--n-gpu-layers 1000 \
--n-threads $(nproc)
起動が確認できてチャットもできるようになりました!
おわりに
会社の人が使えるLocalLLMができました。調教できていないのでこっからしていくのが楽しみです。
まだ、社長には見せれていないので喜んでくれることを祈っています。
皆さんも身近にあるPCでLocalLLM構築してみてはいかがでしょうか?

