1 คะแนน โดย GN⁺ 2 시간 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • เพื่อเสริมสภาพแวดล้อม local LLM ที่มีแค่ RTX 4080 16GB แล้วยังไม่พอ จึงเพิ่ม Tesla V100 SXM2 16GB มือสองพร้อมอะแดปเตอร์ในราคาราว £200 ทำให้รวมเป็น VRAM ทั้งหมด 32GB
  • V100 SXM2 เป็น GPU สำหรับเซิร์ฟเวอร์ที่ไม่มีสล็อต PCIe, ไม่มีพอร์ตแสดงผล, และไม่มีขั้วไฟมาตรฐานทั่วไป แต่สามารถติดตั้งในพีซีเกมมิงได้ผ่านอะแดปเตอร์ SXM2-to-PCIe
  • พัดลมเซิร์ฟเวอร์มีเสียงดังพื้นฐานถึง 82dB จนใช้งานในห้องแทบไม่ได้ แต่แก้ด้วยสายจัมเปอร์ PH2.0-2.54mm ต่อเข้าหัวพัดลมบนเมนบอร์ด เพื่อควบคุม PWM และลดเสียงได้
  • ใช้ tensor splitting ของ llama.cpp แบ่ง Qwen3.6-27B-MTP Q5_K_M ไปรันบน RTX 4080 และ V100 ได้คอนเท็กซ์ 128k และความเร็วอนุมานราว 32 tok/s
  • แม้จะไม่เรียบร้อยเท่า GPU 32GB ใบเดียว และยังมีปัญหาเรื่องไดรเวอร์, CUDA, และ warm reboot อยู่ แต่ GPU เซิร์ฟเวอร์มือสอง ก็อาจเป็นทางเลือกขยาย VRAM สำหรับ local LLM ที่คุ้มค่า

สภาพแวดล้อม local LLM 32GB ที่ประกอบด้วยงบ £200

  • แค่ RTX 4080 VRAM 16GB ยังไม่พอสำหรับรันโมเดลโลคัลตามต้องการ จึงเพิ่ม GPU ดาต้าเซ็นเตอร์มือสองเข้ากับพีซีเกมมิงผ่านอะแดปเตอร์
  • ซื้อ Tesla V100 SXM2 16GB พร้อมอะแดปเตอร์ SXM2-to-PCIe รวมราคาราว £200 ทำให้ได้สภาพแวดล้อม VRAM รวม 32GB จาก GPU สองใบ
  • แบ่งโมเดลขนาด 27B พารามิเตอร์ไปรันบน GPU สองใบ ได้ความเร็วราว 32 tokens/s และทั้งตัวโมเดลรวมถึงคอนเท็กซ์ก็อยู่ใน VRAM ทั้งหมด
  • แม้ประสบการณ์จะไม่เหมือน GPU ผู้บริโภค 32GB ใบเดียว แต่ก็ได้ความจุ VRAM ในราคาที่ต่ำกว่า RTX 5090 32GB มาก

