การก่อตั้งทีม ML

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

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

โปรเจ็กต์ ML ที่ประสบความสําเร็จมีทีมที่มีตัวแทนของบทบาทแต่ละบทบาท ในทีมขนาดเล็ก แต่ละคนจะต้องรับผิดชอบบทบาทหลายอย่าง

สร้างแนวทางปฏิบัติของทีม

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

เอกสารประกอบกระบวนการ

เอกสารกระบวนการควรระบุเครื่องมือ โครงสร้างพื้นฐาน และกระบวนการที่ทีมจะใช้ในการพัฒนา ML เอกสารกระบวนการที่ดีจะช่วยให้สมาชิกใหม่และสมาชิกปัจจุบันของทีมทำงานร่วมกันได้ โดยควรตอบคำถามประเภทต่อไปนี้

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

  • ฉันจะเพิ่มชุดทดสอบใหม่ลงในไปป์ไลน์ได้อย่างไร

การฝึกอบรม
  • ฉันจะตรวจสอบการคาดการณ์ของโมเดลในตัวอย่างที่สร้างขึ้นด้วยตนเองได้อย่างไร

  • ฉันจะค้นหา ตรวจสอบ และแสดงตัวอย่างที่โมเดลทําผิดพลาดได้อย่างไร

  • ฉันจะทราบได้อย่างไรว่าฟีเจอร์ใดส่งผลต่อการทำนายหนึ่งๆ มากที่สุด

  • ฉันจะทราบได้อย่างไรว่าฟีเจอร์ใดส่งผลต่อการทำนายมากที่สุดในตัวอย่างที่กำหนด

  • ฉันจะคํานวณหรือพล็อตการคาดการณ์ของโมเดลในชุดข้อมูลหรือตัวอย่างที่เลือกได้อย่างไร

  • ฉันจะคํานวณเมตริกมาตรฐานสําหรับการคาดการณ์ของโมเดลในชุดข้อมูลที่เลือกได้อย่างไร

  • ฉันจะพัฒนาและคํานวณเมตริกที่กําหนดเองได้อย่างไร

  • ฉันจะเปรียบเทียบรูปแบบของฉันกับรูปแบบอื่นๆ ออฟไลน์ได้อย่างไร

  • ฉันทำการเมตาวิเคราะห์สำหรับการประเมินโมเดลหลายรายการในสภาพแวดล้อมการพัฒนาเดียวได้ไหม

  • ฉันจะเปรียบเทียบโมเดลปัจจุบันกับโมเดลเมื่อ 10 เดือนก่อนได้ไหม

การนำไปใช้จริง การตรวจสอบ และการบำรุงรักษา
  • ฉันคิดว่าฉันสร้างโมเดลที่ดีแล้ว ฉันจะเปิดตัวในเวอร์ชันที่ใช้งานจริงได้อย่างไร

  • ฉันจะยืนยันได้อย่างไรว่าโมเดลใหม่ทํางานในเวอร์ชันที่ใช้งานจริงอย่างถูกต้อง

  • ฉันดูประวัติการประเมินโมเดลได้ไหม

  • ฉันจะทราบได้อย่างไรเมื่อโมเดลทำงานผิดปกติ

  • ฉันได้รับมอบหมายหน้าเว็บ/ข้อบกพร่องที่พูดถึงโมเดล ฉันควรทำอย่างไร

ไปป์ไลน์
  • ฉันจะปรับแต่งไปป์ไลน์การสร้าง/การฝึก/การประเมินข้อมูลได้อย่างไร

  • ฉันควรสร้างไปป์ไลน์ใหม่ทั้งหมดเมื่อใดและอย่างไร

SQL
  • ฉันต้องใช้ SQL เพื่อสร้างข้อมูล ฉันควรวางไว้ที่ใด

โครงสร้างพื้นฐาน
  • การแสดงโมเดลของเราทํางานอย่างไร มีแผนภาพไหม

  • ฉันควรทราบอะไรบ้างเกี่ยวกับระบบต้นทางที่โมเดลของฉันใช้

การสื่อสาร
  • ฉันคิดไม่ออก ฉันควรติดต่อใคร (และอย่างไร)

โปรดทราบ

"แนวทางปฏิบัติแนะนำด้าน ML" อาจแตกต่างกันไปในแต่ละบริษัท ทีม และบุคคล ตัวอย่างเช่น สมาชิกในทีมบางคนอาจพิจารณาใช้ Colab รุ่นทดลองเป็นชิ้นงานหลัก ขณะที่คนอื่นๆ ต้องการทํางานใน R บางคนอาจหลงใหลในวิศวกรรมซอฟต์แวร์ บางคนคิดว่าการตรวจสอบเป็นสิ่งสําคัญที่สุด แต่บางคนก็ทราบแนวทางปฏิบัติที่ดีในการนําฟีเจอร์ไปใช้งานจริง แต่ต้องการใช้ Scala ทุกคนมี "สิทธิ์" ในมุมมองของตนเอง และหากจัดการอย่างถูกต้อง การผสมผสานดังกล่าวจะกลายเป็นพลังขับเคลื่อน ไม่เช่นนั้นอาจทำให้เกิดความสับสน

การสร้างเครื่องมือ กระบวนการ และโครงสร้างพื้นฐานที่ทีมจะใช้ก่อนที่จะเขียนโค้ดบรรทัดแรกอาจเป็นตัวชี้ขาดว่าโครงการจะล้มเหลวหลังจากผ่านไป 2 ปี หรือเปิดตัวได้สำเร็จก่อนกำหนด 3 เดือน

การประเมินประสิทธิภาพ

เนื่องจาก ML มีความคลุมเครือและความไม่แน่นอน ผู้จัดการฝ่ายบุคคลจึงต้องกำหนดความคาดหวังที่ชัดเจนและระบุสิ่งที่ต้องส่งตั้งแต่เนิ่นๆ

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

ทดสอบความเข้าใจ

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