ตรวจจับความผิดปกติในข้อมูลการผลิตโดยใช้ Amazon SageMaker Canvas | อเมซอนเว็บเซอร์วิส

ตรวจจับความผิดปกติในข้อมูลการผลิตโดยใช้ Amazon SageMaker Canvas | อเมซอนเว็บเซอร์วิส

ด้วยการใช้การประมวลผลแบบคลาวด์ เครื่องมือข้อมูลขนาดใหญ่ และการเรียนรู้ของเครื่อง (ML) เช่น อเมซอน อาเธน่า or อเมซอน SageMaker ใครๆ ก็สามารถนำไปใช้ได้โดยไม่ต้องใช้ความพยายามมากนักในการสร้างและบำรุงรักษา บริษัทอุตสาหกรรมหันมาสนใจการวิเคราะห์ข้อมูลและการตัดสินใจที่ขับเคลื่อนด้วยข้อมูลมากขึ้นเพื่อเพิ่มประสิทธิภาพทรัพยากรทั่วทั้งพอร์ตโฟลิโอของตน ตั้งแต่การดำเนินงานไปจนถึงการดำเนินการบำรุงรักษาหรือการวางแผนเชิงคาดการณ์

เนื่องจากการเปลี่ยนแปลงที่รวดเร็วในด้านไอที ลูกค้าในอุตสาหกรรมแบบดั้งเดิมกำลังเผชิญกับภาวะที่กลืนไม่เข้าคายไม่ออกในเรื่องทักษะ ในแง่หนึ่ง นักวิเคราะห์และผู้เชี่ยวชาญด้านโดเมนมีความรู้เชิงลึกเกี่ยวกับข้อมูลที่เป็นปัญหาและการตีความข้อมูล แต่มักจะขาดความรู้เกี่ยวกับเครื่องมือวิทยาศาสตร์ข้อมูลและภาษาการเขียนโปรแกรมระดับสูง เช่น Python ในทางกลับกัน ผู้เชี่ยวชาญด้านวิทยาศาสตร์ข้อมูลมักจะขาดประสบการณ์ในการตีความเนื้อหาข้อมูลเครื่องจักรและกรองตามสิ่งที่เกี่ยวข้อง ภาวะที่กลืนไม่เข้าคายไม่ออกนี้ขัดขวางการสร้างแบบจำลองที่มีประสิทธิภาพซึ่งใช้ข้อมูลเพื่อสร้างข้อมูลเชิงลึกที่เกี่ยวข้องกับธุรกิจ

ผืนผ้าใบ Amazon SageMaker จัดการกับภาวะที่กลืนไม่เข้าคายไม่ออกนี้ด้วยการมอบอินเทอร์เฟซแบบไม่มีโค้ดให้กับผู้เชี่ยวชาญโดเมนเพื่อสร้างการวิเคราะห์ที่มีประสิทธิภาพและโมเดล ML เช่น การคาดการณ์ การจัดหมวดหมู่ หรือโมเดลการถดถอย นอกจากนี้ยังช่วยให้คุณสามารถปรับใช้และแชร์โมเดลเหล่านี้กับผู้เชี่ยวชาญ ML และ MLOps หลังจากการสร้าง

ในโพสต์นี้ เราจะแสดงวิธีใช้ SageMaker Canvas เพื่อดูแลและเลือกคุณสมบัติที่เหมาะสมในข้อมูลของคุณ จากนั้นฝึกโมเดลการคาดการณ์สำหรับการตรวจจับความผิดปกติ โดยใช้ฟังก์ชันที่ไม่มีโค้ดของ SageMaker Canvas สำหรับการปรับแต่งโมเดล

การตรวจจับความผิดปกติสำหรับอุตสาหกรรมการผลิต

ในขณะที่เขียน SageMaker Canvas มุ่งเน้นไปที่กรณีการใช้งานทางธุรกิจทั่วไป เช่น การคาดการณ์ การถดถอย และการจัดหมวดหมู่ สำหรับโพสต์นี้ เราจะแสดงให้เห็นว่าความสามารถเหล่านี้สามารถช่วยตรวจจับจุดข้อมูลที่ผิดปกติที่ซับซ้อนได้อย่างไร กรณีการใช้งานนี้มีความเกี่ยวข้อง เช่น เพื่อระบุความผิดปกติหรือการทำงานที่ผิดปกติของเครื่องจักรอุตสาหกรรม

