2026年8月5日水曜日

DGX Spark 1 台で DeepSeek V4 Flash 0731 を動かす

ツイッターの TL でやたら評判が良いので、 DeepSeek V4 Flash 0731 を DGX Spark 1 台で動かしてる。

「ローカルで動かしても評判通り」とは行かないと思うのだけどそれはそれ…

前提

  • マシン: ASUS Ascent GX10 GX10-GG0006BN 90MS0371-M00060 (1TB)
  • ollama がデーモンとしてインストールされているのでそれを止めるところから

Ollama デーモンの停止

sudo systemctl stop ollama
sudo systemctl disable ollama

DwarfStar ソースコードのクローン

いつものように git clone する。

cd project
git clone https://github.com/antirez/ds4.git
cd ds4

DwarfStar ビルド

DGX Spark なので、それ用の make コマンドを叩く。

make cuda-spark

モデルのダウンロード

DGX Spark にちょうど良いモデルをダウンロード。

./download_model.sh ds4f-q2

サーバー起動

OpenAI API 互換サーバーを起動する。

./ds4-server -m ./ds4flash.gguf --host 0.0.0.0 --port 11434

クライアント起動

OpenAI API 互換クライアントで接続確認。 OK.

> C:\Java\jdk-25\bin\java.exe -jar ..\project\rei\target\rei-0.0.1-SNAPSHOT.jar
WARNING: A restricted method in java.lang.System has been called
WARNING: java.lang.System::load has been called by org.sqlite.SQLiteJDBCLoader in an unnamed module (jar:nested:/F:/project/rei/target/rei-0.0.1-SNAPSHOT.jar/!BOOT-INF/lib/sqlite-jdbc-3.51.3.0.jar!/)
WARNING: Use --enable-native-access=ALL-UNNAMED to avoid a warning for callers in this module
WARNING: Restricted methods will be blocked in a future release unless native access is enabled

AI Shell
通常入力は chat として扱います。/exit で終了します。
複数行入力: 複数行ペースト対応。行末に \\ を付けるか、Ctrl+J でも改行できます。
/paste で確実な複数行入力モード(終了は単独行の . )
20:13 laguna-s-2.1:latest> /models

 User
/models


deepseek-v4-flash
deepseek-v4-pro
20:13 laguna-s-2.1:latest> /model deepseek-v4-flash

 User
/model deepseek-v4-flash


current model: deepseek-v4-flash
20:16 deepseek-v4-flash> こんにちは!

 User
こんにちは!


=== thinking ===
The user just said "こんにちは!" (Hello!). This is a simple greeting. I should respond warmly and briefly. No tools needed.
=== answer(21.8 s) ===
こんにちは!? 何かお手伝いできることはありますか?

- 記事やドキュメントの要約
- 技術情報の調査
- カレンダーやタスクの管理
- Bluesky への投稿

など、お気軽にご相談ください!
[memory] 記憶整理を実行することをお勧めします。/memory consolidate を実行してください。

ds4-server の daemon 化

実行ユーザーの追加

ds4 というシステムユーザーを追加する。

sudo useradd \
  --system \
  --home-dir /opt/ds4 \
  --shell /usr/sbin/nologin \
  ds4

ds4-server の配置

ds4 用のディレクトリを作成し、ビルドした ds4-server を配置する。

sudo cp -a ~/project/ds4 /opt/ds4
sudo chown -R ds4:ds4 /opt/ds4
sudo rm /opt/ds4/ds4flash.gguf
sudo ln -s /opt/ds4/gguf/DeepSeek-V4-Flash-IQ2XXS-w2Q2K-AProjQ8-SExpQ8-OutQ8-chat-v2-imatrix-0731.gguf /opt/ds4/ds4flash.gguf
sudo chown ds4:ds4 /opt/ds4/ds4flash.gguf

謎のゴミ破棄

謎のロックファイルを削除。

sudo rm /tmp/ds4.lock

systemd ユニットを作成

作成していく。

cat << 'EOF' | sudo tee /etc/systemd/system/ds4-server.service
[Unit]
Description=DwarfStar DS4 OpenAI-compatible inference server
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
User=ds4
Group=ds4
WorkingDirectory=/opt/ds4

ExecStart=/opt/ds4/ds4-server \
  -m /opt/ds4/ds4flash.gguf \
  --host 0.0.0.0 \
  --port 11434

Restart=on-failure
RestartSec=5

TimeoutStartSec=0
TimeoutStopSec=120
KillSignal=SIGINT

StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
EOF

設定反映

sudo systemctl daemon-reload
sudo systemctl enable ds4-server
sudo systemctl start ds4-server

以上。

0 件のコメント:

コメントを投稿