Transformers.js v4 เปิดตัวแล้ว! ยกระดับ AI บนเว็บให้เร็ว แรง และยืดหยุ่นกว่าเดิม

Hugging Face ประกาศเปิดตัว Transformers.js v4 เวอร์ชันใหม่ล่าสุด ที่มาพร้อมการปรับปรุงครั้งใหญ่เพื่อยกระดับประสบการณ์การใช้งาน AI บนเว็บให้ดียิ่งขึ้น ทั้งในด้านประสิทธิภาพ ความยืดหยุ่น และการรองรับโมเดลที่หลากหลาย การอัปเดตครั้งนี้ไม่เพียงแต่ทำให้การพัฒนาแอปพลิเคชัน AI บนเบราว์เซอร์และสภาพแวดล้อม JavaScript อื่นๆ ง่ายขึ้น แต่ยังเปิดประตูสู่ความเป็นไปได้ใหม่ๆ ในการนำ AI ไปใช้จริง

ปรับปรุงประสิทธิภาพด้วย WebGPU Runtime ใหม่ 🚀

หัวใจสำคัญของการอัปเดต v4 คือการนำ WebGPU Runtime ที่เขียนขึ้นใหม่ทั้งหมดด้วยภาษา C++ มาใช้งาน ซึ่งพัฒนาขึ้นโดยความร่วมมือกับทีม ONNX Runtime การเปลี่ยนแปลงนี้ส่งผลให้:

  • ความเร็วที่เหนือกว่า: WebGPU Runtime ใหม่รองรับ Operator ที่หลากหลายและมีประสิทธิภาพมากขึ้น ช่วยให้โมเดลทำงานได้เร็วขึ้นอย่างเห็นได้ชัด โดยเฉพาะอย่างยิ่งการนำ Operator เฉพาะทางอย่าง com.microsoft.GroupQueryAttention, com.microsoft.MatMulNBits, หรือ com.microsoft.QMoE มาใช้ ทำให้โมเดลประเภท BERT-based embedding เร็วขึ้นถึง 4 เท่าเมื่อเทียบกับเวอร์ชันก่อนหน้า
  • ความแม่นยำและความครอบคลุม: รองรับ Operator ได้ดีขึ้น ส่งผลให้การคำนวณมีความแม่นยำและครอบคลุมโมเดลได้มากขึ้น
  • ใช้งานได้หลากหลายสภาพแวดล้อม: โค้ด Transformers.js เดียวกันสามารถทำงานได้ทั้งบนเบราว์เซอร์, Server-side Runtimes (เช่น Node.js, Bun, Deno) และแอปพลิเคชันเดสก์ท็อป โดยยังคงได้รับประโยชน์จาก WebGPU Acceleration

โครงสร้าง Repository ที่เป็นระเบียบยิ่งขึ้น 🏗️

เพื่อรองรับการพัฒนาในระยะยาว Transformers.js v4 ได้ปรับโครงสร้าง Repository ให้เป็น Monorepo โดยใช้ pnpm workspaces ทำให้สามารถจัดการกับ Sub-packages ต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น การเปลี่ยนแปลงนี้ช่วยให้:

  • แพ็กเกจที่เล็กลง: สามารถสร้างและเผยแพร่แพ็กเกจย่อยที่มีขนาดเล็กลง โดยยังคงพึ่งพา @huggingface/transformers core ได้โดยไม่ต้องดูแล Repository แยกหลายที่
  • แยกส่วนการทำงาน: โค้ดโมเดลถูกแยกออกจากไฟล์ models.js เดิมที่ยาวกว่า 8,000 บรรทัด ออกเป็นโมดูลย่อยที่ชัดเจน ทำให้โค้ดอ่านง่ายขึ้น และเพิ่มโมเดลใหม่ๆ ได้สะดวก
  • ตัวอย่างโครงการแยกต่างหาก: โครงการตัวอย่างถูกย้ายไปยัง Repository เฉพาะ เพื่อให้ Repository หลักมีโค้ดคอร์ไลบรารีที่สะอาดตา และผู้ใช้สามารถค้นหาหรือร่วมพัฒนาตัวอย่างได้ง่ายขึ้น

ฟีเจอร์ใหม่และ API ที่ทรงพลัง 🛠️

