นี่คือโพสต์ของแขกที่เขียนร่วมกับทีม PyTorch ของ Meta และเป็นบทความต่อเนื่องของ 1 หมายเลข ของซีรีส์นี้ ซึ่งเราสาธิตประสิทธิภาพและความง่ายในการใช้งาน PyTorch 2.0 บน AWS
การวิจัยด้านการเรียนรู้ของเครื่อง (ML) ได้พิสูจน์แล้วว่าโมเดลภาษาขนาดใหญ่ (LLM) ที่ได้รับการฝึกด้วยชุดข้อมูลขนาดใหญ่อย่างมีนัยสำคัญส่งผลให้โมเดลมีคุณภาพดีขึ้น ในช่วงไม่กี่ปีที่ผ่านมา ขนาดของโมเดลรุ่นปัจจุบันได้เพิ่มขึ้นอย่างมาก และจำเป็นต้องมีเครื่องมือและโครงสร้างพื้นฐานที่ทันสมัยเพื่อรับการฝึกอบรมอย่างมีประสิทธิภาพและทุกขนาด PyTorch Distributed Data Parallelism (DDP) ช่วยประมวลผลข้อมูลในขนาดได้อย่างง่ายดายและมีประสิทธิภาพ แต่โมเดลจะต้องพอดีกับ GPU ตัวเดียว ไลบรารี PyTorch Fully Sharded Data Parallel (FSDP) ทำลายอุปสรรคนี้ด้วยการเปิดใช้การแบ่งส่วนโมเดลเพื่อฝึกโมเดลขนาดใหญ่ให้กับผู้ปฏิบัติงานแบบคู่ขนานของข้อมูล
การฝึกโมเดลแบบกระจายต้องใช้คลัสเตอร์ของโหนดผู้ปฏิบัติงานที่สามารถปรับขนาดได้ บริการ Amazon Elastic Kubernetes (Amazon EKS) เป็นบริการยอดนิยมที่สอดคล้องกับ Kubernetes ซึ่งช่วยให้กระบวนการรันปริมาณงาน AI/ML ง่ายขึ้นอย่างมาก ทำให้สามารถจัดการได้มากขึ้นและใช้เวลาน้อยลง
ในบล็อกโพสต์นี้ AWS ร่วมมือกับทีม PyTorch ของ Meta เพื่อหารือเกี่ยวกับวิธีใช้ไลบรารี PyTorch FSDP เพื่อให้บรรลุการปรับขนาดเชิงเส้นของโมเดลการเรียนรู้เชิงลึกบน AWS ได้อย่างราบรื่นโดยใช้ Amazon EKS และ คอนเทนเนอร์การเรียนรู้เชิงลึกของ AWS (เนื้อหาดาวน์โหลด) เราสาธิตสิ่งนี้ผ่านการใช้งานการฝึกอบรมโมเดล 7B, 13B และ 70B Llama2 แบบทีละขั้นตอนโดยใช้ Amazon EKS กับ 16 อเมซอน อีลาสติก คอมพิวท์ คลาวด์ (อเมซอน อีซี2) p4de.24xlarge อินสแตนซ์ (แต่ละตัวมี NVIDIA A8 Tensor Core GPU 100 ตัว และ GPU แต่ละตัวที่มีหน่วยความจำ HBM80e ขนาด 2 GB) หรือ 16 EC2 p5.48xlarge (แต่ละตัวมี NVIDIA H8 Tensor Core GPU 100 ตัว และ GPU แต่ละตัวที่มีหน่วยความจำ HBM80 ขนาด 3 GB) บรรลุการปรับขนาดเกือบเป็นเส้นตรงในทรูพุต และช่วยให้มีเวลาการฝึกอบรมเร็วขึ้นในที่สุด
แผนภูมิการปรับขนาดต่อไปนี้แสดงให้เห็นว่าอินสแตนซ์ p5.48xlarge มีประสิทธิภาพการปรับขนาด 87% พร้อมการปรับแต่ง FSDP Llama2 แบบละเอียดในการกำหนดค่าคลัสเตอร์ 16 โหนด
ความท้าทายของการฝึกอบรม LLM
ธุรกิจต่างๆ หันมาใช้ LLM มากขึ้นสำหรับงานต่างๆ รวมถึงผู้ช่วยเสมือน การแปล การสร้างเนื้อหา และคอมพิวเตอร์วิทัศน์ เพื่อเพิ่มประสิทธิภาพและความแม่นยำในแอปพลิเคชันต่างๆ
อย่างไรก็ตาม การฝึกอบรมหรือการปรับแต่งโมเดลขนาดใหญ่เหล่านี้สำหรับกรณีการใช้งานแบบกำหนดเองนั้นจำเป็นต้องใช้ข้อมูลและพลังการประมวลผลจำนวนมาก ซึ่งจะเพิ่มความซับซ้อนทางวิศวกรรมโดยรวมของสแต็ก ML นี่เป็นเพราะหน่วยความจำที่จำกัดบน GPU ตัวเดียว ซึ่งจำกัดขนาดของโมเดลที่สามารถฝึกได้ และยังจำกัดขนาดแบตช์ต่อ GPU ที่ใช้ระหว่างการฝึกอีกด้วย
เพื่อจัดการกับความท้าทายนี้ เทคนิคการสร้างแบบจำลองความเท่าเทียมต่างๆ เช่น ดีพสปีด ซีโร และ ไพทอร์ช FSDP ถูกสร้างขึ้นเพื่อให้คุณสามารถเอาชนะอุปสรรคด้านหน่วยความจำ GPU ที่จำกัดได้ ซึ่งทำได้โดยใช้เทคนิคการแบ่งส่วนข้อมูลแบบคู่ขนาน โดยที่ตัวเร่งความเร็วแต่ละตัวจะเก็บชิ้นส่วนไว้เพียงชิ้นเดียว (a สะเก็ด) ของการจำลองแบบจำลองแทนที่จะเป็นการจำลองแบบจำลองทั้งหมด ซึ่งช่วยลดพื้นที่หน่วยความจำของงานการฝึกลงอย่างมาก
โพสต์นี้สาธิตวิธีที่คุณสามารถใช้ PyTorch FSDP เพื่อปรับแต่งโมเดล Llama2 โดยใช้ Amazon EKS เราบรรลุเป้าหมายนี้ด้วยการขยายขนาดความจุการประมวลผลและ GPU เพื่อตอบสนองความต้องการของรุ่น
ภาพรวมของ FSDP
ในการฝึกอบรม PyTorch DDP นั้น GPU แต่ละตัว (เรียกว่า a ผู้ปฏิบัติงาน ในบริบทของ PyTorch) จะเก็บสำเนาที่สมบูรณ์ของโมเดล รวมถึงน้ำหนักของโมเดล การไล่ระดับสี และสถานะของเครื่องมือเพิ่มประสิทธิภาพ ผู้ปฏิบัติงานแต่ละคนจะประมวลผลชุดข้อมูล และเมื่อสิ้นสุดการย้อนกลับ จะใช้ ลดทั้งหมด การดำเนินการเพื่อซิงโครไนซ์การไล่ระดับสีระหว่างผู้ปฏิบัติงานที่แตกต่างกัน
การมีแบบจำลองบน GPU แต่ละตัวจะจำกัดขนาดของโมเดลที่สามารถรองรับได้ในเวิร์กโฟลว์ DDP FSDP ช่วยเอาชนะข้อจำกัดนี้ด้วยการแบ่งส่วนพารามิเตอร์โมเดล สถานะของเครื่องมือเพิ่มประสิทธิภาพ และการไล่ระดับสีระหว่างผู้ปฏิบัติงานแบบขนานของข้อมูล ในขณะที่ยังคงรักษาความเรียบง่ายของข้อมูลแบบขนาน
สิ่งนี้แสดงให้เห็นในแผนภาพต่อไปนี้ โดยในกรณีของ DDP GPU แต่ละตัวจะเก็บสำเนาสถานะของโมเดลที่สมบูรณ์ รวมถึงสถานะเครื่องมือเพิ่มประสิทธิภาพ (OS) การไล่ระดับสี (G) และพารามิเตอร์ (P): M(OS + G) + ป) ใน FSDP GPU แต่ละตัวจะเก็บเพียงส่วนหนึ่งของสถานะของโมเดล ซึ่งรวมถึงสถานะเครื่องมือเพิ่มประสิทธิภาพ (OS) การไล่ระดับสี (G) และพารามิเตอร์ (P): M (ระบบปฏิบัติการ + G + P) การใช้ FSDP ส่งผลให้พื้นที่หน่วยความจำ GPU มีขนาดเล็กลงอย่างมากเมื่อเทียบกับ DDP ของผู้ปฏิบัติงานทั้งหมด ทำให้สามารถฝึกอบรมโมเดลที่มีขนาดใหญ่มากหรือใช้ขนาดแบทช์ที่ใหญ่ขึ้นสำหรับงานฝึกอบรม
อย่างไรก็ตาม สิ่งนี้มาพร้อมกับค่าใช้จ่ายด้านการสื่อสารที่เพิ่มขึ้น ซึ่งได้รับการบรรเทาลงด้วยการปรับแต่ง FSDP ให้เหมาะสม เช่น การสื่อสารที่ทับซ้อนกันและกระบวนการคำนวณพร้อมฟีเจอร์ต่างๆ เช่น กำลังดึงข้อมูลล่วงหน้า- สำหรับข้อมูลโดยละเอียดเพิ่มเติม โปรดดูที่ เริ่มต้นใช้งาน Fully Sharded Data Parallel (FSDP).
FSDP นำเสนอพารามิเตอร์ต่างๆ ที่ช่วยให้คุณปรับแต่งประสิทธิภาพและประสิทธิผลของงานการฝึกอบรมของคุณได้ คุณสมบัติและความสามารถหลักบางประการของ FSDP ได้แก่:
- นโยบายการห่อหม้อแปลง
- ความแม่นยำผสมที่ยืดหยุ่น
- การเปิดใช้งานจุดตรวจ
- กลยุทธ์การแบ่งส่วนต่างๆ เพื่อให้เหมาะกับความเร็วเครือข่ายและโทโพโลยีคลัสเตอร์ที่แตกต่างกัน:
- เต็ม_ชาร์ด – พารามิเตอร์โมเดลชิ้นส่วน การไล่ระดับสี และสถานะเครื่องมือเพิ่มประสิทธิภาพ
- ไฮบริด_ชาร์ด – ส่วนแบ่งเต็มภายในโหนด DDP ข้ามโหนด รองรับกลุ่มการแบ่งส่วนที่ยืดหยุ่นสำหรับแบบจำลองแบบเต็ม (HSDP)
- SHARD_GRAD_OP – การไล่ระดับสีและสถานะของเครื่องมือเพิ่มประสิทธิภาพเท่านั้น
- NO_SHARD – คล้ายกับ DDP
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ FSDP โปรดดูที่ การฝึกอบรมขนาดใหญ่ที่มีประสิทธิภาพด้วย Pytorch FSDP และ AWS.
รูปต่อไปนี้แสดงวิธีการทำงานของ FSDP สำหรับกระบวนการข้อมูลแบบขนานสองกระบวนการ
ภาพรวมโซลูชัน
ในโพสต์นี้ เราได้ตั้งค่าคลัสเตอร์การประมวลผลโดยใช้ Amazon EKS ซึ่งเป็นบริการที่ได้รับการจัดการเพื่อเรียกใช้ Kubernetes ใน AWS Cloud และศูนย์ข้อมูลภายในองค์กร ลูกค้าจำนวนมากหันมาใช้ Amazon EKS เพื่อรันปริมาณงาน AI/ML ที่ใช้ Kubernetes โดยใช้ประโยชน์จากประสิทธิภาพ ความสามารถในการปรับขนาด ความน่าเชื่อถือ และความพร้อมใช้งาน รวมถึงการผสานรวมกับเครือข่าย AWS ความปลอดภัย และบริการอื่นๆ
สำหรับกรณีการใช้งาน FSDP ของเรา เราใช้ ผู้ดำเนินการฝึกอบรม Kubeflow บน Amazon EKS ซึ่งเป็นโปรเจ็กต์ดั้งเดิมของ Kubernetes ที่อำนวยความสะดวกในการปรับแต่งอย่างละเอียดและการฝึกอบรมแบบกระจายที่ปรับขนาดได้สำหรับโมเดล ML รองรับเฟรมเวิร์ก ML ที่หลากหลาย รวมถึง PyTorch ซึ่งคุณสามารถใช้เพื่อปรับใช้และจัดการงานการฝึกอบรม PyTorch ในวงกว้าง
ด้วยการใช้ทรัพยากรที่กำหนดเองของ PyTorchJob ของ Kubeflow Training Operator เราจึงรันงานการฝึกอบรมบน Kubernetes ด้วยจำนวนแบบจำลองของผู้ปฏิบัติงานที่กำหนดค่าได้ ซึ่งช่วยให้เราสามารถเพิ่มประสิทธิภาพการใช้ทรัพยากรได้
ต่อไปนี้คือองค์ประกอบบางส่วนของผู้ดำเนินการฝึกอบรมที่มีบทบาทในกรณีการใช้งานการปรับแต่ง Llama2 ของเรา:
- ตัวควบคุม Kubernetes แบบรวมศูนย์ที่จัดเตรียมการกระจายงานการฝึกอบรมสำหรับ PyTorch
- PyTorchJob ซึ่งเป็นทรัพยากรที่กำหนดเองของ Kubernetes สำหรับ PyTorch ซึ่งจัดทำโดย Kubeflow Training Operator เพื่อกำหนดและปรับใช้งานการฝึกอบรม Llama2 บน Kubernetes
- ฯลฯ ซึ่งเกี่ยวข้องกับการนำกลไกการนัดพบไปใช้เพื่อประสานงานการฝึกอบรมแบบกระจายของโมเดล PyTorch นี้
etcd
เซิร์ฟเวอร์ซึ่งเป็นส่วนหนึ่งของกระบวนการนัดพบ จะอำนวยความสะดวกในการประสานงานและการประสานข้อมูลของผู้ปฏิบัติงานที่เข้าร่วมในระหว่างการฝึกอบรมแบบกระจาย
ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมโซลูชัน
รายละเอียดส่วนใหญ่จะถูกสรุปโดยสคริปต์อัตโนมัติที่เราใช้ในการเรียกใช้ตัวอย่าง Llama2
เราใช้การอ้างอิงรหัสต่อไปนี้ในกรณีการใช้งานนี้:
Llama2 คืออะไร?
Llama2 เป็น LLM ที่ได้รับการฝึกอบรมล่วงหน้าเกี่ยวกับข้อความและโค้ดจำนวน 2 ล้านล้านโทเค็น เป็นหนึ่งใน LLM ที่ใหญ่ที่สุดและทรงพลังที่สุดที่มีอยู่ในปัจจุบัน คุณสามารถใช้ Llama2 สำหรับงานที่หลากหลาย รวมถึงการประมวลผลภาษาธรรมชาติ (NLP) การสร้างข้อความ และการแปล สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เริ่มต้นกับลามะ.
Llama2 มีจำหน่ายในสามขนาดที่แตกต่างกัน:
- ลามะ2-70b – นี่คือรุ่น Llama2 ที่ใหญ่ที่สุดพร้อมพารามิเตอร์ 70 พันล้าน เป็นรุ่น Llama2 ที่ทรงพลังที่สุด และสามารถใช้งานได้กับงานที่มีความต้องการมากที่สุด
- ลามะ2-13b – นี่คือโมเดล Llama2 ขนาดกลาง พร้อมด้วยพารามิเตอร์ 13 พันล้านพารามิเตอร์ เป็นความสมดุลที่ดีระหว่างประสิทธิภาพและประสิทธิผล และสามารถนำไปใช้งานได้หลากหลาย
- ลามะ2-7b – นี่คือโมเดล Llama2 ที่เล็กที่สุด โดยมีพารามิเตอร์ถึง 7 พันล้านพารามิเตอร์ เป็นรุ่น Llama2 ที่มีประสิทธิภาพมากที่สุด และสามารถใช้กับงานที่ไม่ต้องการประสิทธิภาพระดับสูงสุดได้
โพสต์นี้ช่วยให้คุณปรับแต่งโมเดลเหล่านี้ทั้งหมดบน Amazon EKS ได้อย่างละเอียด เพื่อมอบประสบการณ์ที่เรียบง่ายและทำซ้ำได้ในการสร้างคลัสเตอร์ EKS และรันงาน FSDP บนคลัสเตอร์นั้น เราใช้ aws-ทำ-eks โครงการ. ตัวอย่างนี้จะใช้ได้กับคลัสเตอร์ EKS ที่มีอยู่แล้วด้วย
คำแนะนำแบบสคริปต์มีอยู่ใน GitHub เพื่อประสบการณ์นอกกรอบ ในส่วนต่อไปนี้ เราจะอธิบายกระบวนการตั้งแต่ต้นทางถึงปลายทางโดยละเอียดยิ่งขึ้น
จัดเตรียมโครงสร้างพื้นฐานของโซลูชัน
สำหรับการทดลองที่อธิบายไว้ในโพสต์นี้ เราใช้คลัสเตอร์ที่มีโหนด p4de (A100 GPU) และ p5 (H100 GPU)
คลัสเตอร์ที่มีโหนด p4de.24xlarge
สำหรับคลัสเตอร์ของเราที่มีโหนด p4de เราใช้ดังต่อไปนี้ eks-gpu-p4de-odcr.yaml สคริปต์:
การใช้ เอกสิทธ์ และรายการคลัสเตอร์ก่อนหน้า เราสร้างคลัสเตอร์ที่มีโหนด p4de:
คลัสเตอร์ที่มีโหนด p5.48xlarge
เทมเพลต Terraform สำหรับคลัสเตอร์ EKS ที่มีโหนด P5 อยู่ในรายการต่อไปนี้ repo GitHub.
คุณสามารถปรับแต่งคลัสเตอร์ผ่านทาง ตัวแปร.tf จากนั้นสร้างมันผ่าน Terraform CLI:
คุณสามารถตรวจสอบความพร้อมใช้งานของคลัสเตอร์ได้โดยการรันคำสั่ง kubectl แบบง่ายๆ:
คลัสเตอร์จะมีประสิทธิภาพดีหากเอาต์พุตของคำสั่งนี้แสดงจำนวนโหนดที่คาดหวังในสถานะพร้อม
ปรับใช้ข้อกำหนดเบื้องต้น
หากต้องการเรียกใช้ FSDP บน Amazon EKS เราใช้ส่วนขยาย PyTorchJob ทรัพยากรที่กำหนดเอง มันต้องการ ฯลฯ และ ผู้ดำเนินการฝึกอบรม Kubeflow ตามข้อกำหนดเบื้องต้น
ปรับใช้ etcd ด้วยรหัสต่อไปนี้:
ปรับใช้ Kubeflow Training Operator ด้วยโค้ดต่อไปนี้:
สร้างและพุชอิมเมจคอนเทนเนอร์ FSDP ไปยัง Amazon ECR
ใช้โค้ดต่อไปนี้เพื่อสร้างอิมเมจคอนเทนเนอร์ FSDP และพุชไปที่ การลงทะเบียน Amazon Elastic Container (อเมซอน ECR):
สร้างรายการ FSDP PyTorchJob
ใส่ของคุณ โทเค็นใบหน้ากอด ในตัวอย่างต่อไปนี้ก่อนเรียกใช้:
กำหนดค่า PyTorchJob ของคุณด้วย .env ไฟล์หรือโดยตรงในตัวแปรสภาพแวดล้อมของคุณดังนี้:
สร้างรายการ PyTorchJob โดยใช้ไฟล์ เทมเพลต fsdp และ สร้าง.sh script หรือสร้างโดยตรงโดยใช้สคริปต์ด้านล่าง:
เรียกใช้ PyTorchJob
รัน PyTorchJob ด้วยโค้ดต่อไปนี้:
คุณจะเห็นพ็อดผู้ปฏิบัติงาน FDSP ที่สร้างขึ้นตามจำนวนที่ระบุ และหลังจากดึงรูปภาพ พ็อดเหล่านั้นจะเข้าสู่สถานะกำลังทำงาน
หากต้องการดูสถานะของ PyTorchJob ให้ใช้รหัสต่อไปนี้:
หากต้องการหยุด PyTorchJob ให้ใช้รหัสต่อไปนี้:
หลังจากงานเสร็จสิ้นแล้ว จะต้องลบออกก่อนที่จะเริ่มการทำงานใหม่ เรายังสังเกตเห็นว่าการลบไฟล์etcd
พ็อดและปล่อยให้รีสตาร์ทก่อนที่จะเริ่มงานใหม่จะช่วยหลีกเลี่ยง RendezvousClosedError
.
ปรับขนาดคลัสเตอร์
คุณสามารถทำซ้ำขั้นตอนก่อนหน้าของการสร้างและรันงานในขณะที่เปลี่ยนจำนวนและประเภทอินสแตนซ์ของโหนดผู้ปฏิบัติงานในคลัสเตอร์ ซึ่งจะทำให้คุณสามารถสร้างแผนภูมิมาตราส่วนได้เหมือนกับที่แสดงไว้ก่อนหน้านี้ โดยทั่วไป คุณควรเห็นการลดลงของพื้นที่หน่วยความจำ GPU, เวลายุคที่ลดลง และทรูพุตเพิ่มขึ้นเมื่อมีการเพิ่มโหนดในคลัสเตอร์มากขึ้น แผนภูมิก่อนหน้านี้จัดทำขึ้นโดยทำการทดลองหลายครั้งโดยใช้กลุ่มโหนด p5 ซึ่งมีขนาดแตกต่างกันตั้งแต่ 1–16 โหนด
สังเกตปริมาณงานการฝึกอบรม FSDP
การสังเกตปริมาณงานปัญญาประดิษฐ์เชิงสร้างสรรค์เป็นสิ่งสำคัญเพื่อให้มองเห็นงานที่กำลังดำเนินการอยู่ได้ ตลอดจนช่วยในการใช้ประโยชน์สูงสุดจากทรัพยากรการประมวลผลของคุณ ในโพสต์นี้ เราใช้เครื่องมือสังเกตการณ์แบบเนทีฟของ Kubernetes และแบบโอเพ่นซอร์สบางส่วนเพื่อจุดประสงค์นี้ เครื่องมือเหล่านี้ช่วยให้คุณสามารถติดตามข้อผิดพลาด สถิติ และพฤติกรรมของแบบจำลอง ทำให้ความสามารถในการสังเกตของ AI เป็นส่วนสำคัญของกรณีการใช้งานทางธุรกิจ ในส่วนนี้ เราจะแสดงแนวทางต่างๆ ในการสังเกตงานการฝึกอบรม FSDP
บันทึกพ็อดคนงาน
ในระดับพื้นฐานที่สุด คุณจะต้องสามารถเห็นบันทึกของชุดฝึกซ้อมของคุณได้ ซึ่งสามารถทำได้ง่ายๆ โดยใช้คำสั่ง Kubernetes-native
ขั้นแรก ให้เรียกข้อมูลรายการพ็อดและค้นหาชื่อของพ็อดที่คุณต้องการดูบันทึก:
จากนั้นดูบันทึกสำหรับพ็อดที่เลือก:
บันทึกพ็อดของผู้ปฏิบัติงาน (ผู้นำที่ได้รับเลือก) เพียงคนเดียวเท่านั้นที่จะแสดงรายการสถิติงานโดยรวม ชื่อของกลุ่มผู้นำที่ได้รับเลือกจะมีอยู่ที่ตอนต้นของบันทึกกลุ่มผู้ปฏิบัติงานแต่ละราย ซึ่งระบุด้วยกุญแจ master_addr=
.
การใช้งาน CPU
ปริมาณงานการฝึกอบรมแบบกระจายต้องใช้ทั้งทรัพยากร CPU และ GPU เพื่อปรับปริมาณงานเหล่านี้ให้เหมาะสม สิ่งสำคัญคือต้องทำความเข้าใจวิธีการใช้ทรัพยากรเหล่านี้ โชคดีที่มียูทิลิตี้โอเพ่นซอร์สดีๆ บางตัวให้เลือกซึ่งช่วยให้เห็นภาพการใช้งาน CPU และ GPU สำหรับการดูการใช้งาน CPU คุณสามารถใช้ได้htop
- หากพ็อดผู้ปฏิบัติงานของคุณมียูทิลิตี้นี้ คุณสามารถใช้คำสั่งด้านล่างเพื่อเปิดเชลล์ลงในพ็อดแล้วเรียกใช้htop
.
หรือคุณสามารถปรับใช้ htop ได้daemonset
เช่นเดียวกับที่ให้ไว้ต่อไปนี้ repo GitHub.
พื้นที่daemonset
จะรันพ็อด htop ที่มีน้ำหนักเบาบนแต่ละโหนด คุณสามารถดำเนินการในพ็อดเหล่านี้และเรียกใช้htop
คำสั่ง:
ภาพหน้าจอต่อไปนี้แสดงการใช้งาน CPU บนโหนดใดโหนดหนึ่งในคลัสเตอร์ ในกรณีนี้ เรากำลังดูอินสแตนซ์ P5.48xlarge ซึ่งมี 192 vCPU แกนประมวลผลไม่ได้ใช้งานในขณะที่น้ำหนักโมเดลถูกดาวน์โหลด และเราพบว่ามีการใช้งานเพิ่มขึ้นในขณะที่น้ำหนักโมเดลถูกโหลดไปยังหน่วยความจำ GPU
การใช้งาน GPU
ถ้าnvtop
ยูทิลิตี้นี้มีอยู่ในพ็อดของคุณ คุณสามารถเรียกใช้งานโดยใช้ด้านล่างแล้วเรียกใช้nvtop
.
หรือคุณสามารถปรับใช้ nvtop ได้daemonset
เช่นเดียวกับที่ให้ไว้ต่อไปนี้ repo GitHub.
สิ่งนี้จะเรียกใช้nvtop
พ็อดบนแต่ละโหนด คุณสามารถดำเนินการในพ็อดเหล่านั้นและเรียกใช้ได้nvtop
:
ภาพหน้าจอต่อไปนี้แสดงการใช้งาน GPU บนโหนดใดโหนดหนึ่งในคลัสเตอร์การฝึก ในกรณีนี้ เรากำลังดูอินสแตนซ์ P5.48xlarge ซึ่งมี NVIDIA H8 GPU 100 ตัว GPU จะไม่ได้ใช้งานในขณะที่ดาวน์โหลดน้ำหนักโมเดล จากนั้นการใช้งานหน่วยความจำ GPU จะเพิ่มขึ้นเมื่อน้ำหนักโมเดลถูกโหลดลงบน GPU และการใช้งาน GPU จะเพิ่มขึ้นเป็น 100% ในขณะที่การฝึกซ้ำกำลังดำเนินอยู่
แดชบอร์ดกราฟาน่า
ตอนนี้คุณเข้าใจวิธีทำงานของระบบในระดับพ็อดและโหนดแล้ว การดูเมตริกในระดับคลัสเตอร์ก็เป็นสิ่งสำคัญเช่นกัน ตัววัดการใช้งานแบบรวมสามารถรวบรวมได้โดย NVIDIA DCGM Exporter และ Prometheus และแสดงภาพใน Grafana
ตัวอย่างการใช้งาน Prometheus-Grafana มีดังต่อไปนี้ repo GitHub.
ตัวอย่างการปรับใช้ผู้ส่งออก DCGM มีดังต่อไปนี้ repo GitHub.
แดชบอร์ด Grafana แบบธรรมดาจะแสดงอยู่ในภาพหน้าจอต่อไปนี้ สร้างขึ้นโดยการเลือกเมตริก DCGM ต่อไปนี้: DCGM_FI_DEV_GPU_UTIL
, DCGM_FI_MEM_COPY_UTIL
, DCGM_FI_DEV_XID_ERRORS
, DCGM_FI_DEV_SM_CLOCK
, DCGM_FI_DEV_GPU_TEMP
และ DCGM_FI_DEV_POWER_USAGE
- สามารถนำแดชบอร์ดเข้าสู่ Prometheus ได้จาก GitHub.
แดชบอร์ดต่อไปนี้แสดงงานการฝึกอบรมยุคเดียวของ Llama2 7b หนึ่งครั้ง กราฟแสดงให้เห็นว่าเมื่อนาฬิกาสตรีมมิ่งมัลติโปรเซสเซอร์ (SM) เพิ่มขึ้น การดึงพลังงานและอุณหภูมิของ GPU จะเพิ่มขึ้นเช่นกัน รวมถึงการใช้งาน GPU และหน่วยความจำ คุณยังจะเห็นอีกว่าไม่มีข้อผิดพลาด XID และ GPU ก็แข็งแรงดีในระหว่างการดำเนินการนี้
ตั้งแต่เดือนมีนาคม 2024 ความสามารถในการสังเกต GPU สำหรับ EKS ได้รับการสนับสนุนโดยกำเนิด ข้อมูลเชิงลึกของคอนเทนเนอร์ CloudWatch- หากต้องการเปิดใช้งานฟังก์ชันนี้ เพียงปรับใช้ CloudWatch Observability Add-on ในคลัสเตอร์ EKS ของคุณ จากนั้นคุณจะสามารถเรียกดูตัววัดระดับพ็อด โหนด และคลัสเตอร์ผ่านแดชบอร์ดที่กำหนดค่าไว้ล่วงหน้าและปรับแต่งได้ใน Container Insights
ทำความสะอาด
หากคุณสร้างคลัสเตอร์โดยใช้ตัวอย่างที่ให้ไว้ในบล็อกนี้ คุณสามารถรันโค้ดต่อไปนี้เพื่อลบคลัสเตอร์และทรัพยากรใดๆ ที่เกี่ยวข้อง รวมถึง VPC:
สำหรับเอกสิทธิ์:
สำหรับพื้นผิว:
คุณสมบัติที่จะเกิดขึ้น
FSDP คาดว่าจะรวมคุณลักษณะการแบ่งส่วนตามพารามิเตอร์ โดยมีเป้าหมายเพื่อปรับปรุงพื้นที่หน่วยความจำต่อ GPU ต่อไป นอกจากนี้ การพัฒนาอย่างต่อเนื่องของการรองรับ FP8 มีเป้าหมายเพื่อปรับปรุงประสิทธิภาพ FSDP บน H100 GPU สุดท้ายเมื่อ FSDP รวมเข้ากับtorch.compile
เราหวังว่าจะเห็นการปรับปรุงประสิทธิภาพเพิ่มเติมและการเปิดใช้งานคุณลักษณะต่างๆ เช่น จุดตรวจสอบการเปิดใช้งานแบบเลือก
สรุป
ในโพสต์นี้ เราได้พูดคุยถึงวิธีที่ FSDP ลดขนาดหน่วยความจำบน GPU แต่ละตัว ช่วยให้สามารถฝึกฝนโมเดลขนาดใหญ่ได้อย่างมีประสิทธิภาพมากขึ้น และบรรลุการปรับขนาดที่ใกล้เคียงเชิงเส้นในปริมาณงาน เราได้สาธิตสิ่งนี้ผ่านการใช้งานการฝึกอบรมโมเดล Llama2 ทีละขั้นตอนโดยใช้ Amazon EKS บนอินสแตนซ์ P4de และ P5 และใช้เครื่องมือสังเกตการณ์ เช่น kubectl, htop, nvtop และ dcgm เพื่อตรวจสอบบันทึก รวมถึงการใช้งาน CPU และ GPU
เราขอแนะนำให้คุณใช้ประโยชน์จาก PyTorch FSDP สำหรับงานฝึกอบรม LLM ของคุณเอง เริ่มต้นได้ที่ aws-do-fsdp.
เกี่ยวกับผู้เขียน
กันวัลจิต คุรมี เป็นสถาปนิกหลักด้านโซลูชัน AI/ML ที่ Amazon Web Services เขาทำงานร่วมกับลูกค้า AWS เพื่อให้คำแนะนำและความช่วยเหลือด้านเทคนิค ช่วยให้พวกเขาปรับปรุงคุณค่าของโซลูชันการเรียนรู้ของเครื่องบน AWS Kanwaljit เชี่ยวชาญในการช่วยเหลือลูกค้าด้วยแอปพลิเคชันคอนเทนเนอร์ การประมวลผลแบบกระจาย และการเรียนรู้เชิงลึก
อเล็กซ์ เอียนคูลสกี้ เป็นสถาปนิกโซลูชันหลัก การเรียนรู้ของเครื่องแบบจัดการด้วยตนเองที่ AWS เขาเป็นวิศวกรซอฟต์แวร์และโครงสร้างพื้นฐานแบบฟูลสแตกที่ชอบทำงานเชิงลึกและลงมือปฏิบัติจริง ในบทบาทของเขา เขามุ่งเน้นไปที่การช่วยเหลือลูกค้าในการวางคอนเทนเนอร์และประสานปริมาณงาน ML และ AI บนบริการ AWS ที่ขับเคลื่อนด้วยคอนเทนเนอร์ เขายังเป็นผู้เขียนโอเพ่นซอร์สอีกด้วย ทำกรอบงาน และกัปตันนักเทียบท่าผู้ชื่นชอบการประยุกต์ใช้เทคโนโลยีคอนเทนเนอร์เพื่อเร่งฝีเท้าของนวัตกรรมไปพร้อมๆ กับการแก้ปัญหาความท้าทายที่ยิ่งใหญ่ที่สุดของโลก
อานา ซีโมส เป็นผู้เชี่ยวชาญด้านการเรียนรู้ของเครื่องหลัก, ML Frameworks ที่ AWS เธอสนับสนุนลูกค้าในการปรับใช้ AI, ML และ AI เชิงสร้างสรรค์ในขนาดใหญ่บนโครงสร้างพื้นฐาน HPC ในระบบคลาวด์ Ana มุ่งเน้นไปที่การสนับสนุนลูกค้าเพื่อให้ได้ประสิทธิภาพตามราคาสำหรับปริมาณงานใหม่และกรณีการใช้งานสำหรับ AI เชิงสร้างสรรค์และการเรียนรู้ของเครื่อง
ฮามิด โชยานาเซรี่ เป็นวิศวกรพันธมิตรที่ PyTorch ที่ทำงานเกี่ยวกับโอเพ่นซอร์ส การเพิ่มประสิทธิภาพโมเดลประสิทธิภาพสูง การฝึกอบรมแบบกระจาย (เอฟเอสดีพี) และการอนุมาน เขาเป็นผู้ร่วมสร้าง ลามะ-สูตร และผู้มีส่วนร่วม คบเพลิงให้บริการ- ความสนใจหลักของเขาคือการปรับปรุงประสิทธิภาพด้านต้นทุน ทำให้ชุมชนในวงกว้างสามารถเข้าถึง AI ได้มากขึ้น
ไรท์น้อยลง เป็นวิศวกร AI/พันธมิตรใน PyTorch เขาทำงานเกี่ยวกับเมล็ด Triton/CUDA (เร่ง Dequant ด้วยการแยกย่อยงาน SplitK- เครื่องมือเพิ่มประสิทธิภาพเพจ การสตรีม และเชิงปริมาณ และ PyTorch กระจาย (ไพทอร์ช FSDP).
- เนื้อหาที่ขับเคลื่อนด้วย SEO และการเผยแพร่ประชาสัมพันธ์ รับการขยายวันนี้
- PlatoData.Network Vertical Generative Ai เพิ่มพลังให้กับตัวเอง เข้าถึงได้ที่นี่.
- เพลโตไอสตรีม. Web3 อัจฉริยะ ขยายความรู้ เข้าถึงได้ที่นี่.
- เพลโตESG. คาร์บอน, คลีนเทค, พลังงาน, สิ่งแวดล้อม แสงอาทิตย์, การจัดการของเสีย. เข้าถึงได้ที่นี่.
- เพลโตสุขภาพ เทคโนโลยีชีวภาพและข่าวกรองการทดลองทางคลินิก เข้าถึงได้ที่นี่.
- ที่มา: https://aws.amazon.com/blogs/machine-learning/scale-llms-with-pytorch-2-0-fsdp-on-amazon-eks-part-2/
- :มี
- :เป็น
- :ที่ไหน
- ][หน้า
- $ ขึ้น
- 1
- 10
- 100
- 12
- 13
- 16
- 2024
- 28
- 500
- 7
- 70
- 8
- 80
- 800
- a
- สามารถ
- เกี่ยวกับเรา
- นามธรรม
- เร่งความเร็ว
- คันเร่ง
- สามารถเข้าถึงได้
- ลงชื่อเข้าใช้
- ความถูกต้อง
- บรรลุ
- การบรรลุ
- ข้าม
- การกระตุ้น
- Add-on
- ที่เพิ่ม
- เพิ่มเติม
- นอกจากนี้
- ที่อยู่
- เพิ่ม
- การนำ
- ความได้เปรียบ
- หลังจาก
- รวม
- AI
- AI / ML
- ช่วย
- การเล็ง
- จุดมุ่งหมาย
- ทั้งหมด
- อนุญาต
- ช่วยให้
- ด้วย
- เสมอ
- อเมซอน
- Amazon EC2
- Amazon Web Services
- จำนวน
- an
- อานา
- และ
- และโครงสร้างพื้นฐาน
- ใด
- app
- การใช้งาน
- ใช้
- การประยุกต์ใช้
- วิธีการ
- สถาปัตยกรรม
- เป็น
- เทียม
- ปัญญาประดิษฐ์
- AS
- ความช่วยเหลือ
- ผู้ช่วย
- ที่เกี่ยวข้อง
- At
- ผู้เขียน
- อัตโนมัติ
- ความพร้อมใช้งาน
- ใช้ได้
- หลีกเลี่ยง
- AWS
- ยอดคงเหลือ
- อุปสรรค
- ทุบตี
- ขั้นพื้นฐาน
- BE
- ก่อน
- การเริ่มต้น
- พฤติกรรม
- กำลัง
- ด้านล่าง
- ดีกว่า
- ระหว่าง
- ที่ใหญ่ที่สุด
- พันล้าน
- บล็อก
- ทั้งสอง
- แบ่ง
- ที่กว้างขึ้น
- สร้าง
- สร้าง
- ธุรกิจ
- แต่
- by
- CAN
- ความสามารถในการ
- ความจุ
- กรณี
- กรณี
- แมว
- ศูนย์
- ส่วนกลาง
- ท้าทาย
- ความท้าทาย
- แผนภูมิ
- ชาร์ต
- CLI
- นาฬิกา
- เมฆ
- Cluster
- รหัส
- ร่วมมือ
- มา
- การสื่อสาร
- ชุมชน
- เมื่อเทียบกับ
- สมบูรณ์
- ความซับซ้อน
- ส่วนประกอบ
- การคำนวณ
- คำนวณ
- คอมพิวเตอร์
- วิสัยทัศน์คอมพิวเตอร์
- การคำนวณ
- การดำเนิน
- องค์ประกอบ
- บรรจุ
- ภาชนะ
- ภาชนะบรรจุ
- เนื้อหา
- การสร้างเนื้อหา
- สิ่งแวดล้อม
- ความต่อเนื่อง
- ผู้สนับสนุน
- ตัวควบคุม
- ประสานงาน
- การประสาน
- สำเนา
- แกน
- ราคา
- สร้าง
- ที่สร้างขึ้น
- การสร้าง
- การสร้าง
- สำคัญมาก
- ปัจจุบัน
- ประเพณี
- ลูกค้า
- ปรับแต่งได้
- ปรับแต่ง
- หน้าปัด
- แดชบอร์ด
- ข้อมูล
- ศูนย์ข้อมูล
- ชุดข้อมูล
- DDP
- ลึก
- การเรียนรู้ลึก ๆ
- กำหนด
- เรียกร้อง
- สาธิต
- แสดงให้เห็นถึง
- แสดงให้เห็นถึง
- ปรับใช้
- ปรับใช้
- การใช้งาน
- บรรยาย
- อธิบาย
- รายละเอียด
- รายละเอียด
- รายละเอียด
- พัฒนาการ
- แผนภาพ
- ต่าง
- โดยตรง
- สนทนา
- กล่าวถึง
- กระจาย
- คอมพิวเตอร์แบบกระจาย
- กระจายการฝึกอบรม
- do
- นักเทียบท่า
- ทำ
- Dont
- ดาวน์โหลด
- ดาวน์โหลด
- เป็นคุ้งเป็นแคว
- วาด
- สอง
- ในระหว่าง
- แต่ละ
- ก่อน
- ความสะดวก
- อย่างง่ายดาย
- อย่างมีประสิทธิภาพ
- ที่มีประสิทธิภาพ
- อย่างมีประสิทธิภาพ
- ได้รับการเลือกตั้ง
- กอด
- ทำให้สามารถ
- การเปิดใช้งาน
- ช่วยให้
- การเปิดใช้งาน
- ส่งเสริม
- ปลาย
- จบสิ้น
- วิศวกร
- ชั้นเยี่ยม
- เสริม
- เข้าสู่
- ทั้งหมด
- สิ่งแวดล้อม
- ยุค
- ข้อผิดพลาด
- ตัวอย่าง
- ตัวอย่าง
- ดำเนินการ
- ที่คาดหวัง
- ประสบการณ์
- การทดลอง
- อธิบาย
- ใบหน้า
- อำนวยความสะดวก
- เร็วขึ้น
- ลักษณะ
- คุณสมบัติ
- สองสาม
- รูป
- เนื้อไม่มีมัน
- ในที่สุด
- พอดี
- มีความยืดหยุ่น
- มุ่งเน้นไปที่
- ดังต่อไปนี้
- รอยพระบาท
- สำหรับ
- โชคดี
- กรอบ
- ราคาเริ่มต้นที่
- เต็ม
- อย่างเต็มที่
- ฟังก์ชั่น
- ต่อไป
- General
- รุ่น
- กำเนิด
- กำเนิด AI
- ได้รับ
- GitHub
- ดี
- GPU
- GPUs
- การไล่ระดับสี
- กราฟ
- ยิ่งใหญ่
- อย่างมาก
- บัญชีกลุ่ม
- แขก
- โพสต์ของผู้เข้าพัก
- คำแนะนำ
- มือบน
- he
- แข็งแรง
- ช่วย
- การช่วยเหลือ
- จะช่วยให้
- ประสิทธิภาพสูง
- ที่สูงที่สุด
- ของเขา
- ถือ
- ความหวัง
- สรุป ความน่าเชื่อถือของ Olymp Trade?
- ทำอย่างไร
- อย่างไรก็ตาม
- HPC
- HTML
- ที่ http
- HTTPS
- ระบุ
- Idle
- if
- แสดงให้เห็นถึง
- ภาพ
- การดำเนินงาน
- สำคัญ
- ปรับปรุง
- การปรับปรุง
- in
- ประกอบด้วย
- รวมทั้ง
- เพิ่ม
- เพิ่มขึ้น
- เพิ่มขึ้น
- ขึ้น
- ข้อมูล
- ข้อมูล
- โครงสร้างพื้นฐาน
- นักวิเคราะห์ส่วนบุคคลที่หาโอกาสให้เป็นไปได้มากที่สุด
- ข้อมูลเชิงลึก
- ตัวอย่าง
- แทน
- แบบบูรณาการ
- การผสานรวม
- Intelligence
- อยากเรียนรู้
- เข้าไป
- IT
- ซ้ำ
- ITS
- การสัมภาษณ์
- งาน
- jpeg
- jpg
- JSON
- เพียงแค่
- คีย์
- ชนิด
- KubeFlow
- ป้ายกำกับ
- ภาษา
- ใหญ่
- ขนาดใหญ่
- ที่มีขนาดใหญ่
- ใหญ่ที่สุด
- ชื่อสกุล
- การเปิดตัว
- ผู้นำ
- การเรียนรู้
- น้อยลง
- การให้
- ชั้น
- ห้องสมุด
- มีน้ำหนักเบา
- กดไลก์
- ยอดไลก์
- การ จำกัด
- ถูก จำกัด
- ขีด จำกัด
- เชิงเส้น
- รายการ
- LLM
- ที่ตั้งอยู่
- เข้าสู่ระบบ
- เข้าสู่ระบบ
- ดู
- ที่ต้องการหา
- รัก
- เครื่อง
- เรียนรู้เครื่อง
- หลัก
- การทำ
- จัดการ
- จัดการได้
- การจัดการ
- ลักษณะ
- หลาย
- มีนาคม
- มีนาคม
- การเพิ่ม
- อาจ..
- กลไก
- หน่วยความจำ
- Meta
- เมตาดาต้า
- ตัวชี้วัด
- ผสม
- ML
- แบบ
- โมเดล
- ทันสมัย
- การตรวจสอบ
- ข้อมูลเพิ่มเติม
- มากที่สุด
- ชื่อ
- โดยกำเนิด
- โดยธรรมชาติ
- ประมวลผลภาษาธรรมชาติ
- ใกล้
- จำเป็นต้อง
- ความต้องการ
- เครือข่าย
- เครือข่าย
- ใหม่
- NLP
- ไม่
- ปม
- โหนด
- จำนวน
- Nvidia
- of
- เสนอ
- เสนอ
- on
- ONE
- ต่อเนื่อง
- เพียง
- ไปยัง
- เปิด
- โอเพนซอร์ส
- การดำเนินการ
- ผู้ประกอบการ
- การเพิ่มประสิทธิภาพ
- การเพิ่มประสิทธิภาพ
- เพิ่มประสิทธิภาพ
- or
- ประสาน
- OS
- อื่นๆ
- ของเรา
- ออก
- เอาท์พุต
- ทั้งหมด
- เอาชนะ
- เหนือศีรษะ
- ของตนเอง
- ก้าว
- Parallel
- พารามิเตอร์
- ส่วนหนึ่ง
- ที่เข้าร่วมโครงการ
- หุ้นส่วน
- ส่ง
- เส้นทาง
- ต่อ
- การปฏิบัติ
- แผนการ
- เพลโต
- เพลโตดาต้าอินเทลลิเจนซ์
- เพลโตดาต้า
- เล่น
- ยอดนิยม
- โพสต์
- อำนาจ
- ที่มีประสิทธิภาพ
- มาก่อน
- ข้อกำหนดเบื้องต้น
- การรักษา
- ก่อน
- หลัก
- ก่อน
- กระบวนการ
- กระบวนการ
- การประมวลผล
- หน่วยประมวลผล
- ก่อ
- ผลิต
- โครงการ
- ที่พิสูจน์แล้ว
- ให้
- ให้
- การดึง
- วัตถุประสงค์
- ผลัก
- ไฟฉาย
- คุณภาพ
- พิสัย
- พร้อม
- ลด
- การลดลง
- อ้างอิง
- การอ้างอิง
- เรียกว่า
- ภูมิภาค
- รีจิสทรี
- ที่เกี่ยวข้อง
- ความเชื่อถือได้
- ทำซ้ำ
- แบบจำลอง
- การร้องขอ
- ต้องการ
- ความต้องการ
- ต้อง
- การวิจัย
- ทรัพยากร
- แหล่งข้อมูล
- ผล
- ผลสอบ
- ที่เพิ่มขึ้น
- แข็งแรง
- บทบาท
- วิ่ง
- วิ่ง
- scalability
- ที่ปรับขนาดได้
- ขนาด
- ปรับ
- ต้นฉบับ
- สคริปต์
- ได้อย่างลงตัว
- Section
- ส่วน
- ความปลอดภัย
- เห็น
- เลือก
- การเลือก
- เลือก
- ชุด
- บริการ
- บริการ
- ชุด
- หลาย
- แตก
- ชาร์ดดิ้ง
- เธอ
- เปลือก
- น่า
- โชว์
- แสดง
- แสดงให้เห็นว่า
- อย่างมีความหมาย
- คล้ายคลึงกัน
- ง่าย
- ความง่าย
- ช่วยลดความยุ่งยาก
- เดียว
- ขนาด
- ขนาด
- ชิ้น
- มีขนาดเล็กกว่า
- เศษเล็กเศษน้อย
- ซอฟต์แวร์
- ทางออก
- โซลูชัน
- การแก้
- บาง
- แหล่ง
- ผู้เชี่ยวชาญ
- ความเชี่ยวชาญ
- ที่ระบุไว้
- ความเร็ว
- แหลม
- กอง
- ข้อความที่เริ่ม
- สถานะ
- สหรัฐอเมริกา
- สถิติ
- Status
- ขั้นตอน
- ยังคง
- หยุด
- กลยุทธ์
- ที่พริ้ว
- อย่างเช่น
- สูท
- สนับสนุน
- ที่สนับสนุน
- ที่สนับสนุน
- รองรับ
- การประสาน
- ซิส
- ระบบ
- เอา
- การ
- เป้า
- งาน
- ทีม
- วิชาการ
- เทคนิค
- เทคนิค
- เทคโนโลยี
- เทมเพลต
- terraform
- ข้อความ
- ที่
- พื้นที่
- ของพวกเขา
- พวกเขา
- แล้วก็
- ที่นั่น
- ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน
- พวกเขา
- นี้
- เหล่านั้น
- สาม
- ตลอด
- ปริมาณงาน
- เวลา
- ต้องใช้เวลามาก
- ไปยัง
- ในวันนี้
- ร่วมกัน
- ราชสกุล
- เครื่องมือ
- ลู่
- รถไฟ
- ผ่านการฝึกอบรม
- การฝึกอบรม
- การแปลภาษา
- ล้านล้าน
- จริง
- ปรับแต่ง
- สอง
- ชนิด
- ในที่สุด
- เข้าใจ
- ความสัตย์ซื่อ
- us
- ใช้
- ใช้กรณี
- มือสอง
- ใช้
- การใช้
- ยูทิลิตี้
- ประโยชน์
- ใช้
- ความคุ้มค่า
- ความหลากหลาย
- ต่างๆ
- แตกต่างกัน
- ตรวจสอบ
- รุ่น
- มาก
- ผ่านทาง
- รายละเอียด
- การดู
- เสมือน
- ความชัดเจน
- วิสัยทัศน์
- เห็นภาพ
- ไดรฟ์
- คำแนะนำ
- ต้องการ
- คือ
- we
- เว็บ
- บริการเว็บ
- ดี
- คือ
- เมื่อ
- ที่
- ในขณะที่
- WHO
- จะ
- กับ
- ภายใน
- งาน
- ผู้ปฏิบัติงาน
- แรงงาน
- เวิร์กโฟลว์
- การทำงาน
- โรงงาน
- ของโลก
- ห่อ
- มันแกว
- ปี
- คุณ
- ของคุณ
- ลมทะเล