การตรวจจับความผิดปกติมีความสำคัญในขอบเขตอุตสาหกรรม เนื่องจากโดยปกติแล้วเครื่องจักร (ตั้งแต่ขบวนรถไฟจนถึงกังหัน) จะมีความน่าเชื่อถือสูง โดยมีช่วงเวลาที่เกิดความล้มเหลวระหว่างกันหลายปี ข้อมูลส่วนใหญ่จากเครื่องเหล่านี้ เช่น การอ่านเซ็นเซอร์อุณหภูมิหรือข้อความสถานะ อธิบายการทำงานปกติและมีคุณค่าในการตัดสินใจที่จำกัด วิศวกรมองหาข้อมูลที่ผิดปกติเมื่อตรวจสอบสาเหตุที่แท้จริงของข้อบกพร่อง หรือเป็นตัวบ่งชี้คำเตือนสำหรับข้อผิดพลาดในอนาคต และผู้จัดการประสิทธิภาพจะตรวจสอบข้อมูลที่ผิดปกติเพื่อระบุการปรับปรุงที่อาจเกิดขึ้น ดังนั้น ขั้นตอนแรกโดยทั่วไปในการก้าวไปสู่การตัดสินใจที่ขับเคลื่อนด้วยข้อมูลจึงต้องอาศัยการค้นหาข้อมูลที่เกี่ยวข้อง (ผิดปกติ)

ในโพสต์นี้ เราใช้ SageMaker Canvas เพื่อดูแลและเลือกคุณสมบัติที่เหมาะสมในข้อมูล จากนั้นฝึกโมเดลการคาดการณ์สำหรับการตรวจจับความผิดปกติ โดยใช้ฟังก์ชันไม่มีโค้ดของ SageMaker Canvas สำหรับการปรับแต่งโมเดล จากนั้นเราจะปรับใช้โมเดลเป็นจุดสิ้นสุด SageMaker

ภาพรวมโซลูชัน

สำหรับกรณีการใช้งานการตรวจจับความผิดปกติ เราจะฝึกแบบจำลองการคาดการณ์เพื่อคาดการณ์คุณลักษณะเฉพาะสำหรับการทำงานปกติของเครื่องจักร เช่น อุณหภูมิมอเตอร์ที่ระบุในรถยนต์ จากคุณลักษณะที่มีอิทธิพลต่อ เช่น ความเร็วและแรงบิดล่าสุดที่ใช้ในรถยนต์ . สำหรับการตรวจจับความผิดปกติในตัวอย่างการวัดใหม่ เราจะเปรียบเทียบการคาดการณ์แบบจำลองสำหรับคุณลักษณะเฉพาะกับการสังเกตที่ให้ไว้

สำหรับตัวอย่างของมอเตอร์ในรถยนต์ ผู้เชี่ยวชาญในโดเมนจะได้รับการวัดอุณหภูมิมอเตอร์ปกติ แรงบิดของมอเตอร์ล่าสุด อุณหภูมิแวดล้อม และปัจจัยที่อาจมีอิทธิพลอื่นๆ สิ่งเหล่านี้ทำให้คุณสามารถฝึกแบบจำลองเพื่อทำนายอุณหภูมิจากคุณสมบัติอื่นๆ ได้ จากนั้นเราสามารถใช้แบบจำลองทำนายอุณหภูมิมอเตอร์ได้เป็นประจำ เมื่ออุณหภูมิที่คาดการณ์ไว้สำหรับข้อมูลนั้นใกล้เคียงกับอุณหภูมิที่สังเกตได้ในข้อมูลนั้น แสดงว่ามอเตอร์ทำงานได้ตามปกติ ความคลาดเคลื่อนจะชี้ไปที่ความผิดปกติ เช่น ระบบระบายความร้อนล้มเหลวหรือข้อบกพร่องในมอเตอร์

ไดอะแกรมต่อไปนี้แสดงสถาปัตยกรรมโซลูชัน

ภาพรวมของกระบวนการ: โมเดลถูกสร้างขึ้นใน SageMaker Canvas ติดตั้งใช้งานแล้วเข้าถึงได้จาก AWS Lambda Funcino

