- เพื่อเสริมสภาพแวดล้อม 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 เท่ากัน
- อย่างไรก็ตาม ต้องเตรียมรับมือกับปัญหาพัดลมไว้ด้วย
2 ความคิดเห็น
ความเห็นจาก Hacker News
ไม่นานมานี้ฉันก็ลองซื้อ GPU ศูนย์ข้อมูล มาเสียบกับเครื่องเหมือนกัน เลยขอเล่าประสบการณ์บางอย่างที่บทความต้นฉบับไม่ได้พูดถึง
NVIDIA V100 และ AMD MI50 ที่ปลดประจำการแล้วนั้นราคาค่อนข้างถูกสำหรับใช้ทดลองในเครื่องโลคัล โดยรุ่น 16GB อยู่ราว 200 ดอลลาร์ และ 32GB อยู่ประมาณ 400~500 ดอลลาร์ แต่ทั้งคู่ก็เป็นการ์ดที่เก่ามากแล้ว ถึงอย่างนั้นก็ยังมีชุมชนนักพัฒนาสายงานอดิเรกที่พยายามยื้อให้สองรุ่นนี้ใช้งานต่อได้บนแพลตฟอร์มและโมเดลรุ่นใหม่
ขอติงเล็กน้อยว่า V100 ไม่รองรับ bfloat16 ถ้าแค่เล่นกับโมเดลโลคัล ผลกระทบด้านประสิทธิภาพอาจไม่มากนัก แต่ในแง่ความสามารถของฮาร์ดแวร์ มันก็เป็นการ์ดที่กำลังถูกปลดระวางแล้ว
MI50 รองรับ bf16 แต่ ROCm รุ่นใหม่ของ AMD ไม่รองรับแล้ว ฝั่ง Vulkan รองรับดี และใช้ได้กับแพลตฟอร์มหลักส่วนใหญ่ เช่น llama.cpp, vllm แต่ก็ยังมีความไม่สะดวกอย่างการต้องคอมไพล์ใหม่เองด้วยมือ โชคดีที่ชุมชนโอเพนซอร์สช่วยปูทางไว้เยอะแล้ว
อย่าประเมิน ความต้องการด้านการระบายความร้อน ของการ์ดพวกนี้ต่ำเกินไปเด็ดขาด GPU ผู้บริโภคอาจแค่ลดความเร็วเมื่ออยู่ในเคสเล็กและไม่มีพัดลมเสริม แต่ GPU ศูนย์ข้อมูลถ้าปล่อยแบบเดียวกันจะร้อนเกินแม้ตอนว่างงาน อย่างน้อยควรซื้อพัดลม 120mm ดีๆ หลายตัว หรือไม่ก็ลงทุนกับชุดน้ำ
สุดท้ายฉันซื้อ AMD MI100 32GB ในราคา 950 ดอลลาร์ เพราะชอบ AMD, รองรับ ROCm รุ่นใหม่ และตั้งค่าค่อนข้างง่าย ตอนนี้กำลังชั่งใจว่าจะซื้อใบที่สองเพื่อเอาไว้รันโมเดลใหญ่ขึ้นอย่าง qwen3-coder-next ดีไหม
ตัวครอบจะประกบเข้ากับช่องดูดอากาศของ GPU พอดี ทำให้ลมจากพัดลมที่ติดไว้ทั้งหมดถูกส่งเข้า GPU และยังผูกเส้นโค้งความเร็วพัดลมเข้ากับอุณหภูมิ GPU ได้ด้วย
การ์ดแบบนั้นคาดหวังการไหลเวียนอากาศระดับเซิร์ฟเวอร์ น่าจะรวมถึงฝั่งลมดูดเข้าที่เย็นด้วย เพื่อนคนนั้นพิมพ์เมาท์พัดลมมาติดเพิ่ม แล้วหลังจากนั้นก็ใช้งานได้ดี
ฉันเองก็แอบอยากลองซื้อการ์ดระดับนี้อยู่บ้าง แต่ตอนนี้ 6800xt ยังพอรับมือกับการรันโมเดล Qwen3.6 MOE ได้ในระดับที่ทนรับได้สำหรับโปรเจ็กต์ที่อยากโยนให้ AI โลคัลทำ เลยยังหาเหตุผลมาซื้อไม่ค่อยได้
งานนี้น่าประทับใจ แต่ประเด็นสำคัญไม่ใช่ 30 tok/s ที่พอสำหรับเอเจนต์โค้ดดิ้งและแชต แต่เป็นเรื่อง prefill
prefill ที่ช้าจะทำลายงานแบบเอเจนต์ทันที ตามข้อมูลในโพสต์ต้นฉบับ ถ้าประมวลผล 100,000 โทเค็นได้ราว 150 tok/s ก็เท่ากับ 100000 / 150 วินาที หรือประมาณ 11 นาที 6.7 วินาที ซึ่งต้องรอนานพอสมควร
นี่เป็นปัญหาของ LLM โลคัลบน Mac โดยรวมด้วย Mac เหมาะกับการมีหน่วยความจำแบนด์วิดท์สูงจำนวนมาก แต่พลังประมวลผลยังตามหลัง GPU เฉพาะทางรุ่นปัจจุบันอยู่มาก ใน Mac Studio ชุดแพงบางรุ่นสามารถรันโมเดลที่ใหญ่มากได้ที่ tok/s พอใช้งาน แต่คุณอาจต้องรอนานก่อนที่มันจะเริ่มสร้างโทเค็น
ถ้าเป็นภาษาที่แยกโมดูลเป็นส่วนประกาศ (.h) กับส่วน implementation (.cpp) แบบ C++ ก็อาจใช้ไฟล์ header ทั้งโปรเจ็กต์เป็นคำนำหน้าได้ เพราะ header น่าจะเปลี่ยนไม่บ่อย
ในภาพกว้างกว่านั้น แนวคิดคือมีเอเจนต์ที่มองการนำคำนำหน้าที่แคชไว้กลับมาใช้ใหม่เป็นเป้าหมายหลักของการจัดการคอนเท็กซ์
หากต้องการแคชแม้กระทั่งไฟล์ที่เปลี่ยนไปแล้ว ก็ให้เอเจนต์สร้างคอนเท็กซ์ด้วยคำนำหน้าคงที่ซึ่งสะท้อนบางส่วนหรือทั้งหมดของโค้ดเบส ณ ตอนเริ่มเซสชัน แล้วค่อยต่อการเปลี่ยนแปลงทีหลัง โดยต้องมีพรอมป์ต์กำกับให้ใช้เฉพาะนิยามล่าสุดของฟังก์ชัน
ตัวอย่างเช่น ถ้าไฟล์ A ตอนแรกมีฟังก์ชัน X, Y, Z คำนำหน้าพรอมป์ต์ก็จะมี X Y Z ถ้าผู้ใช้เปลี่ยน Y เป็น Y' ก็เพิ่มเนื้อหานั้นเข้าไปในคอนเท็กซ์ ทำให้คำนำหน้าที่แคชไว้ยังคงเดิม และได้ X Y Z Y'
ถ้าคาดหวังให้ LLM เข้ามาช่วยงานได้ทันทีที่สลับไปทำโปรเจ็กต์หนึ่ง ก็คงน่าหงุดหงิดอยู่ แต่ต่อให้เป็นผู้ร่วมงานมนุษย์ที่เก่งที่สุด ก็ยังต้องใช้เวลา onboarding นานกว่าจะสร้างผลงานที่มีความหมายได้
ต่างจากที่ผู้เขียนบอก Tesla V100 SXM2 16GB ไม่ได้อยู่ระดับ DGX-class แต่เป็นระดับ HGX
V100 มีสองแบบคือ SXM2 และ SXM4 โดยแบบหลังมีหน่วยความจำออนบอร์ดสูงสุด 80GB ปกติจะติดตั้ง 8×A100 80GB SXM4 บน HGX riser ซึ่งทำให้ได้ NVSwitch fabric และ HBM2e แบบ pooled ขนาด 640GB เป็นหน่วยความจำแบบซ้อนแพ็กเกจ แบนด์วิดท์หน่วยความจำประมาณ 2TB/s และอยู่ในขนาดแร็กมาตรฐาน 2U
V100 ไม่ได้ให้ 2TB/s
HGX ดูจะใกล้เคียงกับการเอา DGX มาต่อยอดเพิ่มคอนฟิกมากกว่า
เห็นแค่ชื่อเรื่องก็นึกว่าจะพูดถึงการเอาอันนี้ไปใช้กับ เกม ยังไง ที่ไหนได้แค่เอามารัน LLM
AMD MI250X ก็น่าสนใจเช่นกัน มี HBM2E 128GB และแบนด์วิดท์ 3TB/s และบางครั้งก็เห็นมือสองต่ำกว่า 1,000 ดอลลาร์
ปัญหาคือต้องใช้ซ็อกเก็ต OAM และยังไม่เคยเห็นวิธีเชื่อมต่อเข้ากับเมนบอร์ดทั่วไปได้ง่าย ๆ
อีกอย่าง ของถอดจาก HPE ที่ลงขายใน eBay แบบราคาถูกนั้นต้องการอะไรบางอย่างเฉพาะของ HPE เพื่อให้ทำงานได้ และยังไม่เห็นใครหาคำตอบเรื่องนั้นได้
เสียบ MI250X ได้ทางกายภาพและระบบก็มองเห็น แต่ไดรเวอร์ไม่ทำงาน โดยตัวที่ทดสอบคือ HPE MI250X
ในเธรดนั้นมีข่าวลือว่า MI250X มีสองแบบ คือรุ่นสำหรับ HPE กับรุ่นอื่น ๆ โดยรุ่น HPE ต้องใช้เฟิร์มแวร์พิเศษ ส่วนรุ่นปกติไม่ต้อง แต่เนื่องจาก MI250X มือสองในตลาดส่วนใหญ่มาจาก HPE ผู้ซื้อจึงต้องระวัง
เป็นบทความที่ยอดเยี่ยม ฉันมักพิจารณาการ์ดดาต้าเซ็นเตอร์แบบนี้สำหรับโปรเจกต์อยู่บ่อย ๆ และตอนนี้เริ่มอยากลองซื้อสักตัวแล้ว
ส่วนที่อธิบายราคาอุปกรณ์เทียบกับต้นทุนโทเคนนั้นเป็นตัวตัดสินใจเลย
ยินดีด้วย คนส่วนใหญ่อาจไม่อยากมานั่งดีบักไดรเวอร์ เคอร์เนล ACPI อะแดปเตอร์ และหัวต่อพัดลม แต่สำหรับคนที่ยินดีทำ มันให้ความคุ้มค่าต่อราคาแบบเหลือเชื่อ
ฉันคิดว่าการประเมินประมาณว่า “ถ้าต้องการของดีที่สุดจริง ๆ ก็มี Opus 4.8 แต่ค่าใช้งานหนัก 20 นาทีแพงกว่าราคารวมของ GPU กับอะแดปเตอร์ตัวนี้เสียอีก ทั้งที่ช่องว่างของประสิทธิภาพกลับเล็กจนน่าประหลาดใจ” นั้นไม่ค่อยยุติธรรมนัก
ฉันใช้โมเดลระดับแนวหน้าทุกวันผ่านโทเคน API แบบเติมเงิน แต่ต่อเดือนก็แทบจะเพิ่งเกิน 100 ดอลลาร์เท่านั้น ฉันประทับใจที่มีคนหาวิธีเผาเงินมากกว่าสองเท่าในเวลา 20 นาทีได้ แต่ไม่คิดว่านั่นสะท้อนความเป็นจริงที่หลายคนกำลังเจออยู่ตอนนี้ วิธีใช้งาน LLM ที่กินทรัพยากรมากเกินไปกำลังถูกใช้เป็นหุ่นฟางในบทสนทนาแบบนี้อย่างสะดวกเกินไป
การจ่ายค่า API แทบจะคุ้มกว่าการโฮสต์โครงสร้างพื้นฐานระดับเดียวกันเองอยู่เสมอ ไม่ได้คัดค้านการโฮสต์เอง แต่บทความนี้เสนอแรงจูงใจหลักของความพยายามนี้ในแง่ความคุ้มค่าทางเศรษฐกิจ หากใช้ไม่ถึง 10^9 โทเคน ต่อเดือน ฉันไม่คิดว่าการเสียเวลาแข่งกับ hyperscaler จะมีคุณค่ามากนัก เงินส่วนใหญ่หาได้จากการนำเทคโนโลยีนี้ไปผนวกเข้ากับธุรกิจเดิม
ถ้าใช้งานเบาระดับนั้น การใช้แพ็กเกจสมัครสมาชิกจะประหยัดกว่ามาก ถ้าใช้เยอะกว่านั้น ความคุ้มที่จะย้ายบางส่วนมารันในเครื่องก็ขึ้นอยู่กับว่าไฟฟ้าถูกแค่ไหน สำหรับฉันแล้วไม่คุ้ม
/fastก็อาจหมดได้ภายในราว 10 นาทีไม่ค่อยเข้าใจว่าทุกคนใช้งานกันอย่างไร
ตาม ccusage ถ้าไม่มีแพ็กเกจ Max 100 ดอลลาร์ ฉันคงต้องจ่ายให้ Anthropic ราว 4,173 ดอลลาร์ในเดือนพฤษภาคม
Input │ Output │ Cache Create │ Cache Read │ Total Tokens │ Cost (USD)
1,948,016 │ 19,435,081 │ 103,626,350 │ 6,244,194,278 │ 6,369,203,725 │ $4173.09
นี่คือการดึงตัวเลขล่าสุดมาอีกครั้ง และฉันไม่ได้ใช้ Fast mode เลย แต่ใช้ Opus กับงานส่วนใหญ่
รูปแบบการใช้งานก็ไม่ได้โหดผิดปกติอะไร โดยปกติ Claude Code จะรันงานต่อเนื่องอยู่กับหนึ่งหรือสองโปรเจกต์ และบางครั้งก็รันต่อแม้ตอนฉันหลับ มักแตะ 60–80% ของลิมิตรายสัปดาห์อยู่บ่อย ๆ
ดีใจที่ได้เห็นฮาร์ดแวร์เก่าถูกนำกลับมาใช้ใหม่ ฉันกำลังใช้ Tesla V100 สองใบ บนเซิร์ฟเวอร์ Supermicro X10DRU-i แบบดูอัลคอร์
กับ qwen3.6-27B-mtp ที่ขนาดคอนเท็กซ์ระดับกลาง คือไม่เกิน 128k จะได้ความเร็วอนุมานราว 35~40 tok/s และฉันก็เคยรันงานเอเจนต์ระยะยาวที่ใช้ไปหลายร้อยล้านโทเคนแล้ว ถ้าจ่ายเป็นค่า Claude API ก็น่าจะหลายร้อยดอลลาร์ขึ้นไป
อย่างไรก็ตาม งานหลักของการ์ดพวกนี้คือการคำนวณทางวิทยาศาสตร์ ประสิทธิภาพ FP64 อยู่ที่ 7+ TFLOPS ซึ่งถือว่ายอดเยี่ยมเมื่อเทียบกับอายุของมัน และหลังจากที่ NVIDIA จำกัดประสิทธิภาพการ์ดผู้บริโภคตั้งแต่ยุค Kepler เป็นต้นมา ก็เป็นระดับที่แม้แต่การ์ดผู้บริโภครุ่นใหม่ก็หาได้ยาก ฉันวางเซิร์ฟเวอร์ไว้ในห้องใต้ดิน และมันเสียงดังมาก
ส่วนที่น่าสนใจที่สุดและน่าจะเป็นประโยชน์กับคนจำนวนมากที่สุดคงเป็นเรื่องการควบคุมพัดลม ถ้าจะทำแบบนี้ คุณจำเป็นต้องควบคุมพัดลมได้ มันดังมากจริง ๆ
ถ้ากำลังพิจารณาการ์ดแบบนี้ ควรรู้ไว้ด้วยว่า V100 ใช้พลังงานขณะ idle สูงมาก ต่อให้ไม่ได้โหลดอะไรก็กิน 25~35W และพอโหลดโมเดลก็ขึ้นไปถึง 50W ได้ง่าย ๆ
ความคิดเห็นจาก Lobste.rs
แนวทางนี้เจ๋งมาก และยิ่งทำให้อยากรู้เรื่อง อาการที่ GPU หายไปจาก PCIe มากขึ้น เพราะสาเหตุมีได้เยอะมาก
เสียงพัดลม GPU ที่เร่งดัง ๆ ทำให้นึกถึงตอนอยู่ทีม NVIDIA CUDA เพื่อนร่วมงานคนหนึ่งกำลังเพิ่มฟังก์ชันควบคุมพัดลมให้ NVML และ
nvidia-smiแล้วก็ได้ยินเสียงพัดลมดังขึ้นเบาลงมาจากอีกฝั่งของฉากกั้น ก่อนที่เขาจะโผล่หน้าออกมาพร้อมรอยยิ้มกว้างเขาบอกว่านี่เป็นฟีเจอร์ที่ชอบที่สุดเท่าที่เคยทำมา เพราะพอฟังก์ชันทำงาน ก็ได้ยินผลลัพธ์ด้วยหูทันที
ถ้าสนใจ โฮสต์ LLM เอง Dell OEM RTX 3090 มักจะถูกกว่าสินค้าแบรนด์ใหญ่ และเคยหาได้ราว ๆ 800 ดอลลาร์แคนาดา
ตอนนี้คงต้องไปอ่านเพิ่มว่า vLLM ทำงานอย่างไร เพราะบางครั้งโมเดลจะเริ่มพ่นรายชื่อและคำคุณศัพท์ที่เกี่ยวข้องออกมายาวเป็นหางว่าว น่าจะตั้งค่าอะไรผิดสักอย่าง
เท่าที่เข้าใจ โมเดลที่พอใช้งานได้ส่วนใหญ่ต้องการอย่างน้อย 48~64GB VRAM ถึงจะรันได้ดี เลยคิดว่าชิป Apple M series ที่ใช้สถาปัตยกรรมหน่วยความจำรวมถึงได้รับความนิยมในด้านนี้
ของแบบนั้นก็มีขายเป็นแพ็กเกจสำเร็จรูปอยู่แล้ว แต่ก็จะเป็นแนว ประกันจากผู้ผลิต 3 เดือน แล้วจบ
https://ebay.com/itm/297819576914/…
ในสหรัฐฯ รุ่น 32GB มือสองซื้อขายกันอยู่ที่ราว 600 ดอลลาร์
ส่วนอะแดปเตอร์ก็น่าจะซื้อจากจีนซึ่งเป็นแหล่งผลิตโดยตรง
สงสัยว่าฝั่ง AMD มีตัวเทียบกันได้ไหม ตอนนี้ใช้ 48GB W7900 สองใบ อยู่ แต่อยากขยายเพื่อให้รันโมเดลใหญ่กว่านี้ได้
แค่ต้องเสริมระบบระบายความร้อนเพิ่ม แต่ไม่ต้องมานั่งดัดแปลงอะแดปเตอร์
ผมคอยอ่านทุกครั้งที่เจอการจัดสเปกสำหรับรันโมเดลในเครื่อง และตอนนี้ช่วงความต้องการ VRAM ระดับกลางที่ 48~128GB ดูเหมือนจะยังไม่มีจุดคุ้มค่าที่โดดเด่นจริง ๆ ตัวเลือกหลัก ๆ มีประมาณสามแบบ: GPU ดาต้าเซ็นเตอร์หลายใบจากรุ่นก่อนหน้า 3 เจเนอเรชัน (Tesla V100, Instinct MI60), ผลิตภัณฑ์ระดับล่างสุดของเจเนอเรชันปัจจุบันหลายใบแต่มี VRAM เยอะ (Arc Pro B70), หรือกล่องสำเร็จรูปแบบรวมทุกอย่างของเจเนอเรชันปัจจุบัน (DGX Spark, Mac Mini, Strix Halo)
สำหรับคนที่อัปเกรดจาก GPU ผู้บริโภค 32GB ใบเดียวหรือ 16GB สองใบ แต่ละทางเลือกก็มีทั้งข้อแลกเปลี่ยนและข้อดีอยู่บ้าง แต่ถ้าตอนนี้ใช้การ์ด 48GB สองใบอยู่แล้ว ก็ไม่แน่ใจนักว่าจะมีการอัปเกรดฮาร์ดแวร์มือสองแบบไหนที่ให้ความรู้สึกว่าดีขึ้นอย่างชัดเจน