Tesla V100 SXM2 และอะแดปเตอร์

  • Tesla V100 SXM2 16GB เป็น GPU สำหรับเซิร์ฟเวอร์ NVIDIA DGX และแร็กของไฮเปอร์สเกลเลอร์
    • ไม่มีสล็อต PCIe ปกติ, ไม่มีพอร์ตแสดงผล, และไม่มีขั้วต่อไฟแบบทั่วไป
    • ถูกออกแบบให้ติดตั้งบนบอร์ดเฉพาะภายในเซิร์ฟเวอร์และสื่อสารผ่าน NVLink
    • หากต้องการเสียบเข้ากับเมนบอร์ดโดยตรง จำเป็นต้องใช้อะแดปเตอร์แยก
  • V100 เป็น Volta GPU และมีหน่วยความจำ HBM2 16GB พร้อม 5120 CUDA cores
    • ราคาที่ซื้อจาก eBay อยู่ที่ราว £150
    • แม้จะเป็น GPU ปี 2017 แต่พลังประมวลผลและ VRAM ยังใช้ได้ดีสำหรับงาน local LLM
  • แบนด์วิดท์ของหน่วยความจำ HBM2 คือข้อเด่นสำคัญ
    • V100 มี memory bus 4096-bit และให้แบนด์วิดท์ 900GB/s
    • สูงกว่าแบนด์วิดท์ GDDR6X ของ RTX 4080 ที่ 736GB/s อยู่ 22%
    • สูงกว่า Apple M3 Max 400GB/s, M4 Max 546GB/s, และ M5 Max 614GB/s
  • AMD RX 7900 XTX มี GDDR6 24GB และแบนด์วิดท์ 960GB/s สูงกว่า V100 เล็กน้อย แต่มีราคาเกิน £700
    • การรองรับ LLM inference ของ ROCm ยังถูกมองว่ายังไม่ลื่นเท่า CUDA
    • V100 ให้แบนด์วิดท์ 94% ของ RX 7900 XTX ในราคาต่ำกว่าหนึ่งในสี่ และใช้งานกับ llama.cpp ได้
  • RTX 5090 มีแบนด์วิดท์ 1,792GB/s ซึ่งเหนือกว่า V100 ชัดเจน แต่มีราคามากกว่า £2,000
    • ในการทำ LLM inference แบนด์วิดท์หน่วยความจำเป็นคอขวดที่กำหนด tokens/s จึงเป็นปัจจัยสำคัญ
  • อะแดปเตอร์ SXM2-to-PCIe ไม่ใช่ผลิตภัณฑ์ทางการของ NVIDIA และไม่มีการซัพพอร์ตอย่างเป็นทางการ
    • เป็น bare PCB ที่ด้านหนึ่งเป็นซ็อกเก็ต SXM2 และอีกด้านเป็นขั้วต่อ PCIe edge connector
    • ราคาอยู่ที่ราว £50 ทำให้ต้นทุนรวมทั้งชุดอยู่ที่ประมาณ £200
    • อะแดปเตอร์นี้ทำให้สามารถเสียบ V100 16GB ลงบนเมนบอร์ดร่วมกับ RTX 4080 ได้

ปัญหาพัดลมระบายความร้อนแบบเซิร์ฟเวอร์และวิธีแก้

  • V100 SXM2 ถูกออกแบบมาให้ทำงานในสภาพแวดล้อมระบายความร้อนระดับอุตสาหกรรมของเซิร์ฟเวอร์ 2U
    • พัดลมบนอะแดปเตอร์มีเสียงดังเกินกว่าจะใช้งานในห้องทั่วไป
    • วัดด้วย Apple Watch ได้เสียง 82dB และถูกเปรียบว่าอยู่ระหว่างเครื่องกำจัดขยะกับเครื่องตัดหญ้า
  • ในสภาพเดิมไม่สามารถควบคุมพัดลมได้
    • ทั้ง nvidia-smi, การสำรวจอุปกรณ์บน Linux, และการลองใช้ Windows Afterburner ล้วนไม่สำเร็จ
    • ดูเหมือนว่าพัดลมของอะแดปเตอร์ถูกออกแบบให้หมุน 100% ตลอดเวลาเหมือนอยู่ในแร็กเซิร์ฟเวอร์
  • ใช้ การทดสอบด้วยแบตเตอรี่ 9V เพื่อตรวจสอบการจัดเรียงขาพัดลม
    • เมื่อต่อสายจัมเปอร์เข้ากับ VCC และ ground แล้วแตะแบตเตอรี่ 9V พัดลมก็หมุน
    • เสียงเงียบลงกว่าการขับที่ 12V มาก ทำให้เห็นว่าการควบคุมพัดลมน่าจะทำได้
  • พัดลมทำงานคล้ายพัดลมเคสพีซีมาตรฐาน
    • เสียบสายจัมเปอร์เข้ากับคอนเน็กเตอร์พัดลม แล้วต่ออีกด้านเข้ากับหัวพัดลมว่างบนเมนบอร์ด
    • เมนบอร์ดอ่านค่า RPM ได้ และควบคุม PWM ได้เช่นกัน
    • แม้ตั้งไว้ที่ความเร็ว 10% อุณหภูมิขณะฟูลโหลดก็ไม่เกิน 50°C และแทบไม่ได้ยินเสียง
  • สายสุดท้ายใช้ jumper cable แบบ 2.54mm male to PH2.0 female
    • คอนเน็กเตอร์พัดลมของอะแดปเตอร์เป็นปลั๊ก JST PH2.0 4 พิน
    • หัวพัดลมบนเมนบอร์ดใช้มาตรฐาน 0.1 นิ้ว หรือ pitch 2.54mm
    • ฝั่ง PH2.0 female ต่อเข้าขา tachometer และ PWM ของพัดลม ส่วนฝั่ง 2.54mm male ต่อเข้าหัวพัดลมของเมนบอร์ด
    • แก้ปัญหา 82dB ได้ด้วยสายจัมเปอร์ราคาประมาณ £2 และการตรวจสอบคอนเน็กเตอร์