การแก้ปัญหาประกอบด้วยสี่ขั้นตอนสำคัญ:

  1. ผู้เชี่ยวชาญโดเมนจะสร้างโมเดลเริ่มต้น รวมถึงการวิเคราะห์ข้อมูลและการดูแลจัดการฟีเจอร์โดยใช้ SageMaker Canvas
  2. ผู้เชี่ยวชาญโดเมนแบ่งปันโมเดลผ่านทาง รีจิสทรีโมเดล Amazon SageMaker หรือปรับใช้โดยตรงเป็นจุดสิ้นสุดแบบเรียลไทม์
  3. ผู้เชี่ยวชาญ MLOps สร้างโครงสร้างพื้นฐานการอนุมานและโค้ดที่แปลเอาต์พุตของโมเดลจากการทำนายเป็นตัวบ่งชี้ความผิดปกติ โดยทั่วไปรหัสนี้จะทำงานภายในไฟล์ AWS แลมบ์ดา ฟังก์ชัน
  4. เมื่อแอปพลิเคชันต้องการการตรวจจับความผิดปกติ แอปพลิเคชันจะเรียกใช้ฟังก์ชัน Lambda ซึ่งใช้แบบจำลองสำหรับการอนุมานและให้การตอบสนอง (ไม่ว่าจะเป็นความผิดปกติหรือไม่ก็ตาม)

เบื้องต้น

หากต้องการติดตามโพสต์นี้ คุณจะต้องมีคุณสมบัติตามข้อกำหนดเบื้องต้นต่อไปนี้:

สร้างโมเดลโดยใช้ SageMaker

กระบวนการสร้างโมเดลเป็นไปตามขั้นตอนมาตรฐานเพื่อสร้างโมเดลการถดถอยใน SageMaker Canvas สำหรับข้อมูลเพิ่มเติม โปรดดูที่ เริ่มต้นใช้งาน Amazon SageMaker Canvas.

ขั้นแรก ผู้เชี่ยวชาญโดเมนจะโหลดข้อมูลที่เกี่ยวข้องลงใน SageMaker Canvas เช่น อนุกรมเวลาของการวัด สำหรับโพสต์นี้ เราใช้ไฟล์ CSV ที่มีการวัด (สร้างขึ้นโดยการสังเคราะห์) ของมอเตอร์ไฟฟ้า สำหรับรายละเอียด โปรดดูที่ นำเข้าข้อมูลลงใน Canvas. ข้อมูลตัวอย่างที่ใช้สามารถดาวน์โหลดได้ในรูปแบบ CSV.

รูปภาพแสดงบรรทัดแรกของ csv นอกจากนี้ ฮิสโตแกรมและตัวชี้วัดเกณฑ์มาตรฐานจะแสดงสำหรับโมเดลตัวอย่างด่วน

ปรับแต่งข้อมูลด้วย SageMaker Canvas

หลังจากโหลดข้อมูลแล้ว ผู้เชี่ยวชาญโดเมนสามารถใช้ SageMaker Canvas เพื่อดูแลจัดการข้อมูลที่ใช้ในโมเดลขั้นสุดท้ายได้ สำหรับสิ่งนี้ ผู้เชี่ยวชาญจะเลือกคอลัมน์ที่มีการวัดลักษณะเฉพาะสำหรับปัญหาที่เป็นปัญหา ผู้เชี่ยวชาญจะเลือกคอลัมน์ที่เกี่ยวข้องกัน เช่น โดยความสัมพันธ์ทางกายภาพ เช่น กราฟความดัน-อุณหภูมิ และในกรณีที่การเปลี่ยนแปลงความสัมพันธ์นั้นเป็นความผิดปกติที่เกี่ยวข้องกับกรณีการใช้งาน แบบจำลองการตรวจจับความผิดปกติจะเรียนรู้ความสัมพันธ์ปกติระหว่างคอลัมน์ที่เลือก และระบุเมื่อข้อมูลไม่เป็นไปตามนั้น เช่น อุณหภูมิมอเตอร์สูงผิดปกติตามโหลดปัจจุบันบนมอเตอร์

