อเมซอน SageMaker เป็นบริการที่มีการจัดการเต็มรูปแบบซึ่งช่วยให้นักพัฒนาและนักวิทยาศาสตร์ข้อมูลสามารถสร้าง ฝึกฝน และปรับใช้โมเดลแมชชีนเลิร์นนิง (ML) ได้อย่างรวดเร็ว ด้วย SageMaker คุณสามารถปรับใช้โมเดล ML บนปลายทางที่โฮสต์และรับผลการอนุมานได้แบบเรียลไทม์ คุณสามารถดูเมตริกประสิทธิภาพสำหรับปลายทางของคุณได้อย่างง่ายดายใน อเมซอน คลาวด์วอตช์, ปรับขนาดจุดสิ้นสุดโดยอัตโนมัติ ตามทราฟฟิก และอัปเดตโมเดลของคุณในการผลิตโดยไม่สูญเสียความพร้อมใช้งานใดๆ SageMaker มีตัวเลือกมากมายในการปรับใช้โมเดล ML สำหรับการอนุมานด้วยวิธีใดๆ ต่อไปนี้ ขึ้นอยู่กับกรณีการใช้งานของคุณ:
- สำหรับการคาดคะเนแบบซิงโครนัสที่ต้องแสดงตามลำดับมิลลิวินาที ให้ใช้ SageMaker การอนุมานตามเวลาจริง
- สำหรับปริมาณงานที่มีช่วงว่างระหว่างการกระเพื่อมของทราฟฟิกและสามารถทนต่อการสตาร์ทเย็นได้ ให้ใช้ การอนุมานแบบไร้เซิร์ฟเวอร์
- สำหรับคำขอที่มีขนาดเพย์โหลดขนาดใหญ่ถึง 1 GB เวลาในการประมวลผลที่ยาวนาน (สูงสุด 15 นาที) และความต้องการเวลาแฝงที่ใกล้เคียงเรียลไทม์ (วินาทีถึงนาที) ให้ใช้ SageMaker การอนุมานแบบอะซิงโครนัส
- หากต้องการรับการคาดการณ์สำหรับชุดข้อมูลทั้งหมด ให้ใช้ SageMaker การแปลงแบทช์
การอนุมานแบบเรียลไทม์เหมาะอย่างยิ่งสำหรับการอนุมานปริมาณงานที่คุณมีความต้องการตามเวลาจริง แบบโต้ตอบ และเวลาแฝงต่ำ คุณปรับใช้โมเดลของคุณกับบริการโฮสติ้งของ SageMaker และรับตำแหน่งข้อมูลที่สามารถใช้ในการอนุมานได้ อุปกรณ์ปลายทางเหล่านี้ได้รับการสนับสนุนโดยโครงสร้างพื้นฐานและการสนับสนุนที่มีการจัดการเต็มรูปแบบ ปรับขนาดอัตโนมัติ. คุณสามารถปรับปรุงประสิทธิภาพและต้นทุนได้โดยการรวมหลายรุ่นไว้ในจุดสิ้นสุดเดียวโดยใช้ ปลายทางหลายรุ่น or จุดสิ้นสุดหลายคอนเทนเนอร์.
มีกรณีการใช้งานบางกรณีที่คุณต้องการปรับใช้รุ่นต่างๆ ของรุ่นเดียวกันในการผลิตเพื่อวัดประสิทธิภาพ ตรวจวัดการปรับปรุง หรือเรียกใช้การทดสอบ A/B ในกรณีดังกล่าว จุดสิ้นสุดแบบหลายตัวแปรของ SageMaker มีประโยชน์เพราะทำให้คุณสามารถปรับใช้รูปแบบการผลิตที่หลากหลายของแบบจำลองไปยังตำแหน่งข้อมูล SageMaker เดียวกันได้
ในโพสต์นี้ เราจะหารือเกี่ยวกับจุดสิ้นสุดแบบหลายตัวแปรของ SageMaker และแนวทางปฏิบัติที่ดีที่สุดสำหรับการเพิ่มประสิทธิภาพ
การเปรียบเทียบตัวเลือกการอนุมานตามเวลาจริงของ SageMaker
แผนภาพต่อไปนี้แสดงภาพรวมอย่างรวดเร็วของตัวเลือกการอนุมานตามเวลาจริงด้วย SageMaker
จุดสิ้นสุดโมเดลเดียวช่วยให้คุณปรับใช้โมเดลหนึ่งโมเดลบนคอนเทนเนอร์ที่โฮสต์บนอินสแตนซ์เฉพาะหรือแบบไร้เซิร์ฟเวอร์สำหรับเวลาแฝงต่ำและปริมาณงานสูง คุณสามารถสร้างแบบจำลองและ กู้ a รูปภาพที่รองรับ SageMaker สำหรับเฟรมเวิร์กยอดนิยม เช่น TensorFlow, PyTorch, Scikit-learn และอื่นๆ หากคุณกำลังทำงานกับเฟรมเวิร์กแบบกำหนดเองสำหรับโมเดลของคุณ คุณก็สามารถทำได้เช่นกัน นำภาชนะของคุณเอง ที่ติดตั้งการพึ่งพาของคุณ
SageMaker ยังสนับสนุนตัวเลือกขั้นสูงเพิ่มเติม เช่น จุดสิ้นสุดแบบหลายรุ่น (MME) และจุดสิ้นสุดแบบหลายคอนเทนเนอร์ (MCE) MME มีประโยชน์เมื่อคุณจัดการกับโมเดลหลายร้อยถึงหมื่นโมเดล และในกรณีที่คุณไม่จำเป็นต้องปรับใช้แต่ละโมเดลเป็นจุดสิ้นสุดแต่ละรายการ MME ช่วยให้คุณสามารถโฮสต์หลายโมเดลในลักษณะที่คุ้มค่าและปรับขนาดได้ภายในจุดสิ้นสุดเดียวกันโดยใช้คอนเทนเนอร์ที่ให้บริการที่ใช้ร่วมกันซึ่งโฮสต์บนอินสแตนซ์ โครงสร้างพื้นฐาน (คอนเทนเนอร์และอินสแตนซ์) ยังคงเหมือนเดิม แต่โมเดลจะถูกโหลดและยกเลิกการโหลดแบบไดนามิกจากตำแหน่ง S3 ทั่วไป ตามการใช้งานและจำนวนหน่วยความจำที่มีอยู่บนเอ็นด์พอยท์ แอปพลิเคชันของคุณเพียงแค่ต้องรวมการเรียก API กับโมเดลเป้าหมายไปยังจุดสิ้นสุดนี้เพื่อให้ได้การอนุมานที่มีเวลาแฝงต่ำและปริมาณงานสูง แทนที่จะต้องจ่ายเงินเพื่อซื้ออุปกรณ์ปลายทางแยกต่างหากสำหรับทุกๆ รุ่น คุณสามารถโฮสต์โมเดลหลายๆ รุ่นได้ในราคาของอุปกรณ์ปลายทางเดียว
MCE ช่วยให้คุณสามารถเรียกใช้คอนเทนเนอร์ ML ที่แตกต่างกันได้ถึง 15 รายการบนจุดสิ้นสุดเดียวและเรียกใช้งานโดยอิสระ คุณสามารถสร้างคอนเทนเนอร์ ML เหล่านี้บนสแต็กการให้บริการที่แตกต่างกัน (เช่น เฟรมเวิร์ก ML, เซิร์ฟเวอร์แบบจำลอง และอัลกอริทึม) เพื่อให้ทำงานบนจุดสิ้นสุดเดียวกันเพื่อประหยัดค่าใช้จ่าย คุณสามารถเย็บภาชนะเข้าด้วยกันใน ไปป์ไลน์การอนุมานแบบอนุกรม หรือเรียกใช้คอนเทนเนอร์อย่างอิสระ ซึ่งจะเหมาะที่สุดเมื่อคุณมีโมเดล ML ที่แตกต่างกันหลายรุ่นซึ่งมีรูปแบบการรับส่งข้อมูลที่แตกต่างกันและมีความต้องการทรัพยากรที่คล้ายคลึงกัน ตัวอย่างของการใช้ MCE รวมถึงแต่ไม่จำกัดเพียงสิ่งต่อไปนี้:
- โมเดลการโฮสต์บนเฟรมเวิร์กต่างๆ (เช่น TensorFlow, PyTorch และ Scikit-learn) ที่มีทราฟฟิกไม่เพียงพอที่จะทำให้อินสแตนซ์เต็มความจุ
- โมเดลการโฮสต์จากเฟรมเวิร์กเดียวกันกับอัลกอริธึม ML ที่แตกต่างกัน (เช่น คำแนะนำ การคาดการณ์ หรือการจัดประเภท) และฟังก์ชันตัวจัดการ
- การเปรียบเทียบสถาปัตยกรรมที่คล้ายกันที่ทำงานบนเฟรมเวิร์กเวอร์ชันต่างๆ (เช่น TensorFlow 1.x กับ TensorFlow 2.x) สำหรับสถานการณ์ต่างๆ เช่น การทดสอบ A/B
จุดสิ้นสุดแบบหลายตัวแปรของ SageMaker (MVE) ช่วยให้คุณสามารถทดสอบโมเดลหลายรุ่นหรือหลายรุ่นหลังจุดสิ้นสุดเดียวกันโดยใช้ตัวแปรการผลิต ตัวแปรการผลิตแต่ละรายการจะระบุโมเดล ML และทรัพยากรที่ใช้สำหรับการโฮสต์โมเดล เช่น คอนเทนเนอร์ที่ให้บริการและอินสแตนซ์
ภาพรวมของปลายทางแบบหลายตัวแปรของ SageMaker
ในเวิร์กโฟลว์ ML การผลิต นักวิทยาศาสตร์ข้อมูลและวิศวกร ML ปรับปรุงโมเดลด้วยวิธีการที่หลากหลาย เช่น การฝึกอบรมใหม่ตามการเบี่ยงเบนของข้อมูล/โมเดล/แนวคิด การปรับไฮเปอร์พารามิเตอร์ การเลือกคุณสมบัติ การเลือกเฟรมเวิร์ก และอื่นๆ การดำเนินการทดสอบ A/B ระหว่างโมเดลใหม่และโมเดลเก่าที่มีทราฟฟิกที่ใช้งานจริงอาจเป็นขั้นตอนสุดท้ายที่มีประสิทธิภาพในกระบวนการตรวจสอบความถูกต้องสำหรับโมเดลใหม่ ในการทดสอบ A/B คุณจะทดสอบรูปแบบต่างๆ ของรุ่นและเปรียบเทียบประสิทธิภาพของรูปแบบต่างๆ ที่สัมพันธ์กัน จากนั้นคุณเลือกรุ่นที่มีประสิทธิภาพดีที่สุดเพื่อแทนที่รุ่นก่อนหน้าด้วยรุ่นใหม่ที่ให้ประสิทธิภาพดีกว่ารุ่นก่อนหน้า เมื่อใช้ตัวแปรการผลิต คุณสามารถทดสอบโมเดล ML เหล่านี้และเวอร์ชันของโมเดลต่างๆ ที่อยู่เบื้องหลังตำแหน่งข้อมูลเดียวกันได้ คุณสามารถฝึกโมเดล ML เหล่านี้ได้โดยใช้ชุดข้อมูล อัลกอริทึมต่างๆ และเฟรมเวิร์ก ML ที่แตกต่างกัน ปรับใช้กับอินสแตนซ์ประเภทต่างๆ หรือตัวเลือกเหล่านี้รวมกัน โหลดบาลานเซอร์ที่เชื่อมต่อกับตำแหน่งข้อมูล SageMaker ให้ความสามารถในการกระจายคำขอการเรียกใช้ไปยังตัวแปรการผลิตต่างๆ ตัวอย่างเช่น คุณสามารถกระจายทราฟฟิกระหว่างตัวแปรการผลิตโดยระบุการกระจายทราฟฟิกสำหรับแต่ละตัวแปร หรือคุณสามารถเรียกใช้ตัวแปรเฉพาะโดยตรงสำหรับแต่ละคำขอ
คุณยังสามารถกำหนดค่านโยบายการปรับขนาดอัตโนมัติเพื่อปรับขนาดตัวแปรเข้าหรือออกโดยอัตโนมัติตามเมตริก เช่น คำขอต่อวินาที
แผนภาพต่อไปนี้แสดงวิธีการทำงานของ MVE ในรายละเอียดเพิ่มเติม
การปรับใช้ MVE นั้นตรงไปตรงมามากเช่นกัน สิ่งที่คุณต้องทำคือกำหนดวัตถุโมเดลด้วยรูปภาพและข้อมูลโมเดลโดยใช้ create_model
สร้างจาก SageMaker Python SDK และกำหนดการกำหนดค่าปลายทางโดยใช้ production_variant
สร้างเพื่อสร้างรูปแบบการผลิต โดยแต่ละรูปแบบมีรูปแบบและความต้องการทรัพยากรที่แตกต่างกัน (ประเภทอินสแตนซ์และจำนวน) สิ่งนี้ทำให้คุณสามารถทดสอบโมเดลบนอินสแตนซ์ประเภทต่างๆ หากต้องการปรับใช้ ให้ใช้ไฟล์ endpoint_from_production_variant
สร้างเพื่อสร้างจุดสิ้นสุด
ระหว่างการสร้างจุดสิ้นสุด SageMaker จัดเตรียมอินสแตนซ์การโฮสต์ที่ระบุในการตั้งค่าจุดสิ้นสุด และดาวน์โหลดโมเดลและคอนเทนเนอร์การอนุมานที่ระบุโดยตัวแปรการผลิตไปยังอินสแตนซ์การโฮสต์ หากตอบกลับสำเร็จหลังจากเริ่มคอนเทนเนอร์และดำเนินการตรวจสอบความสมบูรณ์ด้วยการ ping ข้อความที่ระบุว่าการสร้างปลายทางเสร็จสมบูรณ์จะถูกส่งไปยังผู้ใช้ ดูรหัสต่อไปนี้:
ในตัวอย่างก่อนหน้านี้ เราสร้างตัวแปรสองรายการ โดยแต่ละรายการมีรูปแบบที่แตกต่างกัน (เหล่านี้อาจมีประเภทและจำนวนอินสแตนซ์ต่างกันด้วย) เราตั้งค่า initial_weight
จาก 1 สำหรับตัวแปรทั้งสอง: หมายความว่า 50% ของคำขอของเราไปที่ Variant1
, และอีก 50% ที่เหลือเป็น Variant2
. ผลรวมของน้ำหนักของตัวแปรทั้งสองคือ 2 และแต่ละตัวแปรมีการกำหนดน้ำหนักเป็น 1 ซึ่งหมายความว่าแต่ละตัวแปรจะได้รับ 50% ของการเข้าชมทั้งหมด
การเรียกใช้จุดสิ้นสุดนั้นคล้ายกับโครงสร้าง SageMaker ทั่วไป invoke_endpoint
; คุณสามารถโทรหาปลายทางได้โดยตรงด้วยข้อมูลเป็นเพย์โหลด:
SageMaker ปล่อยตัวชี้วัดเช่น Latency
และ Invocations
สำหรับแต่ละตัวแปรใน CloudWatch สำหรับรายการเมตริกทั้งหมดที่ SageMaker แสดง โปรดดู ตรวจสอบ Amazon SageMaker ด้วย Amazon CloudWatch. คุณสามารถสอบถาม CloudWatch เพื่อรับจำนวนการเรียกใช้สำหรับแต่ละตัวแปร เพื่อดูว่าการเรียกใช้ถูกแยกตามตัวแปรตามค่าเริ่มต้นอย่างไร
หากต้องการเรียกใช้รุ่นเฉพาะของรุ่น ให้ระบุตัวแปรเป็น TargetVariant
ในการโทร invoke_endpoint
:
คุณสามารถประเมินประสิทธิภาพของตัวแปรการผลิตแต่ละรายการได้โดยการตรวจสอบเมตริกต่างๆ เช่น ความแม่นยำ ความแม่นยำ การเรียกคืน คะแนน F1 และลักษณะ/พื้นที่การทำงานของเครื่องรับภายใต้เส้นโค้งสำหรับแต่ละตัวแปรโดยใช้ การตรวจสอบโมเดล Amazon SageMaker. จากนั้น คุณสามารถตัดสินใจเพิ่มการเข้าชมไปยังรุ่นที่ดีที่สุดโดยการอัปเดตน้ำหนักที่กำหนดให้กับตัวแปรแต่ละตัวโดยการโทร อัปเดตจุดสิ้นสุดน้ำหนักและความจุ. สิ่งนี้จะเปลี่ยนการกระจายการรับส่งข้อมูลไปยังรูปแบบการผลิตของคุณโดยไม่ต้องมีการอัปเดตปลายทางของคุณ ดังนั้น แทนที่จะเป็น 50% ของการเข้าชมจากการตั้งค่าเริ่มต้น เราจึงเปลี่ยน 75% ของการเข้าชมเป็น Variant2
โดยกำหนดน้ำหนักใหม่ให้กับแต่ละตัวแปรโดยใช้ UpdateEndpointWeightsAndCapacities
. ดูรหัสต่อไปนี้:
เมื่อคุณพอใจกับประสิทธิภาพของตัวแปร คุณสามารถกำหนดเส้นทางการรับส่งข้อมูล 100% ไปยังตัวแปรนั้นได้ ตัวอย่างเช่น คุณสามารถตั้งค่าน้ำหนักสำหรับ Variant1
ถึง 0 และน้ำหนักสำหรับ Variant2
ถึง 1 จากนั้น SageMaker จะส่งคำขอการอนุมานทั้งหมด 100% ไปยัง Variant2
. จากนั้นคุณสามารถอัปเดตตำแหน่งข้อมูลและลบได้อย่างปลอดภัย Variant1
จากปลายทางของคุณ คุณยังสามารถทดสอบโมเดลใหม่ในการผลิตต่อไปได้โดยเพิ่มตัวแปรใหม่ไปยังตำแหน่งข้อมูลของคุณ คุณยังสามารถกำหนดค่าปลายทางเหล่านี้เพื่อปรับขนาดโดยอัตโนมัติตามการรับส่งข้อมูลที่ปลายทางได้รับ
ข้อดีของจุดสิ้นสุดแบบหลายตัวแปร
SageMaker MVE ช่วยให้คุณทำสิ่งต่อไปนี้ได้:
- ปรับใช้และทดสอบรูปแบบที่หลากหลายโดยใช้ตำแหน่งข้อมูล SageMaker เดียวกัน สิ่งนี้มีประโยชน์สำหรับการทดสอบความผันแปรของแบบจำลองในการผลิต ตัวอย่างเช่น สมมติว่าคุณได้ปรับใช้แบบจำลองในการผลิต คุณสามารถทดสอบรูปแบบต่างๆ ของโมเดลได้โดยกำหนดปริมาณการเข้าชมจำนวนเล็กน้อย เช่น 5% ไปยังโมเดลใหม่
- ประเมินประสิทธิภาพของโมเดลในการผลิตโดยไม่ขัดจังหวะทราฟฟิกโดยการตรวจสอบเมตริกการดำเนินงานสำหรับแต่ละตัวแปรใน CloudWatch
- อัปเดตโมเดลในการผลิตโดยไม่สูญเสียความพร้อมใช้งานใดๆ คุณสามารถแก้ไขจุดสิ้นสุดโดยไม่ต้องใช้โมเดลที่ใช้งานจริงแล้วที่ไม่ได้ให้บริการ ตัวอย่างเช่น คุณสามารถเพิ่มตัวแปรโมเดลใหม่ อัปเดตการกำหนดค่าอินสแตนซ์การประมวลผล ML ของตัวแปรโมเดลที่มีอยู่ หรือเปลี่ยนการกระจายการรับส่งข้อมูลระหว่างตัวแปรโมเดล สำหรับข้อมูลเพิ่มเติม โปรดดูที่ อัปเดตจุดสิ้นสุด และ อัปเดตจุดสิ้นสุดน้ำหนักและความจุ.
ความท้าทายเมื่อใช้ปลายทางหลายตัวแปร
MVE ของ SageMaker มาพร้อมกับความท้าทายต่อไปนี้:
- โหลดความพยายามในการทดสอบ – คุณต้องใช้ความพยายามและทรัพยากรพอสมควรสำหรับการทดสอบและการเปรียบเทียบเมทริกซ์แบบจำลองสำหรับแต่ละตัวแปร เพื่อให้การทดสอบ A/B ประสบความสำเร็จ คุณต้องทำการวิเคราะห์ทางสถิติของเมตริกที่รวบรวมจากการทดสอบเพื่อดูว่ามีผลลัพธ์ที่มีนัยสำคัญทางสถิติหรือไม่ อาจกลายเป็นเรื่องยากที่จะลดการสำรวจตัวแปรที่มีประสิทธิภาพต่ำให้เหลือน้อยที่สุด คุณสามารถใช้ โจรหลายอาวุธ เทคนิคการเพิ่มประสิทธิภาพเพื่อหลีกเลี่ยงการส่งการเข้าชมไปยังการทดสอบที่ไม่ได้ผล และเพิ่มประสิทธิภาพในขณะที่คุณทดสอบ สำหรับการทดสอบโหลด คุณสามารถสำรวจได้เช่นกัน ผู้แนะนำการอนุมานของ Amazon SageMaker เพื่อดำเนินการวัดประสิทธิภาพที่ครอบคลุมตามข้อกำหนดการผลิตสำหรับเวลาแฝงและปริมาณงาน รูปแบบการรับส่งข้อมูลที่กำหนดเอง และอินสแตนซ์ (สูงสุด 10 รายการ) ที่คุณเลือก
- การมีเพศสัมพันธ์ที่แน่นหนาระหว่างตัวแปรรุ่นและจุดสิ้นสุด – อาจเป็นเรื่องยุ่งยากขึ้นอยู่กับความถี่ในการปรับใช้โมเดล เนื่องจากจุดสิ้นสุดอาจสิ้นสุดใน
updating
สถานะสำหรับแต่ละรุ่นการผลิตที่กำลังปรับปรุง SageMaker ยังรองรับ รั้วการติดตั้งซึ่งคุณสามารถใช้เพื่อเปลี่ยนจากรุ่นปัจจุบันที่ใช้งานจริงเป็นรุ่นใหม่ได้อย่างง่ายดายด้วยวิธีที่ควบคุมได้ ตัวเลือกนี้แนะนำ นกขมิ้น และ เชิงเส้น โหมดการเปลี่ยนการรับส่งข้อมูล เพื่อให้คุณสามารถควบคุมอย่างละเอียดเกี่ยวกับการเปลี่ยนการรับส่งข้อมูลจากรุ่นปัจจุบันของคุณไปยังรุ่นใหม่ในระหว่างการอัปเดต ด้วยการป้องกันในตัว เช่น การย้อนกลับอัตโนมัติ คุณสามารถตรวจพบปัญหาได้ตั้งแต่เนิ่นๆ และดำเนินการแก้ไขโดยอัตโนมัติก่อนที่จะทำให้เกิดผลกระทบต่อการผลิตอย่างมาก
แนวทางปฏิบัติที่ดีที่สุดสำหรับปลายทางหลายตัวแปร
เมื่อโฮสต์โมเดลโดยใช้ SageMaker MVE ให้พิจารณาสิ่งต่อไปนี้:
- SageMaker นั้นยอดเยี่ยมสำหรับการทดสอบโมเดลใหม่ๆ เพราะคุณสามารถปรับใช้ในสภาพแวดล้อมการทดสอบ A/B ได้อย่างง่ายดาย และคุณจ่ายเฉพาะสิ่งที่คุณใช้เท่านั้น คุณจะถูกเรียกเก็บเงินต่อชั่วโมงอินสแตนซ์ที่ใช้สำหรับแต่ละอินสแตนซ์ขณะที่จุดสิ้นสุดกำลังทำงาน เมื่อคุณทำการทดสอบเสร็จแล้วและไม่ได้ใช้จุดสิ้นสุดหรือตัวแปรมากเกินไปอีกต่อไป คุณควรลบออกเพื่อประหยัดค่าใช้จ่าย คุณสามารถสร้างใหม่ได้ทุกเมื่อที่ต้องการอีกครั้ง เนื่องจากโมเดลถูกจัดเก็บไว้ใน บริการจัดเก็บข้อมูลอย่างง่ายของ Amazon (อเมซอน เอส3).
- คุณควรใช้ประเภทและขนาดอินสแตนซ์ที่เหมาะสมที่สุดในการปรับใช้โมเดล ปัจจุบัน SageMaker นำเสนอ อินสแตนซ์การคำนวณ ML ในครอบครัวตัวอย่างต่างๆ อินสแตนซ์ปลายทางทำงานตลอดเวลา (ในขณะที่อินสแตนซ์อยู่ในบริการ) ดังนั้น การเลือกประเภทอินสแตนซ์ที่เหมาะสมจึงส่งผลอย่างมากต่อต้นทุนและประสิทธิภาพของโมเดล ML ทั้งหมด โหลดการทดสอบ เป็นแนวทางปฏิบัติที่ดีที่สุดในการกำหนดประเภทอินสแตนซ์และขนาดฟลีตที่เหมาะสม โดยมีหรือไม่มีการปรับขนาดอัตโนมัติสำหรับตำแหน่งข้อมูลสดของคุณเพื่อหลีกเลี่ยงการจัดสรรเกินและจ่ายเพิ่มสำหรับความจุที่คุณไม่ต้องการ
- คุณสามารถตรวจสอบประสิทธิภาพของโมเดลและการใช้ทรัพยากรใน CloudWatch คุณสามารถกำหนดค่า
ProductionVariant
ใช้ แอปพลิเคชัน Auto Scaling. ในการระบุเมตริกและค่าเป้าหมายสำหรับนโยบายมาตราส่วน คุณต้องกำหนดค่านโยบายมาตราส่วนการติดตามเป้าหมาย คุณสามารถใช้เมตริกที่กำหนดไว้ล่วงหน้าหรือเมตริกที่กำหนดเองก็ได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับไวยากรณ์การกำหนดค่านโยบาย โปรดดูที่ การกำหนดค่า TargetTrackingScalingPolicy. สำหรับข้อมูลเกี่ยวกับการกำหนดค่ามาตราส่วนอัตโนมัติ โปรดดูที่ ปรับขนาดโมเดล Amazon SageMaker โดยอัตโนมัติ. หากต้องการกำหนดนโยบายมาตราส่วนการติดตามเป้าหมายอย่างรวดเร็วสำหรับตัวแปร คุณสามารถเลือกเมตริก CloudWatch เฉพาะและตั้งค่าเกณฑ์ได้ ตัวอย่างเช่น ใช้เมตริกSageMakerVariantInvocationsPerInstance
เพื่อตรวจสอบจำนวนครั้งเฉลี่ยต่อนาทีที่แต่ละอินสแตนซ์สำหรับตัวแปรถูกเรียกใช้ หรือใช้เมตริกCPUUtilization
เพื่อตรวจสอบผลรวมของงานที่จัดการโดย CPU ตัวอย่างต่อไปนี้ใช้SageMakerVariantInvocationsPerInstance
เมตริกที่กำหนดไว้ล่วงหน้าเพื่อปรับจำนวนอินสแตนซ์ตัวแปรเพื่อให้แต่ละอินสแตนซ์มีInvocationsPerInstance
เมตริก 70:
- การเปลี่ยนหรือลบอาร์ติแฟกต์ของโมเดลหรือการเปลี่ยนรหัสอนุมานหลังจากปรับใช้โมเดลจะให้ผลลัพธ์ที่คาดเดาไม่ได้ ก่อนนำโมเดลไปใช้งานจริง เป็นแนวปฏิบัติที่ดีในการตรวจสอบว่าการโฮสต์โมเดลในโหมดโลคัลสำเร็จหรือไม่หลังจากดีบักข้อมูลโค้ดอนุมานอย่างเพียงพอ (เช่น
model_fn
,input_fn
,predict_fn
และoutput_fn
) ในสภาพแวดล้อมการพัฒนาท้องถิ่น เช่น อินสแตนซ์โน้ตบุ๊ก SageMaker หรือเซิร์ฟเวอร์ภายใน หากคุณต้องการเปลี่ยนหรือลบอาร์ติแฟกต์แบบจำลองหรือเปลี่ยนรหัสอนุมาน ให้แก้ไขจุดสิ้นสุดโดยกำหนดการกำหนดค่าจุดสิ้นสุดใหม่ หลังจากที่คุณระบุการกำหนดค่าปลายทางใหม่แล้ว คุณจะเปลี่ยนหรือลบอาร์ติแฟกต์โมเดลที่สอดคล้องกับการกำหนดค่าปลายทางเก่าได้ - คุณสามารถใช้ SageMaker การแปลงแบทช์ เพื่อทดสอบสายพันธุ์การผลิต การแปลงเป็นชุดเหมาะอย่างยิ่งสำหรับการอนุมานจากชุดข้อมูลขนาดใหญ่ คุณสามารถสร้างงานการแปลงแยกต่างหากสำหรับตัวแปรโมเดลใหม่แต่ละรายการ และใช้ชุดข้อมูลการตรวจสอบเพื่อทดสอบ สำหรับงานการแปลงแต่ละรายการ ให้ระบุชื่อรุ่นและตำแหน่งที่ไม่ซ้ำกันใน Amazon S3 สำหรับไฟล์เอาต์พุต ในการวิเคราะห์ผลลัพธ์ให้ใช้ บันทึกไปป์ไลน์อนุมานและเมตริก.
สรุป
SageMaker ช่วยให้คุณสามารถทดสอบ A/B แบบจำลอง ML ในการผลิตได้อย่างง่ายดายโดยการเรียกใช้ตัวแปรการผลิตหลายรายการบนจุดสิ้นสุด คุณสามารถใช้ความสามารถของ SageMaker เพื่อทดสอบโมเดลที่ได้รับการฝึกอบรมโดยใช้ชุดข้อมูลการฝึกอบรม ไฮเปอร์พารามิเตอร์ อัลกอริทึม หรือเฟรมเวิร์ก ML ที่แตกต่างกัน วิธีการทำงานของอินสแตนซ์ประเภทต่างๆ หรือรวมกันทั้งหมดข้างต้น คุณสามารถระบุการกระจายการรับส่งข้อมูลระหว่างตัวแปรบนจุดสิ้นสุด และ SageMaker แยกการรับส่งข้อมูลโดยอนุมานไปยังตัวแปรตามการกระจายที่ระบุ อีกทางหนึ่ง หากคุณต้องการทดสอบโมเดลสำหรับกลุ่มลูกค้าเฉพาะ คุณสามารถระบุตัวแปรที่ควรประมวลผลคำขอการอนุมานโดยระบุ TargetVariant
ส่วนหัว และ SageMaker จะกำหนดเส้นทางคำขอไปยังตัวแปรที่คุณระบุ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบ A/B โปรดดู อัปเดตโมเดลในการผลิตอย่างปลอดภัย.
อ้างอิง
เกี่ยวกับผู้แต่ง
ทีปาลี ราจาเล เป็นผู้จัดการบัญชีทางเทคนิคผู้เชี่ยวชาญ AI/ML ที่ Amazon Web Services เธอทำงานร่วมกับลูกค้าระดับองค์กรโดยให้คำแนะนำด้านเทคนิคเกี่ยวกับการนำโซลูชันแมชชีนเลิร์นนิงไปใช้พร้อมแนวทางปฏิบัติที่ดีที่สุด ในเวลาว่าง เธอชอบไปปีนเขา ดูภาพยนตร์ และออกไปเที่ยวกับครอบครัวและเพื่อนๆ
ดาวัล พาเทล เป็นหัวหน้าสถาปนิก Machine Learning ที่ AWS เขาได้ทำงานร่วมกับองค์กรต่างๆ ตั้งแต่องค์กรขนาดใหญ่ไปจนถึงสตาร์ทอัพขนาดกลางในปัญหาที่เกี่ยวข้องกับการคำนวณแบบกระจายและปัญญาประดิษฐ์ เขามุ่งเน้นไปที่การเรียนรู้อย่างลึกซึ้งรวมถึงโดเมน NLP และ Computer Vision เขาช่วยให้ลูกค้าบรรลุการอนุมานแบบจำลองประสิทธิภาพสูงบน SageMaker
ซอราภ ตรีกันเด เป็นผู้จัดการผลิตภัณฑ์อาวุโสสำหรับการอนุมานของ Amazon SageMaker เขาหลงใหลในการทำงานกับลูกค้าและมีแรงจูงใจโดยเป้าหมายของการทำให้แมชชีนเลิร์นนิงเป็นประชาธิปไตย เขามุ่งเน้นไปที่ความท้าทายหลักที่เกี่ยวข้องกับการปรับใช้งานแอปพลิเคชัน ML ที่ซับซ้อน โมเดล ML แบบหลายผู้เช่า การเพิ่มประสิทธิภาพต้นทุน และทำให้การปรับใช้โมเดลการเรียนรู้เชิงลึกสามารถเข้าถึงได้มากขึ้น ในเวลาว่าง Saurabh สนุกกับการเดินป่า เรียนรู้เกี่ยวกับเทคโนโลยีที่เป็นนวัตกรรม ติดตาม TechCrunch และใช้เวลากับครอบครัวของเขา
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- อเมซอน SageMaker
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ในการธนาคาร
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- AWS Machine Learning AWS
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- การเรียนรู้ลึก ๆ
- google ai
- เรียนรู้เครื่อง
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ขนาดไอ
- วากยสัมพันธ์
- ลมทะเล