Outil de création de fichiers LiteRT-LM

Le package litert-lm-builder fournit des outils Python et des interfaces de ligne de commande (CLI) pour créer, inspecter et décompresser les fichiers de conteneur LiteRT-LM (.litertlm).

Un fichier .litertlm est un conteneur unifié unique qui regroupe vos modèles TFLite, vos fichiers de jetoniseur, vos pondérations externes et les métadonnées de modèle associées afin qu'ils puissent être distribués et chargés par l'environnement d'exécution LiteRT-LM.

Installation

Installez le package litert-lm-builder depuis PyPI.

Méthode 1 : uvx (recommandée pour une exécution rapide)

Exécutez les CLI immédiatement sans installation permanente. Nécessite uv.

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

Méthode 2 : pip

Installation standard dans un environnement virtuel :

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

Créez un fichier .litertlm : litert-lm-builder

Utilisez la CLI litert-lm-builder pour regrouper les composants de votre modèle. Vous pouvez le faire à l'aide d'un fichier de configuration ou en chaînant des arguments de ligne de commande.

Utilisation

Les méthodes suivantes peuvent être utilisées pour préparer le fichier .litertlm à l'aide du compilateur.

Méthode 1 : Créer à l'aide de la configuration TOML (recommandée)

Spécifiez tous les composants, chemins d'accès et métadonnées dans un fichier de configuration TOML, puis exécutez le compilateur :

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

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

Méthode 2 : Créer à l'aide d'arguments de ligne de commande

Vous pouvez créer le conteneur de manière dynamique en enchaînant des sous-commandes dans votre terminal. L'ordre des sous-commandes détermine l'ordre des sections dans le fichier généré.

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

Documentation de référence sur les options de la CLI

La CLI litert-lm-builder est compatible avec les sous-commandes suivantes :

  • output (obligatoire) : spécifie le chemin de sortie.
    • --path PATH : chemin d'accès pour enregistrer le fichier .litertlm compilé.
  • toml : charge la configuration à partir d'un fichier TOML.
    • --path PATH : chemin d'accès au fichier .toml.
  • system_metadata : ajoutez des métadonnées système globales.
    • --str KEY VALUE : ajoute une paire clé-valeur de chaîne (peut être spécifiée plusieurs fois).
    • --int KEY VALUE : ajoutez une paire clé/valeur entière (peut être spécifiée plusieurs fois).
    • Remarque : Le générateur crée et ajoute automatiquement un uuid et un creation_timestamp uniques (au format UTC ISO 8601) aux métadonnées système. Ne spécifiez pas ces clés manuellement. Ces champs sont utilisés par l'environnement d'exécution pour identifier de manière unique la compilation du modèle et gérer l'invalidation du cache compilé.
  • llm_metadata : ajoutez une configuration spécifique au LLM.
    • --path PATH : chemin d'accès aux métadonnées du LLM (proto texte ou binaire).
  • tflite_model : ajoutez un modèle TFLite.
    • --path PATH : chemin d'accès au fichier .tflite.
    • --model_type TYPE : l'une des valeurs suivantes : embedder, prefill_decode (représentant à la fois le préremplissage et le décodage), prefill, decode.
    • --backend_constraint BACKEND : (facultatif) contrainte de backend (par exemple, gpu, cpu, npu).
    • --prefer_activation_type TYPE : (facultatif) type d'activation préféré (fp16, fp32, fp32_fp16).
    • --str_metadata KEY VALUE : (facultatif) métadonnées de chaîne pour cette section du modèle.
  • sp_tokenizer : ajoutez un tokenizer SentencePiece.
    • --path PATH : chemin d'accès au fichier .model.
    • --str_metadata KEY VALUE : (facultatif) métadonnées de chaîne.
  • hf_tokenizer : ajoutez un tokenizer Hugging Face.
    • --path PATH : chemin d'accès au fichier tokenizer.json.
    • --str_metadata KEY VALUE : (facultatif) métadonnées de chaîne.

Inspectez et décompressez un fichier .litertlm : litert-lm-peek

Utilisez la CLI litert-lm-peek pour inspecter un conteneur .litertlm ou décompresser ses composants intégrés. L'exécution de cette commande affiche la structure complète du conteneur, toutes les sections empaquetées et les métadonnées système générées automatiquement (telles que uuid et creation_timestamp).

Utilisation

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

Documentation de référence sur les options de la CLI

  • --litertlm_file PATH (obligatoire) : chemin d'accès au fichier .litertlm à inspecter.
  • --dump_files_dir PATH (facultatif) : répertoire dans lequel tous les fichiers packagés (modèles, tokenizers, pondérations, métadonnées) doivent être extraits/décompressés. Si aucune n'est fournie, l'outil n'imprimera que les métadonnées et la structure des sections dans la console, sans extraire les fichiers.