4 คะแนน โดย GN⁺ 2024-01-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • วิศวกรรมการรบของปัญญาประดิษฐ์ - สิ่งที่ควรรู้

    • คอลเลกชันแบบเปิดที่รวบรวมวิธีการสำหรับการฝึกโมเดลปัญญาประดิษฐ์ (ML) ให้ประสบความสำเร็จ โดยเฉพาะโมเดลภาษาขนาดใหญ่ (LLM) และโมเดลหลายสื่อ (VLM)
    • เป็นแหล่งข้อมูลทางเทคนิคสำหรับวิศวกรและผู้ปฏิบัติการฝึก LLM/VLM โดยมีสคริปต์และคำสั่งแบบคัดลอก-วางจำนวนมาก จึงช่วยให้ทำงานที่ต้องการได้อย่างรวดเร็ว
    • มีการบันทึกประสบการณ์และเคล็ดลับที่ได้จากการฝึกโมเดลโอเพนซอร์ส BLOOM-176B ในปี 2022 และโมเดลหลายสื่อ IDEFICS-80B ในปี 2023 อย่างต่อเนื่อง และปัจจุบันกำลังพัฒนา/ฝึกโมเดล retrieval-augmented แบบโอเพนซอร์สที่ Contextual.AI
  • สารบัญ

    • ขออภัยสำหรับเลย์เอาต์ที่ยังไม่เสถียร เนื่องจากกำลังเขียนบทใหม่และจัดโครงสร้างเนื้อหาใหม่ให้เข้าใจง่ายขึ้น
  • องค์ประกอบฮาร์ดแวร์

    • ตัวเร่งความเร็ว - ม้าศึกของงาน ML รวมถึง GPU, TPU, IPU, FPGA, HPU, QPU, RDU เป็นต้น
    • เครือข่าย - การเชื่อมต่อภายในโหนดและระหว่างโหนด รวมถึงการคำนวณความต้องการแบนด์วิดท์
    • สตอเรจ - ดิสก์และระบบไฟล์ทั้งแบบโลคัลและแบบกระจาย
    • CPU - เนื้อหาเกี่ยวกับ CPU และ affinity
    • หน่วยความจำ CPU - บทที่สั้นที่สุด ว่าหน่วยความจำ CPU เท่าไรจึงจะเพียงพอ
  • ประสิทธิภาพ

    • ความทนทานต่อความขัดข้อง
    • ประสิทธิภาพ
    • เครือข่ายหลายโหนด
    • การขนานโมเดล
  • การปฏิบัติการ

    • SLURM
    • ไฮเปอร์พารามิเตอร์สำหรับการฝึกและการกำหนดค่าเริ่มต้นของโมเดล
    • ความไม่เสถียร
  • การพัฒนา

    • การดีบักความล้มเหลวของซอฟต์แวร์และฮาร์ดแวร์
    • การดีบักเพิ่มเติม
    • ความสามารถในการทำซ้ำ
    • ความละเอียดของเทนเซอร์ / ชนิดข้อมูล
    • โน้ตเกี่ยวกับ HF Transformers - ทิปเกี่ยวกับโมเดลขนาดเล็ก โทเคไนเซอร์ ดาต้าเซ็ต เป็นต้น
  • อื่น ๆ

    • แหล่งข้อมูล - ลำดับเหตุการณ์ของ LLM/VLM
  • ทางลัด

    • เครื่องมือและคู่มือที่มักต้องค้นหาอย่างรวดเร็ว
    • เครื่องมือ: all_reduce_bench.py, torch-distributed-gpu-test.py
    • คู่มือ: debugging pytorch applications, slurm for users, make tiny models/datasets/tokenizers, LLM/VLM chronicles collection
  • การทำหนังสือ

    • หากต้องการสร้าง PDF หรือตรวจสอบลิงก์ ให้ดูส่วน 'การทำหนังสือ'
  • คำขอบคุณ

    • การได้เรียนรู้เคล็ดลับเหล่านี้เป็นสิทธิพิเศษที่มีเพียงไม่กี่คนเท่านั้นที่เข้าถึงได้ เพราะค่าใช้จ่ายในการเช่าคลัสเตอร์คอมพิวต์ ML ขนาดใหญ่นั้นสูงมาก
    • ขอขอบคุณเป็นพิเศษต่อ Thom Wolf และ HuggingFace
  • การมีส่วนร่วม

    • หากพบข้อบกพร่อง คำผิด หรือมีข้อเสนอแนะเพื่อปรับปรุง แนะนำให้เปิด issue หรือส่ง PR เข้ามา
  • สัญญาอนุญาต

    • เนื้อหาบนเว็บไซต์นี้เผยแพร่ภายใต้สัญญาอนุญาต Attribution-ShareAlike 4.0 International
  • แผนที่คลังเก็บของฉัน

    • แมชชีนเลิร์นนิง: ML Engineering Open Book | ML ways | Porting
    • คู่มือ: The Art of Debugging
    • แอปพลิเคชัน: ipyexperiments
    • เครื่องมือและชีตสรุป: bash | conda | git | jupyter-notebook | make | python | tensorboard | unix

