กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see


News

ข่าว Firefox ย้ายตัวประมวลผล AI จาก WASM เป็น Native C++ รันเร็วขึ้น 2-10 เท่า

  • ผู้เริ่มหัวข้อ ผู้เริ่มหัวข้อ News 
  • วันที่เริ่มต้น วันที่เริ่มต้น

News 

Active member

สมาชิกทีมงาน
Moderator
Distributor
Firefox ย้ายตัวประมวลผล AI จาก WASM เป็น Native C++ รันเร็วขึ้น 2-10 เท่า
Body

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

ล่าสุด Firefox ประกาศวิธีแก้ปัญหานี้ ด้วยการเปลี่ยนรันไทม์ AI จากของเดิมรันบน WebAssembly (WASM) มาเป็น native C++ แทน

ระบบเดิม

การรัน AI บนหน้าเว็บของ Firefox ทำผ่านไลบรารี Transformers.js ที่เรียกใช้ onnxruntime‑web หรือรันไทม์ ONNX ที่อยู่บน WebAssembly (WASM) อีกที กระบวนการทำงานมี 3 ขั้นตอน

  1. Pre‑processing in JavaScript (tokenization, tensor shaping)
  2. Model execution in WASM
  3. Post‑processing back in JavaScript

ปัญหาคือประสิทธิภาพของ WASM ไม่สามารถสู้เนทีฟได้ และไม่รองรับชุดคำสั่งเร่งความเร็วเฉพาะสถาปัตยกรรมซีพียู เช่น AVX-512 ของซีพียูอินเทล หรือ NEON บน Apple Silicon นอกจากนี้ยังมีปัญหาการแปลง JavaScript เป็น WASM ครั้งแรกจะต้องใช้เวลานาน (cold start)

ระบบใหม่

Mozilla ตัดสินใจผนวกเอารันไทม์ ONNX ที่เขียนด้วย C++ เข้ามาในตัว Firefox โดยตรง เพื่อตัดกระบวนการแปลง JavaScript เป็น WASM ออกไป เหลือเป็น JavaScript เข้าตรงเป็นเนทีฟได้เลย

การนำรันไทม์ ONNX มาใช้มีข้อจำกัดเล็กน้อย ตรงที่รันไทม์ไม่รองรับ build configuration ของ Firefox ทุกแบบ ถ้าผนวกเข้ามาในซอร์สโค้ด (in-tree) จะต้องแก้ไขเยอะ ทำให้ Firefox เลือกผนวกตัวไบนารีที่คอมไพล์แล้วเข้ามาแทน โดย Firefox จะดาวน์โหลดไบนารีมาให้อัตโนมัติเมื่อจะใช้งาน

ผลจากการเปลี่ยน WASM เป็น native C++ สามารถเพิ่มความเร็วในการรัน AI ได้สูง 2-10 เท่าตามแต่กรณี ตัวอย่างคือ ฟีเจอร์จัดกลุ่มแท็บ Smart Tab Grouping ที่มีปัญหาประสิทธิภาพ ทำงานได้เร็วขึ้นมากตอน cold start

Mozilla บอกว่ากำลังค่อยๆ ย้ายฟีเจอร์ AI มารันบน backend ตัวใหม่ และมีแผนปรับปรุงประสิทธิภาพเพิ่มเติม เช่น การรันมัลติเธร็ด การทำแคช model graph ก่อนรันงาน การย้ายไปรันในจีพียูแทนซีพียู เป็นต้น

ที่มา - Firefox Blog

mk Mon, 01/09/2025 - 08:49

Continue reading...
 



กรุณาปิด โปรแกรมบล๊อกโฆษณา เพราะเราอยู่ได้ด้วยโฆษณาที่ท่านเห็น
Please close the adblock program. Because we can live with the ads you see
กลับ
ยอดนิยม ด้านล่าง