ขยาย VRAM ด้วย GPU สองใบ

  • ชุด GPU สุดท้ายมีดังนี้
    • RTX 4080: VRAM 16GB, สถาปัตยกรรม Ada
    • Tesla V100: VRAM 16GB, สถาปัตยกรรม Volta
    • รวม: VRAM 32GB กระจายอยู่บน GPU สองใบ
  • llama.cpp สามารถใช้ tensor splitting เพื่อแบ่งโมเดลไปรันบน GPU สองใบได้
    • ประมวลผลแบบ pipeline ผ่านบัส PCIe
    • RTX 4080 จัดการบางเลเยอร์ และ V100 จัดการส่วนที่เหลือ
    • แม้จะไม่เร็วเท่า GPU 32GB ใบเดียว แต่ใช้งานได้จริง และต้นทุนอยู่ราว 10% ของ GPU 32GB
  • สังเกตว่าการใช้พลังงานของ V100 สูงสุดอยู่ราว 150W
    • สำหรับ GPU ที่ใช้ทำ local LLM inference ถือว่าไม่เล็ก แต่ก็ไม่ได้ผิดปกติจนเกินไป
  • V100 รุ่น 32GB ก็ยังเป็นอีกทางเลือกหนึ่ง
    • แม้ราคาจะมากกว่าสองเท่าของที่ซื้อมา แต่ก็ยังได้ HBM2 32GB บนการ์ดใบเดียวด้วยเงินเพียงไม่กี่ร้อยปอนด์
    • ถ้าใช้ V100 32GB สองใบก็จะได้ VRAM 64GB ซึ่งถูกอธิบายว่าราคาอยู่ราว 20% ของ RTX 5090 ปัจจุบัน
  • ฟอร์แมต SXM2 รองรับ NVLink โดยพื้นฐาน
    • หากทำชุด multi-GPU อย่างจริงจัง GPU จะสื่อสารกันได้ด้วยแบนด์วิดท์สูง
    • แม้ผ่านอะแดปเตอร์ PCIe ประสิทธิภาพของ tensor split ก็ยังถือว่าเสถียรเพียงพอ

