Format Atlas

Daten

Was ist Safetensors?

Safetensors ist ein Binärformat zum Speichern und Verteilen von Tensorwerten des maschinellen Lernens. Die Datei beginnt mit einer 8 Byte langen little-endian Headerlänge, gefolgt von einem UTF-8-JSON-Header mit Tensorname, dtype, shape und Datenoffsets sowie einem Bytepuffer mit den Tensorwerten. Das Format enthält nicht allein die Modellarchitektur oder ein ausführbares Programm. Anders als Pickle-basierte Serialisierung ist es nicht dafür gedacht, beliebige Objekte durch Ausführen eingebetteten Rekonstruktionscodes wiederherzustellen. Daraus folgt weder, dass eine Quelle vertrauenswürdig ist, noch dass jeder Reader fehlerfrei oder ein Modell sicher ist.

.safetensorsTensor-Gewichte für maschinelles Lernen

Wann dieses Format geeignet ist

  • Tensoren und Basis-Metadaten statt beliebiger Python-Objekte austauschen
  • Ausgewählte Tensoren untersuchen und laden

Wann dieses Format ungeeignet ist

  • Modellarchitektur und Trainingscode allein damit verteilen
  • Die Erweiterung als Beweis für Herkunft oder Sicherheit ansehen

Häufige Einsatzbereiche

  • Tensor-Gewichte für maschinelles Lernen speichern und verteilen
  • Gewichte zwischen unterstützten Frameworks laden

Eigenschaften

  • Längenpräfixierter JSON-Header beschreibt Tensor-Namen Typen Formen und Offsets
  • Tensorwerte liegen in einem zusammenhängenden little-endian Bytepuffer
  • Header-Metadaten unterstützen die Auswahl einzelner Tensoren

Vor- und Nachteile

Vorteile

  • Gewichtsaustausch ohne beliebige Objektwiederherstellung wie bei Pickle
  • Namen und Formen lassen sich ohne Lesen sämtlicher Gewichtsdaten untersuchen
  • Kompatible Reader können Memory Mapping oder verzögertes Laden unterstützen

Nachteile

  • Modellarchitektur Inferenzcode und Vorverarbeitung sind meist separat
  • Nicht für beliebige Python-Objekte außerhalb von Tensoren gedacht
  • Nutzung hängt von dtype-Unterstützung und Shard-Indizes des Frameworks ab

Öffnen und konvertieren

So öffnen Sie die Datei

Verwenden Sie eine Safetensors-kompatible Bibliothek oder ein Modellwerkzeug. Unterstützte Werkzeuge können Tensor-Namen, dtypes und shapes untersuchen, bevor alle Gewichte auf ein Gerät geladen werden. Ein JSON-Header macht nicht die gesamte Datei zu einem JSON-Textdokument.

So konvertieren Sie die Datei

Speichern Sie Tensor-Gewichte mit einer vom Modellframework unterstützten API. Eine Konvertierung von einer Pickle-basierten Eingabe kann diese deserialisieren; laden Sie eine nicht vertrauenswürdige Quelldatei daher nicht unbedacht. Vergleichen Sie anschließend Tensor-Namen, shapes, dtypes, Elementanzahl und Modellausgaben.

Hinweise

  • Safetensors vermeidet Pickle-artige Objektwiederherstellung ist aber nicht unbedingt sicher; Quelle Revision und Hash prüfen
  • Gepflegte Reader verwenden und Ressourcenbedarf durch sehr große Shapes oder fehlerhafte Header berücksichtigen
  • Gewichtedateien enthalten möglicherweise nicht Modellkonfiguration Tokenizer und notwendigen Code

Häufige Fragen

Enthält Safetensors das gesamte Modell?

Meist speichert es Tensor-Gewichte und zugehörige Metadaten. Architektur, Tokenizer, Inferenzcode und Konfiguration können separat sein.

Ist jeder Safetensors-Download sicher?

Nein. Das Format hilft, Pickle-basierte beliebige Objektwiederherstellung zu vermeiden; prüfen Sie trotzdem Quelle und Revision und verwenden Sie gepflegte Reader.

Kann ich Gewichte allein anhand des Headers validieren?

Der Header zeigt Namen, dtypes, shapes und Offsets, aber nicht die Tensorwerte und validiert das Modellverhalten nicht vollständig.

Verwandte Formate

Vergleichen

Verwandte Anwendungen und Prüfschritte

Prüfungen vor der Übergabe eines KI-Modells

Referenzen und Spezifikationen