跳转至内容
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
品牌标识

抡锤者

CS6C

CS6

@CS6
技术大牛 劳动模范
取消关注 关注
关于
帖子
202
主题
11
分享
0
群组
2
粉丝
1
关注
1

帖子

最新 最佳 有争议的

  • R9700 Proxmox VE 懶人部署兩週運行心得
    CS6C CS6

    R9700 Proxmox VE 懶人部署兩週運行心得

    會開始組這台機器,其實是因為 Mac 不夠用了。

    M4 Max 很強,跑 MLX 模型也不是不能用。但真的拿來當本地 LLM、ComfyUI 生圖、模型測試的主力,還是會覺得慢。尤其開始試不同模型、不同 runtime、不同 workflow 之後,就會發現筆電再強也還是筆電。它適合工作,不適合被我整天拿來折磨。

    所以這台機器一開始的目標其實很雜:

    • 本地 LLM
    • ComfyUI
    • 學 Proxmox
    • 取代一部分雲端服務
    • 給同事或朋友使用
    • 測 AMD AI 生態
    • 順便保留一顆獨立 Windows 11 碟玩星際公民

    這聽起來很貪心,但 Home Lab 本來就是這樣長出來的。

    一開始有考慮過 MINISFORUM MS-S1 Max AI Max+ 395,但現在價格已經到 HK$29,999.00,我覺得不太值得。最後還是回到自己組一台比較彈性。

    會選 Proxmox VE,是因為我想把這些東西隔開。ROCm、vLLM、llama.cpp、ComfyUI 都不算穩定,R9700 / RDNA4 又還偏新。與其全部裝在同一個 Linux 裡,壞一次就整台重來,不如讓 PVE host 只負責虛擬化、網路、NFS 和 GPU passthrough。

    真正會亂裝套件、會踩坑的東西,全部放進 VM。這樣壞了可以重建,設定檔也比較容易復用。

    實際上的安裝大概只花了一個晚上就完成,config.yaml 靠 git sync ,後續的話就把常用的指令寫成 skill 讓 claude code 自己 ssh 進去玩 XD
    跑了兩週後,我現在的感覺是:這個方向是對的,但很多地方還在調。


    硬體規格

    太細的 BIOS、PCI ID、實測頻率網路上已經很多資料,這裡只放跟這套 Lab 有關的零件。
    成本大概台幣 13萬上下....

    項目 品牌 規格
    主機板 ASUS ProArt B850-CREATOR WIFI NEO
    CPU AMD Ryzen 9 9950X3D,16C / 32T
    CPU FAN DeepCool Digital ASSASSIN IV VC VISION
    FAN Noctua 12" PWA、14" FN
    記憶體 Kingston DDR5 64GB,32GB x 2
    顯示卡 AMD Radeon AI PRO R9700
    有線網路 Realtek RTL8126 5GbE x 2
    無線網路 Realtek RTL8922AE Wi-Fi 7 / 802.11be
    系統碟 Crucial / Micron T500 NVMe SSD,約 2TB
    資料碟 Samsung 980 / PM9A1 類 NVMe SSD,約 477GB
    Windows 系統碟 Predator / Biwin NVMe SSD,約 1TB,獨立 Windows 11 系統,主要用途:星際公民
    電源 NZXT 1500W
    Case Cooler Master QUBE 540

    9950X3D 對 Proxmox 很舒服,16C / 32T 可以切給幾台 VM,還不會一下就見底。
    R9700 是這台的重點,32GB VRAM 剛好能跑 26B/27B 量化模型,也能測 MoE、小模型、GGUF,還可以跑星際公民。

    64GB RAM 是目前比較明顯的瓶頸(但真的太貴了)。不是不能用,是你會需要小心分配:VM 100 給 36GB,VM
    103 給 36GB,gateway 再拿一些,host 自己也要留。下一個升級我大概會先補記憶體...如果有降價


    軟體規格

    項目 版本 / 狀態
    Hostname pve
    OS Debian GNU/Linux 13 trixie
    Proxmox VE 9.2.0
    PVE Manager 9.2.2
    Kernel Linux 7.0.2-6-pve
    QEMU/KVM pve-qemu-kvm 11.0.0-3
    QEMU Server qemu-server 9.1.15
    LXC lxc-pve 7.0.0-2
    ZFS utils zfsutils-linux 2.4.2-pve1
    Backup Client proxmox-backup-client 4.2.0-1
    Web UI https://<pve-ip>:8006/
    SSH 內網 SSH 管理

    PVE host 我盡量保持乾淨。這裡的「乾淨」不是什麼都不裝,而是不把 AI/GPU 推理 stack 裝在 host 上。GPU driver、ROCm、vLLM、llama.cpp、ComfyUI 這些容易互相影響的東西都放 VM 裡;host 只保留跟硬體、網路、儲存和維運直接相關的工具。

    目前 host 上額外安裝或啟用的東西大概是這些:

    項目 內容 用途
    主機板風扇控制 fan-controller.service、/usr/local/bin/fan-controller.sh、nct6775 控制 ASUS ProArt B850 的機箱/CPU 風扇曲線
    DeepCool Digital deepcool-digital.service、deepcool-digital-linux DeepCool ASSASSIN IV VC VISION 顯示/控制
    lm-sensors / fancontrol lm-sensors、fancontrol、/etc/fancontrol、/etc/sensors3.conf 感測器讀值與風扇控制基礎
    NFS Server nfs-kernel-server、/etc/exports 匯出 /mnt/ai-shared、/mnt/media-shared 給 VM 使用
    Tailscale tailscaled.service 遠端維運與 subnet route
    iperf3 iperf3.service 測試區網吞吐量
    smartmontools smartmontools.service SSD / NVMe 健康狀態監控

    風扇控制是 host 上比較特別的一塊,因為它必須直接碰主機板 Super I/O 和實體風扇。現在的邏輯是:感測器讀取失敗就全速、CPU 高溫就全速、平常依照溫度線性調速。這部分放在 VM 裡反而不合理。


    整體架構

    PVE host (`<pve-ip>`)
    ├── NFS server → /mnt/ai-shared (500GB, models / data / docs)
    ├── ubuntu-lab VM 100 (`<lab-vm-ip>`)
    │   ├── R9700 passthrough
    │   ├── rootful podman
    │   ├── vLLM toolbox / ROCm / TheRock
    │   └── llama.cpp toolbox / GGUF models
    ├── gateway VM 101 (`<gateway-vm-ip>`)
    │   ├── Cloudflare Tunnel
    │   ├── Homepage / Uptime Kuma / LiteLLM / Open WebUI
    │   └── docker compose stack
    └── lab-colleague VM 103 (`<comfyui-vm-ip>`)
        └── ComfyUI 工作機,與 VM 100 輪流使用同一張 R9700
    

    我現在最喜歡這個架構的地方,是每個角色都很清楚。PVE 管底層,VM 100 跑 LLM,VM 103 跑 ComfyUI,VM 101 管對外入口。哪一塊壞了,就處理哪一塊。

    目前比較大的限制是:這台主機只有一張 R9700,而且這張卡是用 PVE 的 GPU passthrough 直通給 VM。直通的意思是,這張實體顯卡在同一時間只能交給一台 VM 使用,不像 CPU/RAM 那樣可以同時切給多台 VM。也因為這樣,VM 100 和 VM 103 必須輪流開:要跑 LLM 就開 VM 100;要跑 ComfyUI 就開 VM 103。兩台都設定了同一張 gpu-r9700,不能同時啟動。

    PVE 這邊的設定大概是這樣:

    項目 設定
    PVE Resource Mapping gpu-r9700
    實體裝置 <GPU PCI address>
    Device ID <R9700 device ID>
    IOMMU group <IOMMU group>
    VM 設定 hostpci0: mapping=gpu-r9700,pcie=1
    VM BIOS / Machine OVMF + q35
    VM CPU host

    我沒有直接在 VM 設定裡硬寫裸 PCI 位址,而是用 Proxmox 的 Resource Mapping。這樣做比較穩,因為 PCI 位址或裝置順序如果哪天變了,PVE 會用 mapping 去檢查裝置 ID,比較不容易誤抓到別的 PCIe 裝置。之前這種事情一旦出錯,debug 起來會很煩。


    GPU passthrough 設定教學:以 R9700 為例

    這段整理一下我這台的設定方式。不同主機板、BIOS、GPU 會有差異,但大方向差不多:先讓 PVE host 支援 IOMMU,再把 GPU 從 host 隔離出來,最後交給指定 VM。

    1. BIOS 先打開虛擬化和 IOMMU

    在 BIOS 裡先確認這幾個功能有打開:

    BIOS 項目 建議
    SVM / AMD-V Enabled
    IOMMU Enabled
    Above 4G Decoding Enabled
    Resizable BAR 視情況,出問題可先關掉測試
    CSM Disabled,使用 UEFI

    我的 VM 用 OVMF + q35,所以整體走 UEFI 路線會比較一致。

    2. PVE host 啟用 IOMMU

    AMD 平台通常會在 kernel cmdline 加上:

    amd_iommu=on iommu=pt
    

    如果是 Proxmox 預設 GRUB,可以檢查:

    cat /etc/default/grub
    update-grub
    

    如果是 systemd-boot,則要看:

    proxmox-boot-tool kernel list
    cat /etc/kernel/cmdline
    proxmox-boot-tool refresh
    

    重開機後確認 IOMMU 有起來:

    dmesg | grep -Ei 'iommu|amd-vi'
    

    3. 找出 GPU 的 PCI 裝置和 IOMMU group

    先用 lspci 找顯卡:

    lspci -nn | grep -Ei 'vga|display|audio'
    

    以我這台為例,R9700 會被辨識成 AMD Navi 48 類裝置。公開文章就不放實際 PCI 位址,概念上會得到類似:

    <GPU PCI address> VGA compatible controller: AMD/ATI Navi 48 [Radeon AI PRO R9700] [<R9700 device ID>]
    

    再確認 IOMMU group。重點是 GPU 和它的附屬裝置最好在可單獨直通的 group 裡,不要跟主機板關鍵裝置混在一起。

    find /sys/kernel/iommu_groups/ -type l | sort
    

    4. 讓 host 不要拿這張卡當一般顯卡用

    GPU passthrough 的核心想法是:這張卡不要給 PVE host 使用,而是交給 VM。通常會透過 VFIO 綁定裝置。

    概念上會有幾個設定:

    # /etc/modules
    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd
    

    以及把 GPU device ID 綁到 vfio-pci:

    # /etc/modprobe.d/vfio.conf
    options vfio-pci ids=<R9700 device ID>
    

    實際 device ID 要用自己機器上的 lspci -nn 結果,不要照抄別人的。

    設定後更新 initramfs 並重開:

    update-initramfs -u -k all
    reboot
    

    重開後可以確認這張卡是不是由 vfio-pci 接手:

    lspci -nnk -s <GPU PCI address>
    

    如果看到 Kernel driver in use: vfio-pci,方向就對了。

    5. 用 Proxmox Resource Mapping 管理 GPU

    我這台沒有直接在 VM 設定裡寫死 PCI 位址,而是用 Proxmox 的 Resource Mapping。這樣之後如果 PCI 位址有變,PVE 會用 mapping 檢查裝置 ID,比較不容易抓錯。

    這台的概念設定如下:

    項目 設定
    Mapping name gpu-r9700
    Node pve
    Path <GPU PCI address>
    Device ID <R9700 device ID>
    IOMMU group <IOMMU group>

    在 Web UI 裡可以從:

    Datacenter → Resource Mappings → PCI Devices
    

    新增一個 mapping。名稱我用 gpu-r9700,之後 VM 只要引用這個 mapping。

    6. VM 設定:OVMF + q35 + host CPU + PCIe passthrough

    VM 100 和 VM 103 都是同一套概念:

    VM 設定 值
    BIOS OVMF
    Machine q35
    CPU host
    GPU hostpci0: mapping=gpu-r9700,pcie=1

    也就是說,VM 設定裡不是寫:

    hostpci0: <GPU PCI address>
    

    而是寫:

    hostpci0: mapping=gpu-r9700,pcie=1
    

    這個差異對長期維護很重要。裸 PCI 位址比較容易因為硬體順序、BIOS、PCIe 插槽變動而出問題;Resource Mapping 比較像是幫這張卡取一個穩定名字。

    7. Guest 裡再裝 GPU stack

    PVE host 不裝 ROCm、不裝 vLLM、不裝 ComfyUI。這些都進 VM 裡處理。

    VM 裡要確認的東西:

    lspci -nn | grep -Ei 'vga|display'
    ls -l /dev/kfd /dev/dri/
    

    LLM VM 裡再跑 ROCm / vLLM / llama.cpp toolbox;ComfyUI VM 裡再處理 ComfyUI 和圖像工作流。這樣 host 壞掉機率低很多,VM 裡踩坑也比較好重來。

    8. 單張卡的使用規則

    目前只有一張 R9700,所以規則很簡單:

    狀況 做法
    要跑 LLM 開 VM 100,VM 103 關機
    要跑 ComfyUI 開 VM 103,VM 100 關機
    要切換 VM 先停 vLLM / llama-server / ComfyUI,再 shutdown VM
    VM 開不起來 先檢查另一台 GPU VM 是否還開著

    這是 passthrough 最容易被忘記的地方。GPU 直通不是把 GPU 做成共享資源,而是把整張卡交給一台 VM。除非是 NVIDIA 特定高階卡搭配 vGPU / MIG 那類方案,否則一般家用或工作站卡大多都要當成「一次只能給一台 VM」來管理。


    儲存配置

    目前儲存分成三個主要方向:系統與 VM 放在 2TB Crucial/Micron T500,上面建立 Proxmox 的 local 與 local-lvm;AI 共享資料用獨立 thin volume 掛在 /mnt/ai-shared;媒體共享資料則放在 Samsung NVMe 的 /mnt/media-shared。

    /mnt/ai-shared 和 /mnt/media-shared 我都用 XFS。原因不是它最潮,而是它很適合這種用途:模型檔、GGUF、cache、資料集、媒體檔通常都是大檔案,XFS 對大檔案和長時間寫入很穩;掛 NFS 給多台 VM 用也很直覺。這台是單節點 PVE,不是多節點 storage cluster,我不需要 Ceph 那種複雜度;磁碟大小也不對稱,ZFS 的優勢發揮有限,還會吃更多記憶體。XFS 對我來說是比較務實的選擇。

    PVE 另一個我很喜歡的點,是 VM disk 可以很彈性地調整。像 VM 100、VM 103 都可以先給一個 120GB 的 disk 上限,但在 local-lvm 這種 LVM-thin pool 裡,不是建立時就真的吃掉 120GB,而是 VM 實際寫入多少才逐步配置多少。後面如果某台 VM 空間不夠,也可以在 PVE 裡把 disk 擴大,再進 VM 裡擴 filesystem。對 lab 來說這很好用,因為每個實驗一開始都很難準確估容量。

    這裡要先講清楚,Proxmox 裡的容量數字不能只看一個百分比。

    • df -hT 看到的是檔案系統實際寫入量,例如 /mnt/ai-shared 真的用了 182GB。
    • local-lvm 是 LVM-thin,使用率代表 thin pool 實際配置/寫入比例,不是 VM disk 標稱容量加總。
    • 一般 LVM volume 被指派出去後,Proxmox storage 會顯示容量被占用,但不代表裡面的檔案系統真的寫滿。
    Storage / Mount 類型 容量 使用狀態 備註
    local dir 約 94GB 實際用量約 13GB / 13.97% PVE local storage,ISO、備份或 snippets
    local-lvm LVM-thin 約 1.67TB thin pool 使用約 20.76% 主要 VM disk pool;VM disk 大小是上限,不等於實際寫滿
    samsung-lvm LVM 約 477GB LVM 指派率約 98.55% 空間幾乎都已分配給 LV,但不等於檔案實際寫滿
    /mnt/ai-shared XFS 500GB 實際用量約 182GB / 37% AI 模型、資料集、文件共享
    /mnt/media-shared XFS 200GB 實際用量約 3.9GB / 2% 媒體共享,位於 Samsung LV
    / ext4 94GB 實際用量約 14GB / 15% PVE host root filesystem

    網路配置

    介面 狀態 說明
    vmbr0 UP Proxmox bridge,管理 IP <pve-ip>/24
    nic1 UP vmbr0 的 bridge port
    nic0 DOWN 保留
    wlp11s0 DOWN Wi-Fi 7 無線網卡,未作為主要網路
    tailscale0 UP Tailscale 遠端維運,IP <tailscale-ip>

    /etc/network/interfaces 的核心設定如下:

    auto vmbr0
    iface vmbr0 inet static
        address <pve-ip>/24
        gateway <gateway-ip>
        bridge-ports nic1
        bridge-stp off
        bridge-fd 0
    

    5GbE 對這台很實用。模型、VM image、NFS 共享資料都很吃傳輸速度。Wi-Fi 7 我目前拿來當備用網路,這部分我寧願保守一點。


    VM 與服務狀態

    VMID 名稱 狀態 RAM Disk
    100 ubuntu-26.04-lab stopped 36GB 120GB
    101 gateway running 12GB 110GB
    103 lab-colleague running 36GB 120GB,ComfyUI
    104 cachyos-gaming stopped 24GB 120GB
    9000 debian-13-template stopped 2GB 3GB

    PVE host 本身目前沒有 LXC container。真正的容器是在 VM 裡跑:VM 100 用 rootful podman,gateway 用 docker compose。這樣比全部堆在 host 上乾淨很多。


    VM 100:主要 AI Lab 機器

    VM 100 ubuntu-lab 是我主要使用的VM 。它專門拿來跑 R9700 GPU workload 的 AI lab。

    項目 規格 / 設定
    VMID 100
    Hostname ubuntu-lab
    IP <lab-vm-ip>
    OS Ubuntu 26.04 LTS
    Kernel 7.0.0-15-generic
    CPU 12 cores,pinned to CCD0
    CPU affinity 0-7,16-23
    RAM 36GB configured on PVE;文件規劃為 44GB,ballooning disabled
    Disk 120GB system disk on local-lvm
    GPU R9700 passthrough,gfx1201 / RDNA4
    Network virtio on vmbr0
    NFS mount /mnt/data,來自 PVE /mnt/ai-shared
    Container runtime rootful podman
    主要用途 AI inference、模型測試、ROCm/vLLM/llama.cpp 實驗

    VM 100 的關鍵路徑:

    路徑 用途
    /mnt/data NFS shared storage,模型與資料共用
    ~/ai-models -> /mnt/data 方便操作模型資料的 symlink
    /mnt/data/hf-cache Hugging Face / vLLM model cache
    /mnt/data/models GGUF 與其他模型檔
    /dev/kfd ROCm compute device
    /dev/dri/renderD128 DRM render device
    /var/lib/containers/storage/ podman image/container storage,本機磁碟

    我習慣做法:VM 系統碟只放系統和容器,模型資料放 NFS。VM 壞了可以重裝,模型 cache 還在;容器壞了可以重建,資料也不跟著消失。

    VM 100 目前因為 R9700 正由 VM 103 的 ComfyUI 使用而處於 stopped。R9700 只有一張,VM 100 與 VM 103 不能同時開。切換前要先停止 vLLM / llama-server 或 ComfyUI,關掉其中一台 VM,再啟動另一台。


    VM 100 裡的容器與 AI 工具鏈

    VM 100 裡主要不是跑 Docker Compose,而是跑 rootful podman。原因很務實:GPU device passthrough、/dev/kfd、/dev/dri/renderD128、render/video group 權限在 rootful podman 下比較好處理。rootless podman 我試過,但 GPU 權限和 user namespace mapping 會讓事情變得很煩。

    容器 Runtime Image Port 狀態 / 用途
    vllm podman docker.io/kyuz0/vllm-therock-gfx1201:latest 8000 vLLM + ROCm / TheRock,OpenAI-compatible API
    llama podman docker.io/kyuz0/amd-r9700-toolboxes:vulkan-radv 8080 llama.cpp toolbox,跑 GGUF 模型

    vllm 和 llama 容器可以並存,但裡面的推理 server 不適合同時跑。原因很單純:兩者會搶同一張 R9700 的 32GB VRAM。

    常用操作:

    # vLLM
    sudo podman ps | grep vllm
    sudo podman exec -it vllm bash
    start-vllm
    
    # llama.cpp toolbox
    sudo podman ps | grep llama
    sudo podman exec -it llama bash
    llama-server --host 0.0.0.0 --port 8080 ...
    

    目前測過的模型與結果

    R9700 的定位很清楚:單卡 32GB VRAM,可以舒服跑一個 26B/27B 級別的量化模型,也可以靠 MoE 或小模型取得更高速度。但它不是多卡機器,不適合幻想同時塞多個大模型。

    模型 格式 後端 平均速度 結論
    gemma4-26b-abliterated AWQ vLLM 29.7 tok/s 穩定
    gemma4-31b-abliterated AWQ vLLM 10.6 tok/s context 較容易滿
    qwen3.6-35b-uncensored GGUF llama.cpp 76.5 tok/s MoE,速度最佳
    qwen3.6-27b-abliterated GGUF llama.cpp 30.5 tok/s 穩定
    gemma4-31b-crack GGUF llama.cpp 25.3 tok/s 長輪次測試會 OOM/crash
    qwen2.5-7b-uncensored GGUF llama.cpp 80.1 tok/s 小模型速度非常快

    最讓我印象深的是 qwen3.6-35b-uncensored。它是 35B MoE,但每 token 只啟動約 3.5B active params,所以速度比很多 dense 模型好看。這也提醒我,不能只看模型總參數。架構差異有時比「幾 B」更重要。

    對外服務與 Gateway

    VM 101 gateway 負責把內部服務透過 Cloudflare Tunnel 對外提供。我不想把 PVE Web UI 或 VM 服務直接暴露到公網,所以這台 VM 的角色很明確:它只做入口,不碰 GPU。

    URL 服務 Backend
    https://lab.example.com Homepage gateway:3000
    https://status.example.com Uptime Kuma gateway:3001
    https://api.example.com LiteLLM API gateway:4000
    https://llm.example.com LiteLLM Web UI gateway:4000
    https://chat.example.com Open WebUI gateway:3003
    https://gpu.example.com vLLM direct ubuntu-lab:8000

    gateway 這邊使用 docker compose,比較適合放 Homepage、Uptime Kuma、LiteLLM、Open WebUI、SillyTavern 這類輕量服務。VM 100 則專心跑 GPU 推理,不把入口服務混在一起。


    兩週運行心得

    1. CPU 很夠,RAM 比較快緊

    16C / 32T 對 Proxmox 來說很好切。gateway、AI lab、ComfyUI 工作機都能各自拿到足夠核心。真正比較容易緊的是 RAM。現在 64GB 能跑,但不是很寬裕。下一步如果要讓 VM 100、VM 103、gateway 和其他測試 VM 更自在,記憶體升級會比 CPU 升級更有感。

    9950X3D 這種 CPU 還有一個要注意的地方:它不是所有核心都一樣。X3D 版本有 CCD 分配問題,其中一組核心有 3D V-Cache,另一組核心通常頻率表現比較好。我的做法是用 PVE 的 CPU affinity 先把 GPU workload VM 固定在同一組核心上,避免 VM 在兩個 CCD 之間亂跳。像 VM 100 / VM 103 目前就是綁 0-7,16-23 這組核心;gateway 這種輕量服務則可以放到另一組核心。這不是什麼神奇最佳化,但可以讓 LLM / ComfyUI 這種比較吃互動延遲和資料 locality 的工作負載穩一點,也比較方便後面觀察效能。

    2. R9700 可以玩,但不要把 host 當實驗場

    R9700 / RDNA4 還是偏新的平台。自己從零兜 ROCm、TheRock、gfx1201 支援會花很多時間。現在比較穩的路線是用 kyuz0 的 toolbox image:kyuz0/vllm-therock-gfx1201 跑 vLLM,kyuz0/amd-r9700-toolboxes:vulkan-radv 跑 llama.cpp。

    把這些都放在 VM 100 裡是對的。真的踩坑,也是在 VM 裡處理,不會污染 PVE host。

    3. GPU passthrough 要接受它是「一張實體卡」

    VM 100 跑 LLM,VM 103 跑 ComfyUI,兩台都想要 R9700。但 R9700 只有一張,所以它們必須輪流使用。這件事最好寫成固定流程,不要臨時憑感覺切。不然下一次你看到某台 VM 開不起來,八成又是在想「是不是 GPU 還被另一台占著」。

    這點跟 CPU/RAM 很不一樣。一般 PCIe GPU passthrough 是把整張實體卡交給某一台 VM,host 和其他 VM 就不能同時用。NVIDIA 某些高階卡或資料中心卡可以透過 vGPU / MIG 這類方式把 GPU 資源切給多個 workload,但那是特定硬體、授權和驅動堆出來的能力,不是一般顯卡預設就有。R9700 這邊我就當成一張完整的實體卡來管理:一次只服務一台需要 GPU 的 VM。

    4. Cloudflare Tunnel 很省事

    它不是最自由的方案,但對這種個人 Lab 很好用。不用碰路由器,不用固定 IP,不用自己管憑證更新。對外入口集中在 gateway VM,也比直接暴露 PVE 或 VM 服務安心。


    之後的規劃

    R9700 現在可以跑,但它和 CUDA 生態還是有差距,這點在 ComfyUI 上會特別明顯。

    方向 想解決的問題 優點 需要確認
    RAM 升級到 128GB 以上 VM 100 / VM 103 / gateway 同時規劃時,64GB 太緊 最直接改善 VM 配置彈性 先確認 2 DIMM 還是 4 DIMM、頻率與穩定性
    增加第二張 R9700 LLM 和 ComfyUI 不用一直輪流搶同一張 GPU AMD 生態一致,成本可能比較好控 主機板空間、供電、散熱、IOMMU group、ROCm 多卡支援
    改看 B70 提高單卡 VRAM 或 AI workload 彈性 如果 VRAM/頻寬更好,可能比第二張 R9700 更適合 LLM 價格、可買性、ROCm 支援程度、Proxmox passthrough 成熟度
    ComfyUI + 5090 補齊 CUDA 生態,降低 custom node 相容性問題 ComfyUI / PyTorch / xFormers / Triton 生態通常更順 5090 供電散熱、Linux driver、PCIe 空間、是否獨立給 VM 103
    無 CUDA 時的 ComfyUI node 對應方案 R9700 上遇到 CUDA-only node 時,需要替代 workflow 不必所有圖像流程都依賴 NVIDIA 哪些 node 能用 ROCm/Vulkan/CPU 替代,哪些應該直接避開

    ComfyUI 這邊我想另外整理一份比較表。重點不是只看「能不能跑」,而是要列出常用 node 在不同平台上的實際情況:

    ComfyUI 項目 5090 / CUDA R9700 / 無 CUDA 備註
    PyTorch GPU 加速 CUDA 路線最成熟 依賴 ROCm 支援 AMD 上要看 torch / ROCm 版本
    xFormers / attention 加速 通常比較好處理 常需要替代方案 有些 workflow 會卡在這裡
    CUDA-only custom node 大多可直接用 需要找替代 node 或改 workflow 之後要整理 node 對應清單
    影像生成基礎流程 成熟 可行,但要看模型與套件 SD / Flux / video workflow 要分開測
    Video / 3D / 特殊 node CUDA 優勢明顯 不一定有等價方案 可能是 5090 最大價值

    短期先做幾件事:

    • 重新整理 samsung-lvm 的 LV 配置。
    • 把 VM 100 / VM 103 的 GPU 切換流程寫成 runbook。
    • 繼續補 R9700 / ROCm / vLLM / llama.cpp 實測紀錄。
    • 補 ComfyUI 在 VM 103 的部署、常用 workflow、node 相容性紀錄。

    相關連結

    • Proxmox VE
    • Proxmox VE Documentation
    • Cloudflare Tunnel
    • ROCm Documentation
    • kyuz0/amd-r9700-vllm-toolboxes
    • vLLM
    • llama.cpp
    • ComfyUI
    • DeepCool Digital Linux
    AI硬件 r9700

  • PVE HomeLab ( R9700x2+3090) 極限方案
    CS6C CS6

    PVE HomeLab ( R9700x2+3090) 極限方案

    這一邊是基於前一篇分享 https://lcz.me/post/4772

    項目 舊 新
    GPU 1× R9700(+ RTX 3090) **2× R9700 + 1× RTX 3090 **
    記憶體 64GB(2×32GB Kingston) 96GB(2×48GB Crucial/Micron DDR5-5600),4 槽用 2 槽,可擴 192GB
    額外儲存 — 新增 WD 500GB SATA SSD
    VM 數量 100/101/103/104 再加 105 cuda-llm-lab**
    GPU passthrough 單張輪流 三張獨立 mapping(雙 R9700 可各自分派給不同 VM)

    硬體規格

    項目 品牌 規格
    主機板 ASUS ProArt B850-CREATOR WIFI NEO
    CPU AMD Ryzen 9 9950X3D,16C / 32T
    記憶體 Crucial / Micron DDR5-5600 96GB(48GB × 2,Part CP48G56C46U5.M16B1),4 槽用 2 槽
    顯示卡 #1 ASUS Radeon AI PRO R9700(Navi 48 / RDNA4,32GB),PCI 03:00
    顯示卡 #2 PowerColor Radeon AI PRO R9700(Navi 48 / RDNA4,32GB),PCI 07:00
    顯示卡 #3 ZOTAC GeForce RTX 3090(GA102,24GB),PCI 0a:00
    內顯 AMD Granite Ridge Radeon Graphics(iGPU),PCI 12:00
    有線網路 Realtek RTL8126 5GbE × 2
    無線網路 Realtek RTL8922AE Wi-Fi 7 / 802.11be
    系統碟 Crucial T500 NVMe SSD,2TB(CT2000T500SSD8)
    媒體碟 Samsung PM9A1 類 NVMe SSD,約 477GB(MZVL2512HDJD)
    追加資料碟 WDC WD Blue 500GB SATA SSD(WDS500G2B0A,ext4)
    Windows 系統碟 Predator GM9 NVMe SSD,約 1TB(NTFS,獨立 Windows 11,星際公民用)
    CPU 散熱 DeepCool Digital ASSASSIN IV VC VISION
    機殼風扇 Noctua 12cm PWM / 14cm
    電源 NZXT 1500W
    機殼 Cooler Master QUBE 540

    3090的話是採用開源宇宙的 OCulink + ADT m.2 PCIE 連接器,

    採購建議 :
    | 開源宇宙的質感極差,文件相關的資訊也不清楚
    | ADT 品質不錯,但如果你放在機殼裡面的話建議超過50公分會比較好處理,然後要注意方向

    中IMG_8499.jpeg

    目前的配置全部都是靠風冷,採用貓頭鷹官方推薦的上下進出佈局,基本上溫度都可以壓在50到70之間,極少時候才能拉到80,外部顯卡反而散熱的問題很嚴重,所以在機殼側邊掛了一顆酷冷的12cm風扇直吹

    PCIe 通道分拆與 8×8 顯卡策略

    9950X3D(Granite Ridge / AM5)對外總共 28 條 PCIe 5.0 lane:24 條給裝置、4 條當晶片組上行。這台把 28 條全部用好用滿,實測從 CPU root port 拉出來的分配如下:

    CPU root port Lane(LnkCap) 掛什麼 協商速度 (LnkSta) 說明
    00:01.1 x8 R9700 #1(ASUS,03:00) Gen5 x8 顯卡通道前半
    00:01.3 x8 R9700 #2(PowerColor,07:00) Gen5 x8 顯卡通道後半
    00:01.2 x4 Predator GM9 M.2(Windows 碟) Gen5 x4 CPU 直連 M.2
    00:02.2 x4 Crucial T500 M.2(PVE 系統碟) Gen4 x4 CPU 直連 M.2
    00:02.1 x4 → B850 晶片組上行 Gen4 x4 底下再扇出一堆裝置

    核心策略:把 CPU 的 16 條顯卡 lane 對半拆成 x8 + x8,兩張 R9700 各吃一半。
    這是 AM5 平台想「兩張主力卡都直連 CPU」的唯一解——AM5 只有 16 條 PEG lane,要塞兩張就必須在 BIOS 開 PCIe bifurcation(x8/x8)。實測 00:01.1 與 00:01.3 的 LnkCap Width 都是 x8,證明分拆已生效。

    每張 R9700 前面還掛著一顆 PCIe switch(1002:1478/1479):上游對 CPU 是 x8,下游對 GPU die 是 x16,所以卡端 endpoint 讀到的是 Width x16,但真正的瓶頸帶寬是 CPU 側的 x8 Gen5(約 32 GB/s)。對 AI 推理來說完全夠——權重載入一次後就吃算力,不吃 host 頻寬。

    第三張卡 RTX 3090 沒有 CPU lane 可用(16 條已被雙 R9700 佔滿),只能掛到 B850 晶片組那條 x4 Gen4 上行下面,和兩張 5GbE、Samsung PM9A1、Wi-Fi 7、USB、SATA 共享頻寬,因此協商成 x4。當遊戲 / CUDA 實驗卡用足夠,但別期待它有滿頻寬。

    CPU 9950X3D — 28× PCIe 5.0 lanes
    ├── x8  Gen5 ── R9700 #1 (ASUS,       03:00) ┐
    ├── x8  Gen5 ── R9700 #2 (PowerColor, 07:00) ┘ ← 16 條顯卡 lane 拆成 8×8
    ├── x4  Gen5 ── Predator GM9 M.2  (Windows 碟)
    ├── x4  Gen4 ── Crucial T500 M.2  (PVE 系統碟)
    └── x4  Gen4 ── B850 晶片組
                    ├── RTX 3090 (0a:00, x4 downgraded)
                    ├── RTL8126 5GbE ×2
                    ├── Samsung PM9A1 NVMe (media)
                    ├── RTL8922AE Wi-Fi 7
                    └── USB / SATA
    

    提醒:閒置時 link 會降到 2.5GT/s(ASPM 省電),例如 R9700 #2、RTX 3090 目前顯示 Gen1 x8/x4,這是正常降頻,跑推理 / 遊戲時會自動 train 回 Gen5 / Gen4。判斷「有沒有拆成 x8」要看 LnkCap Width,不是看即時 LnkSta Speed。

    AI硬件 rtx3090 r9700

  • 新玩具分享:Kubernetes Agent Sandbox——賦予 AI Agent 的安全執行邊界
    CS6C CS6

    最近工作上打算導入這套
    隨著 AI Agent 開始具備「主動執行程式碼」與「操作系統資源」的能力,如何在 Kubernetes 生態中安全地運行這些不可信的代碼,成為了生產環境的關鍵挑戰。

    1. 為什麼 Agent 需要 Sandbox?
      現有的 Pod 隔離機制(如標準的 Namespace 與 Cgroup)在面對惡意代碼時防禦力有限。當 Agent 需要執行 LLM 生成的 Python 腳本或調用外部工具時,潛在風險包括:

    權限逃逸: 惡意代碼可能嘗試獲取宿主機權限。

    資源濫用: 未受控的計算任務可能耗盡節點資源。

    冷啟動瓶頸: 傳統 Pod 啟動過慢,無法滿足 Agent 快速回應的需求。

    1. Agent Sandbox 的核心價值
      它不僅僅是一個執行環境,更是一個標準化的「安全隔離協議」:

    技術解耦: 透過 Kubernetes API,讓底層隔離技術(如 gVisor 或 Kata Containers)對上層開發者透明。你無需變更業務代碼,即可切換至硬體級虛擬化隔離。

    熱池(Warm Pool)預熱: 這是該專案的殺手級功能。透過預先啟動並維護一組處於待命狀態的容器,解決了 Agent 在即時互動中的啟動延遲問題。

    生命週期管理: 整合了自動休眠與喚醒機制,既能維持狀態,又能在閒置時大幅節省成本。

    1. 技術棧對接:Agent 系統的「完整架構」
      將 Agent Sandbox 與你現有的 AI 技術鏈整合,將構成最強的企業級架構:

    思考層 (RAG + LoRA): 決定 Agent 「說什麼」與「風格為何」。

    執行層 (Agent Sandbox): 決定 Agent 「怎麼安全地做」。

    1. 給開發者的建議
      如果你正在開發自主 Agent 應用:

    拒絕裸奔: 不要將 LLM 產生的代碼直接在應用所在的 Pod 中運行。

    標準化: 將 Sandbox 視為基礎設施的一部分,而非業務邏輯。讓 Kubernetes 管理資源與安全,讓 LLM 專注於任務邏輯。

    專案連結: https://agent-sandbox.sigs.k8s.io/

    LLM讨论区

  • 求助!OCuLink/USB4 + 7900 XTX跑AI推理的实际表现如何?有没有用过的老哥说说大坑?
    CS6C CS6

    OCuLink/USB4 為什麼不考慮走 m.2 方案? 我整套拿下來4000台幣左右。
    我用的是開源宇宙的顯卡屋+ADT OCuLink m.2 PCIE
    散熱問題非常嚴重,我都很擔心哪一天燒起來
    如果你機器本身是支持 OCuLink 那當然直接上 OCuLink
    但如果你都有錢買 Framework Laptop 16 不如直接組一台新的洋垃圾....

    AI硬件 7900xtx

  • 3D模型生成 trellis2 - r9700 rocm
    CS6C CS6

    R9700 跑 TRELLIS.2 ROCm:先把能跑的路徑整理出來

    這份工具箱不是要把 TRELLIS.2 重新包成一個完整產品。比較實際的目標是:在 AMD Radeon AI PRO R9700 這張卡上,先整理出一條可以重現的 image-to-3D 測試流程。

    R9700 的硬體規格看起來很適合做本地 AI Lab,但 ROCm、RDNA4、3D 生成模型這幾個東西湊在一起,細節其實不少。官方或社群專案通常會先以 NVIDIA / CUDA 當主要路徑,AMD 這邊常常要自己補一段。

    為什麼要另外整理一包

    我測的是 TRELLIS.2 的 ROCm fork 。模型本身可以跑,問題主要卡在高品質輸出時的貼圖與 mesh 後處理。

    原本的 textured GLB export 會走 GPU BVH 路徑,其中有一段 cumesh.cuBVH.unsigned_distance()。在 R9700 / gfx1201 的 ROCm 環境下,這段有機會讓 HIP 進入 illegal state。不是模型完全不能跑,而是輸出流程跑到這裡會炸。

    所以這個 repo 做了兩件事:

    • 固定一個可以重現的 ROCm 容器環境
    • 把貼圖投影改成 CPU KDTree fallback,避開目前不穩的 GPU BVH 路徑

    這不是最快的做法,但至少可以把 textured GLB 生出來。

    目前可用的路徑

    目前測過比較穩的設定是:

    texture_size=4096
    decimation_target=1000000
    remesh=False
    OVOXEL_PROJECTION_MODE=cpu_kdtree
    OVOXEL_CPU_KDTREE_K=8
    

    remesh=False 是刻意的。原本 remesh=True 看起來比較漂亮,但它還是會碰到同一條 GPU BVH distance path。只要那段 native ROCm extension 還沒修好,高品質設定就不能只看參數名稱,還要看它底下實際呼叫了什麼。

    測試紀錄:robot 4096 版

    這次測試用 4096 texture 設定,目標是先確認高解析貼圖能不能穩定完成,而不是追求最快速度。

    設定如下:

    texture_size=4096
    decimation_target=1000000
    remesh=False
    OVOXEL_PROJECTION_MODE=cpu_kdtree
    OVOXEL_CPU_KDTREE_K=8
    

    輸出結果:

    GLB size: 約 41MB
    final mesh: 823,375 vertices / 954,302 faces
    valid texture pixels: 8,331,054
    CPU projection mean distance: 3.255e-05
    CPU projection max distance: 0.003561
    GLB check: materials=1, textures=2, images=2, baseColorTexture exists
    

    這次 robot 4096 版大約花了 6 分 50 秒。

    時間拆開看:

    階段 時間 備註
    啟動 / 載入 pipeline 約 1 分鐘多 第一次啟動會花時間載入模型與 pipeline
    模型生成 / sampling / decode 約 2 分 50 秒 從開始跑圖到 to_glb 開始前
    GLB 匯出總時間 約 2 分 49 秒 22:23:22 開始 to_glb,22:26:11 完成
    4096 texture baking + CPU projection 約 2 分 35 秒 4096 貼圖解析度下最重的一段
    CPU KDTree projection 本身 約 2 分 23 秒 22:23:36 開始,22:25:59 完成

    最耗時的是這段:

    CPU KDTree projection: querying 8,331,054 points
    

    它要處理 833 萬個 texture points。換句話說,4096 貼圖解析度主要就是卡在這裡。CPU KDTree fallback 可以避開 ROCm GPU BVH 的問題,但代價就是 texture baking 會變成 CPU 工作。

    使用方式

    先 build 容器:

    podman build -t localhost/r9700-trellis2-rocm-toolbox:latest .
    

    模型不要放進 repo,也不要打進 image。建議把模型目錄掛到 /models:

    MODEL_ROOT=$HOME/ai-models \
    WORK_ROOT=$PWD/work \
    scripts/run-container.sh
    

    進容器後跑輸出:

    cd /workspace/TRELLIS.2_rocm
    source /workspace/.venv/bin/activate
    
    export OVOXEL_PROJECTION_MODE=cpu_kdtree
    export OVOXEL_CPU_KDTREE_K=8
    export HF_HOME=/models/huggingface
    export HUGGINGFACE_HUB_CACHE=/models/huggingface/hub
    export XDG_CACHE_HOME=/models/cache
    
    python /opt/r9700-trellis2/scripts/run-textured-export.py \
      --input /workspace/TRELLIS.2_rocm/assets/example_image/T.png \
      --output /workspace/work/sample-4096.glb \
      --texture-size 4096 \
      --decimation-target 1000000
    

    這包適合誰

    如果你只是想要最省事地跑 3D 生成,NVIDIA 環境目前還是比較少坑。

    但如果你手上已經有 R9700,或是想測 AMD AI 生態,這包可以省掉一些重複踩坑的時間。

    後續想補的東西

    • 把 Web UI 的流程也整理成可重現版本
    • 補一份 build 時間與生成時間紀錄
    • 測不同 texture_size 對品質與時間的影響
    • 等 ROCm / native extension 更新後,再回頭測 remesh=True

    https://github.com/CS6/r9700-trellis2-rocm-toolbox

    3e68a05a-dda8-4606-8660-52ad145c2782-image.jpeg

    LLM讨论区 r9700 rocm

  • 想请教个问题,750W电源能否跑的来R9700或者7900XTX
    CS6C CS6

    @花不香 有困難,主要是R9700 需要 PCIE 5.0 16. pin 你的電源供應器除非是全模組的,不然應該是沒有.... 不是很建議轉接,你的Dell 电源是 PSU 還是 SFX ?

    https://www.gigabyte.com/tw/Graphics-Card/GV-R9700AI-TOP-32GD-rev-10/sp

    cf4ecbf8-f58e-44be-9015-32487535dfd7-image.jpeg

    AI硬件 7900xtx r9700

  • 正在糾結要不要升級設備(?
    CS6C CS6

    @566656661 我打算改走 OCLINK ,因為空間不夠只能跑 PCIE 3.0 ....
    ed070c81-3767-4480-9052-6284057b6437-image.jpeg

    AI硬件

  • 4080S 32G 魔改版 vast.ai 租借心得
    CS6C CS6

    RTX 4080S 32GB 實驗測試總結

    日期:2026-06-08
    測試機:Vast.ai RTX 4080S 32GB
    主要用途:TRELLIS.2 3D 生成、TripoSplat、LLM、CUDA/PyTorch benchmark

    這份報告只整理 RTX 4080S 32GB 這台機器的實測結果。前面也測過 3090、5090、PRO 4000 等卡,但這裡不展開,只在結論處用一句話對照採購意義。

    測試機資訊

    項目 數值
    GPU RTX 4080S
    VRAM 32760 MiB
    CPU AMD EPYC 7K62
    Effective CPU cores 24
    RAM 64 / 516 GB 配額
    PCIe Gen 4.0 x16
    Driver 570.144
    CUDA 12.8
    PyTorch 2.7.0+cu128
    Container pytorch/pytorch:2.7.0-cuda12.8-cudnn9-devel
    Vast machine ID 36413
    Vast host ID 124072
    測試地點 Sichuan, CN
    當時租金 0.3277777778 USD/hr

    這台機器已關閉。之後如果在 Vast.ai 看到同一個 machine_id=36413 或 host_id=124072,可以優先租回來。

    一句話結論

    RTX 4080S 32GB 在 TRELLIS.2 上可以穩定完成 4096 full-rembg,但它真正的價值不是把 3090 大幅甩開,而是 32GB VRAM:它可以跑 Qwen2.5 32B Q4 到 32K context,也能跑 Qwen2.5 32B Q5 到 8192 prompt。這一點是 24GB 卡比較容易開始緊張的地方。

    如果 3090 24GB 只要 30,000 NTD,3090 的 CP 值仍然非常強。
    如果 4080S 32GB 是 65,300 NTD,它的合理性主要來自 32GB VRAM,不是 TRELLIS.2 單次速度。

    TRELLIS.2:robot 4096 full-rembg

    這是最接近實際工作流的測試,也是最重要的一筆。輸入圖使用我們自己的 robot.jpeg,不是官方範例圖。

    項目 設定
    Model microsoft/TRELLIS.2-4B
    Input robot.jpeg
    RMBG enabled
    Condition model DINOv3
    Texture size 4096
    Decimation target 1,000,000
    GLB export enabled
    Output outputs/rtx4080s32-robot-4096-full-rembg-xformers-detailed.glb

    階段時間

    階段 時間 備註
    pipeline_from_pretrained 2:14.48 載入 TRELLIS.2 / DINOv3 / RMBG / pipeline
    preprocess_image 1.63s RMBG / 前處理
    get_cond 512 1.12s DINOv3 condition
    get_cond 518 0.55s DINOv3 condition
    sample_sparse_structure 5.43s sparse structure sampling
    sample_shape_slat_cascade 34.80s shape SLat cascade
    sample_tex_slat 8.92s texture SLat
    decode_shape_slat 1.09s shape decode
    decode_latent 2.18s texture / latent decode
    pipeline_run_total 54.73s 從前處理到 decode 完成
    mesh_simplify 0.01s 幾乎可忽略
    to_glb 1:12.68 mesh 修補、remesh、xatlas、attribute sampling
    glb_export 19.05s 寫出 GLB
    measured compute total 2:26.46 不含 pipeline 載入
    Python process wall time 4:50.15 含載入與 Python overhead

    輸出與資源

    項目 數值
    Max RSS 25,537,196 KB
    GPU memory max 7,569 MiB
    GPU memory avg 3,196.71 MiB
    GPU util max 100%
    GPU util avg 16.98%
    Power max 318.99 W
    Power avg 69.12 W
    Original mesh 3,804,360 vertices / 7,783,442 faces
    After remeshing 6,476,874 vertices / 12,995,332 faces
    Final mesh 459,943 vertices / 930,960 faces
    GLB size 約 75-76 MiB

    這筆是有效結果。之前有 no-rembg + DinoV2 fallback 的 2048 / 4096 測試,雖然技術上有跑完,但輸出品質失敗,不拿來當模型品質 benchmark。

    TripoSplat:robot Gaussian Splat

    TripoSplat 這次不是輸出 GLB,而是輸出 .ply 和 .splat。模型檔已下載到本機。

    項目 數值
    Input robot.jpeg
    Gaussians 262,144
    pipeline_init 21.56s
    pipeline_run 14.94s
    save_preprocessed PNG 0.07s
    save PLY 1.01s
    save SPLAT 0.22s
    Process wall 43.13s
    Max RSS 5,578,752 KB
    CUDA max allocated 4,929,969,152 bytes
    CUDA max reserved 7,000,293,376 bytes
    GPU memory max 7,013 MiB
    GPU util max 100%

    輸出檔:

    outputs/ai-benchmarks/triposplat-robot/robot_262144.ply
    outputs/ai-benchmarks/triposplat-robot/robot_262144.splat
    outputs/ai-benchmarks/triposplat-robot/preprocessed_image.png
    

    第一次 TripoSplat 推論其實有成功,但在存 WebP 時 PIL plugin 出錯;後來改成 PNG 後重跑,這一輪才列為有效 artifact run。

    PyTorch / Transformers

    這一組用來看基本 CUDA/PyTorch 算力和小型 Transformers 推論。它不是採購的唯一依據,但可以確認環境沒有明顯問題。

    Synthetic kernels

    測試 Shape / iterations 結果
    matmul fp32, TF32 off 4096 x 4096, 12 iters 35.54 TFLOPS
    matmul TF32 8192 x 8192, 20 iters 54.22 TFLOPS
    matmul fp16 8192 x 8192, 40 iters 109.57 TFLOPS
    matmul bf16 8192 x 8192, 40 iters 109.75 TFLOPS
    conv2d fp16 batch 16, 64->128, 224x224, 80 iters 58.69 TFLOPS

    Transformers generation

    模型:Qwen/Qwen2.5-1.5B-Instruct,BF16。

    階段 時間 / 結果
    tokenizer_from_pretrained 7.43s
    model_from_pretrained 51.89s
    model_cuda 0.80s
    prefill forward, 29 input tokens 0.26s
    generate batch 1, 128 new tokens 2.93s
    batch 1 throughput 43.64 tok/s
    generate batch 4, 64 each 1.49s
    batch 4 throughput 171.20 tok/s
    total_llm_model 68.21s
    process wall 1:13.47
    GPU memory max 3,493 MiB

    llama.cpp / llama-bench

    這是最能看出 32GB VRAM 價值的一組測試。所有測試都用 CUDA backend,全 GPU offload:

    llama-bench -ngl -1 -fa auto
    

    1.5B / 7B 基準線

    模型 Quant Prompt Prefill Generation
    Qwen2.5 1.5B Q4_K_M 512 26,438 tok/s 441.9 tok/s
    Qwen2.5 1.5B Q4_K_M 2048 29,389 tok/s 440.9 tok/s
    Qwen2.5 7B Q4_K_M 512 8,400 tok/s 142.2 tok/s
    Qwen2.5 7B Q4_K_M 2048 8,431 tok/s 141.8 tok/s

    14B / 32B 大模型測試

    模型 Quant Prompt Prefill Generation 結果
    Qwen2.5 14B Q4_K_M 512 4,299 tok/s 73.6 tok/s 成功
    Qwen2.5 14B Q4_K_M 2048 4,234 tok/s 73.6 tok/s 成功
    Qwen2.5 14B Q4_K_M 8192 3,615 tok/s 73.6 tok/s 成功
    Qwen2.5 32B Q4_K_M 512 1,977 tok/s 34.0 tok/s 成功
    Qwen2.5 32B Q4_K_M 2048 1,942 tok/s 34.0 tok/s 成功
    Qwen2.5 32B Q4_K_M 8192 1,752 tok/s 34.0 tok/s 成功
    Qwen2.5 32B Q4_K_M 16384 1,557 tok/s 34.0 tok/s 成功
    Qwen2.5 32B Q4_K_M 32768 1,247 tok/s 33.9 tok/s 成功
    Qwen2.5 32B Q5_K_M 2048 1,886 tok/s 29.4 tok/s 成功
    Qwen2.5 32B Q5_K_M 8192 1,706 tok/s 29.4 tok/s 成功

    這裡可以看到 4080S 32GB 的意義。32B Q4 能跑到 32K prompt,32B Q5 也能跑 8192 prompt。這不是「跑得很勉強」的結果;測試過程中沒有 OOM,也沒有需要改成 CPU offload。

    CUDA samples / memory bandwidth

    這組是硬體層面的健康檢查,不當成主要採購依據。CUDA samples 本來就不是嚴格跑分工具,但它能幫忙確認 CUDA、PCIe、device copy 沒有明顯異常。

    測試 結果
    CUDA sample matrixMul 3298.69 GFLOP/s
    P2P self-copy bandwidth 約 638-641 GB/s
    GPU latency 1.34-1.39 us
    CPU latency 3.42 us
    PyTorch H2D, 4GiB pinned 23.41 GB/s
    PyTorch D2H, 4GiB pinned 24.51 GB/s
    PyTorch D2D, 4GiB 321.47 GB/s
    AI硬件 rtx4080s

  • 最近在在做购买硬件的打算,突然想到!
    CS6C CS6

    @terry 我最近都在忙公司採購... 是真的漲,B300 也是漲到破百萬刀了,PRO6000 上週一次8卡訂單一張 42~45萬台幣,下週預報 57萬牌價,成交價暫時不知

    随便聊聊

  • 3D模型生成 trellis2 - r9700 rocm
    CS6C CS6

    200多秒吧

    截圖 2026-06-11 下午4.17.16.png

    workflow.zip

    LLM讨论区 r9700 rocm

  • 新手入坑 R9700 真的行嗎?
    CS6C CS6

    @rolex-lo coding 你還是訂 codex 或是 claude code 吧! 沒比較貴,目前我 R9700 單卡 coding 體驗很糟

    AI硬件 r9700

  • R9700 Proxmox VE 懶人部署兩週運行心得
    CS6C CS6

    @kos-or 看到有意思的板子 ROMED4ID-2T
    但配套還沒有全部買齊,就慢慢賺錢一邊收

    https://www.newegg.com/asrock-rack-romed4id-2t-amd-epyc-7002-series-processors/p/N82E16813140059?srsltid=AfmBOoqkmMi9BC4TC94y3QT7yDvXoFy298sZ28C7Vs1HXI3dCnMsx-5t
    參考圖
    c38ab2cd-217a-4c6d-8479-c62dbef8b34c-image.jpeg

    AI硬件 r9700

  • 今天刚入了7900XTX,小白想请教该不该放掉手上的9070XT?
    CS6C CS6

    @kos-or 我覺得重點還是題目是什麼? AI跟區塊鏈泡沫一樣,只是一個技術底層而已。

    AI硬件 7900xtx

  • 請教大神 RTX PRO 4000 24G Blackwell 1萬RMB 4.8萬台幣值得入手嗎?
    CS6C CS6

    @566656661 那看來就是初代....現在來說根本就垃圾吧 8000都不值

    AI硬件

  • 技嘉Z890主板 256G DDR5内存 两张Pro6000 96G 跑cpp Qwen3.6 27B BF16与同时双ComfyUI工作流长视频之运行
    CS6C CS6

    省10萬可以飛日本10趟了,我自己覺得還行(?

    AI硬件 comfyui

  • 双3090 + Ollama 加载 Q8 视觉模型瞬间断电重启,求老哥们把脉
    CS6C CS6

    @566656661 NZXT C1500 路過,接口的做工不太好...(我之前是用台達跟全漢),隨附600W的線,有一條只能跑到300W目前正在返修換貨....
    而且在台灣要使用 16A品字c19/c20 插头 真的挺麻煩的,家用瓦數也很容易超過1600瓦的上限

    AI硬件 rtx3090

  • 4080S 32G 魔改版 vast.ai 租借心得
    CS6C CS6

    @terry 我是租算力啦,這些資訊都是 vast.ai 上讀出來的,有沒有假卡我也看不出來。
    結果我反手就買了3090

    b34c186b-33c4-433c-a075-bb96ba1e03b7-image.jpeg

    AI硬件 rtx4080s

  • 請教大神 RTX PRO 4000 24G Blackwell 1萬RMB 4.8萬台幣值得入手嗎?
    CS6C CS6

    你們的撿漏磚家回來啦

    • 後果自負,中國深圳出貨喔
      我是很想要,但要飛過去驗貨好累...

    c00bcbda-1637-4e21-999e-e7ad0fdd730c-image.jpeg

    https://www.ebay.com/itm/168333884398?_skw=rtx+pro+4500&itmmeta=01KV6FY1DPJ6GY6VJH9XHCBZEF&hash=item27317b3bee:g:SbYAAeSwaERp7gcY&itmprp=enc%3AAQALAAAA8GfYFPkwiKCW4ZNSs2u11xAiT0x7%2BdStyVdy81v9YqzYNENkkEWIcMMpLw0dk4yrbbgGf05M1ehwrS6QK1UBb6TEG1%2Bj1lqifvxYh3UMT0VXNXU1rvUZNErh17jC8IZGgfdWO9lzBz9hqTZxp8bP7L8nDaQjuawhd7J2UeGJv6XHoOVB%2BjZKAaiwxW8e7sRh8%2F64Fg1qRBjzep%2BVxACSnUaDcUDROvkK0Dtjgqo8ChchR7ht3wxTIC7hO3CTAXuj5cYmJhZ9%2FXHnXk3ZJTg2ouXokadhh30XqZPHYkhyOGFsIKcEYlWQNq4BSIw%2FaJPXxA%3D%3D|tkp%3ABFBMhJf4z9ln

    AI硬件

  • R9700 Proxmox VE 懶人部署兩週運行心得
    CS6C CS6

    @kos-or 要看你的主板,還有處理器需要什麼? 我自己最近打算收一套 64 *4 的 ddr4 3200 ecc rdimm ,X99 對應的記憶體記得蠻便宜的

    AI硬件 r9700

  • AMD pro R9700显卡已经拿到了,主机是新攒的,准备装机,请论坛内的大神、老玩家们给些开荒意见,帮着避避坑,谢谢啦,将持续上报后续作业。
    CS6C CS6

    有時間折騰 WSL 都可以搞定好幾套 Linux 環境了.....
    這東西只有當年 .net core 轉換陣痛期那段時間真的好用

    AI硬件 r9700 amd
  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 最新
  • 标签
  • 热门
  • 用户
  • 群组