จัดไดรเวอร์และ CUDA ให้ตรงกันบน NixOS

  • การตั้งค่าซอฟต์แวร์เป็นไปค่อนข้างราบรื่นด้วย NixOS
  • V100 ใช้ชิป Volta และ NVIDIA ยกเลิกการรองรับ Volta ตั้งแต่ไดรเวอร์ branch 560
    • ไดรเวอร์รุ่นสุดท้ายที่รองรับทั้ง RTX 4080 Ada และ V100 Volta พร้อมกันคือ branch 550.x
    • บน NixOS ตรงกับ nvidiaPackages.legacy_535
  • ไดรเวอร์นี้รองรับถึง CUDA 12.2 เท่านั้น
    • ปัจจุบัน nixpkgs ให้ CUDA 12.6 ขึ้นไป
    • จึงต้องดึง CUDA 12.2 มาจาก nixpkgs 24.05
  • ไดรเวอร์ต้องการ Linux kernel 6.6
    • legacy driver ไม่รองรับเคอร์เนลที่ใหม่กว่านี้
  • แม้จะเป็นเซิร์ฟเวอร์ inference แบบ headless ก็ยังต้องเปิด services.xserver.enable = true
    • หากไม่ตั้งค่านี้ โมดูลเคอร์เนลของ NVIDIA จะไม่ถูกโหลด
  • การตั้งค่า NixOS หลักประกอบด้วยการกำหนดเคอร์เนล, NVIDIA legacy driver, และไดรเวอร์ NVIDIA สำหรับ X server
boot.kernelPackages = pkgs.linuxPackages_6_6;
hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.legacy_535;
services.xserver.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
  • CUDA 12.2 ถูกดึงมาจาก nixpkgs เวอร์ชันเก่าผ่าน overlay
nixpkgs.overlays = [
  (final: prev: {
    cudaPackages_12_2 = nixpkgs-cuda.legacyPackages.${prev.system}.cudaPackages_12_2;
  })
];
  • GPU ทั้งสองใบแสดงผลได้ครบและ CUDA ก็ทำงานได้ตามปกติ
  • นิยามของเครื่องทั้งหมดรวมอยู่ใน commit นี้ของ dotfiles repo
    • รวมถึง service definition ของ llama.cpp และ custom build ที่ตรึงไว้กับเวอร์ชันที่ถูกต้อง

โมเดลที่รันและประสิทธิภาพ

  • โมเดลที่รันคือเวอร์ชัน quantized ของ Qwen3.6-27B-MTP Q5_K_M
    • ขนาดโมเดลอยู่ที่ราว 19GB
    • เมื่อใช้ GPU สองใบ โมเดลทั้งหมดสามารถอยู่ใน VRAM และยังมีพื้นที่เหลือสำหรับคอนเท็กซ์
  • การตั้งค่าหลักในการรันมีดังนี้
    • Model: Qwen3.6-27B-MTP Q5_K_M, 19GB
    • Context size: 128k tokens
    • GPU layers: 99, offload ทั้งหมด
    • Tensor split: -ts 1.0,1.0, แบ่งเท่ากันระหว่าง GPU สองใบ
  • ประสิทธิภาพที่ได้มีดังนี้
    • Inference speed: ราว 32 tok/s
    • Prompt processing: ราว 133~160 tok/s
  • 32 tokens/s ถูกประเมินว่าเร็วพอสำหรับการใช้งานแบบโต้ตอบ
    • ทำได้แม้จะเป็นการต่อ GPU คนละสถาปัตยกรรมผ่าน PCIe แล้วใช้ tensor split
    • เมื่อคิดรวม latency ของเครือข่ายแล้ว ยังถูกอธิบายว่าเร็วกว่า cloud API endpoint ส่วนใหญ่

