วิศวกร ML
วิศวกร ML
วิศวกร ML
วิศวกร ML

       วิศวกร ML หรือที่เรียกกันว่า Machine Learning Engineer ก็คือผู้ทำหน้าที่พัฒนา Machine Learning ด้วยการเขียนโค้ด เขียนโปรแกรม อาจเรียกได้ว่าเป็นสายงานที่ต่อยอดมาจากโปรแกรมเมอร์หรือ App Developer ก็ว่าได้

       Machine Learning แปลเป็นไทยอย่างง่ายว่าการเรียนรู้ของเครื่องจักร คือการสร้างเทคโนโลยีที่ให้ระบบ AI (ปัญญาประดิษฐ์ : Artificial Intelligence ) ทำงานได้โดยอัตโนมัติตามที่วางโปรแกรมไว้ แทนที่จะใช้แรงงานมนุษย์ในการลงมือทำ ข้อดีของระบบนี้คือช่วยย่นระยะเวลาที่ใช้ในการทำงานอย่างมาก ไม่เปลืองแรงในการลงมือทำเอง และมีโอกาสจะเกิดข้อบกพร่องได้น้อยกว่ามือมนุษย์ โดยคอมพิวเตอร์จะนำข้อมูลที่ได้ไปวิเคราะห์ ประมวลผลหาคำตอบออกมาให้เรา

       งานที่นำ Machine Learning เข้ามาเกี่ยวข้องด้วยนั้นก็มีหลายสาย เรียกได้ว่าสามารถนำไปปรับใช้ได้แทบทุกอย่าง เช่น เว็บไซต์ขายของที่มักจะแนะนำสินค้าที่เราน่าจะชอบมาให้ ,การแนะนำคำศัพท์ที่ถูกต้องเวลาค้นหาในเว็บ Google ,การจัดกลุ่มสินค้าแนะนำหรือบทความแนะนำบนเว็บไซต์ต่าง ๆ หรือระบบแท็กชื่อบุคคลในภาพของ Facebook ก็ใช้ Machine Learning มาช่วยคำนวณในจุดนี้เช่นกัน นอกจากนี้ยังมีการนำไปใช้กับศาสตร์ทุกแขนง อย่างใช้วิเคราะห์ผลเนื้องอก วิเคราะห์อารมณ์ วิเคราะห์ผลกีฬา แม้กระทั่งการสร้างรถยนต์ไร้คนขับของ Tesla

วิศวกร ML  (Machine Learning Engineer)

วิศวกร ML  (Machine Learning Engineer)

วิศวกร ML  (Machine Learning Engineer)

 

ลักษณะการทำงาน

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

ขั้นตอนการทำงาน 

  • ประชุมเพื่อมอบหมายงานและฟังความต้องการจากหัวหน้า ,Product Owner หรือผู้บริหาร
  • ทำการยืนยันภายในทีมว่า Solution (แผนงาน) ที่คิดไว้ในหัวทำได้จริงไหม ส่วนประกอบอื่น ๆ ที่ต้องการมีครบหรือยัง อันไหนยังไม่มีก็อาจต้องรอทีมอื่นทำเพิ่ม มาสรุปคร่าว ๆ เป็นแผนงานและตารางเวลา เพื่อให้คำตอบกลับไปยังผู้บริหารว่า “ใช้เวลาพัฒนานานเท่าไร” และต้องไม่ลืมที่จะเผื่อเวลาไว้สำหรับปัญหาในอนาคตที่อาจต้องพบเจอด้วย
  • พัฒนางานตามขั้นตอนระบบของการทำงานสากลในสายงาน Software  (Agile, Scrum) 
  • ประชุมย่อยสรุปขั้นตอนการทำงานงานเป็นระยะ เพื่อหาว่ายังทำงานได้ต่อไหม เจอปัญหาอะไรบ้าง กำหนดการยังเหมือนเดิมไหม
  • เมื่องานใกล้เสร็จ ก็เตรียมทำแผน Deployment คือนำงานขึ้น Server เพื่อจะได้สามารถทดสอบภายในได้ ประสานงานกับ Tester เพื่อทดสอบระบบ จากนั้นส่วนนี้จะวนซ้ำ จาก Integration -> Staging -> Production ซึ่งเป็นระดับชั้นของ Server เพื่อทดสอบในแต่ล่ะขั้นและหาบั๊กก่อนที่จะออกสู่ท้องตลาด

