Hugging Face Safetensors jetzt in PyTorch Distributed Checkpointing unterstützt
Die Unterstützung von Hugging Face Safetensors im PyTorch Distributed Checkpointing (DCP) stellt einen bedeutenden Fortschritt in der Interoperabilität zwischen verschiedenen Modellformaten dar. Diese neue Funktionalität ermöglicht es Nutzern, ihre Modelle effizienter zu speichern und zu laden, was insbesondere für die Community der Machine Learning-Entwickler von großem Nutzen ist.
Einführung in die neue Funktion
Mit der Einführung von Safetensors in DCP wird die Nutzung von Hugging Face Modellen erheblich vereinfacht. Hugging Face hat sich als führendes Format für Inferenz und Feinabstimmung etabliert, und die Unterstützung dieser Formate in DCP ist ein wichtiger Schritt, um die Benutzererfahrung zu verbessern.
Die Herausforderungen der Interoperabilität
Vor der Einführung dieser Unterstützung mussten viele Machine Learning-Ingenieure benutzerdefinierte Konverter und Komponenten entwickeln, um zwischen dem DCP-eigenen Format und den Hugging Face Modellen zu arbeiten. Dies stellte eine erhebliche Hürde dar, da die Benutzer oft ihre Checkpoints manuell herunterladen und hochladen mussten. Mit der neuen Unterstützung können Checkpoints nun direkt in den von fsspec unterstützten Speicherorten gespeichert und geladen werden, was den Prozess erheblich vereinfacht.
So verwenden Sie die neuen Funktionen
Um die neuen Safetensors-Funktionen zu nutzen, müssen die Benutzer lediglich die neuen Load Planner und Storage Reader in ihren Code integrieren. Die APIs für das Laden und Speichern von Modellen sind wie folgt:
load(
state_dict=state_dict,
storage_reader=HuggingFaceStorageReader(path=path),
)
save(
state_dict=state_dict,
storage_writer=HuggingFaceStorageWriter(
path=path,
fqn_to_index_mapping=mapping
),
)
Die HuggingFaceStorageReader und HuggingFaceStorageWriter können jeden fsspec-basierten Pfad verwenden, sodass sie in der Lage sind, im Hugging Face Safetensors-Format zu lesen und zu schreiben.
Erste Anwender: Torchtune
Der erste Nutzer dieser neuen DCP-Funktionalität ist torchtune, eine Bibliothek für das Post-Training, die in PyTorch geschrieben ist. Vor der Unterstützung von Safetensors mussten die Nutzer die Modellgewichte manuell herunterladen und die trainierten Checkpoints über zusätzliche CLI-Befehle hochladen. Mit den neuen DCP-APIs können sie nun direkt auf Hugging Face zugreifen, was die Benutzererfahrung erheblich verbessert.
Zukunftsausblick
DCP plant, die verteilte Speicherung und das Laden von Hugging Face Safetensors Checkpoints mit Resharding zu unterstützen. Zudem wird an der Möglichkeit gearbeitet, einen konsolidierten End-Checkpoint in einer einzigen Datei für die Veröffentlichung zu erstellen.
Fazit
Die Unterstützung von Hugging Face Safetensors im PyTorch Distributed Checkpointing ist ein bedeutender Schritt zur Verbesserung der Benutzerfreundlichkeit und Interoperabilität innerhalb des PyTorch-Ökosystems. Diese Entwicklungen werden nicht nur die Effizienz der Entwickler steigern, sondern auch die Integration von Hugging Face Modellen in verschiedene Projekte erleichtern.
Quellenliste:
- Quelle: Hugging Face Safetensors Support in PyTorch Distributed Checkpointing
- PyTorch Distributed Checkpointing Documentation
- Torchtune DCP APIs
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!