3 คะแนน โดย GN⁺ 2024-09-09 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เซิร์ฟเวอร์ LLM แบบเฉพาะทางที่ขับเคลื่อนด้วยการ์ดจอ RTX 3090 จำนวน 8 ใบ รวม VRAM ทั้งหมด 192GB
  • สร้างขึ้นโดยคำนึงถึงการรัน Llama-3.1 405B ของ Meta

เรื่องราวเบื้องหลัง

  • ในเดือนมีนาคม ผู้เขียนพบความยากลำบากในการทดลอง LLM ด้วย VRAM 48GB
  • จึงรู้สึกว่าจำเป็นต้องมี VRAM มากขึ้น และตัดสินใจสร้างระบบใหม่
  • เกิดคำถามมากมาย เช่น การเลือก CPU/แพลตฟอร์ม ความสำคัญของความเร็วหน่วยความจำ และความจำเป็นของ PCIe lane
  • หลังจากค้นคว้าอยู่หลายชั่วโมง จึงเลือกแพลตฟอร์มดังต่อไปนี้
    • เมนบอร์ด Asrock Rack ROMED8-2T (สล็อต PCIe 4.0x16 จำนวน 7 สล็อต, PCIe lane 128 เลน)
    • CPU AMD Epyc Milan 7713 (2.00 GHz/บูสต์ 3.675GHz, 64 คอร์/128 เธรด)
    • หน่วยความจำ 512GB DDR4-3200 3DS RDIMM
    • พาวเวอร์ซัพพลาย 1600 วัตต์ จำนวน 3 ตัว
    • GPU RTX 3090 จำนวน 8 ใบ (4x NVLink, อัตราการส่งข้อมูล 112GB/s ต่อหนึ่งคู่)

เกริ่นนำซีรีส์บล็อก

  • ความท้าทายระหว่างการประกอบระบบนี้
    • การเจาะรูบนโครงโลหะและเพิ่มเบรกเกอร์ 30 แอมป์ 240 โวลต์
    • การทำขา CPU socket งอ (อย่าลองทำตามที่บ้าน)
  • ปัญหาของ PCIe riser และความสำคัญของ SAS device adapter, redriver และ retimer
  • ความเร็วของ NVLink, แบนด์วิดท์ของ PCIe lane, ความเร็วในการรับส่ง VRAM และการที่ Nvidia บล็อก native PCIe bandwidth สำหรับ P2P ในระดับซอฟต์แวร์
  • การทำเบนช์มาร์ก inference engine อย่าง TensorRT-LLM, vLLM และ Aphrodite Engine
  • การฝึกและ fine-tuning LLM ด้วยตนเอง

บทสรุป

  • เมื่อมองดูความก้าวหน้าของเทคโนโลยี ผู้เขียนนึกถึงความตื่นเต้นตอนที่ได้ HDD 60GB ในปี 2004
  • อีก 20 ปีข้างหน้า เราอาจหวนมองกลับมาถึงยุคที่เคยคิดว่า VRAM 192GB นั้นมีความจุมหาศาล
  • ผู้เขียนอยากมีส่วนร่วมในการสร้างเทคโนโลยีเจ๋ง ๆ แห่งอนาคตผ่านโปรเจ็กต์นี้

สรุปโดย GN⁺

  • บทความนี้กล่าวถึงกระบวนการสร้างเซิร์ฟเวอร์ประสิทธิภาพสูงสำหรับโมเดล AI
  • อธิบายวิธีสร้างเซิร์ฟเวอร์ LLM โดยใช้ GPU รุ่นใหม่และ CPU ประสิทธิภาพสูง
  • ถ่ายทอดทั้งความเร็วของพัฒนาการทางเทคโนโลยีและความคาดหวังต่ออนาคต
  • โปรเจ็กต์ที่มีความสามารถใกล้เคียงกัน ได้แก่ระบบ DGX ของ Nvidia หรือ TPU ของ Google

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

 
brainer 2024-09-09

