ลดเวลาและต้นทุนการฝึกอบรมการเรียนรู้เชิงลึกด้วย MosaicML Composer บน AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.

ลดเวลาและค่าใช้จ่ายในการฝึกอบรมเชิงลึกด้วย MosaicML Composer บน AWS

ในทศวรรษที่ผ่านมาเราได้เห็น วิทยาศาสตร์การเรียนรู้เชิงลึก (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 เท่านั้น อาจมีการพิจารณาต้นทุนอื่นๆ ขึ้นอยู่กับสภาพแวดล้อมและความต้องการทางธุรกิจของคุณ

สกรีนช็อตของ MosaicML Explorer สำหรับการฝึกอบรม GPT-2

ความสำเร็จที่โดดเด่นกับ 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 Composer บน AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.บันดิช ชาห์ เป็นผู้จัดการฝ่ายวิศวกรรมที่ MosaicML ซึ่งทำงานเพื่อเชื่อมโยงการเรียนรู้เชิงลึกที่มีประสิทธิภาพด้วยระบบกระจายขนาดใหญ่และการคำนวณประสิทธิภาพ Bandish มีประสบการณ์มากกว่าทศวรรษในการสร้างระบบสำหรับแมชชีนเลิร์นนิงและแอปพลิเคชันระดับองค์กร เขาสนุกกับการใช้เวลากับเพื่อนและครอบครัว ทำอาหาร และดู Star Trek ซ้ำๆ เพื่อหาแรงบันดาลใจ

ลดเวลาและต้นทุนการฝึกอบรมการเรียนรู้เชิงลึกด้วย MosaicML Composer บน AWS PlatoBlockchain Data Intelligence ค้นหาแนวตั้ง AI.โอลิวิเยร์ ครูแชนท์ เป็นสถาปนิกโซลูชัน Machine Learning Specialist Solutions ที่ AWS ซึ่งตั้งอยู่ในฝรั่งเศส Olivier ช่วยลูกค้า AWS ตั้งแต่สตาร์ทอัพขนาดเล็กไปจนถึงองค์กรขนาดใหญ่ พัฒนาและปรับใช้แอปพลิเคชันแมชชีนเลิร์นนิงระดับการผลิต ในเวลาว่าง เขาชอบอ่านงานวิจัยและสำรวจพื้นที่รกร้างว่างเปล่ากับเพื่อนๆ และครอบครัว

ประทับเวลา:

เพิ่มเติมจาก AWS Machine Learning AWS