ในทางปฏิบัติ ผู้เชี่ยวชาญโดเมนจำเป็นต้องเลือกชุดคอลัมน์อินพุตและคอลัมน์เป้าหมายที่เหมาะสม โดยทั่วไปอินพุตจะเป็นการรวบรวมปริมาณ (ตัวเลขหรือหมวดหมู่) ที่กำหนดพฤติกรรมของเครื่องจักร ตั้งแต่การตั้งค่าความต้องการ ไปจนถึงโหลด ความเร็ว หรืออุณหภูมิโดยรอบ โดยทั่วไปเอาต์พุตจะเป็นปริมาณตัวเลขที่ระบุประสิทธิภาพการทำงานของเครื่องจักร เช่น อุณหภูมิที่วัดการกระจายพลังงาน หรือการวัดประสิทธิภาพอื่นที่เปลี่ยนแปลงเมื่อเครื่องจักรทำงานภายใต้สภาวะที่ต่ำกว่าปกติ

เพื่อแสดงให้เห็นแนวคิดของปริมาณที่จะเลือกสำหรับอินพุตและเอาต์พุต ลองพิจารณาตัวอย่างบางส่วน:

  • สำหรับอุปกรณ์หมุน เช่น รุ่นที่เราสร้างในโพสต์นี้ ข้อมูลทั่วไปคือความเร็วในการหมุน แรงบิด (กระแสและประวัติ) และอุณหภูมิโดยรอบ และเป้าหมายคือผลลัพธ์ของแบริ่งหรืออุณหภูมิมอเตอร์ที่บ่งชี้ถึงสภาวะการทำงานที่ดีของการหมุน
  • สำหรับกังหันลม ข้อมูลทั่วไปคือประวัติปัจจุบันและประวัติล่าสุดของความเร็วลมและการตั้งค่าใบพัด และปริมาณเป้าหมายคือกำลังที่ผลิตได้หรือความเร็วในการหมุน
  • สำหรับกระบวนการทางเคมี ข้อมูลทั่วไปคือเปอร์เซ็นต์ของส่วนผสมต่างๆ และอุณหภูมิโดยรอบ และเป้าหมายคือความร้อนที่เกิดขึ้นหรือความหนืดของผลิตภัณฑ์ขั้นสุดท้าย
  • สำหรับอุปกรณ์เคลื่อนที่ เช่น ประตูบานเลื่อน อินพุตทั่วไปคือกำลังไฟฟ้าที่ป้อนให้กับมอเตอร์ และค่าเป้าหมายคือความเร็วหรือเวลาที่เสร็จสมบูรณ์ของการเคลื่อนที่
  • สำหรับระบบ HVAC อินพุตทั่วไปคือความแตกต่างของอุณหภูมิและการตั้งค่าโหลดที่ได้รับ และปริมาณเป้าหมายคือปริมาณการใช้พลังงานที่วัดได้

ท้ายที่สุดแล้ว อินพุตและเป้าหมายที่ถูกต้องสำหรับอุปกรณ์ที่กำหนดจะขึ้นอยู่กับกรณีการใช้งานและพฤติกรรมที่ผิดปกติในการตรวจจับ และเป็นที่รู้จักดีที่สุดในหมู่ผู้เชี่ยวชาญโดเมนที่คุ้นเคยกับความซับซ้อนของชุดข้อมูลเฉพาะ

ในกรณีส่วนใหญ่ การเลือกปริมาณอินพุตและเป้าหมายที่เหมาะสมหมายถึงการเลือกคอลัมน์ที่ถูกต้องเท่านั้น และการทำเครื่องหมายคอลัมน์เป้าหมาย (สำหรับตัวอย่างนี้ bearing_temperature). อย่างไรก็ตาม ผู้เชี่ยวชาญโดเมนยังสามารถใช้คุณสมบัติแบบไม่ต้องเขียนโค้ดของ SageMaker Canvas เพื่อแปลงคอลัมน์และปรับแต่งหรือรวมข้อมูลได้ ตัวอย่างเช่น คุณสามารถแยกหรือกรองวันที่หรือการประทับเวลาที่เฉพาะเจาะจงจากข้อมูลที่ไม่เกี่ยวข้องได้ SageMaker Canvas รองรับกระบวนการนี้ โดยแสดงสถิติเกี่ยวกับปริมาณที่เลือก ช่วยให้คุณเข้าใจว่าปริมาณมีค่าผิดปกติและสเปรดที่อาจส่งผลต่อผลลัพธ์ของแบบจำลองหรือไม่

ฝึกอบรม ปรับแต่ง และประเมินแบบจำลอง

