環境構築:古いワークステーション仕入れました

Artificial Intelligence

PRIMERGY TX140S1には荷が重すぎたため、ひとまずつなぎとしてワークステーションを一台追加することにしました。今回追加したのは往年の名機(?)HP Z440です。

本体

メモリは8GBのECC Registered DDR4メモリを2枚搭載していました。さすがメーカー製だけあって、洗練されたフォルムだよなぁーと感心しました。今どきのモデル(Z4とか)だともっとのっぺりしてますけれども、私個人的にはこういうスタイルのほうが好きだなぁなんて。

Z440近影

少し細身のタワー型で、第4世代と言われるHaswellコアのCPUである Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.50GHz が搭載されています。調達先はヤフオクですけども、これにいろいろ取り付けを行いました。本体はおよそ15,000JPY程度でした。

GPU

GPUは上が Nvidia GeForce GTX 1660 Super(6GB VRAM), 下が Nvidia GeForce RTX 3050 (8GB VRAM) です。今回この2枚を搭載します。1660Superは以前にPRIMERGYに取り付けようとして失敗したものですが、3050は本日ドスパラで調達しました。決め手はTDPです。

GTX 1660 Superは125W、RTX 3050は130Wと、電力負荷が低めなのです。今回、PCI-Ex x16ポートを2つほど持っていることから、2枚差しができることを前提に攻勢を考えていたのですが、それを可能とするのはTDP150W未満のGPUに限られました。これは電源構成上の制約によるものです。

ただ、これらのGPUを取り付けるには電源から出てる6pinコネクタではだめで、8pinに変換する必要がありました。今回、補助電源コネクタ側から75W以上の電力を必要としない構成を求めていて、無事それに該当するGPUが見つかったという感じです。価格は25,500JPY程度となりました。結構痛い出費だなぁ・・(´ω`)トホー

ストレージ

ストレージはとりあえず新品を・・・と思って探すものの、昨今の半導体業界のごたごたによって価格が上昇しており、ほしいストレージはとてもじゃないですが手に入りそうにありませんでした(コスト的に)

なので、高耐久性SSDのIntel S3700シリーズを重点的に探し、これを入手しました。だいたい7,500JPY程度でしたが、容量は400GB弱しかないので、これも何とかうまく使いこなさないといけませんです。

Ubuntuを入れる

Ubuntuは最近バージョン26.04も登場していますが、私はそれまでの使い勝手を優先してバージョン24.04LTSをインストールしています。MinimumインストールでまずはOSを導入し、あとからいろいろツールを足していく想定です。

構築中の様子

無事GPUも認識していることが確認できました。

dmesgから情報をピックアップするとこんなところ。

Hewlett-Packard HP Z440 Workstation/212B
Memory: 16078276K/16689264K available
CPU0: Intel(R) Xeon(R) CPU E5-1620 v3 @ 3.50GHz (family: 0x6, model: 0x3f, stepping: 0x2)
e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSC2BA40 0270 PQ: 0 ANSI: 5
NVRM: loading NVIDIA UNIX x86_64 Kernel Module  590.48.01

llama.cppで動作チェック

llama.cppもインストールできました。特に小細工することもなくいけます。初期構築については、参考情報を今後の記事で記述していくこととして、ひとまず動きを確認してみました。

今回実行した引数群は以下の通りです。

/opt/llama/bin/llama-server --model /opt/llama/models/gemma-4-E4B-it-UD-Q4_K_XL.gguf
 --mmproj /opt/llama/models/mmproj-F16.gguf
 --temp 1.0 --top-p 0.95 --top-k 64 --port 8001
 --chat-template-kwargs '{"enable_thinking":true}' -fit off --host 0.0.0.0

GPUも無事認識され、以下のように2つのGPUが表示されました。

ggml_cuda_init: found 2 CUDA devices (Total VRAM: 13581 MiB):
  Device 0: NVIDIA GeForce RTX 3050, compute capability 8.6, VMM: yes, VRAM: 7841 MiB
  Device 1: NVIDIA GeForce GTX 1660 SUPER, compute capability 7.5, VMM: yes, VRAM: 5739 MiB

数ターンやり取りをしてみていますが、

パフォーマンスとしては以下のような値になりました。やっぱりA4000には遠く及びませんが、それでもこれだけのスループットが出るのはありがたいです。

prompt eval time =     558.82 ms /   218 tokens (    2.56 ms per token,   390.11 tokens per second)
       eval time =   11649.23 ms /   414 tokens (   28.14 ms per token,    35.54 tokens per second)
      total time =   12208.05 ms /   632 tokens

まだ、上記の中で読み込みトークンに関するパフォーマンスはわからない部分も多いですが、出力は比較的ギリギリ実用に耐えるかどうかといったところではないかと思います。このあたりはGTX 1660 Super側でTensorCoreを持ってないこと、FlashAttentionが実装されていないことが足を引っ張っているものと推察しています。

今回つなぎのワークステーションに求めたのは基礎的なオペレーションができることでした。
それを最低限の性能で求めたらどうなるか?というところで、例えばCLIオペレーションやリソース確認手順といったところが押さえられたらいいなということで組み上げましたが、どうやらその願いは達成できそうです。

コメント

タイトルとURLをコピーしました