MTP และอินพุตรูปภาพ

  • MTP ย่อมาจาก Multi-Token Prediction
    • การทำ LLM inference แบบทั่วไปจะทำนายทีละหนึ่งโทเค็น รับโทเค็นนั้น แล้วค่อยทำนายโทเค็นถัดไป
    • MTP จะทำนายโทเค็นในอนาคตหลายตัวพร้อมกัน แล้วตรวจสอบว่าโทเค็นใดถูกต้อง
    • โทเค็นที่ยอมรับได้แทบถือว่าได้มาฟรี ส่วนที่ทำนายผิดจะย้อนกลับไปใช้เส้นทางปกติ
  • ผลของ MTP คือทำให้ความเร็วการสร้างเพิ่มขึ้นราว 1.5~2 เท่าโดยไม่เสียความแม่นยำ
    • ในชุดนี้จากราว 32 tok/s อาจขึ้นไปถึง 50~60 tok/s เมื่อ MTP เดาตรงได้ดี
    • มีประโยชน์มากโดยเฉพาะกับเอาต์พุตที่คาดเดาได้ เช่น โค้ด
  • การรองรับ MTP ใน llama.cpp ยังเป็นฟีเจอร์ใหม่
    • เวอร์ชัน llama.cpp ใน nixpkgs ยังไม่รองรับสถาปัตยกรรม Qwen3.6 MTP
    • จึงต้องคอมไพล์ llama.cpp จากซอร์สที่ commit เฉพาะซึ่งเพิ่มการรองรับนี้
    • บน NixOS มีการทำ custom derivation ที่ตรึงไว้กับ commit ดังกล่าวเพื่อให้ทำซ้ำได้
    • หากเปลี่ยนโมเดลหรือเวอร์ชัน llama.cpp ก็แก้เพียงหนึ่งบรรทัดใน config แล้วรัน nixos-rebuild switch
  • Qwen3.6-27B รองรับอินพุตภาพผ่านไฟล์ multimodal projector แยกต่างหากชื่อ mmproj
    • ไฟล์เพิ่มเติมนี้มีขนาดราว 928MB
    • โครงสร้างคือ vision encoder แปลงพิกเซลของภาพไปเป็นพื้นที่ token embedding ของ LLM
    • ไม่ใช่ว่าโมเดล “มองเห็น” ภาพเหมือนมนุษย์
    • LLM จะประมวลผลเวกเตอร์ที่แปลงแล้วเหมือนเป็นลำดับโทเค็นอีกชุดหนึ่ง
  • แฟล็กสำหรับรัน llama.cpp มีดังนี้
--mmproj /mnt/nas/llamacpp/mmproj-F16.gguf --mmproj-offload
  • --mmproj-offload จะย้าย vision encoder ขึ้นไปรันบน GPU พร้อมกับตัวโมเดล
    • ทำให้ยังคง inference ได้รวดเร็วแม้มีอินพุตเป็นรูปภาพ

วิธีใช้งานแบบโลคัล

  • ชุดนี้ถูกใช้งานร่วมกับ OpenCode
    • OpenCode คือ AI coding assistant ที่สามารถรันกับโมเดลโลคัลได้
  • เซิร์ฟเวอร์ LLM รันอยู่บนเดสก์ท็อป แต่ใช้งานจากอุปกรณ์อื่น
    • เครื่องอื่นในบ้านเข้าถึงผ่านเครือข่ายได้
    • จากภายนอกเข้าถึงผ่าน Tailscale
  • การใช้เซิร์ฟเวอร์ llama.cpp ใน OpenCode ทำได้ด้วยการตั้งค่า API URL
    • โมเดลรันอยู่บนเครื่องโลคัล
    • การตอบสนองรวดเร็วและข้อมูลไม่ออกนอกเครือข่าย

ปัญหาและข้อจำกัดที่ยังเหลือ

  • มี ปัญหาที่ V100 หายไปหลัง warm reboot เป็นบางครั้ง
    • หลังรีบูตแบบที่ระบบปฏิบัติการเริ่มใหม่แต่เมนบอร์ดยังมีไฟอยู่ บางครั้ง lspci และ nvidia-smi จะไม่เห็น V100
    • ดูเหมือนจะเป็นปัญหา ACPI enumeration ของสล็อต PCIe
    • หากปิดเครื่องจริง รอสักไม่กี่วินาที แล้วเปิดใหม่แบบ cold reboot จะกลับมาทุกครั้ง
  • หากไม่มี V100, llama.cpp จะเริ่มทำงานไม่ได้
    • เพราะโมเดลนี้ใส่ลงใน GPU 16GB ใบเดียวไม่ได้
    • service จะ crash loop ซ้ำไปเรื่อย ๆ จนกว่า GPU จะกลับมา
    • โดยปกติมักอยู่ใกล้เครื่องตอนรีบูต จึงมองว่าไม่ได้เป็นปัญหาใหญ่ในการใช้งานจริง
  • การใช้ tensor split ข้าม GPU สองใบคนละสถาปัตยกรรมไม่เรียบร้อยเท่า GPU ใบเดียว
    • V100 ก็ไม่ใช่ GPU ที่เร็วที่สุดสำหรับงาน inference
    • แต่ก็ถูกประเมินว่าคุ้มค่ามากเมื่อเทียบราคา