ได้แค่อิจฉาเฉย ๆ..

 
GN⁺ 2024-09-09
ความคิดเห็นจาก Hacker News
  • ความคิดเห็นแรก: สร้างเซิร์ฟเวอร์ของตัวเองขึ้นมาเพื่อปกป้องข้อมูลส่วนตัว และเมื่อคุณภาพผลลัพธ์ของแพลตฟอร์มช่วงหลังแย่ลง ก็ไม่เสียใจที่ทุ่มเงินให้กับการตั้งค่านี้

    • ใช้ tensor parallelism และ batch inference เพื่อทำงานที่น่าทึ่ง
    • ปรับจูนโมเดลแบบละเอียดด้วยข้อมูลส่วนตัว และสร้างข้อมูลสังเคราะห์
    • ตอนนี้กำลังทำโปรเจกต์ฝึกโมเดลตั้งแต่ต้น และวางแผนจะเขียนบทแนะนำเมื่อแก้ปัญหาได้
    • เริ่มเขียนบล็อกแล้ว และวางแผนจะทำโพสต์ต่อเนื่องเกี่ยวกับสิ่งที่เรียนรู้และค้นพบ
    • พร้อมรับหัวข้อหรือไอเดียที่อยากให้ทดลองและแชร์
  • ความคิดเห็นที่สอง: อาจมีวันที่เราหวนคิดถึงช่วงเวลาที่เคยรู้สึกว่า 192GB VRAM นั้นเยอะมาก

    • การซื้อ HDD ความจุสูงสำหรับ NAS กลายเป็นเรื่องยากขึ้น และราคาก็ขึ้นมาก
    • คาดว่าสิ่งคล้ายกันจะเกิดขึ้นในวงการ AI
    • ผู้ให้บริการคลาวด์รายใหญ่ไม่ได้สนใจฮาร์ดแวร์ราคาถูกสำหรับใช้ในบ้าน และต้องการขุดข้อมูลผ่านบริการคลาวด์
  • ความคิดเห็นที่สาม: โปรเจกต์ใช้ GPU 8 ตัวเปลี่ยนจอ 4K ให้เป็นกำแพงมินิพิกเซลแบบไร้ขอบ

    • เป็นโปรเจกต์สำหรับการจัดองค์ประกอบวิดีโอแบบโลคัลและพื้นหลังที่สร้างด้วย AI
    • ยกตัวอย่าง "The Mandalorian" โดยให้พื้นหลังสมจริงระดับภาพถ่ายแบบเรียลไทม์
  • ความคิดเห็นที่สี่: สงสัยว่า NVLink ช่วยได้มากแค่ไหน

    • เคยประกอบเครื่องที่มี 3090 สองตัว และสงสัยว่าถ้าใช้ EPYC จะใส่การ์ดได้มากกว่านี้หรือไม่
    • ค่าใช้จ่ายรวมประมาณ $3500 และคาดว่าชุดนี้น่าจะใกล้เคียง $12-15k
  • ความคิดเห็นที่ห้า: เจ๋งมาก แต่ถ้าไม่ได้ใช้งานอย่างมีประสิทธิภาพตลอด 24/7 ก็ถือว่าแพง

  • ความคิดเห็นที่หก: สงสัยเรื่องการเทียบต้นทุนกับ Tinybox

    • ถ้าใช้ 4090 จำนวน 6 ตัว ราคา $25k และถ้าใช้ 7900XTX จำนวน 6 ตัว ราคา $15k
    • เป็นแพ็กเกจครบชุดที่รวมแหล่งจ่ายไฟ, CPU, สตอเรจ, ระบบระบายความร้อน, การประกอบ และการจัดส่ง
  • ความคิดเห็นที่เจ็ด: มีชุดที่คล้ายกันอยู่ในชั้นใต้ดิน

    • ประกอบด้วยหลายโหนด และรวมแล้วใช้ 3090 ทั้งหมด 16 ตัว
    • ต้องติดตั้งวงจรไฟ 30A 240V
  • ความคิดเห็นที่แปด: สงสัยว่าเมนบอร์ดมีสล็อต PCIe 7 สล็อต แล้วต่อ GPU 8 ตัวได้อย่างไร

    • สงสัยว่าใช้ GPU สองตัวในสล็อตเดียวกันโดยยอมลดแบนด์วิดท์หรือไม่
  • ความคิดเห็นที่เก้า: สงสัยว่าถ้ามีสล็อต PCIe 4.0 x16 อยู่ 7 สล็อต จะต่อการ์ดใบที่ 8 อย่างไร

  • ความคิดเห็นที่สิบ: ตั้งตารอที่จะได้อ่านซีรีส์นี้

    • อยากหาแผนภูมิ/ข้อมูลเกี่ยวกับอัตราคุ้มค่าต่อประสิทธิภาพของโมเดลโอเพนซอร์ส
    • อยากหาค่า $/ELO (ค่าที่แสดงต้นทุนในการสร้างและรันเครื่อง เทียบกับประสิทธิภาพเฉลี่ยของโมเดล)