เรียนรู้ข้อดีข้อเสียเพื่อเลือกสิ่งที่เหมาะกับคุณ! รายงานที่สมจริง

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

ฉันทำงานกับ ML มาเป็นเวลา 6 ปีแล้ว ในช่วง 2½ ปีที่ผ่านมาในฐานะนักวิจัยระดับสูงกว่าปริญญาตรี โดยลองใช้ทั้งสามแนวทางจากทั้งในอุตสาหกรรมและมุมมองทางวิชาการ

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

1. วิธีการจากบนลงล่าง

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

กรณีการใช้งาน

วิธีการนี้ใช้ได้ผลดีกับ ต้นแบบและ การพิสูจน์แนวคิด บ่อยครั้งที่ทั้งบริษัทและนักวิจัยเชิงวิชาการต้องการทดลองใช้ว่าแนวคิดหรือแนวคิดบางอย่างสามารถทำงานได้หรือไม่ ก่อนที่จะพิสูจน์แนวคิดดังกล่าวในทางทฤษฎี

ข้อดี

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

ข้อเสีย

วิธีการนี้มีข้อเสียอย่างมากที่คุณถูกจำกัดอยู่เพียงสิ่งที่มีอยู่ ซึ่งอาจนำไปสู่ฟังก์ชันการทำงานที่จำกัดในแอปพลิเคชันของคุณ

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

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

โซลูชั่น

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

ความคิดเห็นส่วนตัว

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

<แข็งแกร่ง>2. แนวทางจากล่างขึ้นบน (โมเดลเป็นศูนย์กลาง)

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

กรณีการใช้งาน

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

ข้อดี

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

ข้อเสีย

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

วิธีแก้ปัญหา

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

ความเห็นส่วนตัว

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

<แข็งแกร่ง>3. แนวทางข้อมูลขนาดใหญ่ (เน้นข้อมูล)

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

กรณีการใช้งาน

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

ข้อดี

โมเดลที่สร้างขึ้นสามารถแก้ปัญหาได้หลายงานและปรับให้เข้ากับหลายโดเมนได้

ข้อเสีย

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

วิธีแก้ปัญหา

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

ความเห็นส่วนตัว

ฝัน? น่าเสียดายสำหรับพวกเราส่วนใหญ่ใช่ การฝึกอบรมโมเดลเหล่านี้ (ในระยะเวลาที่แข่งขันได้) จะต้องอาศัยชุดคอมพิวเตอร์ที่ขับเคลื่อนด้วย GPU ที่มีความสามารถสูง และการรวบรวมข้อมูลเป็นกระบวนการที่ซับซ้อน ซึ่งมักเกี่ยวข้องกับการศึกษาหรือการบันทึก ซึ่งถูกขัดขวางโดยกฎระเบียบด้านความเป็นส่วนตัวและปัญหาทางวิศวกรรม เช่น การจัดเก็บข้อมูลที่เชื่อถือได้ . คุณสามารถแก้ไขปัญหาเหล่านี้ได้โดยเริ่มดำเนินการรวบรวมข้อมูลและเช่าคอมพิวเตอร์ระบบคลาวด์ แต่ในความเป็นจริงแล้ว คุณจะไม่มีเงินพอที่จะทำเช่นนั้น ไม่ได้อยู่ในสภาพแวดล้อมการวิจัยของเยอรมนี (ซึ่งฉันเป็นส่วนหนึ่งของ) และอาจจะไม่อยู่ใน 99% ของบริษัทอุตสาหกรรม และประหยัดเงินด้วยการรวบรวมข้อมูลด้วยตัวเอง? พวกเราเหนื่อย; มันเหนื่อยมาก นอกเหนือจากกฎระเบียบแล้ว หากคุณไม่จ่ายเงินและปรับขนาดการรวบรวมข้อมูล คุณจะไม่มีชุดข้อมูลที่มีนัยสำคัญทางสถิติ ซึ่งครอบคลุมเงื่อนไขที่กำหนดไว้อย่างดีเพียงไม่กี่ข้อ ซึ่งอยู่ห่างไกลจากปัญหาในชีวิตจริงอีกครั้ง

แนวทางที่เกี่ยวข้อง

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

  • วิศวกรรมพร้อมท์: ความรู้เกี่ยวกับโมเดลภาษาธรรมชาติขนาดใหญ่ (LLM) เช่น Chat GPT สามารถขยาย (หรือจำกัด) ได้ด้วยการเขียนข้อความแจ้งที่เติมไว้หน้าอินพุตของผู้ใช้
  • ปลั๊กอิน LLM:คุณสามารถเขียน wrapper รอบๆ “อินเทอร์เฟซการแชท” ที่อนุญาตให้ LLM ดำเนินการคำสั่งในซอฟต์แวร์แบบดั้งเดิมและตีความผลลัพธ์ของคำสั่งเหล่านี้

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

โดยส่วนตัวแล้ว ฉันพิจารณาแนวทางการพัฒนาที่ "เกี่ยวข้องกับ ML" เหล่านี้ แต่ไม่ใช่ "การพัฒนา ML" ดังนั้นจะไม่ลงรายละเอียดเพิ่มเติม

มองไปข้างหน้า

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

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

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

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

อ่านเพิ่มเติม

ภาพรวมทางเทคนิคของความท้าทายที่สำคัญของการพัฒนา AI และแนวทางแก้ไขสำหรับความท้าทายเหล่านี้มีการนำเสนอในโปสเตอร์นี้และ "เอกสาร" ที่แนบมาด้วยซึ่งฉันร่วมเขียนโดยเป็นส่วนหนึ่งของ โครงการวิจัย