สถานที่ทำงาน

       ทำงานภายในออฟฟิศหรือสำนักงานเป็นส่วนใหญ่ เพราะเวลาทำงาน จำเป็นต้องมี Server ภายในที่สเปคเครื่องค่อนข้างแรง ไว้ Train model หรือไม่ก็ต้องการอินเตอร์เน็ตที่เสถียรเพื่อ Remote สั่ง Train model แทน ที่เหลือขึ้นอยู่กับแต่ล่ะบริษัทว่างานเป็นรูปแบบไหน ถ้าเป็น Software house ที่รับงานบริษัทอื่นมาทำก็อาจออกไปประชุมงานข้างนอกบ่อย แต่ถ้าเป็นบริษัทที่มีผลิตภัณฑ์เป็นของตัวเอง ก็จะทำงานแต่ในบริษัทเสียมากกว่า ส่วนการประชุม สมัยนี้การประชุมผ่านอินเตอร์เน็ตมันเป็นเรื่องที่ทำได้ง่ายและสะดวกสบาย

ผู้ที่ต้องทำงานด้วย 

  • Director / CTO ผู้บริหารที่ให้โจทย์และแนวทางการทำงาน
  • Product Owner / Product Manager หากเป็น software house จะมีลูกค้าที่จะให้โจทย์งาน
  • Software Engineer 
  • Tester / QA
  • System หรือ Infrastructure Team
โดยแต่ละตำแหน่งอาจแตกต่างออกไปตามแต่ละสายงานและบริษัท
 
 

เงินเดือน วิศวกร ML

ตำแหน่งและเส้นทางการเติบโตในสายอาชีพ

  • แบบตรงสาย

แบ่งตามประสบการณ์และความสามารถของแต่ละบุคคล ส่วนมากจะเริ่มจากระดับ Junior ไปเป็น Senior และ Team Lead ตามลำดับ โดยระดับเงินเดือน จะขึ้นอยู่กับความสามารถและประสบการณ์ในการทำงาน

  • แบบไม่ตรงสาย

สายการบริหาร เช่น Project Manager ฯลฯ

สายการตลาดและการวิเคราะห์  Marketing / Business Analyst ฯลฯ

เงินเดือน 

       ส่วนมากจะอยู่ที่ประมาณ 30,000-70,000 บาท ตามความสามารถ และบริษัทอาจสูงถึง 100,000 บาท ซึ่งเป็นส่วนน้อย ขึ้นอยู่กับรูปแบบธุรกิจ ความต้องการพนักงาน และสกิลที่คาดหวัง หลายบริษัทพร้อมที่จะจ่ายแพง หากความสามารถที่ได้รับนั้นคุ้มค่ากับที่คาดหวัง

การแข่งขันและความต้องการของตลาด

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

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

 

  • ทักษะด้านการเขียนโปรแกรม ภาษาที่แนะนำคือ Python เพราะเป็นภาษาที่ใช้ทำ AI ที่นิยมเยอะมาก แต่ภาษาอื่นก็ใช้เขียนได้เช่นกัน เช่น C# หรือ Java
  • ความรู้ด้านอัลกอริทึ่มที่เกี่ยวกับการทำ AI ซึ่งมีหลายประเภทมาก ทั้ง Classification, Cross Validation, Regression, Neural Network และอื่นๆ ซึ่งยิ่งรู้เยอะยิ่งดี เพราะอาชีพนี้คือการเลือกอัลกอริทึ่มที่เหมาะสมมาตอบโจทย์ของงาน
  • ทักษะด้านคณิตศาสตร์แบบทั่วไปและความรู้เกี่ยวกับสถิติและความน่าจะเป็น
  • ทักษะการจัดการ Big Data ซึ่งถือเป็นพื้นฐานสำคัญของอาชีะ
  • การจัดการเวลา เวลาเป็นสิ่งสำคัญที่ต้องจัดการให้ได้ โดยเฉพาะเมื่อเรามีขั้นตอนการทำงานที่ซับซ้อนด้วย 
  • การสื่อสาร ถือเป็นสิ่งสำคัญที่ต้องใช้ โดยเฉพาะการอธิบายถึงรูปแบบงานของเราให้ผู้อื่นที่ไม่มีพื้นฐานความรู้ด้าน Machine Learning ให้เข้าใจได้ง่ายดาย ไม่สับสน 
  • ทักษะภาษาอังกฤษ จำเป็นในการศึกษาหาความรู้เพิ่มเติมจากบทความต่าง ๆ ที่ส่วนมากมักเป็นภาษาอังกฤษ

 

เรียน วิศว ML

การศึกษา

