Das litert-lm-builder-Paket bietet Python-Tools und Befehlszeilenschnittstellen (CLIs) zum Erstellen, Untersuchen und Entpacken von LiteRT-LM-Containerdateien (.litertlm).
Eine .litertlm-Datei ist ein einzelner einheitlicher Container, in dem Ihre TFLite-Modelle, Tokenizer-Dateien, externen Gewichte und zugehörigen Modellmetadaten verpackt sind, damit sie von der LiteRT-LM-Laufzeit verteilt und geladen werden können.
Installation
Installieren Sie das litert-lm-builder-Paket von PyPI mit pip in einer virtuellen Umgebung:
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade litert-lm-builder
.litertlm-Datei erstellen: litert-lm-builder
Verwenden Sie die litert-lm-builder-CLI, um Ihre Modellkomponenten zu verpacken. Sie können dies entweder über eine Konfigurationsdatei oder durch Verketten von Befehlszeilenargumenten tun.
Nutzung
Mit den folgenden Methoden kann die .litertlm-Datei mit dem Builder vorbereitet werden.
Methode 1: Mit TOML-Konfiguration erstellen (empfohlen)
Geben Sie alle Komponenten, Pfade und Metadaten in einer TOML-Konfigurationsdatei an und führen Sie dann den Builder aus:
litert-lm-builder toml --path config.toml output --path model.litertlm
Beispiel config.toml:
[system_metadata]
entries = [
{ key = "author", value_type = "String", value = "Authors" }
]
[[section]]
section_type = "LlmMetadata"
data_path = "path/to/llm_metadata.pb"
[[section]]
section_type = "SP_Tokenizer"
data_path = "path/to/sp.model"
[[section]]
section_type = "TFLiteModel"
model_type = "PREFILL_DECODE"
data_path = "path/to/model.tflite"
additional_metadata = [
{ key = "model_version", value_type = "String", value = "1.0.1" }
]
Methode 2: Mit Befehlszeilenargumenten erstellen
Sie können den Container dynamisch erstellen, indem Sie Unterbefehle in Ihrem Terminal verketten. Die Reihenfolge der Unterbefehle bestimmt die Reihenfolge der Abschnitte in der generierten Datei.
litert-lm-builder \
system_metadata --str author "Authors" \
llm_metadata --path path/to/llm_metadata.pb \
sp_tokenizer --path path/to/sp.model \
tflite_model --path path/to/model.tflite --model_type prefill_decode --str_metadata model_version "1.0.1" \
output --path model.litertlm
Referenz zu Befehlszeilenoptionen
Die litert-lm-builder-Befehlszeile unterstützt die folgenden Unterbefehle:
output(erforderlich): Gibt den Ausgabepfad an.--path PATH: Pfad zum Speichern der erstellten Datei.litertlm.
toml: Konfiguration aus einer TOML-Datei laden.--path PATH: Pfad zur Datei.toml.
system_metadata: Globale Systemmetadaten hinzufügen.--str KEY VALUE: Fügt ein Schlüssel/Wert-Paar vom Typ „String“ hinzu (kann mehrmals angegeben werden).--int KEY VALUE: Fügt ein Schlüssel/Wert-Paar mit einem Ganzzahlwert hinzu (kann mehrmals angegeben werden).- Hinweis: Der Builder generiert automatisch eine eindeutige
uuidundcreation_timestamp(im UTC-ISO 8601-Format) und fügt sie den Systemmetadaten hinzu. Geben Sie diese Schlüssel nicht manuell an. Diese Felder werden von der Laufzeit verwendet, um den Modell-Build eindeutig zu identifizieren und die Invalidierung des kompilierten Cache zu verwalten.
llm_metadata: LLM-spezifische Konfiguration hinzufügen.--path PATH: Pfad zu den LLM-Metadaten (Text- oder binäres Proto).
tflite_model: TFLite-Modell hinzufügen.--path PATH: Pfad zur Datei.tflite.--model_type TYPE: Einer der folgenden Werte:embedder,prefill_decode(für Vorabfüllen und Decodieren),prefill,decode.--backend_constraint BACKEND: (Optional) Back-End-Einschränkung (z.B.gpu,cpu,npu).--prefer_activation_type TYPE: (Optional) Bevorzugter Aktivierungstyp (fp16,fp32,fp32_fp16).--str_metadata KEY VALUE: (Optional) String-Metadaten für diesen Modellabschnitt.
sp_tokenizer: SentencePiece-Tokenizer hinzufügen.--path PATH: Pfad zur Datei.model.--str_metadata KEY VALUE: (Optional) String-Metadaten.
hf_tokenizer: Hugging Face-Tokenizer hinzufügen.--path PATH: Pfad zur Dateitokenizer.json.--str_metadata KEY VALUE: (Optional) String-Metadaten.
.litertlm-Datei prüfen und entpacken: litert-lm-peek
Mit der litert-lm-peek-Befehlszeile können Sie einen .litertlm-Container untersuchen oder seine eingebetteten Komponenten entpacken. Wenn Sie den Befehl ausführen, wird die vollständige Containerstruktur, alle verpackten Abschnitte und die automatisch generierten Systemmetadaten (z. B. uuid und creation_timestamp) angezeigt.
Nutzung
litert-lm-peek --litertlm_file model.litertlm [options]
Referenz zu Befehlszeilenoptionen
--litertlm_file PATH(erforderlich): Der Pfad zur zu untersuchenden.litertlm-Datei.--dump_files_dir PATH(optional): Das Verzeichnis, in dem alle gepackten Dateien (Modelle, Tokenizer, Gewichte, Metadaten) extrahiert/entpackt werden sollen. Wenn nicht angegeben, gibt das Tool nur die Metadaten und die Abschnittsstruktur in der Konsole aus, ohne Dateien zu extrahieren.