Safetensors が PyTorch Foundation に参加します
ここまでの経緯
Safetensorsは、Hugging Faceのプロジェクトとして、具体的な必要性から生まれました。つまり、任意のコードを実行できないモデルの重みを保存し、共有する方法です。当時、エコシステムを支配していたpickleベースの形式では、悪意のあるコードを実行してしまう現実的なリスクがありました。とはいえ、MLがまだ芽吹きの段階にあった当時は許容できるリスクでした。しかし、オープンなモデル共有が、MLコミュニティの動き方の中心になっていくにつれ、そのリスクは許容できないものになっていきました。
私たちが作った形式は意図的にシンプルです。JSONヘッダー(上限100MB)でテンソルのメタデータを記述し、その後に生のテンソルデータを続けます。ディスクからテンソルを直接マッピングして読み込むゼロコピー方式です。チェックポイント全体をデシリアライズせずに、個々の重みだけを読み取れるようにするためのレイジーローディングです。
十分には想定できていなかったのは、どれほど広く採用されるかという点です。現在、SafetensorsはHugging Face Hubなどでのモデル配布におけるデフォルト形式であり、MLのあらゆるモダリティにわたって、数万ものモデルで使われています。オープンソースのMLコミュニティがモデルを共有するための、最も望ましい方法になっています。
なぜPyTorch Foundationなのか
私たちはSafetensorsが、コミュニティのものとして本当に根付くことを望んでいます。このプロジェクトは常にオープンソースでしたが、その進化はコード貢献だけで形づくられてきたわけではありません。より多くの企業や貢献者がプロジェクトのガバナンスに参加することで、そこに積み上げられてきたコミュニティの広がりを、前進のあり方に反映できるようにします。PyTorch Foundationに参加することで、Safetensorsはベンダーニュートラルな拠点を得ます。商標、リポジトリ、そしてプロジェクトのガバナンスは、特定の一企業ではなくLinux Foundationに置かれます。Hugging Faceの2名の主要メンテナーであるLucとDanielは、テクニカル・スティアリング・コミッティであり続け、日々の運営を引き続きリードしますが、Safetensorsは今や、それに依存するコミュニティに対して正式に属するものになりました。
私たちは、安全性は、すべての貢献者がすでに存在するものを土台にして構築できるときに、最も確実に担保されると考えています。この原則は、今ではプロジェクトのガバナンス自体に組み込まれています。
利用者および貢献者にとっての意味
利用者の大多数にとっては、何も変わりません。形式は同じで、APIも同じで、Hubとの統合も同じです。破壊的な変更はありません。現在Safetensors形式で保存されているモデルは、これまでとまったく同じように動作し続けます。
貢献者にとっては、メンテナーになるための道筋が正式に文書化され、コミュニティの誰にでも開かれています。プロジェクトのガバナンスは、リポジトリ内のGOVERNANCE.mdとMAINTAINERS.mdに掲載されています。Safetensorsの上に構築する組織にとって、Linux Foundationの下での中立的なガバナンスは、安定した長期的な土台を提供し、完全にコミュニティ主導です。
次に来るもの
Safetensorsは、すでに確立されたプロジェクトであり、大規模なエコシステムで広く採用されています。しかし私たちは、このプロジェクトがまだ始まったばかりだと確信しています。
Safetensorsがtorchモデルのシリアライズ方式としてPyTorchコア内で使えるように、PyTorchチームと取り組んでいます。
これからの数か月で大きな成長が見込まれますが、その次の章を支える最高の場所がPyTorch Foundationだと考えています。今後のロードマップには、デバイスを意識した読み込みと保存が含まれており、CPUで不必要に段階を踏むことなく、テンソルをCUDA、ROCm、その他のアクセラレータへ直接ロードできるようになります。
また、Tensor ParallelおよびPipeline Parallelの読み込みのための一級のAPIも構築しており、各ランクまたはパイプラインステージが必要な重みだけを読み込めるようにしています。さらに、エコシステムの量子化の状況が進化し続ける中で、FP8、GPTQやAWQのようなブロック量子化形式、そしてサブバイトの整数型のサポートを形式化していきます。
これらは、エコシステム全体が解決に関与するべき課題です。PyTorch Foundationの中にいることで、並行して進めるのではなく、他のホストされているプロジェクトと連携して取り組めるようになります。
参加しよう
Safetensorsはオープンソースで、バグ報告やドキュメントから新機能、ガバナンスへの参加に至るまで、あらゆるレベルでの貢献を歓迎します。
- GitHub: github.com/huggingface/safetensors
- Documentation: huggingface.co/docs/safetensors
- PyTorch Foundation: pytorch.org/foundation
Safetensorsの上に構築している開発者、研究者、または組織の方で、その方向性の形成にさらに関わりたいのであれば、課題を作成する、ディスカッションを始める、あるいは保守担当者に直接連絡してください。このプロジェクトは常に、それを利用するコミュニティのものとして存在してきました。ガバナンスも今やそれを反映しています。