Transformers.js v4 มาพร้อมกับฟีเจอร์ใหม่ๆ ที่ช่วยให้การพัฒนาแอปพลิเคชัน AI ที่พร้อมใช้งานจริงเป็นไปได้ง่ายขึ้น:

  • ModelRegistry API: ออกแบบมาเพื่อ Workflow การผลิต ช่วยให้ตรวจสอบ Assets ของ Pipeline ได้อย่างชัดเจนก่อนโหลด เช่น รายการไฟล์ที่จำเป็น (getpipelinefiles), ตรวจสอบสถานะ Cache (ispipelinecached), หรือล้าง Cache (clearpipelinecache) นอกจากนี้ progresscallback ยังรองรับ progresstotal ทำให้แสดงผลความคืบหน้าการโหลดได้สมบูรณ์ยิ่งขึ้น
  • Environment Settings: เพิ่มการควบคุมการโหลดโมเดล เช่น env.useWasmCache สำหรับการใช้งานแบบ Offline และ env.fetch สำหรับการกำหนดค่า Fetch Implementation ที่กำหนดเอง
  • การควบคุม Log ที่ดีขึ้น: ซ่อนคำเตือน WebGPU ONNX Runtime เป็นค่าเริ่มต้น และสามารถกำหนดระดับ Verbosity ได้อย่างชัดเจน ช่วยให้ Console Output มีเฉพาะข้อมูลที่สำคัญ
  • Standalone Tokenizers.js Library: แยก Logic การ Tokenization ออกมาเป็นไลบรารี @huggingface/tokenizers โดยเฉพาะ มีขนาดเล็ก (8.8kB gzipped) และไม่มี Dependencies ทำให้ใช้งานได้ง่ายและมีประสิทธิภาพ

รองรับโมเดลใหม่ๆ และสถาปัตยกรรมที่ซับซ้อน 🚀

ด้วยกลยุทธ์การ Export โมเดลใหม่และการสนับสนุน Custom Operators จาก ONNX Runtime ทำให้ Transformers.js v4 สามารถเพิ่มโมเดลยอดนิยมจำนวนมากเข้ามา เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLM โมเดลเหล่านี้รองรับสถาปัตยกรรมขั้นสูง เช่น Mamba, Multi-head Latent Attention (MLA), และ Mixture of Experts (MoE) ซึ่งทั้งหมดนี้สามารถทำงานได้บน WebGPU ทำให้ผู้ใช้สามารถรันโมเดลเหล่านี้ได้โดยตรงบนเบราว์เซอร์หรือสภาพแวดล้อม JavaScript อื่นๆ ด้วย Hardware Acceleration

ปรับปรุง Build System และขนาด Bundle 💨

การเปลี่ยนจาก Webpack มาเป็น esbuild ส่งผลให้:

  • Build Time เร็วขึ้น 10 เท่า: จาก 2 วินาที เหลือเพียง 200 มิลลิวินาที ทำให้การพัฒนาทำซ้ำได้เร็วขึ้นมาก
  • ขนาด Bundle ลดลง 10%: โดยเฉลี่ย ทำให้ดาวน์โหลดเร็วขึ้น และแอปพลิเคชันเริ่มต้นทำงานได้ไวขึ้น โดยเฉพาะ transformers.web.js ที่มีขนาดเล็กลงถึง 53%

การปรับปรุงอื่นๆ ที่น่าสนใจ ✨

  • รองรับโมเดลขนาดใหญ่: สามารถรันโมเดลที่มีพารามิเตอร์มากกว่า 8 พันล้านตัวได้สำเร็จ เช่น GPT-OSS 20B (q4f16) ที่ความเร็วประมาณ 60 tokens ต่อวินาที บน M4 Pro Max
  • Type System ที่ดีขึ้น: รองรับ Dynamic Pipeline Types ที่ปรับเปลี่ยนตาม Input เพื่อประสบการณ์นักพัฒนาที่ดีขึ้น
  • ปรับปรุง Prettier Configuration: ทำให้โค้ดมีรูปแบบที่สอดคล้องกันทั่วทั้ง Repository

