เมื่อมองย้อนกลับจากปี 2025 ภูมิทัศน์ของ machine learning framework ได้ผ่านการเปลี่ยนแปลงอย่างมากที่น้อยคนจะคาดเดาได้เมื่อเพียงหกปีก่อน การอภิปรายในชุมชนเผยให้เห็นเรื่องราวน่าสนใจว่าความนิยมในการวิจัยเปลี่ยนจาก TensorFlow ไปสู่ PyTorch อย่างเด็ดขาด โดยมีผลกระทบระยะยาวต่อการเรียนรู้ของเครื่องทั้งในแวดวงวิชาการและอุตสาหกรรม
![]() |
|---|
| กราฟแสดงให้เห็นการครอบงำที่เพิ่มขึ้นของ PyTorch เหนือ TensorFlow ในการกล่าวถึงในงานวิจัยตั้งแต่ปี 2017 ถึง 2020 |
การอพยพของการวิจัยจาก TensorFlow
จุดเปลี่ยนสำคัญเกิดขึ้นประมาณปี 2017-2019 เมื่อนักวิจัยเริ่มละทิ้ง TensorFlow ในสิ่งที่ผู้แสดงความคิดเห็นคนหนึ่งบรรยายไว้ว่าเป็นการหลั่งไหลไปยัง PyTorch เป็นจำนวนมาก นี่ไม่ใช่เพียงการเปลี่ยนแปลงความนิยมเล็กน้อย แต่เป็นการย้ายถิ่นฐานครั้งใหญ่ที่ขับเคลื่อนโดยความแตกต่างพื้นฐานในประสบการณ์ของนักพัฒนา นักวิจัยพบว่า static computation graphs, การจัดการ session, และ variable scoping ที่ซับซ้อนของ TensorFlow สร้างความยุ่งยากที่ไม่จำเป็นต่อการสร้างต้นแบบและการทดลองอย่างรวดเร็ว
TensorFlow คือความยุ่งเหยิงสไตล์ Google ที่ถูกออกแบบมากเกินไป และพวกเขาทำให้เกิดการเปลี่ยนแปลงที่ผิดพลาดอยู่ตลอดเวลา การสร้างกราฟและการรัน session นั้นซับซ้อนเกินไป มี global state มากเกินไป และการแบ่งปันตัวแปรก็ซับซ้อนและอิงตามการตั้งชื่อและ variable scopes และ name scopes และอื่นๆ
ประสบการณ์การดีบักพิสูจน์แล้วว่าเป็นปัจจัยชี้ขาดอย่างยิ่ง โหมด eager execution ของ PyTorch อนุญาตให้นักวิจัยใช้เครื่องมือดีบักมาตรฐานของ Python และตรวจสอบเทนเซอร์โดยตรง ในขณะที่แนวทางแบบกราฟของ TensorFlow ทำให้การดีบักรู้สึกเหมือนกำลังดีบักโปรแกรมที่คอมไพล์แล้วโดยไม่มีซอร์สโค้ด เวิร์กโฟลว์การพัฒนาที่ใช้งานง่ายนี้เร่งวงจรการวิจัยและทำให้ PyTorch น่าสนใจเป็นพิเศษสำหรับสภาพแวดล้อมทางวิชาการที่การทำซ้ำอย่างรวดเร็วมีความสำคัญอย่างยิ่ง
![]() |
|---|
| กราฟนี้แสดงแนวโน้มการกล่าวถึงที่ไม่ซ้ำกันของคำศัพท์ที่เกี่ยวข้องกับ PyTorch และ TensorFlow ระหว่างปี 2017 ถึง 2020 |
เหตุใด PyTorch ถึงชนะใจนักวิจัย
ปัจจัยสำคัญสามประการขับเคลื่อนการครอบงำด้านการวิจัยของ PyTorch: ความเรียบง่าย การออกแบบแบบ Pythonic และ dynamic computation graphs เฟรมเวิร์กนี้ให้ความรู้สึกเหมือนการเขียนโค้ด numpy ที่ตรงไปตรงมา แทนที่จะต้องเรียนรู้กระบวนทัศน์ใหม่ที่ซับซ้อน นักวิจัยสามารถมุ่งความสนใจไปที่โมเดลและการทดลองของพวกเขา แทนที่จะต้องต่อสู้กับความซับซ้อนของเฟรมเวิร์ก Python API นี้เป็นธรรมชาติและคาดเดาได้ ไม่เหมือนอินเทอร์เฟซของ TensorFlow ซึ่งบางครั้งรู้สึกเหมือนมีการออกแบบสัญชาตญาณมากขึ้น ดังที่บทความดั้งเดิมปี 2019 ระบุไว้
ข้อพิจารณาด้านประสิทธิภาพก็มีบทบาทเช่นกัน แม้ว่าจะไม่เป็นไปตามที่หลายคนคาดไว้ ขณะที่ TensorFlow ในตอนแรกสัญญาประสิทธิภาพที่ดีขึ้นผ่านการเพิ่มประสิทธิภาพกราฟแบบคงที่ กราฟแบบไดนามิกของ PyTorch กลับมีประสิทธิภาพอย่างน่าประหลาดใจ สิ่งสำคัญกว่านั้นคือ ความแตกต่างของประสิทธิภาพแทบไม่สำคัญในช่วงระยะการวิจัย ที่ความเร็วในการทดลองมีความสำคัญเหนือประสิทธิภาพการคำนวณขั้นสุด นักวิจัยให้คุณค่ากับความสามารถในการทดสอบแนวคิดได้อย่างรวดเร็ว มากกว่าการบีบใช้ประโยชน์จาก GPU ให้ได้เปอร์เซ็นต์สุดท้าย
ความแตกต่างหลักของเฟรมเวิร์ก
- PyTorch: กราฟการคำนวณแบบไดนามิก การดีบักที่เป็นมิตรกับ Python เหมาะสำหรับการวิจัย
- TensorFlow: เครื่องมือสำหรับการใช้งานจริงที่แข็งแกร่ง ได้รับการสนับสนุนจากองค์กรขนาดใหญ่ มี TensorFlow Lite สำหรับระบบฝังตัว
- JAX: กระบวนทัศน์การเขียนโปรแกรมเชิงฟังก์ชัน ความสามารถในการประมวลผลแบบขนานที่ยอดเยี่ยม ได้รับความนิยมในห้องปฏิบัติการขนาดใหญ่
การตอบสนองของอุตสาหกรรมและภูมิทัศน์ในปัจจุบัน
ที่น่าสนใจคือ ความนิยมในการวิจัยสำหรับ PyTorch ในที่สุดก็ส่งผลต่อการยอมรับในอุตสาหกรรม ขณะที่ TensorFlow ยังคงได้รับการสนับสนุนจากองค์กรอย่างแข็งแกร่งและมีเครื่องมือสำหรับการผลิต PyTorch ก็ได้พัฒนาความสามารถในการผลิตของตัวเองผ่านคุณสมบัติต่างๆ เช่น TorchScript การรับรู้ว่า PyTorch นั้นโดยทั่วไปดีสำหรับอุตสาหกรรมโดยพิจารณาจากประสิทธิภาพจากการอภิปรายในปี 2019 นั้นถูกพลิก completamente แล้ว
ทุกวันนี้ ภูมิทัศน์ของเฟรมเวิร์กได้พัฒนาต่อไปด้วยการปรากฏตัวของ JAX ในฐานะผู้ท้าชิง โดยเฉพาะในสภาพแวดล้อมการฝึกอบรมขนาดใหญ่ ดังที่ผู้แสดงความคิดเห็นหนึ่งคนระบุ JAX ค่อนข้างได้รับความนิยมในหลายแล็บนอกเหนือจาก Google ที่ทำการฝึกอบรมขนาดใหญ่ เพราะจนถึงเมื่อไม่นานมานี้ หลักการยศาสตร์ของการทำงานแบบขนานนั้นดีกว่ามาก อย่างไรก็ตาม PyTorch ยังคงรักษาการครอบงำด้านการวิจัยในขณะที่ยังคงขยายขีดความสามารถในการผลิตต่อไป
ไทม์ไลน์การนำเฟรมเวิร์กมาใช้ (2017-2025)
- 2017: PyTorch ได้รับความสนใจในวงการวิจัยครั้งแรก
- 2018: เอกสารวิจัยแสดงให้เห็นการครอบงำของ PyTorch
- 2019: TensorFlow 2.0 พยายามตามให้ทันด้วย eager mode
- 2020-2022: PyTorch ตอกย้ำการครอบงำในวงการวิจัย
- 2023-ปัจจุบัน: JAX เกิดขึ้นสำหรับการเทรนขนาดใหญ่, PyTorch ขยายขีดความสามารถด้านการใช้งานจริง
บทเรียนสำหรับการพัฒนาเฟรมเวิร์กในอนาคต
เรื่องราวของ PyTorch-TensorFlow ให้บทเรียนที่มีค่าสำหรับนักออกแบบเฟรมเวิร์ก ประสบการณ์ของนักพัฒนามีความสำคัญมากกว่าข้อได้เปรียบทางทฤษฎี — กราฟแบบคงที่ของ TensorFlow สัญญาประสิทธิภาพที่ดีขึ้นแต่สร้างความยุ่งยากมากเกินไป แรงผลักดันของชุมชนมีพลังอย่างไม่น่าเชื่อ — เมื่อนักวิจัยเริ่มแบ่งปันโค้ดและบทช่วยสอน PyTorch ผลกระทบจากเครือข่ายก็เร่งการยอมรับ และบางทีอาจสำคัญที่สุดคือ ไม่มีข้อได้เปรียบใดถาวร — แม้จะมีทรัพยากรของ Google, TPUs, และการตลาดที่สมบูรณ์แบบ ดังที่ผู้แสดงความคิดเห็นหนึ่งคนสังเกต คนของคุณเองจะแยกออกไปและยึดครองตลาด
การแข่งขันของเฟรมเวิร์กยังคงดำเนินต่อไปในปัจจุบัน แต่ความนิยมของชุมชนวิจัยสำหรับเครื่องมือที่ใช้งานง่ายและเป็นแบบเนทีฟของ Python ดูเหมือนจะตั้งมั่นอย่างแน่นอน การเปลี่ยนแปลงที่เริ่มต้นในปี 2017-2019 ได้กำหนดอย่างถาวรว่าการวิจัย machine learning ดำเนินการอย่างไรและผลการค้นพบถูกแบ่งปันทั่วชุมชน AI ทั่วโลกอย่างไร


