ระบบนำร่องอัตโนมัติของ Amazon SageMaker สร้าง ฝึกฝน และปรับแต่งโมเดลแมชชีนเลิร์นนิง (ML) ที่ดีที่สุดโดยอัตโนมัติตามข้อมูลของคุณ ในขณะเดียวกันก็ให้คุณควบคุมและมองเห็นได้อย่างเต็มที่ ระบบขับเคลื่อนอัตโนมัติยังสามารถปรับใช้โมเดลที่ผ่านการฝึกอบรมไปยังจุดสิ้นสุดการอนุมานตามเวลาจริงได้โดยอัตโนมัติ
หากคุณมีปริมาณงานที่มีรูปแบบการรับส่งข้อมูลที่ไม่แน่นอนหรือคาดเดาไม่ได้ซึ่งสามารถทนต่อการเริ่มเย็นได้ การปรับใช้โมเดลกับจุดสิ้นสุดการอนุมานแบบไร้เซิร์ฟเวอร์จะคุ้มค่ากว่า
การอนุมานแบบไร้เซิร์ฟเวอร์ของ Amazon SageMaker เป็นตัวเลือกการอนุมานที่สร้างขึ้นตามวัตถุประสงค์ซึ่งเหมาะสำหรับปริมาณงานที่มีรูปแบบการรับส่งข้อมูลที่คาดเดาไม่ได้และสามารถทนต่อการสตาร์ทเย็นได้ ซึ่งแตกต่างจากจุดสิ้นสุดการอนุมานตามเวลาจริงซึ่งได้รับการสนับสนุนโดยอินสแตนซ์การประมวลผลที่ใช้เวลานาน จุดสิ้นสุดแบบไร้เซิร์ฟเวอร์จัดเตรียมทรัพยากรตามความต้องการด้วยการปรับขนาดอัตโนมัติในตัว ตำแหน่งข้อมูลแบบไร้เซิร์ฟเวอร์ปรับขนาดโดยอัตโนมัติตามจำนวนคำขอที่เข้ามา และลดขนาดทรัพยากรให้เป็นศูนย์เมื่อไม่มีคำขอเข้ามา ช่วยให้คุณลดค่าใช้จ่ายได้
ในโพสต์นี้ เราจะแสดงวิธีการปรับใช้โมเดลที่ผ่านการฝึกอบรม Autopilot กับจุดสิ้นสุดการอนุมานแบบไร้เซิร์ฟเวอร์โดยใช้ ห้องสมุด Boto3 for อเมซอน SageMaker.
โหมดการฝึกอบรมอัตโนมัติ
ก่อนสร้างการทดสอบ Autopilot คุณสามารถให้ Autopilot เลือกโหมดการฝึกโดยอัตโนมัติ หรือเลือกโหมดการฝึกด้วยตนเองก็ได้
ขณะนี้ Autopilot รองรับโหมดการฝึกอบรมสามโหมด:
- รถยนต์ – ตามขนาดชุดข้อมูล Autopilot จะเลือกโหมด ensemble หรือ HPO โดยอัตโนมัติ สำหรับชุดข้อมูลที่มีขนาดใหญ่กว่า 100 MB Autopilot จะเลือก HPO มิฉะนั้นจะเลือกชุด
- การประกอบ – Autopilot ใช้ ออโต้กลูออน เทคนิคการประกอบโดยใช้การซ้อนแบบจำลองและสร้างแบบจำลองการทำนายที่เหมาะสมที่สุด
- การเพิ่มประสิทธิภาพพารามิเตอร์หลายมิติ (HPO) – ระบบขับเคลื่อนอัตโนมัติค้นหารุ่นที่ดีที่สุดของโมเดลโดยการปรับไฮเปอร์พารามิเตอร์โดยใช้การปรับให้เหมาะสมแบบเบย์หรือการเพิ่มประสิทธิภาพแบบหลายจุดในขณะที่เรียกใช้งานการฝึกอบรมในชุดข้อมูลของคุณ โหมด HPO จะเลือกอัลกอริทึมที่เกี่ยวข้องกับชุดข้อมูลของคุณมากที่สุด และเลือกช่วงไฮเปอร์พารามิเตอร์ที่ดีที่สุดเพื่อปรับแต่งโมเดลของคุณ
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโหมดการฝึกอบรม Autopilot โปรดดูที่ โหมดการฝึกอบรม.
ภาพรวมโซลูชัน
ในโพสต์นี้เราใช้ การตลาดธนาคาร UCI ชุดข้อมูลเพื่อคาดการณ์ว่าลูกค้าจะสมัครรับเงินฝากประจำที่เสนอโดยธนาคารหรือไม่ นี่คือประเภทของปัญหาการจำแนกประเภทไบนารี
เราเปิดตัวงาน Autopilot สองงานโดยใช้ ไลบรารี Boto3 สำหรับ SageMaker. งานแรกใช้การรวมกันเป็นโหมดการฝึกอบรมที่เลือก จากนั้นเราจะปรับใช้โมเดลชุดเดียวที่สร้างขึ้นไปยังจุดสิ้นสุดแบบไร้เซิร์ฟเวอร์ และส่งคำขอการอนุมานไปยังจุดสิ้นสุดที่เป็นโฮสต์นี้
งานที่สองใช้โหมดการฝึกอบรม HPO สำหรับประเภทปัญหาการจัดหมวดหมู่ Autopilot จะสร้างคอนเทนเนอร์การอนุมานสามรายการ เราแยกคอนเทนเนอร์การอนุมานทั้งสามนี้และปรับใช้กับจุดสิ้นสุดแบบไร้เซิร์ฟเวอร์ที่แยกจากกัน จากนั้นเราจะส่งคำขอการอนุมานไปยังปลายทางที่เป็นโฮสต์เหล่านี้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับประเภทของปัญหาการถดถอยและการจำแนกประเภท โปรดดูที่ คำจำกัดความคอนเทนเนอร์การอนุมานสำหรับประเภทปัญหาการถดถอยและการจำแนกประเภท.
เรายังสามารถเปิดงาน Autopilot จาก สตูดิโอ Amazon SageMaker UI หากคุณเปิดงานจาก UI อย่าลืมปิด ปรับใช้อัตโนมัติ ตัวเลือกใน การปรับใช้และการตั้งค่าขั้นสูง ส่วน. มิฉะนั้น Autopilot จะปรับใช้ตัวเลือกที่ดีที่สุดไปยังจุดสิ้นสุดแบบเรียลไทม์
เบื้องต้น
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งแพ็คเกจ Boto3 และ SageMaker Python เวอร์ชันล่าสุดแล้ว:
pip install -U boto3 sagemaker
เราต้องการเวอร์ชันแพ็คเกจ SageMaker >= 2.110.0
และรุ่น Boto3 >= boto3-1.24.84.
เริ่มงาน Autopilot ด้วยโหมด ensemble
ในการเริ่มงาน Autopilot โดยใช้ไลบรารี SageMaker Boto3 เราใช้ create_auto_ml_job เอพีไอ เราก็ผ่านเข้ามา AutoMLJobConfig
, InputDataConfig
และ AutoMLJobObjective
เป็นอินพุตให้กับ create_auto_ml_job
. ดูรหัสต่อไปนี้:
Autopilot ส่งคืนไฟล์ BestCandidate
วัตถุรุ่นที่มี InferenceContainers
จำเป็นต้องปรับใช้โมเดลเพื่ออนุมานจุดสิ้นสุด เพื่อให้ได้ BestCandidate
สำหรับงานก่อนหน้าเราใช้ describe_automl_job
ฟังก์ชั่น:
ปรับใช้โมเดลที่ผ่านการฝึกอบรม
ตอนนี้เราปรับใช้คอนเทนเนอร์การอนุมานก่อนหน้านี้กับปลายทางแบบไร้เซิร์ฟเวอร์ ขั้นตอนแรกคือการสร้างโมเดลจากคอนเทนเนอร์การอนุมาน จากนั้นสร้างการกำหนดค่าปลายทางที่เราระบุ MemorySizeInMB
และ MaxConcurrency
ค่าสำหรับปลายทางแบบไร้เซิร์ฟเวอร์พร้อมกับชื่อรุ่น สุดท้าย เราสร้างจุดสิ้นสุดด้วยการกำหนดค่าจุดสิ้นสุดที่สร้างขึ้นด้านบน
เราขอแนะนำให้คุณเลือก ขนาดหน่วยความจำของปลายทาง ตามขนาดรุ่นของคุณ ขนาดหน่วยความจำควรใหญ่เท่ากับขนาดโมเดลของคุณเป็นอย่างน้อย ตำแหน่งข้อมูลแบบไร้เซิร์ฟเวอร์ของคุณมีขนาด RAM ขั้นต่ำ 1024 MB (1 GB) และขนาด RAM สูงสุดที่คุณสามารถเลือกได้คือ 6144 MB (6 GB)
ขนาดหน่วยความจำที่คุณสามารถเลือกได้คือ 1024 MB, 2048 MB, 3072 MB, 4096 MB, 5120 MB หรือ 6144 MB
เพื่อช่วยในการพิจารณาว่าปลายทางแบบไร้เซิร์ฟเวอร์เป็นตัวเลือกการปรับใช้ที่เหมาะสมจากมุมมองด้านต้นทุนและประสิทธิภาพหรือไม่ เราขอแนะนำให้คุณอ้างอิงถึง ชุดเครื่องมือเปรียบเทียบการอนุมานแบบไร้เซิร์ฟเวอร์ของ SageMakerซึ่งทดสอบการกำหนดค่าปลายทางต่างๆ และเปรียบเทียบการกำหนดค่าที่เหมาะสมที่สุดกับอินสแตนซ์โฮสติ้งแบบเรียลไทม์ที่เปรียบเทียบกันได้
โปรดทราบว่าปลายทางแบบไร้เซิร์ฟเวอร์ยอมรับเท่านั้น SingleModel
สำหรับคอนเทนเนอร์อนุมาน Autopilot ในโหมด ensembling จะสร้างโมเดลเดียว ดังนั้นเราสามารถนำโมเดลคอนเทนเนอร์นี้ไปใช้กับ endpoint ได้ ดูรหัสต่อไปนี้:
เมื่อจุดสิ้นสุดการอนุมานแบบไร้เซิร์ฟเวอร์คือ InService
เราสามารถทดสอบจุดสิ้นสุดได้โดยส่งคำขอการอนุมานและสังเกตการคาดคะเน ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมของการตั้งค่านี้
โปรดทราบว่าเราสามารถส่งข้อมูลดิบเป็นเพย์โหลดไปยังปลายทางได้ โมเดลทั้งมวลที่สร้างขึ้นโดย Autopilot จะรวมเอาขั้นตอนการแปลงฟีเจอร์และการแปลงป้ายกำกับแบบผกผันที่จำเป็นทั้งหมดโดยอัตโนมัติ พร้อมกับโมเดลอัลกอริทึมและแพ็คเกจเข้าไว้ในโมเดลเดียว
ส่งคำขอการอนุมานไปยังโมเดลที่ผ่านการฝึกอบรม
ใช้รหัสต่อไปนี้เพื่อส่งการอนุมานเกี่ยวกับโมเดลของคุณที่ได้รับการฝึกฝนโดยใช้โหมดการรวม:
เริ่มงาน Autopilot ด้วยโหมด HPO
ในโหมด HPO สำหรับ CompletionCriteria
นอกจากนี้ MaxRuntimePerTrainingJobInSeconds
และ MaxAutoMLJobRuntimeInSeconds,
เรายังสามารถระบุ MaxCandidates
เพื่อจำกัดจำนวนผู้สมัครที่งาน Autopilot จะสร้าง โปรดทราบว่าสิ่งเหล่านี้เป็นพารามิเตอร์ทางเลือกและถูกตั้งค่าให้จำกัดรันไทม์ของงานสำหรับการสาธิตเท่านั้น ดูรหัสต่อไปนี้:
เพื่อให้ได้ BestCandidate
สำหรับงานก่อนหน้า เราสามารถใช้อีกครั้ง describe_automl_job
ฟังก์ชั่น:
ปรับใช้โมเดลที่ผ่านการฝึกอบรม
ระบบขับเคลื่อนอัตโนมัติในโหมด HPO สำหรับประเภทปัญหาการจำแนกประเภทจะสร้างคอนเทนเนอร์การอนุมานสามรายการ
คอนเทนเนอร์แรกจัดการขั้นตอนการเปลี่ยนคุณลักษณะ ถัดไป คอนเทนเนอร์อัลกอริทึมจะสร้าง predicted_label
ด้วยความเป็นไปได้สูงสุด สุดท้าย คอนเทนเนอร์การอนุมานหลังการประมวลผลจะทำการแปลงผกผันบนฉลากที่คาดคะเนและแมปกับฉลากดั้งเดิม สำหรับข้อมูลเพิ่มเติม โปรดดูที่ คำจำกัดความคอนเทนเนอร์การอนุมานสำหรับประเภทปัญหาการถดถอยและการจำแนกประเภท.
เราแยกคอนเทนเนอร์การอนุมานทั้งสามนี้และปรับใช้กับจุดสิ้นสุดแบบไร้เซิร์ฟเวอร์ที่แยกจากกัน สำหรับการอนุมาน เราเรียกใช้จุดสิ้นสุดตามลำดับโดยส่งเพย์โหลดไปยังคอนเทนเนอร์การแปลงคุณลักษณะก่อน จากนั้นจึงส่งเอาต์พุตจากคอนเทนเนอร์นี้ไปยังคอนเทนเนอร์อัลกอริทึม และสุดท้ายส่งผ่านเอาต์พุตจากคอนเทนเนอร์การอนุมานก่อนหน้าไปยังคอนเทนเนอร์หลังการประมวลผล ซึ่งจะแสดงผลฉลากที่คาดการณ์ไว้
ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมของการตั้งค่านี้
เราแยกคอนเทนเนอร์การอนุมานทั้งสามออกจาก BestCandidate
ด้วยรหัสต่อไปนี้:
ส่งคำขอการอนุมานไปยังโมเดลที่ผ่านการฝึกอบรม
สำหรับการอนุมาน เราจะส่งเพย์โหลดตามลำดับ: อันดับแรกไปที่คอนเทนเนอร์การแปลงคุณลักษณะ จากนั้นไปที่คอนเทนเนอร์แบบจำลอง และสุดท้ายไปยังคอนเทนเนอร์การแปลงฉลากผกผัน
ดูรหัสต่อไปนี้:
การดำเนินการตามตัวอย่างนี้มีให้ใน jupyter ต่อไปนี้ สมุดบันทึก.
ทำความสะอาด
ในการล้างข้อมูลทรัพยากร คุณสามารถลบจุดสิ้นสุดแบบไร้เซิร์ฟเวอร์ที่สร้างขึ้น การกำหนดค่าจุดสิ้นสุด และโมเดล:
สรุป
ในโพสต์นี้ เราแสดงวิธีการปรับใช้โมเดลที่สร้างโดย Autopilot ทั้งในโหมด ensemble และ HPO ไปยังจุดสิ้นสุดการอนุมานแบบไร้เซิร์ฟเวอร์ โซลูชันนี้สามารถเพิ่มความเร็วให้กับความสามารถของคุณในการใช้งานและใช้ประโยชน์จากบริการ ML ที่มีการจัดการเต็มรูปแบบและประหยัดค่าใช้จ่าย เช่น Autopilot เพื่อสร้างโมเดลอย่างรวดเร็วจากข้อมูลดิบ จากนั้นปรับใช้กับจุดสิ้นสุดการอนุมานแบบไร้เซิร์ฟเวอร์ที่มีการจัดการเต็มรูปแบบพร้อมการปรับขนาดอัตโนมัติในตัวเพื่อลดค่าใช้จ่าย .
เราขอแนะนำให้คุณลองใช้โซลูชันนี้กับชุดข้อมูลที่เกี่ยวข้องกับ KPI ของธุรกิจของคุณ คุณสามารถอ้างถึงโซลูชันที่ใช้ในโน้ตบุ๊ก Jupyter ใน repo GitHub.
ข้อมูลอ้างอิงเพิ่มเติม
เกี่ยวกับผู้เขียน
ประวีณ จามรธี เป็นผู้เชี่ยวชาญด้าน AI/ML อาวุโสของ Amazon Web Services เขาหลงใหลเกี่ยวกับ AI/ML และทุกสิ่งของ AWS เขาช่วยลูกค้าทั่วอเมริกาในการปรับขนาด สร้างสรรค์ และดำเนินการกับปริมาณงาน ML อย่างมีประสิทธิภาพบน AWS เวลาว่างประวีณชอบอ่านหนังสือและชอบดูหนังไซไฟ
- ขั้นสูง (300)
- AI
- ไอ อาร์ต
- เครื่องกำเนิดไออาร์ท
- หุ่นยนต์ไอ
- อเมซอน SageMaker
- ระบบนำร่องอัตโนมัติของ Amazon SageMaker
- ปัญญาประดิษฐ์
- ใบรับรองปัญญาประดิษฐ์
- ปัญญาประดิษฐ์ในการธนาคาร
- หุ่นยนต์ปัญญาประดิษฐ์
- หุ่นยนต์ปัญญาประดิษฐ์
- ซอฟต์แวร์ปัญญาประดิษฐ์
- AWS Machine Learning AWS
- blockchain
- การประชุม blockchain ai
- เหรียญอัจฉริยะ
- ปัญญาประดิษฐ์สนทนา
- การประชุม crypto ai
- ดัล-อี
- การเรียนรู้ลึก ๆ
- google ai
- เรียนรู้เครื่อง
- เพลโต
- เพลโตไอ
- เพลโตดาต้าอินเทลลิเจนซ์
- เกมเพลโต
- เพลโตดาต้า
- เพลโตเกม
- ขนาดไอ
- วากยสัมพันธ์
- วิธีการทางเทคนิค
- ลมทะเล