Transformers.js v4 ถือเป็นการก้าวกระโดดครั้งสำคัญ ที่ทำให้การนำ AI ไปใช้บนเว็บง่ายขึ้น เร็วขึ้น และเข้าถึงได้มากขึ้น ใครที่กำลังพัฒนาแอปพลิเคชัน AI บนเว็บ ไม่ควรพลาดเวอร์ชันนี้!

คำถามที่พบบ่อย

Transformers.js v4 ใช้ WebGPU ได้บนทุกเบราว์เซอร์หรือไม่?

WebGPU รองรับบนเบราว์เซอร์รุ่นใหม่ๆ ส่วนใหญ่ แต่ประสิทธิภาพและความเข้ากันได้อาจแตกต่างกันไป ควรตรวจสอบเอกสารของเบราว์เซอร์ที่คุณใช้งาน

โมเดลที่เพิ่มเข้ามาใหม่ใน v4 มีอะไรบ้าง?

มีโมเดลยอดนิยมมากมาย เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLM

สามารถรันโมเดลบน Node.js ได้โดยตรงหรือไม่?

ได้ครับ ด้วย WebGPU Runtime ใหม่ ทำให้สามารถรันโมเดลที่เร่งความเร็วด้วย WebGPU ได้โดยตรงบน Node.js, Bun, และ Deno

Tokenizers.js Library มีประโยชน์อย่างไร?

เป็นไลบรารีแยกต่างหากสำหรับ Logic การ Tokenization โดยเฉพาะ มีขนาดเล็ก ไม่มี Dependencies และทำงานได้ดีทั้งบนเบราว์เซอร์และ Server-side

การปรับปรุงเรื่องขนาด Bundle มีผลอย่างไร?

ขนาด Bundle ที่เล็กลงหมายถึงผู้ใช้ดาวน์โหลดไฟล์น้อยลง แอปพลิเคชันโหลดเร็วขึ้น และใช้ทรัพยากรน้อยลง

#TransformersJS #WebGPU #AI #JavaScript #HuggingFace

ขอบคุณ แหล่งข้อมูล
https://huggingface.co/blog/transformersjs-v4