หลังจากที่ผู้เชี่ยวชาญโดเมนได้เลือกคอลัมน์ที่เหมาะสมในชุดข้อมูลแล้ว พวกเขาสามารถฝึกโมเดลเพื่อเรียนรู้ความสัมพันธ์ระหว่างอินพุตและเอาต์พุตได้ แม่นยำยิ่งขึ้น แบบจำลองจะเรียนรู้ที่จะทำนายค่าเป้าหมายที่เลือกจากอินพุต

โดยปกติ คุณสามารถใช้ SageMaker Canvas ได้ ดูตัวอย่างโมเดล ตัวเลือก. นี่เป็นการบ่งชี้คุณภาพของโมเดลที่คาดหวังได้อย่างรวดเร็ว และช่วยให้คุณตรวจสอบผลกระทบที่อินพุตต่างๆ มีต่อเมตริกเอาต์พุตได้ ตัวอย่างเช่น ในภาพหน้าจอต่อไปนี้ โมเดลจะได้รับผลกระทบมากที่สุดจาก motor_speed และ ambient_temperature ตัวชี้วัดเมื่อทำนาย bearing_temperature. นี่เป็นเรื่องที่สมเหตุสมผล เนื่องจากอุณหภูมิเหล่านี้มีความสัมพันธ์กันอย่างใกล้ชิด ในเวลาเดียวกัน การเสียดสีเพิ่มเติมหรือการสูญเสียพลังงานด้วยวิธีอื่นมีแนวโน้มที่จะส่งผลต่อสิ่งนี้

สำหรับคุณภาพของแบบจำลอง RMSE ของแบบจำลองจะเป็นตัวบ่งชี้ว่าแบบจำลองสามารถเรียนรู้พฤติกรรมปกติในข้อมูลการฝึกได้ดีเพียงใด และสร้างความสัมพันธ์ระหว่างการวัดอินพุตและเอาต์พุตอีกครั้ง ตัวอย่างเช่น ในแบบจำลองต่อไปนี้ แบบจำลองควรจะสามารถคาดการณ์ได้ถูกต้อง motor_bearing อุณหภูมิภายใน 3.67 องศาเซลเซียส ดังนั้นเราจึงสามารถพิจารณาความเบี่ยงเบนของอุณหภูมิจริงจากการทำนายแบบจำลองที่มีขนาดใหญ่กว่า เช่น 7.4 องศา ถือเป็นความผิดปกติ อย่างไรก็ตาม เกณฑ์ที่แท้จริงที่คุณจะใช้จะขึ้นอยู่กับความไวที่จำเป็นในสถานการณ์การปรับใช้

กราฟแสดงความเร็วมอเตอร์ตามจริงและที่คาดการณ์ไว้ ความสัมพันธ์เป็นเส้นตรงและมีสัญญาณรบกวนบ้าง

สุดท้าย หลังจากการประเมินและปรับแต่งโมเดลเสร็จสิ้น คุณสามารถเริ่มต้นการฝึกโมเดลที่สมบูรณ์ซึ่งจะสร้างแบบจำลองเพื่อใช้สำหรับการอนุมานได้

ปรับใช้โมเดล

แม้ว่า SageMaker Canvas จะสามารถใช้โมเดลสำหรับการอนุมานได้ แต่การปรับใช้งานที่มีประสิทธิภาพสำหรับการตรวจจับความผิดปกตินั้น คุณจะต้องปรับใช้โมเดลภายนอก SageMaker Canvas แม่นยำยิ่งขึ้น เราจำเป็นต้องปรับใช้โมเดลเป็นจุดสิ้นสุด

ในโพสต์นี้และเพื่อความเรียบง่าย เราจะปรับใช้โมเดลเป็นจุดสิ้นสุดจาก SageMaker Canvas โดยตรง สำหรับคำแนะนำ โปรดดูที่ ปรับใช้โมเดลของคุณไปยังปลายทาง. อย่าลืมจดชื่อการปรับใช้และพิจารณาราคาของประเภทอินสแตนซ์ที่คุณปรับใช้ (สำหรับโพสต์นี้ เราใช้ ml.m5.large) จากนั้น SageMaker Canvas จะสร้างตำแหน่งข้อมูลโมเดลที่สามารถเรียกใช้เพื่อรับการคาดการณ์ได้

หน้าต่างแอปพลิเคชันที่แสดงการกำหนดค่าการใช้งานโมเดล การตั้งค่าที่แสดงคือขนาดเครื่อง ml.m5.large และชื่อการปรับใช้ของตัวอย่าง-ความผิดปกติ-โมเดล

