Strumento di creazione file LiteRT-LM

Il litert-lm-builder pacchetto fornisce strumenti Python e interfacce a riga di comando (CLI) per creare, esaminare ed estrarre i file contenitore LiteRT-LM (.litertlm).

Un file .litertlm è un singolo contenitore unificato che include i modelli TFLite, i file del tokenizer, i pesi esterni e i metadati del modello associati, in modo che possano essere distribuiti e caricati dal runtime LiteRT-LM.

Installazione

Installa il pacchetto litert-lm-builder da PyPI.

Metodo 1: uvx (consigliato per l'esecuzione rapida)

Esegui le CLI immediatamente senza un'installazione permanente. Richiede uv.

uvx litert-lm-builder --help
uvx litert-lm-peek --help

Metodo 2: pip

Installazione standard all'interno di un ambiente virtuale:

python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade litert-lm-builder

Crea un file .litertlm: litert-lm-builder

Utilizza la CLI litert-lm-builder per creare pacchetti dei componenti del modello. Puoi farlo utilizzando un file di configurazione o concatenando gli argomenti della riga di comando.

Utilizzo

Per preparare il file .litertlm utilizzando lo strumento di creazione, puoi utilizzare i seguenti metodi.

Metodo 1: crea utilizzando la configurazione TOML (consigliato)

Specifica tutti i componenti, i percorsi e i metadati in un file di configurazione TOML, quindi esegui il builder:

litert-lm-builder toml --path config.toml output --path model.litertlm

Esempio 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" }
]

Metodo 2: crea utilizzando gli argomenti della riga di comando

Puoi creare il container in modo dinamico concatenando i sottocomandi nel terminale. L'ordine dei sottocomandi determina l'ordine delle sezioni nel file generato.

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

Riferimento alle opzioni della CLI

La CLI litert-lm-builder supporta i seguenti sottocomandi:

  • output (obbligatorio): specifica il percorso di output.
    • --path PATH: il percorso in cui salvare il file .litertlm creato.
  • toml: carica la configurazione da un file TOML.
    • --path PATH: il percorso del file .toml.
  • system_metadata: aggiungi metadati di sistema globali.
    • --str KEY VALUE: aggiungi una coppia chiave-valore di stringa (può essere specificata più volte).
    • --int KEY VALUE: aggiungi una coppia chiave-valore intera (può essere specificata più volte).
    • Nota: il builder genera e aggiunge automaticamente un uuid e un creation_timestamp univoci (nel formato ISO 8601 UTC) ai metadati di sistema. Non specificare manualmente queste chiavi. Questi campi vengono utilizzati dal runtime per identificare in modo univoco la build del modello e gestire l'invalidazione della cache compilata.
  • llm_metadata: aggiungi la configurazione specifica per LLM.
    • --path PATH: Percorso dei metadati del LLM (proto di testo o binario).
  • tflite_model: aggiungi un modello TFLite.
    • --path PATH: il percorso del file .tflite.
    • --model_type TYPE: uno dei seguenti: embedder, prefill_decode (che rappresenta sia il precompilamento che la decodifica), prefill, decode.
    • --backend_constraint BACKEND: (facoltativo) vincolo di backend (ad es. gpu, cpu, npu).
    • --prefer_activation_type TYPE: (facoltativo) Tipo di attivazione preferito (fp16, fp32, fp32_fp16).
    • --str_metadata KEY VALUE: (facoltativo) metadati stringa per questa sezione del modello.
  • sp_tokenizer: aggiungi un tokenizzatore SentencePiece.
    • --path PATH: il percorso del file .model.
    • --str_metadata KEY VALUE: (Facoltativo) Metadati della stringa.
  • hf_tokenizer: aggiungi un tokenizer Hugging Face.
    • --path PATH: il percorso del file tokenizer.json.
    • --str_metadata KEY VALUE: (Facoltativo) Metadati della stringa.

Ispeziona e decomprimi un file .litertlm: litert-lm-peek

Utilizza la CLI litert-lm-peek per esaminare un contenitore .litertlm o decomprimere i relativi componenti incorporati. Se lo esegui, viene visualizzata la struttura completa del contenitore, tutte le sezioni del pacchetto e i metadati di sistema generati automaticamente (ad esempio uuid e creation_timestamp).

Utilizzo

litert-lm-peek --litertlm_file model.litertlm [options]

Riferimento alle opzioni della CLI

  • --litertlm_file PATH (obbligatorio): il percorso del file .litertlm da ispezionare.
  • --dump_files_dir PATH (facoltativo): la directory in cui devono essere estratti/decompressi tutti i file del pacchetto (modelli, tokenizer, pesi, metadati). Se non viene fornito, lo strumento stamperà solo i metadati e la struttura delle sezioni nella console senza estrarre i file.