Transformers.js v4 เปิดตัวแล้ว! ยกระดับ AI บนเว็บให้เร็ว แรง และยืดหยุ่นกว่าเดิมHugging Face ประกาศเปิดตัว Transformers.js v4 เวอร์ชันใหม่ล่าสุด ที่มาพร้อมการปรับปรุงครั้งใหญ่เพื่อยกระดับประสบการณ์การใช้งาน AI บนเว็บให้ดียิ่งขึ้น ทั้งในด้านประสิทธิภาพ ความยืดหยุ่น และการรองรับโมเดลที่หลากหลาย การอัปเดตครั้งนี้ไม่เพียงแต่ทำให้การพัฒนาแอปพลิเคชัน AI บนเบราว์เซอร์และสภาพแวดล้อม JavaScript อื่นๆ ง่ายขึ้น แต่ยังเปิดประตูสู่ความเป็นไปได้ใหม่ๆ ในการนำ AI ไปใช้จริงปรับปรุงประสิทธิภาพด้วย WebGPU Runtime ใหม่ 🚀หัวใจสำคัญของการอัปเดต v4 คือการนำ WebGPU Runtime ที่เขียนขึ้นใหม่ทั้งหมดด้วยภาษา C++ มาใช้งาน ซึ่งพัฒนาขึ้นโดยความร่วมมือกับทีม ONNX Runtime การเปลี่ยนแปลงนี้ส่งผลให้:ความเร็วที่เหนือกว่า: WebGPU Runtime ใหม่รองรับ Operator ที่หลากหลายและมีประสิทธิภาพมากขึ้น ช่วยให้โมเดลทำงานได้เร็วขึ้นอย่างเห็นได้ชัด โดยเฉพาะอย่างยิ่งการนำ Operator เฉพาะทางอย่าง com.microsoft.GroupQueryAttention, com.microsoft.MatMulNBits, หรือ com.microsoft.QMoE มาใช้ ทำให้โมเดลประเภท BERT-based embedding เร็วขึ้นถึง 4 เท่าเมื่อเทียบกับเวอร์ชันก่อนหน้าความแม่นยำและความครอบคลุม: รองรับ Operator ได้ดีขึ้น ส่งผลให้การคำนวณมีความแม่นยำและครอบคลุมโมเดลได้มากขึ้นใช้งานได้หลากหลายสภาพแวดล้อม: โค้ด Transformers.js เดียวกันสามารถทำงานได้ทั้งบนเบราว์เซอร์, Server-side Runtimes (เช่น Node.js, Bun, Deno) และแอปพลิเคชันเดสก์ท็อป โดยยังคงได้รับประโยชน์จาก WebGPU Accelerationโครงสร้าง Repository ที่เป็นระเบียบยิ่งขึ้น 🏗️เพื่อรองรับการพัฒนาในระยะยาว Transformers.js v4 ได้ปรับโครงสร้าง Repository ให้เป็น Monorepo โดยใช้ pnpm workspaces ทำให้สามารถจัดการกับ Sub-packages ต่างๆ ได้อย่างมีประสิทธิภาพมากขึ้น การเปลี่ยนแปลงนี้ช่วยให้:แพ็กเกจที่เล็กลง: สามารถสร้างและเผยแพร่แพ็กเกจย่อยที่มีขนาดเล็กลง โดยยังคงพึ่งพา @huggingface/transformers core ได้โดยไม่ต้องดูแล Repository แยกหลายที่แยกส่วนการทำงาน: โค้ดโมเดลถูกแยกออกจากไฟล์ models.js เดิมที่ยาวกว่า 8,000 บรรทัด ออกเป็นโมดูลย่อยที่ชัดเจน ทำให้โค้ดอ่านง่ายขึ้น และเพิ่มโมเดลใหม่ๆ ได้สะดวกตัวอย่างโครงการแยกต่างหาก: โครงการตัวอย่างถูกย้ายไปยัง Repository เฉพาะ เพื่อให้ Repository หลักมีโค้ดคอร์ไลบรารีที่สะอาดตา และผู้ใช้สามารถค้นหาหรือร่วมพัฒนาตัวอย่างได้ง่ายขึ้นฟีเจอร์ใหม่และ API ที่ทรงพลัง 🛠️Transformers.js v4 มาพร้อมกับฟีเจอร์ใหม่ๆ ที่ช่วยให้การพัฒนาแอปพลิเคชัน AI ที่พร้อมใช้งานจริงเป็นไปได้ง่ายขึ้น:ModelRegistry API: ออกแบบมาเพื่อ Workflow การผลิต ช่วยให้ตรวจสอบ Assets ของ Pipeline ได้อย่างชัดเจนก่อนโหลด เช่น รายการไฟล์ที่จำเป็น (getpipelinefiles), ตรวจสอบสถานะ Cache (ispipelinecached), หรือล้าง Cache (clearpipelinecache) นอกจากนี้ progresscallback ยังรองรับ progresstotal ทำให้แสดงผลความคืบหน้าการโหลดได้สมบูรณ์ยิ่งขึ้นEnvironment Settings: เพิ่มการควบคุมการโหลดโมเดล เช่น env.useWasmCache สำหรับการใช้งานแบบ Offline และ env.fetch สำหรับการกำหนดค่า Fetch Implementation ที่กำหนดเองการควบคุม Log ที่ดีขึ้น: ซ่อนคำเตือน WebGPU ONNX Runtime เป็นค่าเริ่มต้น และสามารถกำหนดระดับ Verbosity ได้อย่างชัดเจน ช่วยให้ Console Output มีเฉพาะข้อมูลที่สำคัญStandalone Tokenizers.js Library: แยก Logic การ Tokenization ออกมาเป็นไลบรารี @huggingface/tokenizers โดยเฉพาะ มีขนาดเล็ก (8.8kB gzipped) และไม่มี Dependencies ทำให้ใช้งานได้ง่ายและมีประสิทธิภาพรองรับโมเดลใหม่ๆ และสถาปัตยกรรมที่ซับซ้อน 🚀ด้วยกลยุทธ์การ Export โมเดลใหม่และการสนับสนุน Custom Operators จาก ONNX Runtime ทำให้ Transformers.js v4 สามารถเพิ่มโมเดลยอดนิยมจำนวนมากเข้ามา เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLM โมเดลเหล่านี้รองรับสถาปัตยกรรมขั้นสูง เช่น Mamba, Multi-head Latent Attention (MLA), และ Mixture of Experts (MoE) ซึ่งทั้งหมดนี้สามารถทำงานได้บน WebGPU ทำให้ผู้ใช้สามารถรันโมเดลเหล่านี้ได้โดยตรงบนเบราว์เซอร์หรือสภาพแวดล้อม JavaScript อื่นๆ ด้วย Hardware Accelerationปรับปรุง Build System และขนาด Bundle 💨การเปลี่ยนจาก Webpack มาเป็น esbuild ส่งผลให้:Build Time เร็วขึ้น 10 เท่า: จาก 2 วินาที เหลือเพียง 200 มิลลิวินาที ทำให้การพัฒนาทำซ้ำได้เร็วขึ้นมากขนาด Bundle ลดลง 10%: โดยเฉลี่ย ทำให้ดาวน์โหลดเร็วขึ้น และแอปพลิเคชันเริ่มต้นทำงานได้ไวขึ้น โดยเฉพาะ transformers.web.js ที่มีขนาดเล็กลงถึง 53%การปรับปรุงอื่นๆ ที่น่าสนใจ ✨รองรับโมเดลขนาดใหญ่: สามารถรันโมเดลที่มีพารามิเตอร์มากกว่า 8 พันล้านตัวได้สำเร็จ เช่น GPT-OSS 20B (q4f16) ที่ความเร็วประมาณ 60 tokens ต่อวินาที บน M4 Pro MaxType System ที่ดีขึ้น: รองรับ Dynamic Pipeline Types ที่ปรับเปลี่ยนตาม Input เพื่อประสบการณ์นักพัฒนาที่ดีขึ้นปรับปรุง Prettier Configuration: ทำให้โค้ดมีรูปแบบที่สอดคล้องกันทั่วทั้ง RepositoryTransformers.js v4 ถือเป็นการก้าวกระโดดครั้งสำคัญ ที่ทำให้การนำ AI ไปใช้บนเว็บง่ายขึ้น เร็วขึ้น และเข้าถึงได้มากขึ้น ใครที่กำลังพัฒนาแอปพลิเคชัน AI บนเว็บ ไม่ควรพลาดเวอร์ชันนี้!คำถามที่พบบ่อยTransformers.js v4 ใช้ WebGPU ได้บนทุกเบราว์เซอร์หรือไม่?WebGPU รองรับบนเบราว์เซอร์รุ่นใหม่ๆ ส่วนใหญ่ แต่ประสิทธิภาพและความเข้ากันได้อาจแตกต่างกันไป ควรตรวจสอบเอกสารของเบราว์เซอร์ที่คุณใช้งานโมเดลที่เพิ่มเข้ามาใหม่ใน v4 มีอะไรบ้าง?มีโมเดลยอดนิยมมากมาย เช่น GPT-OSS, Chatterbox, GraniteMoeHybrid, LFM2-MoE, HunYuanDenseV1, Apertus, Olmo3, FalconH1, และ Youtu-LLMสามารถรันโมเดลบน Node.js ได้โดยตรงหรือไม่?ได้ครับ ด้วย WebGPU Runtime ใหม่ ทำให้สามารถรันโมเดลที่เร่งความเร็วด้วย WebGPU ได้โดยตรงบน Node.js, Bun, และ DenoTokenizers.js Library มีประโยชน์อย่างไร?เป็นไลบรารีแยกต่างหากสำหรับ Logic การ Tokenization โดยเฉพาะ มีขนาดเล็ก ไม่มี Dependencies และทำงานได้ดีทั้งบนเบราว์เซอร์และ Server-sideการปรับปรุงเรื่องขนาด Bundle มีผลอย่างไร?ขนาด Bundle ที่เล็กลงหมายถึงผู้ใช้ดาวน์โหลดไฟล์น้อยลง แอปพลิเคชันโหลดเร็วขึ้น และใช้ทรัพยากรน้อยลง#TransformersJS #WebGPU #AI #JavaScript #HuggingFacehttps://huggingface.co/blog/transformersjs-v4
Shared content
HUGGINGFACE.CO
Transformers.js v4: Now Available on NPM!
We’re on a journey to advance and democratize artificial intelligence through open source and open science.
7 Kommentare 0 Geteilt 979 Ansichten 0 Bewertungen