ในการตั้งค่าทางอุตสาหกรรม แบบจำลองจะต้องผ่านการทดสอบอย่างละเอียดก่อนจึงจะสามารถใช้งานได้ สำหรับสิ่งนี้ ผู้เชี่ยวชาญโดเมนจะไม่ปรับใช้ แต่จะแชร์โมเดลกับ SageMaker Model Registry แทน ที่นี่ ผู้เชี่ยวชาญด้านการดำเนินงานของ MLOps สามารถรับช่วงต่อได้ โดยทั่วไป ผู้เชี่ยวชาญนั้นจะทดสอบจุดสิ้นสุดของโมเดล ประเมินขนาดของอุปกรณ์คอมพิวเตอร์ที่จำเป็นสำหรับแอปพลิเคชันเป้าหมาย และกำหนดการปรับใช้ที่คุ้มค่าที่สุด เช่น การใช้งานสำหรับการอนุมานแบบไร้เซิร์ฟเวอร์หรือการอนุมานแบบแบตช์ โดยปกติขั้นตอนเหล่านี้จะเป็นไปโดยอัตโนมัติ (เช่น การใช้ ไปป์ไลน์ของ Amazon Sagemaker หรือ อเมซอน SDK).

รูปภาพแสดงปุ่มสำหรับแชร์โมเดลจาก Amazon Sgemaker ไปยัง Model Registry

ใช้แบบจำลองเพื่อการตรวจจับความผิดปกติ

ในขั้นตอนก่อนหน้านี้ เราได้สร้างการปรับใช้โมเดลใน SageMaker Canvas ที่เรียกว่า canvas-sample-anomaly-model. เราสามารถใช้มันเพื่อรับคำทำนายของ bearing_temperature ค่าตามคอลัมน์อื่นๆ ในชุดข้อมูล ตอนนี้เราต้องการใช้ตำแหน่งข้อมูลนี้เพื่อตรวจจับความผิดปกติ

ในการระบุข้อมูลที่ผิดปกติ แบบจำลองของเราจะใช้จุดสิ้นสุดของแบบจำลองการคาดการณ์เพื่อรับค่าที่คาดหวังของเมตริกเป้าหมาย จากนั้นจึงเปรียบเทียบค่าที่คาดการณ์กับค่าจริงในข้อมูล ค่าที่คาดการณ์จะระบุค่าที่คาดหวังสำหรับการวัดเป้าหมายของเราโดยพิจารณาจากข้อมูลการฝึกอบรม ความแตกต่างของค่านี้จึงเป็นตัวชี้วัดความผิดปกติของข้อมูลจริงที่สังเกตได้ เราสามารถใช้รหัสต่อไปนี้:

# We are using pandas dataframes for data handling
import pandas as pd import boto3,json
sm_runtime_client = boto3.client('sagemaker-runtime') # Configuration of the actual model invocation
endpoint_name="canvas-sample-anomaly-model"
# Name of the column in the input data to compare with predictions
TARGET_COL='bearing_temperature' def do_inference(data, endpoint_name): # Example Code provided by Sagemaker Canvas body = data.to_csv(header=False, index=True).encode("utf-8") response = sm_runtime_client.invoke_endpoint(Body = body, EndpointName = endpoint_name, ContentType = "text/csv", Accept = "application/json", ) return json.loads(response["Body"].read()) def input_transformer(input_data, drop_cols = [ TARGET_COL ] ): # Transform the input: Drop the Target column return input_data.drop(drop_cols,axis =1 ) def output_transformer(input_data,response): # Take the initial input data and compare it to the response of the prediction model scored = input_data.copy() scored.loc[ input_data.index,'prediction_'+TARGET_COL ] = pd.DataFrame(
response[ 'predictions' ],
index = input_data.index )['score'] scored.loc[ input_data.index,'error' ] = (
scored[ TARGET_COL ]-scored[ 'prediction_'+TARGET_COL ]
).abs() return scored # Run the inference
raw_input = pd.read_csv(MYFILE) # Read my data for inference
to_score = input_transformer(raw_input) # Prepare the data
predictions = do_inference(to_score, endpoint_name) # create predictions
results = output_transformer(to_score,predictions) # compare predictions & actuals

