Data science

อะไรคือความแตกต่างที่แท้จริงระหว่างทีม Data Science และ Software Engineering?

แม้ว่าจะมีความคล้ายคลึงกันมากมายในการพัฒนาซอฟต์แวร์และวิทยาศาสตร์ข้อมูล แต่ก็มีความแตกต่างหลักสามประการ ได้แก่ กระบวนการ เครื่องมือ และพฤติกรรม หา. ในบทความที่แล้ว ฉันได้พูดถึงการกำกับดูแลแบบจำลองและการจัดการแบบจำลองแบบองค์รวม ฉันได้รับคำตอบที่ดีพร้อมกับคำถามบางข้อเกี่ยวกับความแตกต่างระหว่างเวิร์กโฟลว์ Data Science และ Software Development เพื่อเป็นการตอบกลับ งานชิ้นนี้เน้นถึงความแตกต่างที่สำคัญในกระบวนการ เครื่องมือ และพฤติกรรมระหว่าง Data Science และทีมวิศวกรรมซอฟต์แวร์ ตลอดจนแนวทางปฏิบัติที่ดีที่สุดที่เราได้เรียนรู้จากหลายปีของการให้บริการแก่องค์กรที่ขับเคลื่อนด้วยแบบจำลองที่ประสบความสำเร็จ เหตุใดการทำความเข้าใจความแตกต่างที่สำคัญระหว่างวิทยาศาสตร์ข้อมูลและการพัฒนาซอฟต์แวร์จึงมีความสำคัญ เนื่องจากวิทยาศาสตร์ข้อมูลกลายเป็นตัวขับเคลื่อนคุณค่าที่สำคัญสำหรับองค์กรทุกขนาด ผู้นำธุรกิจที่พึ่งพาทั้งทีม Data Science และ Software Development จำเป็นต้องรู้ว่าทั้งสองต่างกันอย่างไรและควรทำงานอย่างไร ด้วยกัน. แม้ว่าจะมีความคล้ายคลึงกันมากมายในการพัฒนาซอฟต์แวร์และวิทยาศาสตร์ข้อมูล แต่ก็มีความแตกต่างหลักสามประการ ได้แก่ กระบวนการ เครื่องมือ และพฤติกรรม ในทางปฏิบัติ ทีมไอทีมักจะรับผิดชอบในการเปิดใช้ทีม Data Science ด้วยโครงสร้างพื้นฐานและเครื่องมือ เนื่องจาก Data Science มีลักษณะคล้ายกับการพัฒนาซอฟต์แวร์ (ทั้งคู่เกี่ยวข้องกับการเขียนโค้ดใช่ไหม) ผู้นำด้านไอทีจำนวนมากที่มีเจตนาดีที่สุดจึงเข้าถึงปัญหานี้โดยใช้สมมติฐานที่เข้าใจผิด และท้ายที่สุดก็บ่อนทำลายทีม Data Science ที่พวกเขาพยายามสนับสนุน Data Science != Software Engineering I. Process Software Engineering ได้กำหนดวิธีการสำหรับการติดตามความคืบหน้าเป็นอย่างดี เช่น จุดที่คล่องตัวและแผนภูมิการเบิร์นดาวน์ ดังนั้น ผู้จัดการสามารถคาดการณ์และควบคุมกระบวนการโดยใช้ตัวชี้วัดที่กำหนดไว้อย่างชัดเจน Data Science นั้นแตกต่างกันเนื่องจากการวิจัยมีลักษณะเชิงสำรวจมากกว่า โปรเจ็กต์ Data Science มีเป้าหมาย เช่น การสร้างแบบจำลองที่คาดการณ์บางสิ่ง แต่เช่นเดียวกับกระบวนการวิจัย สถานะสิ้นสุดที่ต้องการนั้นไม่เป็นที่รู้จักล่วงหน้า ซึ่งหมายความว่าโครงการ Data Science ไม่มีความคืบหน้าเป็นเส้นตรงตลอดวงจรชีวิต ไม่มีคำนิยามวงจรชีวิตที่ตกลงกันไว้สำหรับงาน Data Science และแต่ละองค์กรใช้ของตนเอง เป็นเรื่องยากสำหรับห้องปฏิบัติการวิจัยที่จะคาดการณ์ระยะเวลาของการค้นพบยาที่ก้าวหน้า ในทำนองเดียวกัน ความไม่แน่นอนโดยธรรมชาติของการวิจัยทำให้ยากต่อการติดตามความคืบหน้าและคาดการณ์ความสมบูรณ์ของโครงการ Data Science ลักษณะเฉพาะประการที่สองของกระบวนการทำงาน Data Science คือแนวคิดของอัตราการเข้าชม ซึ่งเป็นเปอร์เซ็นต์ของแบบจำลองที่นำไปใช้จริงและใช้งานโดยธุรกิจ โมเดลที่สร้างโดย Data Scientists นั้นคล้ายกับลีดในช่องทางการขายในแง่ที่ว่ามีเพียงบางส่วนเท่านั้นที่จะเป็นจริง ทีมงานที่มีความน่าเชื่อถือ 100 เปอร์เซ็นต์น่าจะอนุรักษ์นิยมเกินไปและไม่ดำเนินการโครงการที่กล้าหาญเพียงพอ อีกทางหนึ่ง ทีมที่ไม่น่าเชื่อถือจะไม่ค่อยได้รับผลกระทบที่สำคัญจากโครงการของพวกเขา แม้ว่าธุรกิจจะไม่ได้ใช้แบบจำลอง แต่ก็ไม่ได้หมายความว่าเป็นการสิ้นเปลืองงานหรือแบบจำลองนั้นไม่ดี เช่นเดียวกับทีมวิจัยที่ดี ทีม Data Science เรียนรู้จากความผิดพลาดและบันทึกข้อมูลเชิงลึกในระบบการจัดการความรู้ที่ค้นหาได้ สิ่งนี้แตกต่างอย่างมากจากการพัฒนาซอฟต์แวร์ที่มีจุดประสงค์เพื่อนำการพัฒนาทั้งหมดไปใช้ในโครงการเฉพาะ ความแตกต่างที่สำคัญประการที่สามในกระบวนการพัฒนาแบบจำลองคือระดับของการบูรณาการกับส่วนอื่น ๆ ขององค์กร วิศวกรรมมักจะสามารถดำเนินการได้ค่อนข้างเป็นอิสระจากส่วนอื่นๆ ของธุรกิจ ลำดับความสำคัญของวิศวกรรมนั้นสอดคล้องกับแผนกอื่นๆ อย่างแน่นอน แต่โดยทั่วไปแล้วไม่จำเป็นต้องโต้ตอบกับการตลาด การเงิน หรือ HR ในแต่ละวัน อันที่จริง ระเบียบวินัยทั้งหมดของการจัดการผลิตภัณฑ์มีอยู่เพื่อช่วยอำนวยความสะดวกในการสนทนาเหล่านี้ และแปลความต้องการและข้อกำหนด ในทางตรงกันข้าม ทีม Data Science จะมีประสิทธิภาพสูงสุดเมื่อทำงานอย่างใกล้ชิดกับหน่วยธุรกิจที่จะใช้แบบจำลองหรือการวิเคราะห์ของตน ดังนั้น ทีม Data Science จึงต้องจัดระเบียบตนเองอย่างมีประสิทธิภาพเพื่อให้การสื่อสารข้ามองค์กรเป็นไปอย่างราบรื่นและสม่ำเสมอ เพื่อทำซ้ำประสิทธิภาพของแบบจำลอง ตัวอย่างเช่น เพื่อช่วยให้ผู้มีส่วนได้ส่วนเสียทางธุรกิจทำงานร่วมกันในโครงการ Data Science บนเที่ยวบิน นักวิทยาศาสตร์ข้อมูลจะต้องมีวิธีง่ายๆ ในการแบ่งปันผลลัพธ์กับผู้ใช้ทางธุรกิจ ครั้งที่สอง เครื่องมือและโครงสร้างพื้นฐาน มีนวัตกรรมมากมายในระบบนิเวศโอเพ่นซอร์สของ Data Science รวมถึงชุมชนที่มีชีวิตชีวารอบ ๆ R และ Python แพ็คเกจเชิงพาณิชย์เช่น H2O และ SAS และเครื่องมือการเรียนรู้เชิงลึกที่ก้าวหน้าอย่างรวดเร็วเช่น TensorFlow ที่ใช้ประโยชน์จาก GPU ที่ทรงพลัง นักวิทยาศาสตร์ข้อมูลควรจะสามารถทดสอบแพ็คเกจและเทคนิคใหม่ ๆ ได้อย่างง่ายดาย โดยไม่เกิดปัญหาคอขวดด้านไอทีหรือเสี่ยงต่อความไม่เสถียรของระบบที่เพื่อนร่วมงานต้องพึ่งพา พวกเขาต้องการการเข้าถึงภาษาต่างๆ ได้ง่าย เพื่อให้สามารถเลือกเครื่องมือที่เหมาะกับงานได้ และไม่ควรใช้สภาพแวดล้อมหรือไซโลที่แตกต่างกันเมื่อเปลี่ยนภาษา แม้ว่าจะเป็นการดีกว่าที่จะให้เครื่องมือมีความยืดหยุ่นมากขึ้นในขั้นตอนการทดลอง แต่เมื่อโครงการเข้าสู่ขั้นตอนการปรับใช้ แถบการตรวจสอบทางเทคนิคที่สูงขึ้นและความพยายามร่วมกันกับ IT จะกลายเป็นกุญแจสู่ความสำเร็จ ในด้านโครงสร้างพื้นฐาน นักวิทยาศาสตร์ข้อมูลควรสามารถเข้าถึงเครื่องจักรขนาดใหญ่ ฮาร์ดแวร์เฉพาะสำหรับการทดลองใช้งานหรือทำการวิเคราะห์เชิงสำรวจ พวกเขาจำเป็นต้องสามารถใช้การประมวลผลแบบต่อเนื่อง/ยืดหยุ่นได้ตามต้องการ ด้วยความช่วยเหลือจาก DevOps เพียงเล็กน้อย ความต้องการโครงสร้างพื้นฐานของทีม Data Science นั้นแตกต่างจากทีมวิศวกรรมอย่างมาก สำหรับนักวิทยาศาสตร์ข้อมูล หน่วยความจำและ CPU อาจเป็นคอขวดของความคืบหน้า เนื่องจากงานส่วนใหญ่เกี่ยวข้องกับการทดลองที่ต้องใช้การคำนวณอย่างเข้มข้น ตัวอย่างเช่น อาจใช้เวลา 30 นาทีในการเขียนโค้ดสำหรับการทดสอบซึ่งจะใช้เวลา 8 ชั่วโมงในการทำงานบนแล็ปท็อป นอกจากนี้ ความต้องการความสามารถในการประมวลผลไม่ได้คงที่ตลอดโครงการ Data Science โดยการบริโภคการประมวลผลแบบต่อเนื่องเป็นบรรทัดฐานแทนที่จะเป็นข้อยกเว้น เทคนิค Data Science จำนวนมากใช้เครื่องจักรขนาดใหญ่โดยการทำงานแบบขนานข้ามคอร์หรือโหลดข้อมูลเพิ่มเติมลงในหน่วยความจำ สาม. พฤติกรรม ซอฟต์แวร์มีแนวคิดเกี่ยวกับคำตอบที่ถูกต้องและฟังก์ชันการทำงานที่กำหนด ซึ่งหมายความว่าเป็นไปได้ที่จะเขียนการทดสอบที่ตรวจสอบพฤติกรรมที่ตั้งใจไว้ สิ่งนี้ไม่ได้มีไว้สำหรับงาน Data Science เพราะไม่มีคำตอบที่ “ถูกต้อง” มีแต่คำตอบที่ดีกว่าหรือแย่กว่านั้น บ่อยครั้ง เราจะได้ยิน Data Scientists พูดคุยกันว่าพวกเขามีหน้าที่รับผิดชอบในการสร้างแบบจำลองเป็นผลิตภัณฑ์หรือสร้างแบบจำลองจำนวนมากที่สร้างจากกันและกันซึ่งส่งผลต่อกลยุทธ์ทางธุรกิจ ต่างจากแบบจำลองทางสถิติที่ถือว่าการกระจายข้อมูลยังคงเหมือนเดิม การกระจายข้อมูลในการเรียนรู้ของเครื่องมีความน่าจะเป็น ไม่ใช่แบบกำหนดได้ เป็นผลให้พวกเขาลอยและต้องการข้อเสนอแนะอย่างต่อเนื่องจากผู้ใช้ปลายทาง ผู้จัดการ Data Science มักจะทำหน้าที่เป็นสะพานเชื่อมสายธุรกิจและมุ่งเน้นไปที่คุณภาพและความเร็วของผลลัพธ์ การประเมินแบบจำลองและการตรวจจับการเคลื่อนตัวของการกระจายช่วยให้ผู้คนสามารถระบุได้ว่าเมื่อใดควรฝึกแบบจำลองใหม่ แทนที่จะเขียนการทดสอบหน่วยเช่นวิศวกรซอฟต์แวร์ Data Scientists ตรวจสอบผลลัพธ์ จากนั้นรับคำติชมจากผู้มีส่วนได้ส่วนเสียทางธุรกิจเพื่อวัดประสิทธิภาพของแบบจำลองของพวกเขา โมเดลที่มีประสิทธิภาพจำเป็นต้องได้รับการฝึกอบรมใหม่อย่างต่อเนื่องเพื่อให้มีความเกี่ยวข้อง ตรงข้ามกับเวิร์กโฟลว์ “ตั้งค่าแล้วลืมมันไป” ความคิดสุดท้าย โดยทั่วไป มีแนวปฏิบัติที่ดีหลายประการสำหรับนักวิทยาศาสตร์ข้อมูลในการเรียนรู้จากการพัฒนาซอฟต์แวร์ แต่ยังมีข้อแตกต่างที่สำคัญบางประการที่ควรคำนึงถึง ความเข้มงวดและระเบียบวินัยที่การพัฒนาซอฟต์แวร์สมัยใหม่สร้างขึ้นนั้นยอดเยี่ยมและควรจำลองตามความเหมาะสม แต่เราต้องตระหนักด้วยว่าสิ่งที่นักวิทยาศาสตร์ข้อมูลสร้างขึ้นนั้นแตกต่างจากวิศวกรซอฟต์แวร์โดยพื้นฐาน กระบวนการพัฒนาซอฟต์แวร์และวิทยาศาสตร์ข้อมูลมักจะตัดกันเนื่องจากซอฟต์แวร์รวบรวมข้อมูลส่วนใหญ่ที่ใช้โดยนักวิทยาศาสตร์ข้อมูล รวมทั้งทำหน้าที่เป็น “เครื่องมือในการจัดส่ง” สำหรับโมเดลจำนวนมาก ดังนั้น ทั้งสองสาขาจึงควรทำงานร่วมกันเพื่อขับเคลื่อนมูลค่าทางธุรกิจในท้ายที่สุด การทำความเข้าใจลักษณะพื้นฐานของงาน Data Science สามารถวางรากฐานที่มั่นคงสำหรับบริษัทต่างๆ ในการสร้างทีม Data Science ที่เพิ่มมูลค่าด้วยการสนับสนุนของผู้บริหารระดับสูงและทีมไอที

  • บ้าน
  • Business
  • Data science
  • Marketing
  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    Back to top button