ตัวเลือกและบทสรุป

  • สิ่งที่ได้จากงบราว £200 มีดังนี้
    • GPU ดาต้าเซ็นเตอร์ 16GB ที่ทำงานร่วมกับ GPU เกมมิงได้
    • VRAM รวม 32GB สำหรับ local LLM inference
    • ความเร็ว 32 tokens/s กับโมเดล 27B พารามิเตอร์
    • หน้าต่างคอนเท็กซ์ 128k token
    • รองรับ vision สำหรับอินพุตรูปภาพ
    • โมเดลที่รันแบบโลคัลทั้งหมดโดยไม่ต้องพึ่งคลาวด์และไม่มีค่าใช้จ่ายต่อโทเค็น
  • ต้นทุนที่แท้จริงคือเสียงพัดลม แต่แก้ได้ด้วยสายจัมเปอร์และการตรวจสอบคอนเน็กเตอร์
  • หากต้องการรันโมเดลโลคัลอย่างจริงจัง ตลาด GPU เซิร์ฟเวอร์มือสอง อาจเป็นทางเลือกที่น่าสนใจ
    • แม้ไม่มี GPU เดิมอยู่แล้ว ก็สามารถใส่ V100 เดี่ยวลงในเซิร์ฟเวอร์ราคาประหยัดเพื่อให้ได้ 16GB VRAM และสภาพแวดล้อม local LLM ที่ใช้งานได้
    • V100 SXM2 ไม่ใช่ตัวเลือกเดียว
    • P40 ให้ 24GB ในงบใกล้เคียงกัน แต่ช้ากว่าและไม่มี Tensor Cores
    • V100 รุ่น 32GB มีราคาแพงกว่า แต่ก็ยังถูกกว่า GPU ผู้บริโภคที่มี VRAM เท่ากัน
  • อย่างไรก็ตาม ต้องเตรียมรับมือกับปัญหาพัดลมไว้ด้วย