ความเห็นของ GN⁺

  • แหล่งข้อมูลนี้มีส่วนช่วยอย่างมากต่อชุมชน ML โดยมอบความรู้เชิงปฏิบัติและเครื่องมือที่จำเป็นสำหรับการฝึกโมเดลภาษาขนาดใหญ่และโมเดลหลายสื่อ
  • การแบ่งปันเคล็ดลับจากประสบการณ์ในโครงการจริงช่วยให้วิศวกรซอฟต์แวร์ระดับเริ่มต้นได้เรียนรู้ความรู้เชิงปฏิบัติที่จำเป็นต่อการฝึกโมเดล ML ขนาดใหญ่
  • แนวทางโอเพนซอร์สช่วยส่งเสริมการแบ่งปันความรู้และความร่วมมือในแวดวง ML ซึ่งมีบทบาทสำคัญต่อการเร่งการวิจัยและนวัตกรรม

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

 
GN⁺ 2024-01-25
ความคิดเห็นจาก Hacker News
  • บทความนี้มีคุณค่ามากจริง ๆ ผมกำลังทำงานดีบักการตั้งค่าเทรน LLM เพื่อสนับสนุนงานวิจัย และคงจะดีมากถ้ามีโน้ตแบบนี้ตั้งแต่ตอนเริ่มต้น

    • สื่อว่าหากคนที่ทำงานดีบักการตั้งค่าเทรน LLM มีข้อมูลลักษณะนี้ตั้งแต่ช่วงแรก ก็จะเป็นประโยชน์มาก
  • ผมทำงานร่วมกับ Applied Scientist และช่วยงานที่เกี่ยวข้องกับการเทรนและการดีพลอยโมเดล; คนแบบผมจะได้สัมผัสงานวิศวกรรมระดับล่างอย่างการทำ optimization และ performance ได้อย่างไร? เรามีทีม ML infrastructure แต่เป้าหมายของพวกเขาคือการสร้างเครื่องมือรอบแพลตฟอร์ม ไม่ได้จำเป็นว่าจะต้องรัน workload ให้เหมาะสมที่สุดเสมอไป

    • สื่อว่าคนที่สนับสนุนการเทรนและการดีพลอยโมเดล ต้องการได้ประสบการณ์ด้านงานวิศวกรรมระดับล่าง เช่น optimization และ performance
  • ผมอยากลองเล่นกับสิ่งนี้ดู แต่ไม่มี GPU ที่เหมาะสม พวกคุณรันสิ่งเหล่านี้กันอย่างไร?

    • สื่อว่ากำลังประสบปัญหาในการเริ่มทดลอง เพราะไม่มี GPU ที่เหมาะสม
  • ขอบคุณมากจริง ๆ สำหรับทุกอย่างใน "Unsolicited Advice" ของส่วน AI Battlefield [1] นี่เป็นมุมมองที่สมจริงมากต่อการพัฒนา AI ที่ก้าวหน้าอย่างรวดเร็วอยู่ตลอด และภาระทางอารมณ์ที่ตามมาจากสิ่งนั้น

    • สื่อถึงความขอบคุณต่อ "Unsolicited Advice" ที่มองความเร็วของการพัฒนา AI และภาระทางอารมณ์ที่ตามมาอย่างสมจริง
  • Slurm ถูกใช้งานอย่างแพร่หลายแค่ไหน?

    • สื่อถึงความสงสัยเกี่ยวกับขอบเขตการใช้งานของ Slurm
  • ผมกดอ่านแบบสุ่มแล้วไปเจอเรื่อง repeatability และยังสงสัยอยู่ว่าใน distributed training ทำสิ่งนี้ให้เกิดขึ้นได้อย่างไร deterministic synchronization ไม่ทำให้งานช้าลงหรือ? แต่ก็ได้ยินมาว่าอย่างน้อยบางบริษัทใหญ่ก็ทำให้การเทรนของพวกเขาทำซ้ำได้

    • ตั้งคำถามเกี่ยวกับ repeatability ใน distributed training และผลกระทบของ deterministic synchronization ต่อประสิทธิภาพ
  • ถ้ายังไม่มีงาน จะสะสมประสบการณ์เกี่ยวกับเรื่องพวกนี้ได้อย่างไร?

    • ถามว่าจะสร้างประสบการณ์ที่เกี่ยวข้องได้อย่างไรโดยไม่มีงานจริงทำ
  • มีไฟล์ pdf อยู่ที่ไหนสักแห่งไหม? เหมือนจะมีวิธี build แต่ไม่มีไฟล์จริง

    • สื่อว่ากำลังมองหาเอกสารเวอร์ชัน pdf ที่เกี่ยวข้อง