กระบวนการ MLOps ของคุณอาจเสียหาย

Nov 30 2022
แม้จะมีชุดเครื่องมือ MLOps ที่สมบูรณ์แบบ แต่ทีมก็ยังประสบปัญหาในการส่งมอบผลิตภัณฑ์ ML ถ้าเครื่องมือไม่ใช่เพียงชิ้นส่วนเดียวของจิ๊กซอว์ มันจะเหลืออะไรอีก? ในโพสต์ล่าสุดของฉัน ฉันโต้แย้งว่าส่วนที่เหลือคือวัฒนธรรมและกระบวนการ

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

มาดำดิ่งสู่กระบวนการ MLOps — โดยเฉพาะอย่างยิ่ง ชิ้นส่วนพื้นฐานบางชิ้นที่ทีมส่วนใหญ่ เข้าใจผิด กระบวนการ MLOps ที่ประสบความสำเร็จมีลักษณะอย่างไร และผู้ปฏิบัติงาน ML แต่ละคนจะช่วยสร้างกระบวนการนั้นได้อย่างไร

กล่าวโดยย่อ — เตรียมพร้อมที่จะทลายกำแพงบางส่วน (ภาพที่สร้างโดย DALL-E)

TL;ดร

  • เริ่มต้นด้วยผลิตภัณฑ์ ไม่ใช่แบบจำลอง
  • สำรวจข้อมูลในการผลิตไม่ใช่ในคลังสินค้าของคุณ
  • เริ่มต้นง่ายๆ — ด้วยข้อมูลและแบบจำลอง
  • เป็นพันธมิตรกับวิศวกร

เริ่มต้นด้วยผลิตภัณฑ์ ML

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

ในการสร้างผลิตภัณฑ์ ML ที่ประสบความสำเร็จ ผู้มีส่วนได้ส่วนเสียสามคนจำเป็นต้องมีส่วนร่วมในการออกแบบผลิตภัณฑ์:

  • PM / Business Stakeholder : ความสำเร็จเป็นอย่างไร?
  • ML Person : อะไร (น่าจะ) เป็นไปได้กับ ML?
  • วิศวกรผลิตภัณฑ์ : อะไรคือความเป็นไปได้ และอะไรคือข้อจำกัด?

ตัวอย่างบางส่วนของทีมที่จัดตำแหน่งได้ไม่ดี:

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

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

บางคนอาจถามว่า — ข้อมูลทั้งหมดสำหรับการฝึกอบรมไม่ควรมีอยู่ในระบบการผลิตใช่หรือไม่

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

โครงการ ML จำนวนมากหยุดทำงานเนื่องจากปัญหาเกี่ยวกับข้อมูลการผลิต ฉันได้เห็นซ้ำแล้วซ้ำเล่าว่ามีการตัดการเชื่อมต่ออย่างมากระหว่างบุคลากร ML และวิศวกรผลิตภัณฑ์ ตัวอย่างของฟีเจอร์ที่ไม่น่ากลัว 2 รายการที่มีข้อกำหนดต่างกันอย่างมาก:

  • รหัสไปรษณีย์ที่บ้านของผู้ใช้ : อาจสกปรกง่ายที่จะใช้ในการผลิต สอบถามฐานข้อมูล
  • ตำแหน่งเฉลี่ยของผู้ใช้ในห้านาทีที่ผ่านมา : น่าจะเป็น PITA! ข้อมูลตำแหน่งของผู้ใช้อยู่ใน Kafka Stream? ต้องสดแค่ไหน? การรวมสตรีมเป็นเรื่องยาก! น่าจะเป็นประเด็นเทรนนิ่ง/เสริฟ สกิว!
การผลิตไม่เคยง่ายอย่างที่คลังข้อมูล (ภาพสร้างโดย DALL-E)

เริ่มต้นง่ายๆ

อาจเป็นคำแนะนำ ML ที่พบบ่อยที่สุด แต่ก็เป็นคำแนะนำที่ดี เริ่มต้นด้วยวิธีง่ายๆ

การเพิ่มของฉัน — คนส่วนใหญ่จะบอกให้คุณเริ่มต้นด้วยแบบจำลอง อย่างง่าย แต่การเริ่มต้นด้วยข้อมูลอย่างง่ายก็สำคัญไม่แพ้กัน! ในการเล่นตัวอย่างด้านบน:

  • ตำแหน่งเฉลี่ยของผู้ใช้ในห้านาทีที่ผ่านมา: ยาก
  • ตำแหน่งล่าสุดของผู้ใช้: น่าจะง่ายกว่านี้มาก!

คุณน่าจะเทรดทุกครั้ง คุณสามารถสร้าง V2 ด้วยคุณสมบัติที่ยอดเยี่ยมกว่าได้เสมอ และการสร้างการปรับปรุงส่วนเพิ่มจะง่ายกว่าการส่งบางสิ่งที่ซับซ้อนในครั้งแรก

ความรวดเร็วและเรียบง่ายเป็นจุดเริ่มต้นที่ถูกต้องเสมอ (ภาพที่สร้างโดย DALL-E)

เป็นพันธมิตรกับวิศวกร

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

วิธีแก้ปัญหาคือการเป็นเพื่อนกับวิศวกรและทำงานร่วมกับพวกเขาตลอดการพัฒนาโมเดล ML การสร้างโครงการซอฟต์แวร์ใดๆ ไม่สามารถทำได้ในไซโล และ ML ในไซโลนั้นแย่ยิ่งกว่า วิศวกรสามารถช่วยในเรื่อง "ข้อมูลที่มีอยู่" "ฉันควรทราบข้อจำกัดใดบ้าง" "SLA ใดบ้างที่เป็นไปได้" และอื่นๆ

ทำงานกับวิศวกรตั้งแต่เนิ่นๆ และบ่อยครั้ง คุณจะสร้างโครงการได้เร็วขึ้น

บทสรุป

ขั้นตอนเหล่านี้ไม่ใช่มุมมองที่ครอบคลุมของกระบวนการ MLOps — มีชิ้นส่วนที่ต้องเคลื่อนไหวมากมายที่นำไปสู่ความสำเร็จ (การตรวจสอบโค้ด, CI/CD, การเฝ้าติดตาม, …) นี่เป็นจุดเริ่มต้น ตามที่กล่าวไว้ข้างต้นความล้มเหลวของ ML ส่วนใหญ่ที่ฉันเห็นคือปัญหาการจัดตำแหน่ง หลักเกณฑ์กระบวนการเหล่านี้มีไว้เพื่อช่วยคุณจัดทีมของคุณเพื่อความสำเร็จเป็นหลัก

คุณต้องมีรากฐานที่แข็งแกร่งเพื่อสร้างแนวปฏิบัติ MLOps ที่ยอดเยี่ยม

David Hershey เป็นนักลงทุนที่Unusual Venturesซึ่งเขาลงทุนในการเรียนรู้ของเครื่องและโครงสร้างพื้นฐานข้อมูล David เริ่มต้นอาชีพของเขาที่ Ford Motor Company ซึ่งเขาได้เริ่มทีมโครงสร้างพื้นฐาน ML ของพวกเขา เมื่อเร็วๆ นี้ เขาทำงานที่Tectonและ Dedicated AIซึ่งช่วยให้ทีม MLOps นำเทคโนโลยีเหล่านั้นมาใช้ หากคุณกำลังสร้างบริษัทโครงสร้างพื้นฐานด้านข้อมูลหรือ ML โปรดติดต่อ David บนLinkedIn