Safetensors เข้าร่วม PyTorch Foundation: ก้าวสำคัญสู่ความปลอดภัยและการพัฒนา AI แบบ Open Source
ในโลกของปัญญาประดิษฐ์ (AI) ที่พัฒนาไปอย่างรวดเร็ว ความปลอดภัยและการแบ่งปันโมเดลอย่างเปิดกว้างเป็นหัวใจสำคัญ Hugging Face เล็งเห็นถึงความจำเป็นนี้มาโดยตลอด และได้ริเริ่มพัฒนา Safetensors ขึ้นมาเพื่อเป็นทางออกในการจัดเก็บและแบ่งปันน้ำหนักโมเดล (model weights) ที่ปลอดภัยไร้ความเสี่ยงจากการรันโค้ดอันตราย
Safetensors คืออะไร? ทำไมถึงจำเป็น?
เดิมที รูปแบบไฟล์ที่ใช้ในการจัดเก็บน้ำหนักโมเดลส่วนใหญ่คือ Pickle ซึ่งมีความเสี่ยงสูงที่จะแฝงโค้ดอันตรายเข้ามาด้วย แม้ว่าในยุคแรกของ Machine Learning (ML) ความเสี่ยงนี้อาจยอมรับได้ แต่เมื่อการแบ่งปันโมเดลแบบ Open Source กลายเป็นส่วนสำคัญของชุมชน ML ความเสี่ยงนี้ก็ไม่สามารถมองข้ามได้อีกต่อไป
Safetensors ถูกออกแบบมาให้เรียบง่ายและปลอดภัย ประกอบด้วย:
- JSON Header: ส่วนหัวที่อธิบายข้อมูลเมตาของเทนเซอร์ (tensor metadata) โดยมีข้อจำกัดขนาดสูงสุด 100MB
- Raw Tensor Data: ข้อมูลเทนเซอร์ดิบที่จัดเก็บโดยตรง
จุดเด่นสำคัญของ Safetensors คือ:
- Zero-copy loading: โหลดเทนเซอร์จากดิสก์โดยตรงโดยไม่ต้องคัดลอกข้อมูล ทำให้ประหยัดทรัพยากร
- Lazy loading: สามารถอ่านน้ำหนักทีละส่วนได้โดยไม่ต้องรอการดีซีเรียลไลซ์ (deserialize) โมเดลทั้งก้อน
สิ่งที่ Hugging Face ไม่คาดคิดคือการตอบรับอันยอดเยี่ยม Safetensors ได้กลายเป็นรูปแบบมาตรฐานสำหรับการเผยแพร่โมเดลบน Hugging Face Hub และแพลตฟอร์มอื่น ๆ โดยมีโมเดลหลายหมื่นรายการใช้งานในทุกสาขาของ ML ทำให้ Safetensors กลายเป็นวิธีที่ชุมชน ML แบบ Open Source นิยมใช้ในการแบ่งปันโมเดล
ก้าวต่อไป: การเข้าร่วม PyTorch Foundation
Hugging Face ต้องการให้ Safetensors เป็นของชุมชนอย่างแท้จริง แม้ว่าโปรเจกต์นี้จะเป็น Open Source มาโดยตลอด แต่การมีส่วนร่วมของบริษัทและผู้พัฒนาที่หลากหลายจะช่วยให้การพัฒนาสะท้อนความต้องการของชุมชนได้อย่างครอบคลุม
การเข้าร่วม PyTorch Foundation หมายถึง:
- บ้านที่เป็นกลาง: Safetensors จะมีที่อยู่ที่เป็นกลาง (vendor-neutral home) ไม่ขึ้นกับบริษัทใดบริษัทหนึ่ง
- การกำกับดูแลโดยชุมชน: เครื่องหมายการค้า, คลังโค้ด (repository), และการกำกับดูแลโปรเจกต์ จะอยู่ภายใต้ Linux Foundation
- การบริหารงานต่อเนื่อง: Luc และ Daniel สองผู้ดูแลหลักจาก Hugging Face ยังคงอยู่ในคณะกรรมการเทคนิค (Technical Steering Committee) และบริหารโปรเจกต์ในแต่ละวันต่อไป
Hugging Face เชื่อมั่นว่าความปลอดภัยจะเกิดขึ้นได้ดีที่สุดเมื่อผู้มีส่วนร่วมทุกคนสามารถต่อยอดจากสิ่งที่มีอยู่แล้ว และหลักการนี้ได้ถูกฝังอยู่ในระบบการกำกับดูแลของโปรเจกต์แล้ว
สิ่งที่จะเปลี่ยนแปลงสำหรับผู้ใช้และผู้พัฒนา
สำหรับผู้ใช้ส่วนใหญ่: ไม่มีอะไรเปลี่ยนแปลง รูปแบบไฟล์, API, และการทำงานร่วมกับ Hub ยังคงเดิม ไม่มีการเปลี่ยนแปลงที่จะส่งผลกระทบ (breaking changes) โมเดลที่จัดเก็บในรูปแบบ Safetensors จะยังคงใช้งานได้เช่นเดิม
สำหรับผู้พัฒนา:
- เส้นทางสู่การเป็นผู้ดูแล: มีการจัดทำเอกสารอย่างเป็นทางการและเปิดกว้างสำหรับทุกคนในชุมชน
- การกำกับดูแลที่มั่นคง: องค์กรที่พัฒนาต่อยอดจาก Safetensors จะได้รับประโยชน์จากการกำกับดูแลที่เป็นกลางภายใต้ Linux Foundation ซึ่งเป็นรากฐานที่มั่นคงและขับเคลื่อนโดยชุมชนในระยะยาว
Safetensors เป็นโปรเจกต์ที่ได้รับการยอมรับอย่างกว้างขวาง แต่ Hugging Face ยังคงเชื่อว่านี่เป็นเพียงจุดเริ่มต้น
อนาคตของ Safetensors ภายใต้ PyTorch Foundation
Hugging Face กำลังทำงานร่วมกับทีม PyTorch เพื่อให้ Safetensors ถูกนำไปใช้เป็นระบบ Serialization สำหรับโมเดล Torch ใน PyTorch core
แผนงานในอนาคตอันใกล้:
- Device-aware loading and saving: โหลดและบันทึกเทนเซอร์โดยตรงไปยัง CUDA, ROCm หรือ Accelerator อื่น ๆ โดยไม่ต้องผ่าน CPU
- Tensor Parallel และ Pipeline Parallel: รองรับการโหลดเฉพาะน้ำหนักที่แต่ละ Rank หรือ Pipeline Stage ต้องการ
- การรองรับรูปแบบ Quantization: สนับสนุนรูปแบบ FP8, GPTQ, AWQ และรูปแบบ Integer ที่มีขนาดเล็กกว่า Byte
การอยู่ภายใต้ PyTorch Foundation จะช่วยให้สามารถทำงานร่วมกับโปรเจกต์อื่น ๆ ที่อยู่ภายใต้การดูแลได้ แทนที่จะทำงานแยกกัน
Safetensors เป็น Open Source และยินดีรับการสนับสนุนในทุกระดับ ตั้งแต่การรายงานข้อผิดพลาด, การปรับปรุงเอกสาร, ไปจนถึงการพัฒนาฟีเจอร์ใหม่และการมีส่วนร่วมในการกำกับดูแล
หากคุณเป็นนักพัฒนา, นักวิจัย, หรือองค์กรที่ใช้ Safetensors และต้องการมีส่วนร่วมในการกำหนดทิศทางของโปรเจกต์ สามารถเปิด Issue, เริ่มการสนทนา, หรือติดต่อผู้ดูแลได้โดยตรง โปรเจกต์นี้เป็นของชุมชนผู้ใช้งานมาโดยตลอด และขณะนี้การกำกับดูแลก็สะท้อนสิ่งนั้นแล้ว
แหล่งข้อมูลเพิ่มเติม:
- GitHub: github.com/huggingface/safetensors
- เอกสาร: huggingface.co/docs/safetensors
- PyTorch Foundation: pytorch.org/foundation
#Safetensors #PyTorchFoundation #OpenSourceAI
ขอบคุณ แหล่งข้อมูล
https://huggingface.co/blog/safetensors-joins-pytorch-foundation