Artikelbild für den Artikel: Hugging Face Safetensors jetzt in PyTorch Distributed Checkpointing unterstützt

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:

Dieser Artikel wurde mithilfe von KI verfasst und basiert auf automatisch gesammelten Informationen.
0 Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar