ในทศวรรษที่ผ่านมาเราได้เห็น วิทยาศาสตร์การเรียนรู้เชิงลึก (DL) ได้รับการยอมรับอย่างรวดเร็วจากลูกค้า AWS. พารามิเตอร์ที่ได้รับการฝึกฝนมาอย่างมากมายและได้รับการฝึกฝนร่วมกันของรุ่น DL มีความสามารถในการแสดงข้อมูลได้มาก ซึ่งนำมาซึ่งการปรับปรุงในกรณีการใช้งานของลูกค้าจำนวนมาก รวมถึงการวิเคราะห์ภาพและคำพูด การประมวลผลภาษาธรรมชาติ (NLP) การประมวลผลอนุกรมเวลา และอื่นๆ ในโพสต์นี้ เราเน้นย้ำถึงความท้าทายที่มักรายงานโดยเฉพาะในการฝึกอบรม DL และวิธีที่ไลบรารีโอเพนซอร์ส นักแต่งเพลง MosaicML ช่วยแก้ปัญหาเหล่านี้
ความท้าทายกับการฝึกอบรม DL
โมเดล DL ได้รับการฝึกฝนซ้ำแล้วซ้ำเล่าในลูปที่ซ้อนกัน ลูปจะวนซ้ำผ่านชุดข้อมูลการฝึกทีละอัน และถ้าจำเป็น ลูปนี้จะถูกทำซ้ำหลายครั้งทั่วทั้งชุดข้อมูลทั้งหมด ผู้ปฏิบัติงาน ML ที่ทำงานเกี่ยวกับการฝึกอบรม DL เผชิญกับความท้าทายหลายประการ:
- ระยะเวลาการฝึกอบรมเพิ่มขึ้นตามขนาดข้อมูล ด้วยชุดข้อมูลที่เติบโตอย่างถาวร เวลาและค่าใช้จ่ายในการฝึกอบรมก็เพิ่มขึ้นเช่นกัน และจังหวะของการค้นพบทางวิทยาศาสตร์ก็ช้าลง
- สคริปต์ DL มักต้องการรหัสสำเร็จรูป โดยเฉพาะอย่างยิ่งโครงสร้างแบบวนซ้ำที่กล่าวถึงข้างต้นซึ่งแยกชุดข้อมูลออกเป็นชุดย่อยและการฝึกอบรมออกเป็นยุคต่างๆ
- ความขัดแย้งในการเลือก: มีการเผยแพร่เอกสารและไลบรารีการเพิ่มประสิทธิภาพการฝึกอบรมหลายฉบับ แต่ก็ยังไม่ชัดเจนว่าจะทดสอบอันไหนก่อน และจะรวมเอฟเฟกต์เข้าด้วยกันอย่างไร
ในช่วงไม่กี่ปีที่ผ่านมา ห้องสมุดโอเพ่นซอร์สหลายแห่ง เช่น Keras, ฟ้าผ่า PyTorch, กอดใบหน้า Transformersและ เรย์ เทรน ได้พยายามทำให้การฝึกอบรม DL สามารถเข้าถึงได้มากขึ้น โดยเฉพาะอย่างยิ่งโดยการลดการใช้คำฟุ่มเฟือยของโค้ด ซึ่งจะทำให้วิธีการตั้งโปรแกรมโครงข่ายประสาทเทียมง่ายขึ้น ไลบรารีเหล่านี้ส่วนใหญ่มุ่งเน้นไปที่ประสบการณ์ของนักพัฒนาและความกะทัดรัดของโค้ด
ในโพสต์นี้ เราขอนำเสนอไลบรารีโอเพนซอร์ซใหม่ที่มีจุดยืนที่แตกต่างในการฝึกอบรม DL: นักแต่งเพลง MosaicML เป็นห้องสมุดที่เน้นความเร็วโดยมีวัตถุประสงค์หลักเพื่อทำให้สคริปต์การฝึกอบรมโครงข่ายประสาทเทียมเร็วขึ้นผ่านนวัตกรรมอัลกอริธึม ในโลกของ DL คลาวด์ ควรเน้นที่ความเร็ว เนื่องจากโครงสร้างพื้นฐานด้านการประมวลผลมักจะจ่ายต่อการใช้งาน แม้จะลดลงถึงขั้นที่สองก็ตาม การฝึกอบรม Amazon SageMaker—และการปรับปรุงความเร็วสามารถแปลเป็นการประหยัดเงินได้
ในอดีต การเพิ่มความเร็วของการฝึกอบรม DL ส่วนใหญ่ทำได้โดยการเพิ่มจำนวนเครื่องคำนวณการวนซ้ำแบบจำลองในแบบคู่ขนาน เทคนิคที่เรียกว่า ความเท่าเทียมกันของข้อมูล. แม้ว่าบางครั้งความเท่าเทียมกันของข้อมูลจะเร่งการฝึกอบรม (ไม่รับประกันเพราะจะรบกวนการบรรจบกัน ตามที่เน้นใน Goyal และคณะ) ไม่ลดต้นทุนงานโดยรวม ในทางปฏิบัติ มีแนวโน้มเพิ่มขึ้นเนื่องจากค่าใช้จ่ายในการสื่อสารระหว่างเครื่องและต้นทุนต่อหน่วยเครื่องที่สูงขึ้น เนื่องจากเครื่อง DL แบบกระจายมีการติดตั้งเครือข่ายระดับไฮเอนด์และการเชื่อมต่อระหว่าง GPU ในเซิร์ฟเวอร์
แม้ว่า MosaicML Composer จะสนับสนุนความเท่าเทียมกันของข้อมูล แต่หลักปรัชญาหลักนั้นแตกต่างจากการเคลื่อนไหวของข้อมูลแบบขนาน เป้าหมายคือเร่งการฝึกอบรมโดยไม่ต้องใช้เครื่องจักรเพิ่มเติม โดยการสร้างสรรค์นวัตกรรมในระดับการนำวิทยาศาสตร์ไปใช้ ดังนั้นจึงมุ่งหวังที่จะบรรลุการประหยัดเวลาซึ่งจะส่งผลให้ประหยัดค่าใช้จ่ายเนื่องจากโครงสร้างค่าธรรมเนียมแบบจ่ายต่อการใช้งานของ AWS
ขอแนะนำไลบรารีโอเพ่นซอร์ส MosaicML Composer
MosaicML Composer เป็นไลบรารีการฝึกอบรม DL แบบโอเพนซอร์สที่สร้างขึ้นเพื่อให้ง่ายต่อการนำอัลกอริธึมล่าสุดมาประกอบเป็นสูตรใหม่ ซึ่งจะช่วยเพิ่มความเร็วในการฝึกโมเดลและช่วยปรับปรุงคุณภาพของโมเดล ในขณะที่เขียนบทความนี้ สนับสนุน PyTorch และมี 25 เทคนิคที่เรียกว่า วิธีการ ในโลก MosaicML—พร้อมกับโมเดลมาตรฐาน ชุดข้อมูล และการวัดประสิทธิภาพ
ผู้แต่งคือ ได้ทาง pip:
pip install mosaicml
เทคนิคการเร่งความเร็วที่ใช้ใน Composer สามารถเข้าถึงได้ด้วย API ที่ใช้งานได้ ตัวอย่างเช่น ตัวอย่างต่อไปนี้ใช้ เบลอพูล เทคนิคของ TorchVision ResNet:
import logging
from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)
model = models.resnet50()
CF.apply_blurpool(model)
นอกจากนี้ คุณยังสามารถใช้ a ครูฝึก เพื่อสร้างการผสมผสานเทคนิคของคุณเอง:
from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast
trainer = Trainer(
model=.. # must be a composer.ComposerModel
train_dataloader=...,
max_duration="2ep", # can be a time, a number of epochs or batches
algorithms=[
LabelSmoothing(smoothing=0.1),
CutMix(alpha=1.0),
ChannelsLast(),
]
)
trainer.fit()
ตัวอย่างวิธีการดำเนินการใน Composer
วิธีการบางอย่างที่มีอยู่ใน Composer นั้นใช้เฉพาะกับคอมพิวเตอร์วิทัศน์ เช่น เทคนิคการเสริมภาพ ColOut, ตัดออก,หรือ การปรับขนาดภาพแบบโปรเกรสซีฟ. อื่น ๆ มีความเฉพาะเจาะจงสำหรับการสร้างแบบจำลองลำดับเช่น วอร์มอัพความยาวลำดับ or อาลีบี. ที่น่าสนใจ มีหลายกรณีที่ไม่เห็นด้วยกับกรณีการใช้งาน และสามารถนำไปใช้กับเครือข่ายประสาท PyTorch ที่หลากหลาย นอกเหนือจากการมองเห็นด้วยคอมพิวเตอร์และ NLP วิธีการเร่งความเร็วการฝึกอบรมเครือข่ายประสาททั่วไปเหล่านั้นรวมถึง ฉลากเรียบ, เลือก Backprop, สุ่มน้ำหนักเฉลี่ย, เลเยอร์แช่แข็งและ การย่อขนาดโดยคำนึงถึงความคมชัด (SAM).
มาเจาะลึกลงไปในบางส่วนที่พบว่ามีประสิทธิภาพโดยเฉพาะอย่างยิ่งโดยทีม MosaicML:
- การย่อขนาดโดยคำนึงถึงความคมชัด (SAM) เป็นเครื่องมือเพิ่มประสิทธิภาพมากกว่าลดทั้งฟังก์ชันการสูญเสียแบบจำลองและความคมชัดโดยคำนวณการไล่ระดับสีสองครั้งสำหรับแต่ละขั้นตอนการปรับให้เหมาะสม หากต้องการจำกัดการประมวลผลเพิ่มเติมเพื่อลงโทษปริมาณงาน คุณสามารถเรียกใช้ SAM เป็นระยะ
- ให้ความสนใจกับอคติเชิงเส้น (ALiBi), ได้รับแรงบันดาลใจจาก กดและคณะเป็นเฉพาะรุ่น Transformers มันขจัดความจำเป็นในการฝังตำแหน่ง โดยแทนที่ด้วยอคติที่ไม่ได้เรียนรู้ไปยังตุ้มน้ำหนักความสนใจ
- เลือก Backprop, ได้รับแรงบันดาลใจจาก เจียงและคณะอนุญาตให้คุณเรียกใช้ back-propagation (อัลกอริธึมที่ปรับปรุงน้ำหนักของโมเดลโดยทำตามความชันของข้อผิดพลาด) เฉพาะในเร็กคอร์ดที่มีฟังก์ชันการสูญเสียสูงเท่านั้น วิธีนี้ช่วยให้คุณหลีกเลี่ยงการประมวลผลที่ไม่จำเป็นและช่วยปรับปรุงปริมาณงาน
การมีเทคนิคเหล่านี้อยู่ในเฟรมเวิร์กการฝึกอบรมแบบย่อส่วนเดียวถือเป็นมูลค่าเพิ่มที่สำคัญสำหรับผู้ปฏิบัติงาน ML สิ่งที่มีค่าเช่นกันคือผลตอบรับภาคสนามที่นำไปปฏิบัติได้ซึ่งทีม MosaicML สร้างขึ้นสำหรับแต่ละเทคนิค ทดสอบและให้คะแนน อย่างไรก็ตาม ด้วยกล่องเครื่องมือที่ครบครันเช่นนี้ คุณอาจสงสัยว่าฉันจะใช้วิธีใด การใช้หลายวิธีร่วมกันจะปลอดภัยหรือไม่? เข้าสู่ MosaicML Explorer
โมเสก เอ็มแอล เอ็กซ์พลอเรอร์
เพื่อหามูลค่าและความเข้ากันได้ของวิธีการฝึกอบรม DL ทีมงาน MosaicML ได้ดูแล สำรวจแดชบอร์ดสดรายแรกที่แสดงภาพการทดลองฝึกอบรม DL หลายสิบรายการผ่านชุดข้อมูลห้าชุดและรุ่นเจ็ดรุ่น แดชบอร์ดรูปภาพ pareto พรมแดนที่ดีที่สุด ในการแลกเปลี่ยนต้นทุน/เวลา/คุณภาพ และให้คุณเรียกดูและค้นหาวิธีการต่างๆ ที่ได้คะแนนสูงสุด ซึ่งเรียกว่า สูตร ในโลก MosaicML—สำหรับโมเดลและชุดข้อมูลที่กำหนด ตัวอย่างเช่น กราฟต่อไปนี้แสดงให้เห็นว่าสำหรับการฝึกอบรม GPT125 พารามิเตอร์ 2M การฝึกอบรมที่ถูกที่สุดที่รักษาความซับซ้อนไว้ที่ 24.11 ได้มาจากการรวม AliBi, Sequence Length Warmup และ Scale Schedule ซึ่งมีค่าใช้จ่ายประมาณ $145.83 ใน AWS Cloud! อย่างไรก็ตาม โปรดทราบว่าการคำนวณต้นทุนนี้และการคำนวณที่ตามมาในโพสต์นี้อิงจากการคำนวณแบบออนดีมานด์ของ EC2 เท่านั้น อาจมีการพิจารณาต้นทุนอื่นๆ ขึ้นอยู่กับสภาพแวดล้อมและความต้องการทางธุรกิจของคุณ
ความสำเร็จที่โดดเด่นกับ Composer บน AWS
ด้วยการเรียกใช้ไลบรารี Composer บน AWS ทีม MosaicML ได้ผลลัพธ์ที่น่าประทับใจมากมาย โปรดทราบว่าค่าใช้จ่ายโดยประมาณที่รายงานโดยทีม MosaicML ประกอบด้วยค่าบริการคำนวณตามต้องการเท่านั้น
สรุป
คุณสามารถเริ่มต้นใช้งาน Composer บนแพลตฟอร์มที่เข้ากันได้ ตั้งแต่แล็ปท็อปไปจนถึงเซิร์ฟเวอร์คลาวด์ขนาดใหญ่ที่ติดตั้ง GPU ห้องสมุดมีคุณสมบัติที่ใช้งานง่าย ยินดีต้อนรับทัวร์ และ เริ่มต้นใช้งาน หน้าเอกสาร การใช้ Composer ใน AWS ช่วยให้คุณรวบรวมวิทยาศาสตร์การเพิ่มประสิทธิภาพต้นทุนของ Composer ด้วยบริการและโปรแกรมการเพิ่มประสิทธิภาพต้นทุนของ AWS รวมถึงการคำนวณเฉพาะจุด (Amazon EC2, อเมซอน SageMaker), แผนการออม, การปรับโมเดลอัตโนมัติของ SageMaker, และอื่น ๆ. ทีมงาน MosaicML ดูแล a เกี่ยวกับการสอน ของ Composer บน AWS โดยจะแสดงการสาธิตทีละขั้นตอนเกี่ยวกับวิธีการสร้างผลลัพธ์ MLPerf และฝึกอบรม ResNet-50 บน AWS ให้มีความแม่นยำสูงสุด 76.6% มาตรฐานสูงสุดในเวลาเพียง 1 นาที
หากคุณกำลังดิ้นรนกับโครงข่ายประสาทเทียมที่ฝึกช้าเกินไป หรือหากคุณต้องการควบคุมค่าใช้จ่ายในการฝึกอบรม DL ให้ทดลองใช้ MosaicML บน AWS แล้วแจ้งให้เราทราบว่าคุณสร้างอะไร!
เกี่ยวกับผู้แต่ง
บันดิช ชาห์ เป็นผู้จัดการฝ่ายวิศวกรรมที่ MosaicML ซึ่งทำงานเพื่อเชื่อมโยงการเรียนรู้เชิงลึกที่มีประสิทธิภาพด้วยระบบกระจายขนาดใหญ่และการคำนวณประสิทธิภาพ Bandish มีประสบการณ์มากกว่าทศวรรษในการสร้างระบบสำหรับแมชชีนเลิร์นนิงและแอปพลิเคชันระดับองค์กร เขาสนุกกับการใช้เวลากับเพื่อนและครอบครัว ทำอาหาร และดู Star Trek ซ้ำๆ เพื่อหาแรงบันดาลใจ
โอลิวิเยร์ ครูแชนท์ เป็นสถาปนิกโซลูชัน Machine Learning Specialist Solutions ที่ AWS ซึ่งตั้งอยู่ในฝรั่งเศส Olivier ช่วยลูกค้า AWS ตั้งแต่สตาร์ทอัพขนาดเล็กไปจนถึงองค์กรขนาดใหญ่ พัฒนาและปรับใช้แอปพลิเคชันแมชชีนเลิร์นนิงระดับการผลิต ในเวลาว่าง เขาชอบอ่านงานวิจัยและสำรวจพื้นที่รกร้างว่างเปล่ากับเพื่อนๆ และครอบครัว
- ขั้นสูง (300)
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- อเมซอน แมชชีนเลิร์นนิง
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ในการธนาคาร
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- AWS Machine Learning AWS
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- วิสัยทัศน์คอมพิวเตอร์
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- การเรียนรู้ลึก ๆ
- google ai
- เรียนรู้เครื่อง
- NLP
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ไฟฉาย
- PyTorch บน AWS
- ขนาดไอ
- วากยสัมพันธ์
- ลมทะเล