2 คะแนน โดย GN⁺ 2023-07-31 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • สตาร์ทอัพและแล็บวิจัยหลายแห่ง ร่วมกันซื้อคลัสเตอร์ GPU เพื่อจัดหาทรัพยากรประมวลผลที่จำเป็นสำหรับการฝึกโมเดลขนาดใหญ่ร่วมกัน
  • แทนที่จะซื้อ GPU จำนวน N ตัวแยกกัน สตาร์ทอัพ K แห่งจะรวมตัวกัน ซื้อคลัสเตอร์ขนาด N×K ร่วมกัน
  • job scheduler จะแบ่งสรรการประมวลผลอย่างเป็นธรรมตามสัดส่วนการถือครอง และหากมีทรัพยากรประมวลผลว่างก็จะจัดสรรเพิ่มให้
  • แทนที่จะใช้งาน A100 จำนวน 128 ตัวให้เต็มตลอดทั้งเดือน สามารถ burst ด้วย A100 จำนวน 512 ตัว เป็นเวลาหนึ่งสัปดาห์ เพื่อฝึกโมเดลได้เร็วขึ้น
  • เป็นโครงสร้างที่นำ วิธีจัดสรรแบบ burst ซึ่งเดิมมีเฉพาะแล็บวิจัยขนาดใหญ่อย่าง OpenAI และ Deepmind มาให้สตาร์ทอัพใช้งานได้ด้วย

แนวคิดหลัก

  • แทนที่สตาร์ทอัพ K แห่งจะซื้อคลัสเตอร์ GPU จำนวน N ตัวของตนเอง แต่ร่วมกันซื้อ คลัสเตอร์ GPU จำนวน N×K ตัว
  • มี job scheduler เพื่อแบ่งสรรการประมวลผลอย่างเป็นธรรมตามสัดส่วนที่สตาร์ทอัพแต่ละรายเป็นเจ้าของ
  • เมื่อมีทรัพยากรประมวลผลว่าง scheduler จะจัดสรรให้ตามนั้น ดังนั้นหากโชคดีก็อาจใช้การประมวลผลได้มากกว่าส่วนแบ่งของตน
  • แทนที่จะใช้งาน A100 จำนวน 128 ตัวเต็มตลอดหนึ่งเดือน สามารถ burst ได้ถึง A100 จำนวน 512 ตัว เป็นเวลาหนึ่งสัปดาห์ เพื่อให้ได้โมเดลเร็วขึ้น
  • แล็บวิจัยขนาดใหญ่อย่าง OpenAI และ Deepmind มีคลัสเตอร์ขนาดใหญ่ที่รองรับการจัดสรรแบบ burst สำหรับนักวิจัย
    • ในทางกลับกัน จนถึงตอนนี้สตาร์ทอัพทำได้เพียงจัดหาคลัสเตอร์ขนาดเล็กมากผ่าน สัญญาระยะยาวมาก ต้องรอหลายเดือน และต้องรักษาการใช้งานให้ยุ่งอยู่ตลอดเวลา
  • ตั้งเป้าระดับราคาประมาณ $2.00 ต่อ H100 พร้อมใช้การจัดสรรแบบ burst และสัญญาระยะสั้น
  • สตาร์ทอัพที่ต้องการเข้าร่วมให้กรอกแบบฟอร์มสมัคร สอบถามได้ทางอีเมล evan@roomservice.dev

การเข้าร่วม·การออก·การขยาย

  • คล้ายกับ hacker house หากต้องการออกจากคลัสเตอร์ (เช่น ไปสร้างคลัสเตอร์ของตนเอง) ต้อง แจ้งล่วงหน้าหนึ่งหรือสองเดือน เพื่อให้สามารถหาคนอื่นมาแทนที่ได้
  • สตาร์ทอัพรายใหม่จะถูกเพิ่มเข้ากลุ่มเป็น ชุด (batch) และเพิ่ม H100 ใหม่เข้าไปในคลัสเตอร์ทุกไม่กี่เดือน
  • ใช้แนวทางเดียวกันกับกรณีที่สมาชิกในกลุ่มต้องการขยายการประมวลผล
  • พิจารณา overprovisioning เล็กน้อย — เช่น หากเพื่อนต้องการโหนดไม่กี่ตัวสำหรับการทดลองเล็ก ๆ ก็สามารถให้ใช้งานได้ทันทีในราคาดี
    • หาก overprovisioning 10% ราคา H100 ต่อชั่วโมงจะเพิ่มขึ้น 10%

