โมเดลภาษาเป็นวิธีการทางสถิติที่ทำนายการสืบทอดของโทเค็นในลำดับโดยใช้ข้อความธรรมชาติ โมเดลภาษาขนาดใหญ่ (LLM) เป็นโมเดลภาษาที่ใช้โครงข่ายประสาทเทียมซึ่งมีหลายร้อยล้าน (BERT) ถึงกว่าล้านล้านพารามิเตอร์ (มิคส) และมีขนาดที่ทำให้การฝึกอบรม GPU เดียวทำไม่ได้ ความสามารถในการสร้างสรรค์ของ LLM ทำให้พวกเขาเป็นที่นิยมสำหรับการสังเคราะห์ข้อความ การสรุป การแปลด้วยคอมพิวเตอร์ และอื่นๆ
ขนาดของ LLM และข้อมูลการฝึกอบรมเป็นดาบสองคม: นำมาซึ่งคุณภาพการสร้างแบบจำลอง แต่นำมาซึ่งความท้าทายด้านโครงสร้างพื้นฐาน ตัวโมเดลเองมักจะใหญ่เกินไปที่จะใส่ในหน่วยความจำของอุปกรณ์ GPU เดียวหรือในอุปกรณ์หลายตัวของอินสแตนซ์หลาย GPU ปัจจัยเหล่านี้จำเป็นต้องมีการฝึกอบรม LLM บนอินสแตนซ์แมชชีนเลิร์นนิง (ML) คลัสเตอร์ขนาดใหญ่ ในช่วงไม่กี่ปีที่ผ่านมา ลูกค้าจำนวนมากใช้ AWS Cloud สำหรับการฝึกอบรม LLM
ในโพสต์นี้ เราจะเจาะลึกเคล็ดลับและแนวทางปฏิบัติที่ดีที่สุดสำหรับการฝึกอบรม LLM ที่ประสบความสำเร็จ การฝึกอบรม Amazon SageMaker. SageMaker Training คือบริการประมวลผล ML แบบแบตช์ที่ได้รับการจัดการ ซึ่งช่วยลดเวลาและค่าใช้จ่ายในการฝึกอบรมและปรับแต่งโมเดลตามขนาด โดยไม่จำเป็นต้องจัดการโครงสร้างพื้นฐาน ภายในหนึ่งคำสั่งเปิดใช้ อเมซอน SageMaker เปิดตัวคลัสเตอร์การประมวลผลชั่วคราวที่ทำงานได้อย่างสมบูรณ์โดยรันงานที่คุณเลือก และด้วยคุณสมบัติ ML ที่ปรับปรุงแล้ว เช่น metastore, I/O ที่มีการจัดการ และการแจกจ่าย โพสต์ครอบคลุมขั้นตอนทั้งหมดของภาระงานการฝึกอบรม LLM และอธิบายคุณลักษณะโครงสร้างพื้นฐานที่เกี่ยวข้องและแนวทางปฏิบัติที่ดีที่สุด แนวทางปฏิบัติที่ดีที่สุดในโพสต์นี้อ้างอิงถึงอินสแตนซ์ ml.p4d.24xlarge โดยเฉพาะ แต่ส่วนใหญ่จะใช้ได้กับอินสแตนซ์ทุกประเภท แนวทางปฏิบัติที่ดีที่สุดเหล่านี้ทำให้คุณสามารถฝึกอบรม LLM บน SageMaker ในระดับพารามิเตอร์หลายสิบถึงหลายร้อยล้านพารามิเตอร์
เกี่ยวกับขอบเขตของโพสต์นี้ โปรดทราบสิ่งต่อไปนี้:
- เราไม่ครอบคลุมถึงการออกแบบทางวิทยาศาสตร์ของโครงข่ายประสาทเทียมและการเพิ่มประสิทธิภาพที่เกี่ยวข้อง อเมซอน.วิทยาศาสตร์ นำเสนอสิ่งตีพิมพ์ทางวิทยาศาสตร์มากมาย รวมถึงและไม่จำกัดเพียง ปริญญามหาบัณฑิต.
- แม้ว่าโพสต์นี้จะมุ่งเน้นไปที่ LLMs แต่แนวทางปฏิบัติที่ดีที่สุดส่วนใหญ่นั้นเกี่ยวข้องกับการฝึกอบรมโมเดลขนาดใหญ่ทุกประเภท รวมถึงการมองเห็นด้วยคอมพิวเตอร์และโมเดลหลายรูปแบบ เช่น Stable Diffusion
ปฏิบัติที่ดีที่สุด
เราพูดถึงแนวทางปฏิบัติที่ดีที่สุดต่อไปนี้ในโพสต์นี้:
- คำนวณ – SageMaker Training เป็น API ที่ยอดเยี่ยมในการเปิดใช้งานการเตรียมชุดข้อมูล CPU และงาน GPU นับพันสเกล
- พื้นที่จัดเก็บ – เราเห็นว่าการโหลดข้อมูลและการเช็คพอยต์ทำได้สองวิธี ขึ้นอยู่กับทักษะและความชอบ: ด้วย ความมันวาวของ Amazon FSx ระบบไฟล์หรือ บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (อเมซอน S3) เท่านั้น
- ความเท่าเทียม – ไลบรารีการฝึกอบรมแบบกระจายที่คุณเลือกมีความสำคัญต่อการใช้ GPU อย่างเหมาะสม เราแนะนำให้ใช้ไลบรารี่ที่เพิ่มประสิทธิภาพบนคลาวด์ เช่น SageMaker การแบ่งส่วนข้อมูลแบบคู่ขนาน แต่ไลบรารีที่จัดการด้วยตนเองและโอเพนซอร์สก็สามารถทำงานได้เช่นกัน
- ระบบเครือข่าย – ตรวจสอบให้แน่ใจว่าเปิดใช้งาน EFA และ NVIDIA GPUDirectRDMA เพื่อการสื่อสารระหว่างเครื่องที่รวดเร็ว
- ความยืดหยุ่น – เมื่อถึงขนาด ความล้มเหลวของฮาร์ดแวร์สามารถเกิดขึ้นได้ เราขอแนะนำให้ตรวจสอบเป็นประจำ ทุก ๆ สองสามชั่วโมงเป็นเรื่องปกติ
การเลือกภูมิภาค
ประเภทอินสแตนซ์และความจุที่ต้องการเป็นปัจจัยกำหนดสำหรับการเลือกภูมิภาค สำหรับภูมิภาคที่สนับสนุนโดย SageMaker และ อเมซอน อีลาสติก คอมพิวท์ คลาวด์ ประเภทอินสแตนซ์ (Amazon EC2) ที่มีให้บริการในแต่ละภูมิภาค โปรดดู ราคา Amazon SageMaker. ในโพสต์นี้ เราถือว่าประเภทอินสแตนซ์การฝึกอบรมเป็น ml.p4d.24xlarge ที่จัดการโดย SageMaker
เราขอแนะนำให้ทำงานร่วมกับทีมบัญชี AWS ของคุณหรือติดต่อ การขาย AWS เพื่อกำหนดภูมิภาคที่เหมาะสมสำหรับภาระงาน LLM ของคุณ
การเตรียมข้อมูล
นักพัฒนา LLM ฝึกโมเดลของตนบนชุดข้อมูลขนาดใหญ่ของข้อความที่เกิดขึ้นเองตามธรรมชาติ ตัวอย่างยอดนิยมของแหล่งข้อมูลดังกล่าว ได้แก่ การรวบรวมข้อมูลทั่วไป และ เสาเข็ม. ข้อความที่เกิดขึ้นตามธรรมชาติอาจมีอคติ ความไม่ถูกต้อง ข้อผิดพลาดทางไวยากรณ์ และรูปแบบไวยากรณ์ คุณภาพขั้นสุดท้ายของ LLM ขึ้นอยู่กับการเลือกและการจัดการข้อมูลการฝึกอบรมเป็นอย่างมาก การเตรียมข้อมูลการฝึกอบรม LLM เป็นพื้นที่ของการวิจัยและนวัตกรรมในอุตสาหกรรม LLM การเตรียมชุดข้อมูลการประมวลผลภาษาธรรมชาติ (NLP) นั้นเต็มไปด้วยโอกาสในการใช้ความเท่าเทียมกัน กล่าวอีกนัยหนึ่ง มีขั้นตอนที่สามารถใช้กับหน่วยของงาน—ไฟล์ต้นฉบับ ย่อหน้า ประโยค คำ—โดยไม่ต้องมีการซิงโครไนซ์ระหว่างผู้ปฏิบัติงาน
API งานของ SageMaker ได้แก่ SageMaker Training และ SageMaker Processing เป็นเลิศสำหรับงานประเภทนี้ พวกเขาช่วยให้นักพัฒนาสามารถเรียกใช้คอนเทนเนอร์ Docker ตามอำเภอใจบนเครื่องหลายเครื่อง ในกรณีของ SageMaker Training API ฟลีทคอมพิวเตอร์สามารถเป็นได้ ต่างกัน. มีการใช้เฟรมเวิร์กการคำนวณแบบกระจายจำนวนมากบน SageMaker รวมถึง แผงควบคุม, รังสี, และนอกจากนี้ยังมี ไพสปาร์คซึ่งมีผู้อุทิศตน คอนเทนเนอร์ที่จัดการโดย AWS และ SDK ในการประมวลผลของ SageMaker
เมื่อคุณเริ่มงานด้วยเครื่องจักรหลายเครื่อง SageMaker Training and Processing จะรันโค้ดของคุณหนึ่งครั้งต่อเครื่อง คุณไม่จำเป็นต้องใช้เฟรมเวิร์กการประมวลผลแบบกระจายเฉพาะเพื่อเขียนแอปพลิเคชันแบบกระจาย: คุณสามารถเขียนโค้ดที่คุณเลือก ซึ่งจะรันหนึ่งครั้งต่อเครื่อง เพื่อให้เกิดการทำงานแบบคู่ขนาน คุณยังสามารถเขียนหรือติดตั้งตรรกะการสื่อสารระหว่างโหนดตามที่คุณต้องการ
กำลังโหลดข้อมูล
มีหลายวิธีในการจัดเก็บข้อมูลการฝึกอบรมและย้ายจากที่เก็บข้อมูลไปยังโหนดประมวลผลแบบเร่งความเร็ว ในส่วนนี้ เราจะพูดถึงตัวเลือกและแนวทางปฏิบัติที่ดีที่สุดสำหรับการโหลดข้อมูล
ตัวเลือกการจัดเก็บและการโหลด SageMaker
ขนาดชุดข้อมูล LLM ทั่วไปอยู่ในโทเค็นข้อความหลายร้อยล้าน ซึ่งคิดเป็นไม่กี่ร้อยกิกะไบต์ คลัสเตอร์ที่จัดการโดย SageMaker ของอินสแตนซ์ ml.p4d.24xlarge เสนอตัวเลือกมากมายสำหรับการจัดเก็บและการโหลดชุดข้อมูล:
- NVMe SSD บนโหนด – อินสแตนซ์ ml.P4d.24xlarge ติดตั้ง NVMe ขนาด 8TB ซึ่งมีให้ใช้งานภายใต้
/opt/ml/input/data/<channel>
ถ้าคุณใช้ โหมดไฟล์ SageMakerและที่/tmp
. หากคุณต้องการความเรียบง่ายและประสิทธิภาพของการอ่านในเครื่อง คุณสามารถคัดลอกข้อมูลของคุณไปยัง NVMe SSD การคัดลอกสามารถทำได้โดยโหมด SageMaker File หรือด้วยรหัสของคุณเอง เช่น การใช้การประมวลผลหลายขั้นตอน โบโต3 or S5ซม. - FSx สำหรับความมันวาว – NVMe SSD บนโหนดมีขนาดจำกัด และต้องมีการส่งผ่านข้อมูลจาก Amazon S3 ในแต่ละงานหรือการสร้างคลัสเตอร์แบบอุ่น หากคุณต้องการปรับขนาดเป็นชุดข้อมูลที่ใหญ่ขึ้นในขณะที่รักษาการเข้าถึงแบบสุ่มที่มีเวลาแฝงต่ำ คุณสามารถใช้ FSx สำหรับ Lustre Amazon FSx เป็นระบบไฟล์แบบขนานแบบโอเพ่นซอร์ส ซึ่งเป็นที่นิยมในการประมวลผลประสิทธิภาพสูง (HPC) FSx สำหรับการใช้ความมันวาว การจัดเก็บไฟล์แบบกระจาย (ลอก) และแยกข้อมูลเมตาของไฟล์ออกจากเนื้อหาไฟล์เพื่อให้ได้การอ่าน/เขียนที่มีประสิทธิภาพสูง
- โหมด SageMaker FastFile – โหมด FastFile (FFM) เป็นคุณลักษณะเฉพาะของ SageMaker ที่นำเสนออ็อบเจ็กต์ S3 ระยะไกลในอินสแตนซ์การประมวลผลที่จัดการโดย SageMaker ภายใต้อินเทอร์เฟซที่สอดคล้องกับ POSIX และสตรีมวัตถุเหล่านั้นเมื่ออ่านโดยใช้ FUSE เท่านั้น FFM อ่านผลลัพธ์ในการเรียก S3 ที่สตรีมไฟล์ระยะไกลแบบบล็อกต่อบล็อก ตามแนวทางปฏิบัติที่ดีที่สุดในการหลีกเลี่ยงข้อผิดพลาดที่เกี่ยวข้องกับการรับส่งข้อมูลของ Amazon S3 นักพัฒนา FFM ควรตั้งเป้าหมายที่จะรักษาจำนวนการเรียกใช้ S3 พื้นฐานให้สมเหตุสมผล ตัวอย่างเช่น โดยการอ่านไฟล์ตามลำดับและควบคุมจำนวนการขนาน
- การโหลดข้อมูลที่จัดการด้วยตนเอง – แน่นอน คุณอาจตัดสินใจใช้ตรรกะการโหลดข้อมูลที่กำหนดเองทั้งหมดของคุณเอง โดยใช้โค้ดที่เป็นกรรมสิทธิ์หรือโอเพ่นซอร์ส เหตุผลบางประการในการใช้การโหลดข้อมูลที่จัดการด้วยตนเองคือเพื่ออำนวยความสะดวกในการย้ายข้อมูลโดยใช้โค้ดที่พัฒนาแล้วซ้ำ เพื่อใช้ตรรกะการจัดการข้อผิดพลาดที่กำหนดเอง หรือเพื่อให้มีการควบคุมเพิ่มเติมเกี่ยวกับประสิทธิภาพการทำงานและการแบ่งส่วนย่อย ตัวอย่างของไลบรารีที่คุณอาจใช้สำหรับการโหลดข้อมูลที่จัดการด้วยตนเอง ได้แก่ torchdata.datapipe (ก่อนหน้านี้ ปลั๊กอิน AWS PyTorch S3) and ชุดข้อมูลบนเว็บ. AWS Python SDK โบโต3 อาจใช้ร่วมกันได้ด้วย ชุดข้อมูลไฟฉาย คลาสเพื่อสร้างรหัสการโหลดข้อมูลที่กำหนดเอง คลาสการโหลดข้อมูลที่กำหนดเองยังช่วยให้สามารถใช้คลัสเตอร์ SageMaker Training ที่แตกต่างกันได้อย่างสร้างสรรค์ เพื่อปรับความสมดุลของ CPU และ GPU ให้เหมาะกับปริมาณงานที่กำหนดอย่างละเอียด
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกเหล่านั้นและวิธีการเลือก โปรดดูที่ เลือกแหล่งข้อมูลที่ดีที่สุดสำหรับงานฝึกอบรม Amazon SageMaker ของคุณ.
แนวทางปฏิบัติที่ดีที่สุดสำหรับการโต้ตอบขนาดใหญ่กับ Amazon S3
Amazon S3 สามารถจัดการปริมาณงาน LLM ทั้งสำหรับการอ่านข้อมูลและการตรวจสอบ รองรับก อัตราคำขอ 3,500 คำขอ PUT/COPY/POST/DELETE หรือ 5,500 GET/HEAD ต่อวินาทีต่อคำนำหน้าในบัคเก็ต อย่างไรก็ตาม อัตรานี้ไม่จำเป็นต้องมีอยู่ตามค่าเริ่มต้น เมื่ออัตราการร้องขอสำหรับคำนำหน้าเพิ่มขึ้น Amazon S3 จะปรับขนาดโดยอัตโนมัติเพื่อจัดการกับอัตราที่เพิ่มขึ้น สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เหตุใดฉันจึงได้รับข้อผิดพลาด 503 ช้าลงจาก Amazon S3 เมื่อคำขออยู่ในอัตราคำขอที่รองรับต่อคำนำหน้า.
หากคุณคาดว่าจะมีการโต้ตอบกับ Amazon S3 ความถี่สูง เราขอแนะนำแนวทางปฏิบัติที่ดีที่สุดดังต่อไปนี้:
- พยายามอ่านและเขียนจากบัคเก็ต S3 หลายอันและ คำนำหน้า. ตัวอย่างเช่น คุณสามารถแบ่งพาร์ติชันข้อมูลการฝึกอบรมและจุดตรวจสอบตามคำนำหน้าต่างๆ ได้
- ตรวจสอบตัววัด Amazon S3 ใน อเมซอน คลาวด์วอตช์ เพื่อติดตามอัตราการร้องขอ
- พยายามลดจำนวน PUT/GET พร้อมกันให้เหลือน้อยที่สุด:
- มีกระบวนการน้อยลงโดยใช้ Amazon S3 ในเวลาเดียวกัน ตัวอย่างเช่น หากแปดกระบวนการต่อโหนดต้องการจุดตรวจสอบไปยัง Amazon S3 คุณสามารถลดทราฟฟิก PUT ได้ 8 เท่าโดยการตรวจสอบตามลำดับชั้น: อันดับแรกภายในโหนด จากนั้นจากโหนดไปยัง Amazon S3
- อ่านบันทึกการฝึกหลายรายการจากไฟล์เดียวหรือ S3 GET แทนที่จะใช้ S3 GET สำหรับทุกบันทึกการฝึก
- หากคุณใช้ Amazon S3 ผ่าน SageMaker FFM SageMaker FFM จะทำการเรียก S3 เพื่อดึงไฟล์ทีละไฟล์ หากต้องการจำกัดการรับส่งข้อมูล Amazon S3 ที่สร้างโดย FFM เราขอแนะนำให้คุณอ่านไฟล์ตามลำดับและจำกัดจำนวนไฟล์ที่เปิดพร้อมกัน
หากคุณมี แผนสนับสนุนนักพัฒนา ธุรกิจ หรือองค์กรคุณสามารถเปิดกรณีการสนับสนุนด้านเทคนิคเกี่ยวกับข้อผิดพลาด S3 503 Slow Down ได้ แต่ก่อนอื่น ตรวจสอบให้แน่ใจว่าคุณได้ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด และ รับรหัสคำขอ สำหรับคำขอที่ล้มเหลว
การฝึกอบรมแบบคู่ขนาน
โดยทั่วไปแล้ว LLM จะมีพารามิเตอร์นับสิบถึงแสนล้านพารามิเตอร์ ทำให้มีขนาดใหญ่เกินไปที่จะใส่ไว้ในการ์ด NVIDIA GPU เดียว ผู้ปฏิบัติงาน LLM ได้พัฒนาห้องสมุดโอเพ่นซอร์สหลายแห่งที่อำนวยความสะดวกในการคำนวณการฝึกอบรม LLM แบบกระจาย รวมถึง เอฟเอสดีพี, ความเร็วลึก และ เมกะท. คุณสามารถเรียกใช้ไลบรารีเหล่านั้นใน SageMaker Training แต่คุณยังสามารถใช้ไลบรารีการฝึกอบรมแบบกระจายของ SageMaker ซึ่งได้รับการปรับให้เหมาะสมสำหรับ AWS Cloud และมอบประสบการณ์สำหรับนักพัฒนาที่ง่ายขึ้น นักพัฒนามีสองทางเลือกในการฝึกอบรม LLM แบบกระจายบน SageMaker: ห้องสมุดแบบกระจายหรือจัดการด้วยตนเอง
SageMaker แจกจ่ายไลบรารี
เพื่อมอบประสิทธิภาพการฝึกอบรมแบบกระจายและความสามารถในการใช้งานที่ดีขึ้น SageMaker Training ขอเสนอส่วนขยายที่เป็นกรรมสิทธิ์หลายรายการเพื่อปรับขนาดรหัสการฝึกอบรม TensorFlow และ PyTorch การฝึกอบรม LLM มักดำเนินการในรูปแบบ 3D-parallelism:
- ความเท่าเทียมกันของข้อมูล แยกและป้อนชุดการฝึกอบรมขนาดเล็กไปยังแบบจำลองที่เหมือนกันหลายชุดเพื่อเพิ่มความเร็วในการประมวลผล
- ความขนานของท่อส่ง กำหนดคุณลักษณะเลเยอร์ต่างๆ ของโมเดลให้กับ GPU ที่แตกต่างกันหรือแม้แต่อินสแตนซ์ เพื่อปรับขนาดโมเดลนอกเหนือจาก GPU เดียวและเซิร์ฟเวอร์เดียว
- ความขนานของเทนเซอร์ แยกเลเยอร์เดียวออกเป็น GPU หลายตัว โดยปกติจะอยู่ภายในเซิร์ฟเวอร์เดียวกัน เพื่อปรับขนาดแต่ละเลเยอร์ให้มีขนาดเกิน GPU เดียว
ในตัวอย่างต่อไปนี้ โมเดล 6 เลเยอร์ได้รับการฝึกฝนบนคลัสเตอร์ของเซิร์ฟเวอร์ k*3 ที่มี GPU 8*k*3 (8 GPU ต่อเซิร์ฟเวอร์) ระดับความขนานของข้อมูลคือ k, ความขนานไปป์ไลน์ 6 และความขนานของเทนเซอร์ 4 GPU แต่ละตัวในคลัสเตอร์ประกอบด้วยหนึ่งในสี่ของเลเยอร์โมเดล และโมเดลทั้งหมดจะถูกแบ่งพาร์ติชันบนเซิร์ฟเวอร์สามเครื่อง (รวมทั้งหมด 24 GPU)
ข้อมูลต่อไปนี้มีความเกี่ยวข้องโดยเฉพาะสำหรับ LLM:
- SageMaker โมเดลแบบกระจายแบบขนาน – ไลบรารีนี้ใช้การแบ่งพาร์ติชันกราฟเพื่อสร้างการแบ่งพาร์ติชันโมเดลอัจฉริยะที่ปรับให้เหมาะกับความเร็วหรือหน่วยความจำ การขนานโมเดลแบบกระจายของ SageMaker เผยให้เห็นการเพิ่มประสิทธิภาพการฝึกอบรมโมเดลขนาดใหญ่ล่าสุดและยิ่งใหญ่ที่สุด รวมถึงความขนานของข้อมูล การขนานไปป์ไลน์ การขนานของเทนเซอร์ การแบ่งส่วนสถานะของเครื่องมือเพิ่มประสิทธิภาพ ด้วยไลบรารีแบบขนานของโมเดลแบบกระจาย SageMaker เราได้บันทึกการฝึกอบรมโมเดลพารามิเตอร์ 175 พันล้านตัวบน GPU NVIDIA A920 100 ตัว สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ฝึกโมเดล NLP พารามิเตอร์ 175+ พันล้านด้วยการเพิ่มโมเดลแบบขนานและ Hugging Face บน Amazon SageMaker.
- SageMaker แบ่งส่วนข้อมูลแบบขนาน - ใน MiCS: การปรับสเกลใกล้เชิงเส้นสำหรับการฝึกโมเดลขนาดยักษ์บนคลาวด์สาธารณะ, จาง และคณะ แนะนำกลยุทธ์แบบคู่ขนานของรูปแบบการสื่อสารต่ำที่แบ่งส่วนแบบจำลองบนกลุ่มคู่ขนานข้อมูลเท่านั้น แทนที่จะเป็นคลัสเตอร์ทั้งหมด ด้วย MiCS นักวิทยาศาสตร์ของ AWS สามารถบรรลุ 176 เทราฟลอปต่อ GPU (56.4% ของค่าสูงสุดตามทฤษฎี) สำหรับการฝึกโมเดล 210 เลเยอร์ 1.06 ล้านล้านพารามิเตอร์บนอินสแตนซ์ EC2 P4de ขณะนี้ MiCS พร้อมใช้งานสำหรับลูกค้า SageMaker Training เป็น SageMaker แบ่งส่วนข้อมูลแบบขนาน.
ไลบรารีการฝึกอบรมแบบกระจายของ SageMaker ให้ประสิทธิภาพสูงและประสบการณ์นักพัฒนาที่ง่ายขึ้น โดยเฉพาะอย่างยิ่ง นักพัฒนาไม่จำเป็นต้องเขียนและบำรุงรักษา Launcher ของกระบวนการแบบขนานที่กำหนดเองหรือใช้เครื่องมือเปิดใช้เฟรมเวิร์กเฉพาะ เนื่องจาก Launcher แบบขนานมีอยู่ใน SDK การเปิดใช้งาน
จัดการเอง
ด้วย SageMaker Training คุณมีอิสระในการใช้กรอบงานและกระบวนทัศน์ทางวิทยาศาสตร์ที่คุณเลือก โดยเฉพาะอย่างยิ่ง หากคุณต้องการจัดการการฝึกอบรมแบบกระจายด้วยตนเอง คุณมีสองตัวเลือกในการเขียนโค้ดแบบกำหนดเองของคุณ:
- ใช้ AWS Deep Learning Container (DLC) – AWS พัฒนาและบำรุงรักษา DLCsจัดเตรียมสภาพแวดล้อมที่ใช้ Docker ที่ปรับให้เหมาะสมสำหรับ AWS สำหรับเฟรมเวิร์ก ML แบบโอเพ่นซอร์สชั้นนำ SageMaker Training มีการผสานรวมที่ไม่เหมือนใครซึ่งช่วยให้คุณสามารถดึงและเรียกใช้ AWS DLC ด้วยจุดเข้าใช้งานภายนอกที่ผู้ใช้กำหนด สำหรับการฝึกอบรม LLM โดยเฉพาะ AWS DLC สำหรับ TensorFlow, PyTorch, Hugging Face และ MXNet มีความเกี่ยวข้องเป็นพิเศษ การใช้ framework DLC ช่วยให้คุณใช้ framework-native parallelism เช่น PyTorch Distributed โดยไม่ต้องพัฒนาและจัดการอิมเมจ Docker ของคุณเอง นอกจากนี้ DLC ของเรายังมี การรวม MPIซึ่งช่วยให้คุณเปิดใช้รหัสคู่ขนานได้อย่างง่ายดาย
- เขียนอิมเมจ Docker ที่เข้ากันได้กับ SageMaker แบบกำหนดเอง – คุณสามารถนำภาพ (BYO) มาเอง (ดู ใช้อัลกอริทึมการฝึกอบรมของคุณเอง และ คอนเทนเนอร์การฝึกอบรมแบบกำหนดเองของ Amazon SageMaker) โดยเริ่มจากศูนย์หรือขยายอิมเมจ DLC ที่มีอยู่ เมื่อใช้อิมเมจแบบกำหนดเองสำหรับการฝึกอบรม LLM บน SageMaker สิ่งสำคัญอย่างยิ่งคือการตรวจสอบสิ่งต่อไปนี้:
- รูปภาพของคุณมี EFA พร้อมการตั้งค่าที่เหมาะสม (จะอธิบายเพิ่มเติมในภายหลังในโพสต์นี้)
- อิมเมจของคุณมีไลบรารีการสื่อสาร NVIDIA NCCL ที่เปิดใช้งานด้วย GPUDirectRDMA
ลูกค้าสามารถใช้ไลบรารีการฝึกอบรมแบบกระจายที่จัดการด้วยตนเองจำนวนหนึ่ง รวมถึง DeepSpeed
คมนาคม
ด้วยลักษณะการกระจายของงานฝึกอบรม LLM การสื่อสารระหว่างเครื่องจักรจึงมีความสำคัญอย่างยิ่งต่อความเป็นไปได้ ประสิทธิภาพ และต้นทุนของปริมาณงาน ในส่วนนี้ เราจะนำเสนอคุณลักษณะหลักสำหรับการสื่อสารระหว่างเครื่อง และสรุปด้วยคำแนะนำในการติดตั้งและปรับแต่ง
อะแดปเตอร์ผ้ายืดหยุ่น
เพื่อเร่งความเร็วแอปพลิเคชัน ML และปรับปรุงประสิทธิภาพโดยบรรลุความยืดหยุ่น ความสามารถในการขยายขนาด และความยืดหยุ่นที่มีให้โดยระบบคลาวด์ คุณสามารถใช้ประโยชน์จาก อะแดปเตอร์ผ้ายืดหยุ่น (EFA) กับ SageMaker จากประสบการณ์ของเรา การใช้ EFA เป็นข้อกำหนดเพื่อให้ได้ประสิทธิภาพการฝึกอบรม LLM แบบหลายโหนดที่น่าพอใจ
อุปกรณ์ EFA เป็นอินเทอร์เฟซเครือข่ายที่เชื่อมต่อกับอินสแตนซ์ EC2 ที่จัดการโดย SageMaker ระหว่างการรันงานการฝึกอบรม EFA มีให้บริการในตระกูลอินสแตนซ์เฉพาะ รวมถึง P4d เครือข่าย EFA สามารถรับทรูพุตได้หลายร้อย Gbps
ที่เกี่ยวข้องกับ EFA AWS ได้แนะนำ Datagram ที่เชื่อถือได้ปรับขนาดได้ (SRD) การขนส่งบนอีเธอร์เน็ตที่ได้รับแรงบันดาลใจจาก ดาต้าแกรมที่เชื่อถือได้ของ InfiniBandพัฒนาด้วยข้อ จำกัด ในการสั่งซื้อแพ็คเก็ตที่ผ่อนคลาย สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ EFA และ SRD โปรดดูที่ ในการค้นหาประสิทธิภาพ มีวิธีสร้างเครือข่ายมากกว่าหนึ่งวิธี, วีดีโอ วิธีการทำงานของ EFA และเหตุผลที่เราไม่ใช้ infiniband ในคลาวด์และเอกสารการวิจัย โปรโตคอลการขนส่งที่เพิ่มประสิทธิภาพบนคลาวด์สำหรับ HPC ที่ยืดหยุ่นและปรับขนาดได้ จาก Shalev และคณะ
คุณสามารถเพิ่มการรวม EFA บนอินสแตนซ์ที่เข้ากันได้ไปยังคอนเทนเนอร์ Docker ที่มีอยู่ของ SageMaker หรือคอนเทนเนอร์แบบกำหนดเองที่สามารถใช้สำหรับการฝึกโมเดล ML โดยใช้งาน SageMaker สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ดำเนินการฝึกอบรมกับ EFA. EFA ถูกเปิดเผยผ่านทางโอเพ่นซอร์ส ลิบแฟบริค ชุดการสื่อสาร อย่างไรก็ตาม นักพัฒนา LLM ไม่ค่อยตั้งโปรแกรมโดยตรงกับ Libfabric และมักจะพึ่งพา NVIDIA Collective Communications Library (NCCL) แทน
ปลั๊กอิน AWS-OFI-NCCL
ใน ML แบบกระจาย EFA มักจะใช้กับ NVIDIA Collective Communications Library (NCCL) NCCL เป็นไลบรารีโอเพ่นซอร์สที่พัฒนาโดย NVIDIA โดยใช้อัลกอริธึมการสื่อสารระหว่าง GPU การสื่อสารระหว่าง GPU เป็นรากฐานที่สำคัญของการฝึกอบรม LLM ที่กระตุ้นความสามารถในการปรับขนาดและประสิทธิภาพ เป็นสิ่งสำคัญมากสำหรับการฝึกอบรม DL ที่ NCCL มักจะถูกรวมโดยตรงเป็นแบ็คเอนด์การสื่อสารในไลบรารีการฝึกอบรมการเรียนรู้เชิงลึก เพื่อให้นักพัฒนา LLM ใช้ - บางครั้งโดยไม่ต้องสังเกต - จากเฟรมเวิร์กการพัฒนา Python DL ที่พวกเขาต้องการ หากต้องการใช้ NCCL บน EFA นักพัฒนา LLM จะใช้ AWS ที่พัฒนาแล้ว ปลั๊กอิน AWS OFI NCCLซึ่งจับคู่การเรียกของ NCCL กับอินเทอร์เฟซ Libfabric ที่ EFA ใช้ เราแนะนำให้ใช้ AWS OFI NCCL เวอร์ชันล่าสุดเพื่อรับประโยชน์จากการปรับปรุงล่าสุด
ในการตรวจสอบว่า NCCL ใช้ EFA คุณควรตั้งค่าตัวแปรสภาพแวดล้อม NCCL_DEBUG
ไปยัง INFO
และตรวจสอบในบันทึกว่า EFA ถูกโหลดโดย NCCL:
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่า NCCL และ EFA โปรดดูที่ ทดสอบการกำหนดค่า EFA และ NCCL ของคุณ. คุณสามารถปรับแต่ง NCCL ได้อีกหลายอย่าง ตัวแปรสภาพแวดล้อม. โปรดทราบว่ามีผลใน NCCL 2.12 ขึ้นไป AWS ได้สนับสนุนตรรกะการเลือกอัลกอริทึมการสื่อสารอัตโนมัติสำหรับเครือข่าย EFA (NCCL_ALGO
สามารถปล่อยทิ้งไว้ได้)
NVIDIA GPUDirect RDMA ผ่าน EFA
ด้วยอินสแตนซ์ประเภท P4d เรา แนะนำ GPUDirect RDMA (GDR) บนโครงสร้าง EFA ช่วยให้การ์ดอินเทอร์เฟซเครือข่าย (NIC) เข้าถึงหน่วยความจำ GPU ได้โดยตรง ทำให้การสื่อสารระหว่าง GPU-to-GPU ระยะไกลผ่านอินสแตนซ์ EC2 ที่ใช้ GPU ของ NVIDIA เร็วขึ้น ลดค่าใช้จ่ายในการประสานการทำงานบน CPU และแอปพลิเคชันของผู้ใช้ GDR ถูกใช้ภายใต้ประทุนโดย NCCL เมื่อเป็นไปได้
การใช้ GDR ปรากฏในการสื่อสารระหว่าง GPU เมื่อระดับบันทึกถูกตั้งค่าเป็น INFO ดังในรหัสต่อไปนี้:
การใช้ EFA ใน AWS Deep Learning Containers
AWS ดูแลรักษา Deep Learning Containers (DLC) ซึ่งหลายรายการมาพร้อมกับไฟล์ Docker ที่จัดการโดย AWS และสร้างขึ้นโดยมี EFA, AWS OFI NCCL และ NCCL GitHub repos ต่อไปนี้นำเสนอตัวอย่างด้วย ไพทอร์ช และ TensorFlow. คุณไม่จำเป็นต้องติดตั้งไลบรารีเหล่านั้นด้วยตัวเอง
การใช้ EFA ในคอนเทนเนอร์ SageMaker Training ของคุณเอง
หากคุณสร้างคอนเทนเนอร์ SageMaker Training ของคุณเองและต้องการใช้ NCCL ผ่าน EFA เพื่อเร่งความเร็วการสื่อสารระหว่างโหนด คุณต้องติดตั้ง EFA, NCCL และ AWS OFI NCCL สำหรับข้อมูลเพิ่มเติม โปรดดูที่ ดำเนินการฝึกอบรมกับ EFA นอกจากนี้ คุณควรตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้ในคอนเทนเนอร์ของคุณหรือในรหัสจุดเริ่มต้นของคุณ:
FI_PROVIDER="efa"
ระบุผู้ให้บริการอินเตอร์เฟสแฟบริคNCCL_PROTO=simple
สั่งให้ NCCL ใช้โปรโตคอลอย่างง่ายสำหรับการสื่อสาร (ปัจจุบัน ผู้ให้บริการ EFA ไม่รองรับโปรโตคอล LL การเปิดใช้งานอาจทำให้ข้อมูลเสียหายได้)FI_EFA_USE_DEVICE_RDMA=1
ใช้ฟังก์ชัน RDMA ของอุปกรณ์สำหรับการถ่ายโอนด้านเดียวและสองด้านNCCL_LAUNCH_MODE="PARALLEL"
NCCL_NET_SHARED_COMMS="0"
orchestration
การจัดการวงจรชีวิตและปริมาณงานของอินสแตนซ์การประมวลผลหลายสิบถึงหลายร้อยรายการต้องใช้ซอฟต์แวร์การจัดการ ในส่วนนี้ เรานำเสนอแนวทางปฏิบัติที่ดีที่สุดสำหรับการจัด LLM
การจัดการภายในงาน
นักพัฒนาต้องเขียนทั้งโค้ดการฝึกอบรมฝั่งเซิร์ฟเวอร์และโค้ด Launcher ฝั่งไคลเอ็นต์ในเฟรมเวิร์กแบบกระจายส่วนใหญ่ รหัสการฝึกอบรมทำงานบนเครื่องฝึกอบรม ในขณะที่รหัสตัวเรียกใช้งานฝั่งไคลเอ็นต์เปิดใช้เวิร์กโหลดแบบกระจายจากเครื่องไคลเอนต์ ปัจจุบันมีการกำหนดมาตรฐานเพียงเล็กน้อย เช่น
- ใน PyTorch นักพัฒนาสามารถเริ่มงานหลายเครื่องได้โดยใช้
torchrun
,torchx
,torch.distributed.launch
(เส้นทางเลิกใช้) หรือtorch.multiprocessing.spawn
- DeepSpeed นำเสนอตัวเรียกใช้งาน Deepspeed CLI ของตัวเองและยังรองรับการเปิดใช้ MPI
- MPI เป็นเฟรมเวิร์กการประมวลผลแบบขนานที่ได้รับความนิยม ซึ่งมีข้อดีคือ ML-agnostic และใช้งานได้อย่างสมเหตุสมผล ดังนั้นจึงมีความเสถียรและมีการจัดทำเป็นเอกสาร และพบเห็นได้มากขึ้นในเวิร์กโหลด ML แบบกระจาย
ในคลัสเตอร์ SageMaker Training คอนเทนเนอร์การฝึกอบรมจะเปิดขึ้นหนึ่งครั้งในแต่ละเครื่อง ดังนั้น คุณมีสามตัวเลือก:
- เนทีฟลอนเชอร์ – คุณสามารถใช้เป็นจุดเริ่มต้นสำหรับ Launcher ดั้งเดิมของเฟรมเวิร์ก DL เฉพาะ ตัวอย่างเช่น
torchrun
การโทร ซึ่งจะทำให้เกิดกระบวนการในเครื่องหลายตัวและสร้างการสื่อสารข้ามอินสแตนซ์ - การรวม SageMaker MPI – คุณสามารถใช้การรวม SageMaker MPI ซึ่งมีอยู่ใน AWS DLC ของเรา หรือติดตั้งด้วยตนเองผ่าน ชุดเครื่องมือฝึกอบรม Sagemakerเพื่อเรียกใช้รหัสจุดเริ่มต้นของคุณโดยตรง N ครั้งต่อเครื่อง สิ่งนี้มีประโยชน์ในการหลีกเลี่ยงการใช้ตัวกลาง สคริปต์เรียกใช้งานเฉพาะเฟรมเวิร์กในโค้ดของคุณเอง
- SageMaker แจกจ่ายไลบรารี – หากคุณใช้ไลบรารีแบบกระจายของ SageMaker คุณสามารถมุ่งเน้นไปที่รหัสการฝึกอบรมและไม่ต้องเขียนรหัสตัวเรียกใช้เลย! โค้ด Launcher แบบกระจายของ SageMaker สร้างขึ้นใน SageMaker SDK
การประสานระหว่างงาน
โครงการ LLM มักจะประกอบด้วยงานหลายอย่าง: การค้นหาพารามิเตอร์ การทดลองปรับขนาด การกู้คืนจากข้อผิดพลาด และอื่นๆ ในการเริ่ม หยุด และทำให้งานฝึกอบรมดำเนินไปพร้อมกัน สิ่งสำคัญคือต้องใช้ผู้จัดเตรียมงาน SageMaker Training เป็นผู้จัดเตรียมงาน ML แบบไร้เซิร์ฟเวอร์ซึ่งจัดเตรียมอินสแตนซ์การประมวลผลชั่วคราวทันทีเมื่อมีการร้องขอ คุณจ่ายเฉพาะสิ่งที่คุณใช้ และคลัสเตอร์จะถูกเลิกใช้งานทันทีที่รหัสของคุณสิ้นสุดลง กับ SageMaker เทรนนิ่งวอร์มพูลคุณมีตัวเลือกในการกำหนด Time-to-Live บนคลัสเตอร์การฝึกอบรม เพื่อใช้โครงสร้างพื้นฐานเดียวกันซ้ำในทุกงาน สิ่งนี้ช่วยลดเวลาการทำซ้ำและความแปรปรวนของตำแหน่งระหว่างงาน งาน SageMaker สามารถเริ่มต้นได้จากภาษาการเขียนโปรแกรมที่หลากหลาย รวมถึง หลาม และ CLI.
มี Python SDK เฉพาะของ SageMaker ที่เรียกว่า SageMaker Python SDK และดำเนินการผ่านทาง sagemaker ไลบรารี Python แต่การใช้งานนั้นเป็นทางเลือก
เพิ่มโควตาสำหรับงานฝึกอบรมด้วยคลัสเตอร์การฝึกอบรมขนาดใหญ่และยาวนาน
SageMaker มีโควต้าเริ่มต้นสำหรับทรัพยากร ซึ่งออกแบบมาเพื่อป้องกันการใช้งานและค่าใช้จ่ายโดยไม่ได้ตั้งใจ หากต้องการฝึก LLM โดยใช้อินสแตนซ์ระดับไฮเอนด์กลุ่มใหญ่ที่ทำงานเป็นเวลานาน คุณอาจต้องเพิ่มโควต้าในตารางต่อไปนี้
ชื่อโควต้า | ค่าเริ่มต้น |
ระยะเวลาดำเนินการนานที่สุดสำหรับงานฝึกอบรม | วินาที 432,000 |
จำนวนอินสแตนซ์ในงานฝึกอบรมทั้งหมด | 4 |
จำนวนอินสแตนซ์สูงสุดต่องานฝึกอบรม | 20 |
ml.p4d.24xlarge สำหรับการฝึกอบรมการใช้งาน | 0 |
ml.p4d.24xlarge สำหรับฝึกการใช้สระน้ำอุ่น | 0 |
ดู โควต้าบริการของ AWS วิธีดูค่าโควต้าและขอเพิ่มโควต้า โควต้าแบบออนดีมานด์ อินสแตนซ์สปอต และเทรนนิ่งวอร์มพูลจะถูกติดตามและแก้ไขแยกกัน
หากคุณตัดสินใจที่จะเปิดใช้งาน SageMaker Profiler ต่อไป โปรดทราบว่าทุกงานการฝึกอบรมจะเปิดงาน SageMaker Processing โดยแต่ละงานจะใช้อินสแตนซ์ ml.m5.2xlarge หนึ่งอินสแตนซ์ ยืนยันว่าโควต้าการประมวลผล SageMaker ของคุณสูงพอที่จะรองรับงานฝึกอบรมที่คาดหวังไว้พร้อมกัน ตัวอย่างเช่น ถ้าคุณต้องการเปิดใช้ Profiler 50 งานฝึกอบรมที่เปิดใช้งานพร้อมกัน คุณจะต้องเพิ่ม ml.m5.2xlarge สำหรับการประมวลผลขีดจำกัดการใช้งานงานเป็น 50
นอกจากนี้ ในการเริ่มงานที่ใช้เวลานาน คุณจะต้องตั้งค่าอย่างชัดเจน ประมาณการ max_run
พารามิเตอร์เป็นระยะเวลาสูงสุดที่ต้องการสำหรับงานฝึกอบรมเป็นวินาที ไปจนถึงค่าโควต้าของรันไทม์ที่ยาวที่สุดสำหรับงานฝึกอบรม
การตรวจสอบและความยืดหยุ่น
ความล้มเหลวของฮาร์ดแวร์นั้นเกิดขึ้นน้อยมากในระดับอินสแตนซ์เดียว และจะบ่อยขึ้นเรื่อยๆ เมื่อจำนวนอินสแตนซ์ที่ใช้พร้อมกันเพิ่มขึ้น ในระดับ LLM ทั่วไป—GPU หลายร้อยถึงพันตัวใช้งานตลอด 24 ชั่วโมงทุกวันตลอด 7 ชั่วโมงเป็นเวลาหลายสัปดาห์หรือหลายเดือน—ความล้มเหลวของฮาร์ดแวร์นั้นเกือบจะเกิดขึ้นอย่างแน่นอน ดังนั้น ภาระงาน LLM ต้องใช้กลไกการตรวจสอบและความยืดหยุ่นที่เหมาะสม ประการแรก สิ่งสำคัญคือต้องตรวจสอบโครงสร้างพื้นฐาน LLM อย่างใกล้ชิด เพื่อจำกัดผลกระทบของความล้มเหลวและเพิ่มประสิทธิภาพการใช้ทรัพยากรการประมวลผล SageMaker Training เสนอคุณสมบัติหลายอย่างสำหรับจุดประสงค์นี้:
- บันทึกจะถูกส่งไปยัง CloudWatch Logs โดยอัตโนมัติ บันทึกรวมถึงสคริปต์การฝึกอบรมของคุณ
stdout
และstderr
. ในการฝึกอบรมแบบกระจายตาม MPI ผู้ปฏิบัติงาน MPI ทุกคนจะส่งบันทึกของตนไปยังกระบวนการของผู้นำ - เมตริกการใช้ทรัพยากรระบบ เช่น หน่วยความจำ การใช้งาน CPU และการใช้งาน GPU จะถูกส่งไปยัง CloudWatch โดยอัตโนมัติ
- คุณสามารถ กำหนดตัวชี้วัดการฝึกอบรมที่กำหนดเอง ที่จะถูกส่งไปยัง CloudWatch เมตริกจะบันทึกจากบันทึกตามนิพจน์ทั่วไปที่คุณตั้งไว้ แพ็คเกจการทดสอบของบุคคลที่สามเช่น คู่ค้า AWS การเสนอ Weights & Biases สามารถใช้กับ SageMaker Training ได้ (ดูตัวอย่าง การเพิ่มประสิทธิภาพพารามิเตอร์ CIFAR-10 ด้วย W&B และ SageMaker).
- ผู้สร้างโปรไฟล์ SageMaker ให้คุณตรวจสอบการใช้งานโครงสร้างพื้นฐานและรับคำแนะนำในการเพิ่มประสิทธิภาพ
- อเมซอน EventBridge และ AWS แลมบ์ดา ช่วยให้คุณสร้างตรรกะไคลเอ็นต์อัตโนมัติที่ตอบสนองต่อเหตุการณ์ต่างๆ เช่น งานล้มเหลว ความสำเร็จ การอัปโหลดไฟล์ S3 และอื่นๆ
- ตัวช่วย SageMaker SSH เป็นไลบรารีโอเพ่นซอร์สที่ดูแลโดยชุมชน ช่วยให้คุณเชื่อมต่อกับโฮสต์งานฝึกอบรมผ่าน SSH การตรวจสอบและแก้ไขปัญหาโค้ดที่ทำงานบนโหนดเฉพาะอาจเป็นประโยชน์
นอกเหนือจากการตรวจสอบแล้ว SageMaker ยังนำเสนออุปกรณ์สำหรับความยืดหยุ่นของงาน:
- การตรวจสอบความสมบูรณ์ของคลัสเตอร์ – ก่อนเริ่มงาน SageMaker จะทำการตรวจสอบความสมบูรณ์ของ GPU และยืนยันการสื่อสารของ NCCL บนอินสแตนซ์ GPU โดยแทนที่อินสแตนซ์ที่ผิดพลาดหากจำเป็น เพื่อให้แน่ใจว่าสคริปต์การฝึกอบรมของคุณเริ่มทำงานบนอินสแตนซ์คลัสเตอร์ที่สมบูรณ์ ขณะนี้การตรวจสอบความสมบูรณ์เปิดใช้งานสำหรับประเภทอินสแตนซ์ที่ใช้ P และ G GPU
- การลองใหม่ในตัวและการอัปเดตคลัสเตอร์ – คุณสามารถกำหนดค่า SageMaker ให้โดยอัตโนมัติ ลองใหม่อีกครั้ง งานฝึกอบรมที่ล้มเหลวด้วยข้อผิดพลาดเซิร์ฟเวอร์ภายในของ SageMaker (ISE) ในฐานะส่วนหนึ่งของการลองงานใหม่ SageMaker จะแทนที่อินสแตนซ์ใดๆ ที่พบข้อผิดพลาด GPU ที่กู้คืนไม่ได้ด้วยอินสแตนซ์ใหม่ รีบูตอินสแตนซ์ที่สมบูรณ์ทั้งหมด และเริ่มงานอีกครั้ง ส่งผลให้การรีสตาร์ทเร็วขึ้นและเสร็จสิ้นภาระงาน ขณะนี้มีการเปิดใช้งานการอัปเดตคลัสเตอร์สำหรับประเภทอินสแตนซ์ที่ใช้ P และ G GPU คุณสามารถเพิ่มในของคุณเอง กลไกการลองสมัครใหม่ รอบรหัสลูกค้าที่ส่งงาน เพื่อจัดการข้อผิดพลาดในการเปิดประเภทอื่นๆ เช่น เกินโควต้าบัญชีของคุณ
- อัตโนมัติ จุดตรวจสอบไปยัง Amazon S3 – สิ่งนี้ช่วยคุณได้ ด่าน ความคืบหน้าของคุณและโหลดสถานะที่ผ่านมาในงานใหม่
เพื่อรับประโยชน์จากการแทนที่ระดับโหนด โค้ดของคุณต้องมีข้อผิดพลาด Collectives อาจหยุดทำงาน แทนที่จะเกิดข้อผิดพลาด เมื่อโหนดล้มเหลว ดังนั้น เพื่อให้มีการแก้ไขที่รวดเร็ว ให้ตั้งค่าการหมดเวลาในกลุ่มของคุณอย่างเหมาะสม และให้รหัสส่งข้อผิดพลาดเมื่อถึง
ลูกค้าบางรายตั้งค่าไคลเอนต์การตรวจสอบเพื่อตรวจสอบและดำเนินการในกรณีที่งานหยุดทำงานหรือการบรรจบกันของแอปพลิเคชันหยุดลง โดยการตรวจสอบบันทึกและตัววัดของ CloudWatch เพื่อหารูปแบบที่ผิดปกติ เช่น ไม่มีการเขียนบันทึกหรือการใช้ GPU 0% เพื่อบอกเป็นนัยว่าแฮง การหยุดบรรจบกัน และอัตโนมัติ หยุด/ลองงานใหม่
ดำน้ำลึกในการตั้งจุดตรวจ
พื้นที่ จุดตรวจ SageMaker คุณสมบัติคัดลอกทุกสิ่งที่คุณเขียน /opt/ml/checkpoints
กลับไปที่ Amazon S3 ตาม URI ที่ระบุใน checkpoint_s3_uri
พารามิเตอร์ SDK เมื่องานเริ่มหรือรีสตาร์ท ทุกสิ่งที่เขียนที่ URI นั้นจะถูกส่งกลับไปยังเครื่องทั้งหมดที่ /opt/ml/checkpoints
. วิธีนี้จะสะดวกหากคุณต้องการให้โหนดทั้งหมดเข้าถึงจุดตรวจสอบทั้งหมด แต่ในระดับที่ใหญ่ขึ้น เมื่อคุณมีหลายเครื่องหรือจุดตรวจสอบประวัติจำนวนมาก อาจทำให้เวลาในการดาวน์โหลดนานและการรับส่งข้อมูลบน Amazon S3 สูงเกินไป นอกจากนี้ ในความขนานของเทนเซอร์และไปป์ไลน์ ผู้ปฏิบัติงานต้องการเพียงเศษเสี้ยวของแบบจำลองที่ตรวจสอบแล้ว ไม่ใช่ทั้งหมด หากคุณประสบกับข้อจำกัดเหล่านี้ เราขอแนะนำตัวเลือกต่อไปนี้:
- จุดตรวจสอบ FSx สำหรับ Luster – ด้วย I/O แบบสุ่มที่มีประสิทธิภาพสูง คุณสามารถกำหนดรูปแบบการระบุแหล่งที่มาของชาร์ดดิ้งและไฟล์ได้ตามต้องการ
- การตรวจสอบ Amazon S3 ที่จัดการด้วยตนเอง – สำหรับตัวอย่างฟังก์ชัน Python ที่สามารถใช้เพื่อบันทึกและอ่านจุดตรวจสอบในลักษณะที่ไม่บล็อก โปรดดูที่ ประหยัดจุดตรวจ
เราขอแนะนำอย่างยิ่งให้ตรวจสอบโมเดลของคุณทุกๆ 1-3 ชั่วโมง เช่น XNUMX-XNUMX ชั่วโมง ขึ้นอยู่กับค่าใช้จ่ายและค่าใช้จ่ายที่เกี่ยวข้อง
ส่วนหน้าและการจัดการผู้ใช้
การจัดการผู้ใช้เป็นจุดแข็งด้านความสามารถในการใช้งานที่สำคัญของ SageMaker เมื่อเปรียบเทียบกับโครงสร้างพื้นฐาน HPC ที่ใช้ร่วมกันแบบเดิม สิทธิ์การฝึกอบรมของ SageMaker นั้นควบคุมโดยหลายสิทธิ์ AWS Identity และการจัดการการเข้าถึง (IAM) นามธรรม:
- ผู้ใช้หลัก—ผู้ใช้และระบบ—ได้รับอนุญาตให้เปิดใช้ทรัพยากร
- งานการฝึกอบรมมีบทบาทในตัวเอง ซึ่งอนุญาตให้พวกเขามีสิทธิ์ของตนเอง เช่น การเข้าถึงข้อมูลและการเรียกใช้บริการ
นอกจากนี้ ในปี 2022 เราได้เพิ่ม ผู้จัดการบทบาทของ SageMaker เพื่ออำนวยความสะดวกในการสร้างสิทธิ์ที่ขับเคลื่อนด้วยบุคคล
สรุป
ด้วย SageMaker Training คุณสามารถลดค่าใช้จ่ายและเพิ่มความเร็วในการทำซ้ำให้กับเวิร์กโหลดการฝึกอบรมแบบจำลองขนาดใหญ่ของคุณ เราได้บันทึกเรื่องราวความสำเร็จไว้ในโพสต์และกรณีศึกษามากมาย รวมถึง:
หากคุณต้องการปรับปรุง LLM เวลาออกสู่ตลาดในขณะที่ลดค่าใช้จ่าย ลองดูที่ SageMaker Training API และแจ้งให้เราทราบว่าคุณสร้างอะไร!
ขอขอบคุณเป็นพิเศษสำหรับ Amr Ragab, Rashika Kheria, Zmnako Awrahman, Arun Nagarajan, Gal Oshri สำหรับบทวิจารณ์และคำสอนที่เป็นประโยชน์
เกี่ยวกับผู้เขียน
อนาสตาเซีย เซเวเลก้า เป็นสถาปนิกโซลูชันการเรียนรู้ของเครื่องและผู้เชี่ยวชาญด้าน AI ที่ AWS เธอทำงานร่วมกับลูกค้าใน EMEA และช่วยพวกเขาออกแบบโซลูชันแมชชีนเลิร์นนิงตามขนาดโดยใช้บริการของ AWS เธอทำงานในโครงการในโดเมนต่างๆ รวมถึง Natural Language Processing (NLP), MLOps และเครื่องมือ Low Code No Code
กิลี นาชุม เป็นสถาปนิกอาวุโสด้านโซลูชัน AI/ML Specialist Solutions ซึ่งทำงานเป็นส่วนหนึ่งของทีม EMEA Amazon Machine Learning Gili หลงใหลเกี่ยวกับความท้าทายในการฝึกโมเดลการเรียนรู้เชิงลึก และการเรียนรู้ของเครื่องกำลังเปลี่ยนแปลงโลกอย่างที่เรารู้ๆ กันอย่างไร ในเวลาว่าง Gili สนุกกับการเล่นปิงปอง
โอลิวิเยร์ ครูแชนท์ เป็นสถาปนิกโซลูชันผู้เชี่ยวชาญด้านการเรียนรู้ของเครื่องหลักที่ AWS ซึ่งตั้งอยู่ที่ฝรั่งเศส Olivier ช่วยลูกค้า AWS ตั้งแต่สตาร์ทอัพขนาดเล็กไปจนถึงองค์กรขนาดใหญ่ พัฒนาและปรับใช้แอปพลิเคชันแมชชีนเลิร์นนิงระดับการผลิต ในเวลาว่าง เขาชอบอ่านเอกสารวิจัยและสำรวจถิ่นทุรกันดารกับเพื่อนและครอบครัว
บรูโน่ พิสตัน เป็นสถาปนิก AI/ML Specialist Solutions Architect สำหรับ AWS ซึ่งตั้งอยู่ในมิลาน เขาทำงานร่วมกับลูกค้าทุกขนาดเพื่อช่วยให้พวกเขาเข้าใจความต้องการทางเทคนิคอย่างลึกซึ้งและออกแบบโซลูชัน AI และ Machine Learning ที่ใช้ประโยชน์จาก AWS Cloud และสแต็ค Amazon Machine Learning ได้ดีที่สุด ความเชี่ยวชาญของเขาได้แก่ Machine Learning end to end, Machine Learning Industrialization และ MLOps เขาสนุกกับการใช้เวลากับเพื่อน ๆ และสำรวจสถานที่ใหม่ ๆ รวมทั้งการเดินทางไปยังจุดหมายปลายทางใหม่ ๆ
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- เพลโตบล็อคเชน Web3 Metaverse ข่าวกรอง ขยายความรู้. เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/machine-learning/training-large-language-models-on-amazon-sagemaker-best-practices/
- :เป็น
- ][หน้า
- $ ขึ้น
- 000
- 1
- 100
- 2022
- 7
- 8
- a
- A100
- ความสามารถ
- สามารถ
- เกี่ยวกับเรา
- ข้างบน
- เร่งความเร็ว
- เร่ง
- เข้า
- อำนวยความสะดวก
- ลงชื่อเข้าใช้
- บรรลุ
- การบรรลุ
- ข้าม
- กระทำ
- การกระตุ้น
- คล่องแคล่ว
- ปรับ
- ที่เพิ่ม
- นอกจากนี้
- นอกจากนี้
- เพิ่มเติม
- ความได้เปรียบ
- AI
- AI / ML
- AL
- ขั้นตอนวิธี
- อัลกอริทึม
- ทั้งหมด
- การอนุญาต
- ช่วยให้
- อเมซอน
- Amazon EC2
- อเมซอน FSx
- อเมซอน แมชชีนเลิร์นนิง
- อเมซอน SageMaker
- จำนวน
- และ
- API
- APIs
- เหมาะสม
- การใช้งาน
- การใช้งาน
- ประยุกต์
- เหมาะสม
- เป็น
- AREA
- รอบ
- AS
- ที่เกี่ยวข้อง
- At
- แนบมาด้วย
- แอตทริบิวต์
- รถยนต์
- อัตโนมัติ
- อัตโนมัติ
- ใช้ได้
- หลีกเลี่ยง
- หลีกเลี่ยง
- AWS
- กลับ
- แบ็กเอนด์
- ยอดคงเหลือ
- ตาม
- BE
- เพราะ
- จะกลายเป็น
- ก่อน
- กำลัง
- ประโยชน์
- ที่ดีที่สุด
- ปฏิบัติที่ดีที่สุด
- เกิน
- ใหญ่
- พันล้าน
- พันล้าน
- ปิดกั้น
- นำมาซึ่ง
- นำ
- สร้าง
- สร้าง
- ธุรกิจ
- by
- โทรศัพท์
- ที่เรียกว่า
- โทร
- CAN
- สามารถ
- ความจุ
- บัตร
- การ์ด
- พกพา
- กรณี
- กรณีศึกษา
- เร่งปฏิกิริยา
- ความท้าทาย
- เปลี่ยนแปลง
- ช่อง
- ตรวจสอบ
- การตรวจสอบ
- ทางเลือก
- ทางเลือก
- Choose
- ชั้นเรียน
- ไคลเอนต์
- อย่างใกล้ชิด
- เมฆ
- Cluster
- รหัส
- โดยรวม
- รวม
- อย่างไร
- ร่วมกัน
- อย่างธรรมดา
- การสื่อสาร
- คมนาคม
- เมื่อเทียบกับ
- เข้ากันได้
- เสร็จสิ้น
- การคำนวณ
- คำนวณ
- คอมพิวเตอร์
- วิสัยทัศน์คอมพิวเตอร์
- การคำนวณ
- สรุป
- ดำเนินการ
- องค์ประกอบ
- ยืนยัน
- เชื่อมต่อ
- ดังนั้น
- ภาชนะ
- ภาชนะบรรจุ
- มี
- เนื้อหา
- ส่วน
- ควบคุม
- การควบคุม
- สะดวกสบาย
- การลู่เข้า
- คอรัปชั่น
- ราคา
- ค่าใช้จ่าย
- ได้
- หลักสูตร
- หน้าปก
- ครอบคลุม
- ซีพียู
- สร้าง
- การสร้าง
- ความคิดสร้างสรรค์
- วิกฤติ
- สำคัญมาก
- curation
- ขณะนี้
- ประเพณี
- ลูกค้า
- ปรับแต่ง
- ข้อมูล
- การเข้าถึงข้อมูล
- การเตรียมข้อมูล
- ชุดข้อมูล
- ตัดสินใจ
- ทุ่มเท
- ลึก
- การเรียนรู้ลึก ๆ
- ค่าเริ่มต้น
- องศา
- ทั้งนี้ขึ้นอยู่กับ
- ขึ้นอยู่กับ
- ปรับใช้
- ออกแบบ
- ได้รับการออกแบบ
- สถานที่ท่องเที่ยว
- กำหนด
- การกำหนด
- พัฒนา
- พัฒนา
- ผู้พัฒนา
- นักพัฒนา
- พัฒนาการ
- พัฒนา
- เครื่อง
- อุปกรณ์
- ต่าง
- การจัดจำหน่าย
- โดยตรง
- สนทนา
- กล่าวถึง
- กระจาย
- คอมพิวเตอร์แบบกระจาย
- กระจายการฝึกอบรม
- การกระจาย
- นักเทียบท่า
- ตู้คอนเทนเนอร์ Dock
- ไม่
- โดเมน
- Dont
- ลง
- ดาวน์โหลด
- หลายสิบ
- ในระหว่าง
- แต่ละ
- อย่างง่ายดาย
- มีประสิทธิภาพ
- ทั้ง
- EMEA
- ทำให้สามารถ
- เปิดการใช้งาน
- ช่วยให้
- การเปิดใช้งาน
- ส่งเสริม
- สิ้นสุด
- ที่เพิ่มขึ้น
- เพลิดเพลิน
- พอ
- ทำให้มั่นใจ
- Enterprise
- ผู้ประกอบการ
- การเข้า
- สิ่งแวดล้อม
- สภาพแวดล้อม
- อุปกรณ์
- พร้อม
- ความผิดพลาด
- ข้อผิดพลาด
- สร้าง
- อีเธอร์ (ETH)
- แม้
- เหตุการณ์
- ในที่สุด
- ทุกๆ
- ทุกอย่าง
- วิวัฒน์
- ตัวอย่าง
- ตัวอย่าง
- Excel
- ที่มีอยู่
- คาดหวัง
- ที่คาดหวัง
- ประสบการณ์
- การทดลอง
- สำรวจ
- ที่เปิดเผย
- การแสดงออก
- การขยาย
- ส่วนขยาย
- ภายนอก
- อย่างยิ่ง
- ผ้า
- ใบหน้า
- อำนวยความสะดวก
- อำนวยความสะดวก
- ปัจจัย
- ล้มเหลว
- ล้มเหลว
- ความล้มเหลว
- ครอบครัว
- ครอบครัว
- ร้านแฟชั่นเกาหลี
- FAST
- เร็วขึ้น
- ความผิดพลาด
- เป็นไปได้
- ลักษณะ
- คุณสมบัติ
- สองสาม
- สนาม
- เนื้อไม่มีมัน
- ไฟล์
- ชื่อจริง
- พอดี
- FLEET
- ความยืดหยุ่น
- โฟกัส
- มุ่งเน้นไปที่
- ตาม
- ดังต่อไปนี้
- สำหรับ
- เศษ
- กรอบ
- กรอบ
- ฝรั่งเศส
- เสรีภาพ
- บ่อย
- สด
- เพื่อน
- ราคาเริ่มต้นที่
- เต็ม
- อย่างเต็มที่
- การทำงาน
- ฟังก์ชั่น
- ฟังก์ชั่น
- ต่อไป
- GAL
- สร้าง
- กำเนิด
- ได้รับ
- ได้รับ
- GitHub
- กำหนด
- GPU
- GPUs
- กราฟ
- ยิ่งใหญ่
- ใหญ่ที่สุด
- บัญชีกลุ่ม
- เติบโต
- จัดการ
- การจัดการ
- แขวน
- เกิดขึ้น
- ฮาร์ดแวร์
- มี
- มี
- สุขภาพ
- แข็งแรง
- เป็นประโยชน์
- การช่วยเหลือ
- จะช่วยให้
- จุดสูง
- ความถี่สูง
- ประสิทธิภาพสูง
- ทางประวัติศาสตร์
- กระโปรงหน้ารถ
- เจ้าภาพ
- ชั่วโมง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- อย่างไรก็ตาม
- HPC
- HTML
- ที่ http
- HTTPS
- ร้อย
- หลายร้อยล้าน
- i
- AMI
- identiques
- เอกลักษณ์
- ภาพ
- ภาพ
- ทันที
- ส่งผลกระทบ
- การดำเนินการ
- การดำเนินการ
- การดำเนินการ
- สำคัญ
- ปรับปรุง
- การปรับปรุง
- การปรับปรุง
- in
- ในอื่น ๆ
- ประกอบด้วย
- รวมทั้ง
- เพิ่ม
- เพิ่มขึ้น
- เพิ่มขึ้น
- ขึ้น
- เป็นรายบุคคล
- อุตสาหกรรม
- ข้อมูล
- ข้อมูล
- โครงสร้างพื้นฐาน
- นักวิเคราะห์ส่วนบุคคลที่หาโอกาสให้เป็นไปได้มากที่สุด
- แรงบันดาลใจ
- ติดตั้ง
- ตัวอย่าง
- แทน
- แบบบูรณาการ
- บูรณาการ
- ฉลาด
- ปฏิสัมพันธ์
- อินเตอร์เฟซ
- ตัวกลาง
- ภายใน
- แนะนำ
- แนะนำ
- IT
- การย้ำ
- ITS
- ตัวเอง
- การสัมภาษณ์
- งาน
- jpg
- เก็บ
- คีย์
- ชนิด
- ทราบ
- ภาษา
- ภาษา
- ใหญ่
- ขนาดใหญ่
- ที่มีขนาดใหญ่
- ล่าสุด
- เปิดตัว
- เปิดตัว
- การเปิดตัว
- ชั้น
- ชั้น
- นำ
- ผู้นำ
- การเรียนรู้
- มรดก
- ชั้น
- ห้องสมุด
- ห้องสมุด
- วงจรชีวิต
- กดไลก์
- น่าจะ
- LIMIT
- ข้อ จำกัด
- ถูก จำกัด
- น้อย
- โหลด
- ในประเทศ
- นาน
- เวลานาน
- ดู
- ที่ต้องการหา
- ต่ำ
- เครื่อง
- เรียนรู้เครื่อง
- การแปลด้วยเครื่อง
- เครื่อง
- เก็บรักษา
- รักษา
- ทำ
- ทำให้
- การทำ
- จัดการ
- การจัดการ
- การจัดการ
- หลาย
- แผนที่
- สูงสุด
- หน่วยความจำ
- เมตาดาต้า
- วิธีการ
- ตัวชี้วัด
- การโยกย้าย
- มิลาน
- ล้าน
- ลด
- ML
- ม.ป.ป
- โหมด
- แบบ
- การสร้างแบบจำลอง
- โมเดล
- การแก้ไข
- การตรวจสอบ
- การตรวจสอบ
- ข้อมูลเพิ่มเติม
- มากที่สุด
- ย้าย
- หลาย
- คือ
- พื้นเมือง
- โดยธรรมชาติ
- ภาษาธรรมชาติ
- ประมวลผลภาษาธรรมชาติ
- เป็นธรรมชาติ
- ธรรมชาติ
- จำเป็นต้อง
- จำเป็น
- จำเป็นต้อง
- ความต้องการ
- เครือข่าย
- ตามเครือข่าย
- เครือข่าย
- ประสาท
- เครือข่ายประสาท
- ใหม่
- NLP
- ปม
- โหนด
- จำนวน
- มากมาย
- Nvidia
- วัตถุ
- of
- เสนอ
- การเสนอ
- มะกอก
- on
- ตามความต้องการ
- ONE
- เปิด
- โอเพนซอร์ส
- รหัสโอเพนซอร์ซ
- เปิด
- โอกาส
- การเพิ่มประสิทธิภาพ
- เพิ่มประสิทธิภาพ
- การปรับให้เหมาะสม
- ตัวเลือกเสริม (Option)
- Options
- ประสาน
- ใบสั่ง
- อื่นๆ
- ของตนเอง
- แพ็คเกจ
- แพคเกจ
- กระดาษ
- เอกสาร
- ตัวอย่าง
- Parallel
- พารามิเตอร์
- พารามิเตอร์
- ส่วนหนึ่ง
- ในสิ่งที่สนใจ
- โดยเฉพาะ
- หลงใหล
- อดีต
- เส้นทาง
- รูปแบบ
- ชำระ
- รูปแบบไฟล์ PDF
- จุดสูงสุด
- การปฏิบัติ
- การแสดง
- การอนุญาต
- สิทธิ์
- ทางร่างกาย
- ท่อ
- สถานที่
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เล่น
- จุด
- สระ
- สระว่ายน้ำ
- ยอดนิยม
- โพสต์
- โพสต์
- การปฏิบัติ
- การปฏิบัติ
- ทำนาย
- การตั้งค่า
- ที่ต้องการ
- นำเสนอ
- นำเสนอ
- ป้องกัน
- ก่อนหน้านี้
- หลัก
- กระบวนการ
- กระบวนการ
- การประมวลผล
- ก่อ
- โครงการ
- การเขียนโปรแกรม
- การเขียนโปรแกรมภาษา
- ความคืบหน้า
- โครงการ
- อย่างถูกต้อง
- เสนอ
- เสนอ
- เป็นเจ้าของ
- โปรโตคอล
- โปรโตคอล
- ให้
- ให้
- ผู้จัดหา
- การให้
- สาธารณะ
- สิ่งพิมพ์
- วัตถุประสงค์
- ใส่
- หลาม
- ไฟฉาย
- คุณภาพ
- ยก
- สุ่ม
- หายาก
- คะแนน
- ราคา
- ถึง
- อ่าน
- การอ่าน
- ตระหนักถึง
- เหมาะสม
- เหตุผล
- รับ
- เมื่อเร็ว ๆ นี้
- แนะนำ
- แนะนำ
- ระเบียน
- บันทึก
- การฟื้นตัว
- ลด
- ลด
- ลด
- เกี่ยวกับ
- ภูมิภาค
- ภูมิภาค
- ปกติ
- สม่ำเสมอ
- ที่เกี่ยวข้อง
- ตรงประเด็น
- น่าเชื่อถือ
- วางใจ
- รีโมท
- แทนที่
- เป็นตัวแทนของ
- ขอ
- การร้องขอ
- ต้องการ
- ความต้องการ
- ต้อง
- การวิจัย
- การวิจัยและนวัตกรรม
- ทรัพยากร
- แหล่งข้อมูล
- ผลสอบ
- รีวิว
- บทบาท
- บทบาท
- วิ่ง
- วิ่ง
- sagemaker
- เดียวกัน
- ลด
- scalability
- ที่ปรับขนาดได้
- ขนาด
- ตาชั่ง
- ปรับ
- โครงการ
- นักวิทยาศาสตร์
- ขอบเขต
- สคริปต์
- SDK
- ค้นหา
- ที่สอง
- วินาที
- Section
- ที่กำลังมองหา
- เลือก
- การเลือก
- ระดับอาวุโส
- แยกต่างหาก
- serverless
- เซิร์ฟเวอร์
- บริการ
- บริการ
- ชุด
- การตั้งค่า
- หลาย
- แตก
- ชาร์ดดิ้ง
- ที่ใช้ร่วมกัน
- น่า
- อย่างมีความหมาย
- ง่าย
- ความง่าย
- พร้อมกัน
- พร้อมกัน
- เดียว
- ขนาด
- ขนาด
- ทักษะ
- ช้า
- เล็ก
- So
- ซอฟต์แวร์
- โซลูชัน
- บาง
- ในไม่ช้า
- แหล่ง
- แหล่งที่มา
- วางไข่
- ผู้เชี่ยวชาญ
- โดยเฉพาะ
- เฉพาะ
- ที่ระบุไว้
- ความเร็ว
- การใช้จ่าย
- แยก
- จุด
- มั่นคง
- กอง
- เริ่มต้น
- ที่เริ่มต้น
- เริ่มต้น
- startups
- สถานะ
- ทางสถิติ
- ขั้นตอน
- หยุด
- การหยุด
- การเก็บรักษา
- จัดเก็บ
- จำนวนชั้น
- กลยุทธ์
- กระแส
- ลำธาร
- ความแข็งแรง
- การปอก
- เสถียร
- การศึกษา
- ความสำเร็จ
- เรื่องราวความสำเร็จ
- ที่ประสบความสำเร็จ
- อย่างเช่น
- สนับสนุน
- ที่สนับสนุน
- รองรับ
- การประสาน
- วากยสัมพันธ์
- ระบบ
- ตาราง
- เอา
- งาน
- งาน
- ทีม
- วิชาการ
- การสนับสนุนทางเทคนิค
- เทนนิส
- tensorflow
- ที่
- พื้นที่
- โลก
- ของพวกเขา
- พวกเขา
- ตัวเอง
- ตามทฤษฎี
- ดังนั้น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- ของบุคคลที่สาม
- พัน
- สาม
- ตลอด
- ปริมาณงาน
- เวลา
- ครั้ง
- เคล็ดลับ
- ไปยัง
- ในวันนี้
- ราชสกุล
- เกินไป
- เครื่องมือ
- เครื่องมือ
- ด้านบน
- รวม
- ลู่
- การจราจร
- รถไฟ
- ผ่านการฝึกอบรม
- การฝึกอบรม
- การแปลภาษา
- การขนส่ง
- ล้านล้าน
- ชนิด
- ตามแบบฉบับ
- ภายใต้
- พื้นฐาน
- เข้าใจ
- เป็นเอกลักษณ์
- หน่วย
- บันทึก
- URI
- us
- การใช้งาน
- การใช้
- ใช้
- ผู้ใช้งาน
- มักจะ
- ความคุ้มค่า
- ความคุ้มค่า
- ตัวแปร
- ความหลากหลาย
- ต่างๆ
- ตรวจสอบ
- รุ่น
- ผ่านทาง
- วีดีโอ
- รายละเอียด
- วิสัยทัศน์
- ผู้สมัครที่รู้จักเรา
- ทาง..
- วิธี
- สัปดาห์ที่ผ่านมา
- ดี
- อะไร
- ที่
- ในขณะที่
- WHO
- จะ
- กับ
- ภายใน
- ไม่มี
- คำ
- งาน
- ทำงาน
- แรงงาน
- การทำงาน
- โรงงาน
- โลก
- เขียน
- เขียน
- ปี
- ของคุณ
- ด้วยตัวคุณเอง
- YouTube
- ลมทะเล