🐶セーフテンソルは、本当に安全であり、デフォルトの選択肢として採用されました

'SafeTensorは安全であり、デフォルトの選択として使用されました'

Hugging Faceは、EleutherAIとStability AIとの緊密な協力のもと、safetensorsライブラリの外部セキュリティ監査を依頼しました。その結果、これらの組織はすべてライブラリを保存モデルのデフォルト形式にするために進むことができます。

Trail of Bitsによって実施されたセキュリティ監査の詳細な結果は、こちらでご覧いただけます: レポート。

以下のブログ投稿では、このライブラリの起源、この監査結果の重要性、および次のステップについて説明します。

safetensorsとは何ですか?

🐶 safetensorsは、最も一般的なフレームワーク(PyTorch、TensorFlow、JAX、PaddlePaddle、NumPyなど)でテンソルを保存およびロードするためのライブラリです。

具体的な説明のために、PyTorchを使用します。

import torch
from safetensors.torch import load_file, save_file

weights = {"embeddings": torch.zeros((10, 100))}
save_file(weights, "model.safetensors")
weights2 = load_file("model.safetensors")

このフォーマットには、他のフォーマットと比べていくつかの優れた機能があります。特に、ファイルのロードが安全であるという点が挙げられます。

transformersを使用している場合、safetensorsがインストールされていると、問題を防ぐためにこれらのファイルが優先的に使用されます。つまり、

pip install safetensors

は、safetensorsファイルを安全に実行するために必要な唯一のものである可能性があります。

今後、およびこのライブラリの検証により、safetensorsはデフォルトでtransformersにインストールされるようになります。次のステップは、デフォルトでsafetensorsにモデルを保存することです。

MLエコシステムで既にsafetensorsライブラリが使用されていることを喜んでいます。具体的な例としては、以下があります:

  • Civitai
  • Stable Diffusion Web UI
  • dfdx
  • LLaMA.cpp

なぜ新しいものを作成するのですか?

このライブラリの作成は、PyTorchが内部でpickleを使用しているため、それが本質的に安全ではないという事実に基づいています。(参考文献: 1, 2, 動画, 3)

pickleを使用すると、ユーザーの知識なしに、ユーザーのコンピュータを完全に制御できる悪意のあるモデルを装ったファイルを書き込むことが可能であり、攻撃者はすべてのビットコインを盗むことができます 😓。

pickleのこの脆弱性は、コンピュータセキュリティの世界では広く知られており(PyTorchのドキュメントでも認識されています)、一般的なMLコミュニティでは一般的な知識ではありません。

Hugging Face Hubは、誰でもモデルをアップロードおよび共有できるプラットフォームであるため、ユーザーがマルウェアに感染するのを防ぐための取り組みを行うことが重要です。

また、既存のPyTorchファイルが悪意のあるものでないことを確認するための措置も講じていますが、怪しいファイルをフラグ付けすることしかできません。

もちろん、他のファイル形式も存在しますが、チームが特定した理想的な要件のすべてを満たすものはありませんでした。

安全であるだけでなく、safetensorsは遅延読み込みと一般的に高速な読み込み(CPUでの約100倍の速さ)が可能です。

遅延読み込みは、効率的な方法でテンソルの一部のみを読み込むことを意味します。この特定の機能により、テキスト生成推論などの効率的な推論ライブラリで任意のシャーディングが可能になり、LLM(LLaMA、StarCoderなど)をさまざまなタイプのハードウェアで最大の効率で読み込むことができます。

非常に高速に読み込まれ、フレームワークに依存しないため、PyTorchまたはTensorFlowの同じファイルからモデルを読み込むためにこの形式を使用することさえできます。

セキュリティ監査

safetensorsの主な目的は安全性を保証することですので、実際にそれが提供できるかどうかを確認するために、Hugging Face、EleutherAI、Stability AIは外部のセキュリティ監査を受けるためにチームを組みました。

重要な調査結果:

  • 任意のコードの実行につながる重大なセキュリティ上の欠陥は見つかりませんでした。
  • 仕様形式の不正確さが検出され修正されました。
  • ポリグロットファイルを許可するいくつかの検証の不足が検出され、修正されました。
  • テストスイートの多くの改善が提案され、実装されました。

公開と透明性を重視して、すべての企業は報告書を完全に公開することに同意しました。

完全な報告書

注意すべき重要な点は、このライブラリがRustで書かれているということです。これにより、言語自体から直接的に来る追加のセキュリティレイヤーが追加されます。

欠陥のないことを証明することは不可能ですが、これはが実際に安全に使用できることを保証するための重要な一歩です。

今後の展望

Hugging Face、EleutherAI、およびStability AIにとって、基本計画はこの形式をデフォルトで使用するように切り替えることです。

EleutherAIは、LM評価ハーネスでとして保存されたモデルを評価するサポートを追加し、GPT-NeoX分散トレーニングライブラリでもこの形式をサポートする作業を行っています。

ライブラリでは、以下のことを行っています:

  • を作成する。
  • それがすべての約束を果たすことを確認する(LLMのための遅延読み込み、すべてのフレームワーク用の単一ファイル、高速な読み込み)。
  • それが安全であることを確認する(これが今日の発表です)。
  • をコア依存関係にする(これは既に完了しているか、すぐに完了します)。
  • をデフォルトの保存形式にする。これは、十分なフィードバックがあり、既存のバージョンでも新しいモデルをロードできるユーザーが十分にいることを確認するため、数ヶ月後に行われます。

自体については、現在の形式にはさまざまな問題があるLLMトレーニング向けの高度な機能を追加することを検討しています。

最後に、の大規模なユーザーベースが最終的なテストステップを提供するため、近い将来にをリリースする予定です。形式とライブラリは、その創設以来ほとんど変更されていないため、安定性の良いサインです。

MLを安全かつ効率的にするために、一歩近づけることができてうれしいです!

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「Kognitosの創設者兼CEO、ビニー・ギル- インタビューシリーズ」

ビニー・ギルは、複数の役職と企業を横断する多様で幅広い業務経験を持っていますビニーは現在、Kognitosの創設者兼CEOであり...

人工知能

ジョナサン・ダムブロット、Cranium AIのCEO兼共同創設者- インタビューシリーズ

ジョナサン・ダムブロットは、Cranium AIのCEO兼共同創業者ですCranium AIは、サイバーセキュリティおよびデータサイエンスチ...

人工知能

「シフトのCEOであるクリス・ナーゲル – インタビューシリーズ」

クリスはSiftの最高経営責任者です彼は、Ping Identityを含むベンチャー支援および公開SaaS企業のシニアリーダーシップポジシ...

人工知能

ムーバブルインクのCEO兼共同創設者であるヴィヴェク・シャルマ氏についてのインタビュー・シリーズ

ビヴェクは2010年にムーバブルインクを共同設立し、急速な成長を遂げながら、600人以上の従業員を擁し、世界有数の革新的なブ...

データサイエンス

「2023年にデータサイエンスFAANGの仕事をゲットする方法は?」

データサイエンスは非常に求められる分野となり、FAANG(Facebook、Amazon、Apple、Netflix、Google)企業での就職は大きな成...

人工知能

「マーシャンの共同創設者であるイータン・ギンスバーグについてのインタビューシリーズ」

エタン・ギンズバーグは、マーシャンの共同創業者であり、すべてのプロンプトを最適なLLMに動的にルーティングするプラットフ...