การเงิน

  • มีเส้นทางที่เป็นไปได้สูงในการเปิดใช้งาน H100 จำนวน 512 ตัว ภายใน 4~6 สัปดาห์
  • หากมีอุปสงค์มากกว่านี้ สามารถจัดหา H100 เพิ่มได้ภายในประมาณ 8 สัปดาห์
  • สามารถกระจายต้นทุนการซื้อคลัสเตอร์ผ่านธนาคารด้วยเงื่อนไขที่ดี ทำให้รักษาสัญญาระยะสั้นและการจัดสรรแบบ burst ไว้ได้ พร้อมทำราคา $2.00 ต่อ H100 ได้จริง

โครงสร้างพื้นฐาน

  • แชร์ เมลลิงลิสต์/Slack สำหรับดีบักโครงสร้างพื้นฐาน เพื่อให้ถามกลุ่มได้เมื่อเกิดปัญหา เช่น InfiniBand
  • หากมีคนที่เคยจัดการปัญหาเดียวกันมาก่อน ก็ช่วยเหลือกันได้

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

 
GN⁺ 2023-07-31
ความคิดเห็นบน Hacker News
  • ขอให้สำเร็จนะ TPU Research Cloud(TRC) เคยลองทำแบบนี้ในปี 2019 และนั่นเป็นจุดเริ่มต้นที่ทำให้ผมเริ่มได้
    ในปี 2023 แม้แต่การได้ TPU สักตัวนานกว่าหนึ่งชั่วโมงก็ยังยาก แต่ตอนนั้นสามารถได้เป็นร้อยๆ ตัวตามตัวอักษรเลย ผมเชื่อใน TRC และคิดว่าถ้าขยายสเกลจนสร้างทวีป TPU ได้ก็คงแก้ปัญหาได้ แต่สุดท้ายเวลาใช้งาน TPU ถูกจัดสรรให้กับนักวิจัยภายในก่อนและค่อยๆ ลดลง โลกเปลี่ยนไปมากจนถ้าตอนนี้เสนอว่าจะใช้ H100 สอน GPT ให้เล่นหมากรุก คงโดนหัวเราะเยาะ
    โปรเจกต์นี้มี ความมองโลกในแง่ดีแบบคนหนุ่มสาว ที่ไม่อยากให้สูญเสียไป และในระยะยาว นั่นอาจเป็นวิธีที่จะชนะก็ได้ ถ้ามีใครมาขอเศษเสี้ยวเล็กๆ ของ H100 ด้วยไอเดียประหลาดๆ ก็หวังว่าจะรับไว้ เพราะนั่นคือเหตุผลเดียวที่ทำให้ผมสามารถกลายเป็นอะไรบางอย่างได้

    • คำว่า “โปรเจกต์นี้มีความมองโลกในแง่ดีแบบคนหนุ่มสาว” เป็นคำพูดที่ดีที่สุดเท่าที่เคยได้ยินมาเลย ถึงขั้นอยากใส่กรอบแขวนผนัง
      แน่นอนว่าเราตั้งใจจะรับคำขอประหลาดๆ ที่ขอเศษเสี้ยวเล็กๆ ของ H100 ด้วย
    • จริงๆ แล้วโปรแกรม TPU Research Cloud ยังดำเนินงานได้ดีอยู่ เราขยายพูลการประมวลผลอย่างมากจนรวม Cloud TPU v4 Pod slice ด้วย และโปรเจกต์ใหญ่ๆ ก็ยังใช้ชิปหลายร้อยตัวพร้อมกันอยู่เป็นประจำ ความจุของ TRC ไม่ได้ถูกดึงกลับไปใช้ภายใน
      รายชื่อบทความล่าสุดที่ได้รับการสนับสนุนจาก TRC ดูได้ที่ https://sites.research.google/trc/publications/
      ความต้องการ Cloud TPU สูงมาก จึงอาจเห็นการหยุดชะงักบ่อยขึ้นหากใช้ความจุแบบ preemptible แต่ก็มีความจุแบบจองได้เช่นกัน ลองติดต่อทีมสนับสนุน TRC ดูน่าจะดี
    • น่าประหลาดที่เหมือนเพิ่งได้เห็นแสงสว่างนั้นเอาตอนนี้ ในโพสต์ก่อนๆ เห็นแต่คำชม TRC แต่ในฐานะคนที่เริ่มทีหลัง ผมทำผลงานได้มากกว่ามากด้วย เกมมิง GPU ที่มีเอง
      สิ่งที่เปรียบเทียบกันไม่ได้เหมือนกันเป๊ะ แต่ TRC ใช้งานยากมาก การเข้าถึง TPUv3 มีแค่ครั้งเดียว และเวลาก็ไม่พอแม้แต่จะเรียนรู้พื้นฐาน ผมเข้าใจว่าสถานการณ์ต่างกันมากตามที่อยู่อีเมลที่ใช้ และบัญชี Twitter มีชื่อเสียงแค่ไหน
    • ประสบการณ์ของผมต่างออกไป เมื่อคิดว่าการสมัครค่อนข้างง่าย ผมว่ายังถือว่าให้ค่อนข้างใจกว้างอยู่ ในช่วง 6 เดือนที่ผ่านมา ผมได้รับข้อเสนอ v3-8, v3-32 30 วัน, และ v3-64 แบบ preemptible 28 วัน สำหรับหลายโปรเจกต์
      สงสัยว่าคุณอยู่ในแวดวงวิชาการหรือเปล่า ถ้าไม่ใช่ ผมก็ไม่รู้ว่าทำไมพวกเขาถึงให้ผมมากกว่า และโปรเจกต์ของผมก็มากสุดแค่ค่อนข้างน่าสนใจนิดหน่อยเท่านั้น แต่ก็จริงที่พวกเขาให้ Pod ขนาดใหญ่แบบตระหนี่ขึ้นมากเมื่อเทียบกับเมื่อก่อน
    • Shawn พูดถูกเต็มๆ ตอนนี้การแข่งขันร้อนแรงเกินไปจนไม่มี余裕แบบนั้น ลูกค้ารายเดียวอาจเอา GPU 512 ตัวไปใช้ 3 ปี ได้เลย
  • แนวคิดที่ว่า “แทนที่สตาร์ทอัพ K รายแต่ละรายจะซื้อคลัสเตอร์ GPU N ตัวแยกกัน ก็ซื้อคลัสเตอร์ GPU NK ตัวร่วมกัน แล้วใช้ตัวจัดตารางงานแบ่งการประมวลผล” ในเชิงทฤษฎีดูแทบเหมือนโมเดลของผู้ให้บริการคลาวด์อย่าง AWS, Azure
    โครงสร้างคือ “แทนที่ทุกคนจะซื้อฮาร์ดแวร์ตายตัวแยกกัน เราซื้อพูลฮาร์ดแวร์ขนาดใหญ่แล้วให้แชร์เวลาใช้งาน” นอกจากประเด็นที่ผู้ให้บริการคลาวด์ต้องขึ้นราคาเพื่อรักษากำไรสุทธิแล้ว ผมสงสัยว่ายังมีอะไรที่มองข้ามไปจนทำให้ต้องมีโปรเจกต์แบบนี้อีกหรือไม่

    • หลักๆ คือ ราคา และ ความพร้อมใช้งาน
      อย่างแรก นักลงทุนของคลาวด์สาธารณะคาดหวังโครงสร้างมาร์จินบางแบบ จึงแข่งกับมาร์จินของ Lambda หรือ Fluidstack ได้ยาก อย่างที่สอง คลาวด์รายใหญ่ค่อนข้างเสียเปรียบบางส่วนในด้านเครือข่ายสำหรับการเทรนโมเดลภาษาขนาดใหญ่ เท่าที่รู้มีแค่ Azure ที่มี InfiniBand, Oracle อยู่ที่ 3200Gbps แต่ไม่ใช่ InfiniBand และคิดว่า AWS ก็คล้ายกัน ส่วน GCP ไม่แน่ใจ แต่จำได้ว่าความเร็วเครือข่ายของ A100 ไม่ใช่ 1600Gbps แต่เป็น 100Gbps ในทางกลับกัน Lambda, Fluidstack, CoreWeave ต่างก็มี InfiniBand ทั้งหมด อย่างที่สาม Nvidia ไม่ได้จัดสรรของให้คลาวด์รายใหญ่ตามปริมาณที่พวกเขาต้องการ
    • คลาวด์หลักๆ ก็ทำสิ่งนี้อยู่เหมือนกัน คลาวด์รายใหญ่ทั้งหมดกำลังเตรียมฟีเจอร์ คำขอ/การจองระยะสั้น ก่อนยุค generative AI ฟีเจอร์แบบนี้ไม่ได้มีประโยชน์มากนัก จะมีบ่อยแค่ไหนกันที่ต้องขอโหนด CPU 1000 ตัวใน availability zone เดียวเป็นเวลา 48 ชั่วโมง
      อย่างที่สอง ตรงนี้มีปัญหาพื้นฐานเรื่องการแชร์ทรัพยากร แม้ในโปรเจกต์ของ Evan และ AI Grant นี้ ก็จะเกิดคำถามว่า ถ้าทีมหนึ่งมีเงินพอจะครอบครองคลัสเตอร์ทั้งหมดตลอดเวลา ทำไมถึงจะห้ามเขา ปัญหาคือเกณฑ์ที่แน่นอนของการใช้งานอย่างเป็นธรรมคืออะไร ในงานเครือข่ายมีอัลกอริทึมแบ่งปันแบนด์วิดท์อย่าง TCP fairness แต่ไม่ค่อยเหมาะกับงานที่มาเป็นก้อนแบบนี้
      ภายในไม่กี่เดือนข้างหน้า AWS และเจ้าอื่นๆ น่าจะพยายามออกบริการคิวสำหรับจัดสรรก้อนการประมวลผลชั่วคราว และอาจต้องจ่ายล่วงหน้าพร้อมต้นทุนสูง อาจแพงกว่าราคา on-demand ด้วยซ้ำ
    • AWS กับ Azure คงยอมเชือดคอตัวเองดีกว่าจะสร้างวิธีให้ลูกค้ารวมอินสแตนซ์เพื่อประหยัดค่าใช้จ่าย
      พวกเขาทำ pooling นั้นเอง และไม่อยากยกความสัมพันธ์กับลูกค้าและกำไรให้คนกลางหรือลูกค้า
  • จากประสบการณ์ที่เคยดูแลโครงสร้างพื้นฐานในโคโลเคชันหลายแห่งใน CA ถ้าเป็นไปได้ ควรวางไว้ที่อื่นดีกว่า ค่าไฟในแคลิฟอร์เนีย และต้นทุนโครงสร้างพื้นฐานอื่นๆ สูงกว่า AZ หรือ NV มาก

    • ถ้าดูไฟฟ้าราคาถูกบวกกับข้อได้เปรียบจากอัตราแลกเปลี่ยน CAD-USD แล้ว Montreal ดูเหมาะสม
    • ในต้นทุนการประมวลผล GPU ค่าไฟดูเหมือนเป็นสัดส่วนที่เล็กมาก
  • เห็นประโยคที่ว่า “ไม่มีผู้ให้บริการคลาวด์รายใดในโลกที่จะปล่อยพลังประมวลผลมูลค่า 100,000 ดอลลาร์ให้ใช้เพียงไม่กี่สัปดาห์” แม้ผมไม่เคยซื้อการประมวลผลขนาดใหญ่มากๆ แต่ผมคิดว่านั่นแหละคือ แก่นหลักของคลาวด์

  • สงสัยว่าแตกต่างจาก https://lambdalabs.com/ อย่างไร

    • ฝั่งเราคือการรันงานคำนวณขนาดกลางแบบ กำไรเป็นศูนย์ เป้าหมายไม่ใช่ขายให้ Fortune 500 แต่คือทำให้นักศึกษาบัณฑิตศึกษาสามารถใช้ทุนวิจัย 50,000 ดอลลาร์ได้
      ตอนนี้การหา A100/H100 สักไม่กี่ตัวค่อนข้างง่าย และ Lambda ก็ยอดเยี่ยมสำหรับการใช้งานแบบนี้ แต่การหา 24 ตัวขึ้นไปในราคาสมเหตุสมผล ประมาณชั่วโมงละ 2 ดอลลาร์นั้นยากมาก แม้แค่อยากรันการเทรนบน H100 เป็นเวลา 8 ชั่วโมง ก็มักถูกขอให้ทำสัญญาผูกมัดนานกว่า 6 เดือน
      การที่โบรกเกอร์ GPU ชอบการจองระยะยาวเป็นการตัดสินใจที่สมเหตุสมผลทางธุรกิจ และถ้าเราอยู่ในจุดนั้นก็คงทำแบบเดียวกันได้ แต่เป้าหมายของเราต่างออกไป คือการติดอาวุธให้ฝ่ายกบฏ เราอยากให้คนที่ไม่ใช่ BigCorp ก็สามารถเทรนโมเดลได้
    • ราคาคล้ายกันมาก แต่โมเดลดูกต่างกันพอสมควร ความแตกต่างสำคัญอาจอยู่ที่กรณีที่ต้องรันการเทรนสั้น ๆ บน GPU หลายตัวอยู่บ่อย ๆ Lambdalabs อาจไม่สามารถให้ อินสแตนซ์ 256 ตัว ได้ทันทีในตอนนี้
      แนวทางในโพสต์ต้นฉบับใกล้เคียงกับการซื้อสิทธิ์ในการใส่งานเข้าไปในคิวงานของคลัสเตอร์ GPU 512 ตัว ดังนั้นงานที่ต้องใช้ GPU 256 ตัวก็ไม่ใช่ปัญหา เพียงแต่อาจต้องรออยู่หลังคนที่กำลังรันงาน 512 GPU
      ไม่รู้ว่าความจุจริงของ Lambdalabs เป็นอย่างไร สงสัยว่ามีใครรู้ไหมว่าการเปิดอินสแตนซ์มากกว่า 2–3 ตัวที่นั่นง่ายแค่ไหน
    • ปกติถ้าไม่ทำสัญญาผูกมัด reserved instance ระยะยาว ก็จะได้ H100 พร้อมกันแค่ไม่กี่ตัว
    • ไม่มีวิธีที่เป็นไปได้จริงในการได้บล็อกขนาดใหญ่โดยไม่มีสัญญาผูกมัด เท่าที่จำได้ สัญญาขั้นต่ำของ H100 คือ GPU 64 ตัว 3 ปี ประมาณ 3 ล้านดอลลาร์
    • H100 ชั่วโมงละ 2 ดอลลาร์ดูยืดหยุ่นกว่า แต่ยังไม่เคยหาซื้อ 10,000 GPU-hour จากบริการแบบนี้มาก่อน บางทีจุดนั้นอาจเป็นคอขวด
  • ส่วนตัวสนใจ AI มากและมีส่วนเกี่ยวข้องมาหลายปี แต่ไม่เคยเห็น ภาวะขาดแคลน GPU แบบตอนนี้มาก่อน สำหรับคนที่อยากลองทำ machine learning เป็นงานอดิเรก ขอแนะนำ vast.ai อย่างยิ่ง

    • สำหรับคลาวด์เพิ่มเติม H100 และ A100 มี Lambda, Fluidstack, RunPod, CoreWeave, Crusoe, Oblivus, Latitude
      ส่วน GPU ที่ไม่ใช่ A100/H100 มี vast, TensorDock และ RunPod ด้วย
    • ขึ้นอยู่กับว่ามองขอบเขตของงานอดิเรกอย่างไร แต่สำหรับการรัน T4 ครั้งละไม่กี่นาทีเพื่อเรียนรู้เครื่องมือและแนวคิด modal.com ค่อนข้างดี
      ตอนนี้กำลังรีเซล AWS และ GCP และมี A100 ด้วย แต่ตอนนี้ T4 ก็เพียงพอแล้ว
    • vast.ai คล้ายกับ ตลาดแบบ gig economy สำหรับ GPU เพิ่งลองใช้เครื่องแรกไปและทำงานได้ดี มี RAM 512GB, CPU AMD 256 ตัว, GPU A100 และใช้ไปประมาณ 4 นาทีด้วยราคา 0.05 ดอลลาร์ เงินจำนวนนั้นก็เป็นเครดิตฟรีที่ให้มา
  • เข้าใจว่า AWS/GCP/Azure มีโอเวอร์เฮด และเข้าใจด้วยว่าทำไมหลายบริษัทจึงเลือก bare metal ในการปฏิบัติงาน ส่วนตัวคิดว่ามีไม่บ่อยนักที่คุ้มกับเวลาและความพยายาม แต่ก็ยอมรับได้ว่าถ้าขนาดใหญ่ เงินที่ประหยัดได้อาจมากทีเดียว
    แต่ถ้าแม้แต่ใน การเทรน AI public cloud ก็ยังไม่สามารถแข่งขันได้กับความต้องการแบบ burst แสดงว่ามาร์จินของพวกเขาสูงกว่าที่คาดไว้มาก สงสัยว่าการลดต้นทุน 10–20 เท่าในโพสต์ต้นฉบับนั้นเทียบกับอะไร เทียบกับ AWS หรือเปล่า

    • p5.48xlarge ของ AWS คือ H100 8 ตัว ราคา 98.32 ดอลลาร์ต่อชั่วโมง เท่ากับ H100 หนึ่งตัวชั่วโมงละ 12.29 ดอลลาร์ ราว ๆ 6 เท่าของราคา
  • ในฐานะคนที่ชอบ SF สงสัยว่าชื่อนี้มีประเด็นน่าสนใจอะไรไหม ฮาร์ดแวร์จะตั้งอยู่ใน SF จริงหรือไม่ และมีแผนจัด meetup หรือรวมลูกค้ามาแลกเปลี่ยนกันหรือเปล่า
    เรายังไม่ได้หายไปเหมือน Xerces blue และเรายังคงมีอยู่
    https://en.wikipedia.org/wiki/Xerces_blue

    • ฮาร์ดแวร์จะไม่ตั้งไว้ใน SF เพราะไม่ใช่พื้นที่ดาต้าเซ็นเตอร์ที่ถูกที่สุด
      แต่ลูกค้าจำนวนมากน่าจะอยู่แถวนี้ SF ยังคงอาจเป็นสถานที่ที่ดีที่สุดสำหรับการทำสตาร์ทอัพ มีคนที่แก้ปัญหาเทคโนโลยียาก ๆ อยู่มากจริง ๆ ทุกที่ที่ผมเคยอยู่ใน SF มักมีสตาร์ทอัพอื่นอยู่ชั้นบนหรือชั้นล่างเสมอ
      การจัดงานออฟไลน์ก็เป็นไอเดียที่ดี
  • ชอบไอเดีย สินทรัพย์ของชุมชน อาจเป็นจุดเริ่มต้นของสหกรณ์ GPU ได้ไหม

    • ถ้าเป็นการ์ดสำหรับผู้บริโภค ก็มีรูปแบบแบบนั้นอยู่แล้ว สามารถทำเงินจาก GPU ของตัวเองผ่าน vast.AI ได้
      https://cloud.vast.ai/host/setup
    • ไม่รู้อะไรเลยเกี่ยวกับโครงสร้างพื้นฐานภายในของ Twitter แต่เมื่อดูสถานการณ์อย่างรายได้โฆษณาลดลง การมีส่วนร่วมของผู้ใช้ลดลง หรือผู้ใช้ไหลไป Threads ก็คิดว่า Twitter อาจใช้โครงสร้างพื้นฐานบางส่วนเพื่อสนับสนุนสตาร์ทอัพแบบนี้ได้
      ไม่ว่าจะเป็นพื้นที่แร็ก, VM, คอนเทนเนอร์, การเชื่อมต่อ ฯลฯ โดยพื้นฐานแล้ว Twitter ถอยกลับไปเป็นเหมือน ผู้ให้บริการโคโลเคชัน ช่วงปลายยุค 90
      สำหรับคนที่จับไม่ได้ ขอบอกว่านี่เป็นมุก
  • สงสัยว่าไปหาเงินมาซื้อ H100 512 ตัวได้อย่างไร

    • ตามที่ระบุชัดเจนในประโยคแรกของบทความ พวกเขาเป็น นักลงทุน VC ที่ทำสิ่งนี้ให้สตาร์ทอัพที่เพิ่งลงทุนไป และกำลังมองหาผู้เข้าร่วมรายอื่นด้วย