สามารถเลือกสายการเรียนเหมือน App Developer ได้เลย คือ เลือกเรียนสายการเรียนวิทย์-คณิตในระดับมัธยมปลาย  สำหรับคณะและสาขานั้นจะมีชื่อเรียกต่างกันไปในแต่ละมหาวิทยาลัย เช่น 

  • สาขาวิทยาการคอมพิวเตอร์ 
  • สาขาวิศวกรรมคอมพิวเตอร์ 
  • สาขาวิศวกรรมซอฟต์แวร์ 
  • สาขาเทคโนโลยีสารสนเทศ 

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

 

 

Hard Skills

  • หมั่นหาเวลาว่างมาศึกษาการเขียน AI ซึ่งในยุคสมัยนี้มันง่ายขึ้นมาก โดยทางลัดคือการค้น Google หาโปรเจคใน Github ที่อยู่ในรูปแบบ Real world ตัวอย่างคีย์เวิร์ด เช่น “image recognition real world github” หลายโปรเจ็คที่มีคำว่า Real world ส่วนมากจะโดยสร้างขึ้นเพื่อสรุปความรู้หรือใช้ประกอบการพรีเซนต์ความสามารถในการเขียน Ai ซึ่งมักจะมีความซับซ้อนกว่าโปรเจ็คกลุ่ม Tutorial แต่ข้อดีคือเราจะศึกษาจากมันได้เยอะมาก
  • นำโปรเจคพวกนี้มาแกะแล้วทำความเข้าใจ ลองสร้างเป็นของใหม่ของเราดู จะพัฒนาสกิลตรงนี้ได้เยอะ

Soft Skills 

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

กิจกรรมต่าง ๆ

  • หากต้องการศึกษาด้วยตนเอง  สามารถดูวิดีโอใน Youtube หรือคอร์สสอนใน Udemy จากนั้นก็ลองทำตามกับค้น Google  ซึ่งจะมี Tutorial เยอะตามใน Medium.com ด้วย
  • ใครไม่ค่อยเก่งเรื่องคณิตศาสตร์ก็ไม่ต้องกังวล เน้นลองสร้างตามให้ได้ก่อน แล้วค่อยนำโปรแกรมมาแก้ไขเองเพื่อเสริมความเข้าใจก็ได้
  • ตามเพจ Facebook ก็แนะนำ Data Rockie เพื่อดูข่าวสารด้านสายงาน Data หรือ คอมพิวเตอร์โปรแกรมเมอร์ 
  • ศึกษาจากหลักสูตรออนไลน์ของมหาวิทยาลัย Stanford https://www.coursera.org/learn/machine-learning

วิชาที่เรียน 

หลัก ๆ ควรเน้นวิชาเกี่ยวกับพีชคณิต สถิติความน่าจะเป็น และแคลคูลัส

  • พีชคณิต (Linear Algebra) ในการทำ ML จะมีการใช้ Vector และ Matrix ตลอด จึงจำเป็นต้องมีความรู้เรื่องพีชคณิต
  • แคลคูลัส คืออัลกอริทึ่มที่ใช้ใน ML ยกตัวอย่างว่าหากต้องการทำ ML หาแนวโน้มราคาขายบ้าน สิ่งที่มีต้องทำคือใช้ Linear regression เป็นอัลกอริทึ่มตัวหนึ่งที่เกี่ยวกับสมการการถดถอย ซึ่งมันก็เป็นสมการเชิงเส้นตัวหนึ่งนี้แหละ
  • สถิติความน่าจะเป็น ใช้ตอนทำ Prediction  พวกการเช็คว่าผลลัพธ์จาก ML ทำงานเป็นอย่างไร ยกตัวอย่างการใช้ Bayes theorem มาตรวจสอบ หรือแม้กระทั่งค่าเฉลี่ย Median ก็ยังใช้ได้ เช่น ทำ ML วิเคราะห์ความเหมาะสมของราคาบ้าน แล้วเอาค่าเฉลี่ยมาเป็นตัววัดว่าดูใกล้เคียงหรือเปล่า
  • วิชาอื่น ๆ จะเหมือนกับโปรแกรมเมอร์ปกติ และจะมีเรื่องพิเศษอย่าง micro-service big data

 

เคล็ดลับการเรียน

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


Copyright © 2019 TruePlookpanya. All rights reserved.
สงวนลิขสิทธิ์ตามพระราชบัญญัติลิขสิทธิ์ พ.ศ. 2537 ห้ามมิให้ผู้ใดคัดลอก ทำซ้ำ ดัดแปลง แก้ไข หรือเผยแพร่ส่วนหนึ่งส่วนใดของบทความนี้ก่อนได้รับอนุญาตเป็นลายลักษณ์อักษร