1 ความคิดเห็น

 
GN⁺ 2 시간 전
ความคิดเห็นจาก Lobste.rs
  • แนวทางนี้เจ๋งมาก และยิ่งทำให้อยากรู้เรื่อง อาการที่ GPU หายไปจาก PCIe มากขึ้น เพราะสาเหตุมีได้เยอะมาก
    เสียงพัดลม GPU ที่เร่งดัง ๆ ทำให้นึกถึงตอนอยู่ทีม NVIDIA CUDA เพื่อนร่วมงานคนหนึ่งกำลังเพิ่มฟังก์ชันควบคุมพัดลมให้ NVML และ nvidia-smi แล้วก็ได้ยินเสียงพัดลมดังขึ้นเบาลงมาจากอีกฝั่งของฉากกั้น ก่อนที่เขาจะโผล่หน้าออกมาพร้อมรอยยิ้มกว้าง
    เขาบอกว่านี่เป็นฟีเจอร์ที่ชอบที่สุดเท่าที่เคยทำมา เพราะพอฟังก์ชันทำงาน ก็ได้ยินผลลัพธ์ด้วยหูทันที

  • ถ้าสนใจ โฮสต์ LLM เอง Dell OEM RTX 3090 มักจะถูกกว่าสินค้าแบรนด์ใหญ่ และเคยหาได้ราว ๆ 800 ดอลลาร์แคนาดา
    ตอนนี้คงต้องไปอ่านเพิ่มว่า vLLM ทำงานอย่างไร เพราะบางครั้งโมเดลจะเริ่มพ่นรายชื่อและคำคุณศัพท์ที่เกี่ยวข้องออกมายาวเป็นหางว่าว น่าจะตั้งค่าอะไรผิดสักอย่าง

    • อยากรู้ว่าใช้รันโมเดลไหนบน RTX 3090
      เท่าที่เข้าใจ โมเดลที่พอใช้งานได้ส่วนใหญ่ต้องการอย่างน้อย 48~64GB VRAM ถึงจะรันได้ดี เลยคิดว่าชิป Apple M series ที่ใช้สถาปัตยกรรมหน่วยความจำรวมถึงได้รับความนิยมในด้านนี้
  • ของแบบนั้นก็มีขายเป็นแพ็กเกจสำเร็จรูปอยู่แล้ว แต่ก็จะเป็นแนว ประกันจากผู้ผลิต 3 เดือน แล้วจบ
    https://ebay.com/itm/297819576914/…

    • อันนี้น่าสนใจมาก ดูแล้วน่าจะยังไม่ได้ทำ โมดิฟายพัดลม แบบที่บทความนี้พูดถึง
  • ในสหรัฐฯ รุ่น 32GB มือสองซื้อขายกันอยู่ที่ราว 600 ดอลลาร์
    ส่วนอะแดปเตอร์ก็น่าจะซื้อจากจีนซึ่งเป็นแหล่งผลิตโดยตรง

  • สงสัยว่าฝั่ง AMD มีตัวเทียบกันได้ไหม ตอนนี้ใช้ 48GB W7900 สองใบ อยู่ แต่อยากขยายเพื่อให้รันโมเดลใหญ่กว่านี้ได้

    • ก็มีอยู่บ้าง มี Instinct MI60 ซึ่งอยู่ยุคเดียวกับ V100 แม้จะค่อนข้างเก่าแล้ว แต่มี 32GB VRAM และออกมาเป็นการ์ด PCIe อยู่แล้ว
      แค่ต้องเสริมระบบระบายความร้อนเพิ่ม แต่ไม่ต้องมานั่งดัดแปลงอะแดปเตอร์
      ผมคอยอ่านทุกครั้งที่เจอการจัดสเปกสำหรับรันโมเดลในเครื่อง และตอนนี้ช่วงความต้องการ VRAM ระดับกลางที่ 48~128GB ดูเหมือนจะยังไม่มีจุดคุ้มค่าที่โดดเด่นจริง ๆ ตัวเลือกหลัก ๆ มีประมาณสามแบบ: GPU ดาต้าเซ็นเตอร์หลายใบจากรุ่นก่อนหน้า 3 เจเนอเรชัน (Tesla V100, Instinct MI60), ผลิตภัณฑ์ระดับล่างสุดของเจเนอเรชันปัจจุบันหลายใบแต่มี VRAM เยอะ (Arc Pro B70), หรือกล่องสำเร็จรูปแบบรวมทุกอย่างของเจเนอเรชันปัจจุบัน (DGX Spark, Mac Mini, Strix Halo)
      สำหรับคนที่อัปเกรดจาก GPU ผู้บริโภค 32GB ใบเดียวหรือ 16GB สองใบ แต่ละทางเลือกก็มีทั้งข้อแลกเปลี่ยนและข้อดีอยู่บ้าง แต่ถ้าตอนนี้ใช้การ์ด 48GB สองใบอยู่แล้ว ก็ไม่แน่ใจนักว่าจะมีการอัปเกรดฮาร์ดแวร์มือสองแบบไหนที่ให้ความรู้สึกว่าดีขึ้นอย่างชัดเจน