รหัสก่อนหน้าดำเนินการต่อไปนี้:

  1. ข้อมูลอินพุตจะถูกกรองลงไปตามคุณสมบัติที่เหมาะสม (ฟังก์ชัน “input_transformer")
  2. จุดสิ้นสุดโมเดล SageMaker ถูกเรียกใช้พร้อมกับข้อมูลที่กรอง (ฟังก์ชัน “do_inference“) โดยที่เราจัดการการจัดรูปแบบอินพุตและเอาต์พุตตามโค้ดตัวอย่างที่ให้ไว้เมื่อเปิดหน้ารายละเอียดของการปรับใช้งานของเราใน SageMaker Canvas
  3. ผลลัพธ์ของการร้องขอจะถูกรวมเข้ากับข้อมูลอินพุตดั้งเดิม และความแตกต่างจะถูกเก็บไว้ในคอลัมน์ข้อผิดพลาด (ฟังก์ชัน “output_transform")

ค้นหาความผิดปกติและประเมินเหตุการณ์ผิดปกติ

ในการตั้งค่าทั่วไป โค้ดเพื่อรับความผิดปกติจะทำงานในฟังก์ชัน Lambda สามารถเรียกใช้ฟังก์ชัน Lambda จากแอปพลิเคชันหรือ Amazon API Gateway Amazon. ฟังก์ชันหลักส่งคืนคะแนนความผิดปกติสำหรับแต่ละแถวของข้อมูลอินพุต ในกรณีนี้คืออนุกรมเวลาของคะแนนความผิดปกติ

สำหรับการทดสอบ เรายังสามารถรันโค้ดในสมุดบันทึก SageMaker ได้อีกด้วย กราฟต่อไปนี้แสดงอินพุตและเอาต์พุตของโมเดลของเราเมื่อใช้ข้อมูลตัวอย่าง ค่าพีคของการเบี่ยงเบนระหว่างค่าที่คาดการณ์ไว้กับค่าจริง (คะแนนความผิดปกติ แสดงในกราฟด้านล่าง) บ่งบอกถึงความผิดปกติ ตัวอย่างเช่น ในกราฟ เราจะเห็นยอดเขาที่แตกต่างกันสามจุด โดยที่คะแนนความผิดปกติ (ความแตกต่างระหว่างอุณหภูมิที่คาดหวังและอุณหภูมิจริง) เกินกว่า 7 องศาเซลเซียส: จุดแรกหลังจากไม่ได้ใช้งานเป็นเวลานาน จุดที่สองอยู่ที่การลดลงอย่างมาก bearing_temperatureและสถานที่สุดท้าย bearing_temperature ถือว่าสูงเมื่อเทียบกับ motor_speed.

สองกราฟสำหรับอนุกรมเวลา ด้านบนแสดงอนุกรมเวลาสำหรับอุณหภูมิมอเตอร์และความเร็วมอเตอร์ กราฟด้านล่างแสดงคะแนนความผิดปกติในช่วงเวลาต่างๆ โดยมีจุดสูงสุด 3 จุดที่ระบุถึงความผิดปกติ

ในหลายกรณี การทราบอนุกรมเวลาของคะแนนความผิดปกติก็เพียงพอแล้ว คุณสามารถตั้งค่าเกณฑ์ว่าจะเตือนความผิดปกติที่สำคัญเมื่อใดโดยพิจารณาจากความจำเป็นด้านความไวของโมเดล คะแนนปัจจุบันบ่งชี้ว่าเครื่องจักรมีสถานะผิดปกติซึ่งจำเป็นต้องได้รับการตรวจสอบ ตัวอย่างเช่น สำหรับแบบจำลองของเรา ค่าสัมบูรณ์ของคะแนนความผิดปกติจะถูกกระจายตามที่แสดงในกราฟต่อไปนี้ นี่เป็นการยืนยันว่าคะแนนความผิดปกติส่วนใหญ่จะต่ำกว่า (2xRMS=)8 องศาที่พบระหว่างการฝึกสำหรับแบบจำลอง ซึ่งเป็นข้อผิดพลาดทั่วไป กราฟสามารถช่วยคุณเลือกเกณฑ์ด้วยตนเอง เพื่อให้เปอร์เซ็นต์ที่ถูกต้องของกลุ่มตัวอย่างที่ได้รับการประเมินถูกทำเครื่องหมายว่ามีความผิดปกติ

ฮิสโตแกรมของการเกิดขึ้นของค่าสำหรับคะแนนความผิดปกติ เส้นโค้งลดลงจาก x=0 ถึง x=15

หากผลลัพธ์ที่ต้องการเป็นเหตุการณ์ที่มีความผิดปกติ คะแนนความผิดปกติที่ได้รับจากแบบจำลองนั้นจำเป็นต้องมีการปรับปรุงเพื่อให้เกี่ยวข้องกับการใช้ทางธุรกิจ สำหรับสิ่งนี้ โดยทั่วไปผู้เชี่ยวชาญ ML จะเพิ่มการประมวลผลภายหลังเพื่อขจัดสัญญาณรบกวนหรือจุดสูงสุดขนาดใหญ่ของคะแนนความผิดปกติ เช่น การเพิ่มค่าเฉลี่ยแบบกลิ้ง นอกจากนี้ ผู้เชี่ยวชาญมักจะประเมินคะแนนความผิดปกติโดยใช้ตรรกะที่คล้ายกับการเพิ่ม อเมซอน คลาวด์วอตช์ การแจ้งเตือน เช่น การตรวจสอบการละเมิดเกณฑ์ในช่วงระยะเวลาหนึ่ง สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าการเตือน โปรดดูที่ การใช้การเตือนของ Amazon CloudWatch. การเรียกใช้การประเมินเหล่านี้ในฟังก์ชัน Lambda ช่วยให้คุณสามารถส่งคำเตือนได้ เช่น โดยการเผยแพร่คำเตือนไปยัง บริการแจ้งเตือนแบบง่ายของ Amazon (Amazon SNS) หัวข้อ

ทำความสะอาด

หลังจากคุณใช้โซลูชันนี้เสร็จแล้ว คุณควรทำความสะอาดเพื่อหลีกเลี่ยงค่าใช้จ่ายที่ไม่จำเป็น:

  1. ใน SageMaker Canvas ให้ค้นหาการปรับใช้ตำแหน่งข้อมูลโมเดลของคุณแล้วลบออก
  2. ออกจากระบบ SageMaker Canvas เพื่อหลีกเลี่ยงการเรียกเก็บเงินเนื่องจากการทำงานที่ไม่ได้ใช้งาน

สรุป

ในโพสต์นี้ เราได้แสดงให้เห็นว่าผู้เชี่ยวชาญโดเมนสามารถประเมินข้อมูลอินพุตและสร้างโมเดล ML โดยใช้ SageMaker Canvas ได้อย่างไรโดยไม่จำเป็นต้องเขียนโค้ด จากนั้น เราได้สาธิตวิธีใช้แบบจำลองนี้เพื่อตรวจจับความผิดปกติแบบเรียลไทม์โดยใช้ SageMaker และ Lambda ผ่านขั้นตอนการทำงานง่ายๆ การรวมกันนี้ช่วยให้ผู้เชี่ยวชาญโดเมนสามารถใช้ความรู้ของตนเพื่อสร้างโมเดล ML อันทรงพลังโดยไม่ต้องมีการฝึกอบรมเพิ่มเติมในด้านวิทยาศาสตร์ข้อมูล และช่วยให้ผู้เชี่ยวชาญ MLOps สามารถใช้โมเดลเหล่านี้ และทำให้พร้อมใช้งานสำหรับการอนุมานได้อย่างยืดหยุ่นและมีประสิทธิภาพ

SageMaker Canvas มีระดับชั้นฟรี 2 เดือน และหลังจากนั้นคุณจะจ่ายเฉพาะส่วนที่คุณใช้เท่านั้น เริ่มการทดลองวันนี้และเพิ่ม ML เพื่อใช้ประโยชน์สูงสุดจากข้อมูลของคุณ


เกี่ยวกับผู้เขียน

ตรวจจับความผิดปกติในข้อมูลการผลิตโดยใช้ Amazon SageMaker Canvas | Amazon Web Services PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI. เฮลเก้ ออฟเดอร์ไฮด์ เป็นผู้ที่มีความกระตือรือร้นในการทำให้ข้อมูลสามารถใช้งานได้ในโลกแห่งความเป็นจริง โดยมุ่งเน้นที่ระบบอัตโนมัติ การวิเคราะห์ และการเรียนรู้ของเครื่องจักรในการใช้งานทางอุตสาหกรรม เช่น การผลิตและการเคลื่อนที่

ประทับเวลา:

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