Criador de arquivos LiteRT-LM

O litert-lm-builder pacote oferece ferramentas Python e interfaces de linha de comando (CLIs, na sigla em inglês) para criar, inspecionar, e descompactar arquivos de contêiner do LiteRT-LM (.litertlm).

Um arquivo .litertlm é um contêiner unificado que empacota seus modelos do TFLite, arquivos de tokenizador, pesos externos e metadados de modelo associados para que possam ser distribuídos e carregados pelo ambiente de execução do LiteRT-LM.

Instalação

Instale o pacote litert-lm-builder do PyPI.

Método 1: uvx (recomendado para execução rápida)

Execute as CLIs imediatamente sem uma instalação permanente. Requer uv.

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

Método 2: pip

Instalação padrão em um ambiente virtual:

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

Criar um arquivo .litertlm: litert-lm-builder

Use a CLI litert-lm-builder para empacotar os componentes do modelo. Você pode fazer isso usando um arquivo de configuração ou encadeando argumentos de linha de comando.

Uso

Os métodos a seguir podem ser usados para preparar o arquivo .litertlm usando o builder.

Método 1: criar usando a configuração TOML (recomendado)

Especifique todos os componentes, caminhos e metadados em um arquivo de configuração TOML e execute o builder:

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

Exemplo 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étodo 2: criar usando argumentos de linha de comando

É possível criar o contêiner dinamicamente encadeando subcomandos no terminal. A ordem dos subcomandos determina a ordem das seções no arquivo gerado.

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

Referência de opções da CLI

A CLI litert-lm-builder oferece suporte aos seguintes subcomandos:

  • output (obrigatório): especifica o caminho de saída.
    • --path PATH: caminho para salvar o arquivo .litertlm criado.
  • toml: carrega a configuração de um arquivo TOML.
    • --path PATH: caminho para o arquivo .toml.
  • system_metadata: adiciona metadados globais do sistema.
    • --str KEY VALUE: adiciona um par de chave-valor de string (pode ser especificado várias vezes).
    • --int KEY VALUE: adiciona um par de chave-valor inteiro (pode ser especificado várias vezes).
    • Observação: o builder gera e anexa automaticamente um uuid e creation_timestamp exclusivos (no formato UTC ISO 8601) aos metadados do sistema. Não especifique essas chaves manualmente. Esses campos são usados pelo ambiente de execução para identificar a build do modelo de maneira exclusiva e gerenciar a invalidação do cache compilado.
  • llm_metadata: adiciona uma configuração específica do LLM.
    • --path PATH: caminho para os metadados do LLM (proto de texto ou binário).
  • tflite_model: adiciona um modelo do TFLite.
    • --path PATH: caminho para o arquivo .tflite.
    • --model_type TYPE: um destes: embedder, prefill_decode (que representa o preenchimento e a decodificação), prefill, decode.
    • --backend_constraint BACKEND: (opcional) restrição de back-end (por exemplo, gpu, cpu, npu).
    • --prefer_activation_type TYPE: (opcional) tipo de ativação preferido (fp16, fp32, fp32_fp16).
    • --str_metadata KEY VALUE: (opcional) metadados de string para esta seção do modelo.
  • sp_tokenizer: adiciona um tokenizador do SentencePiece.
    • --path PATH: caminho para o arquivo .model.
    • --str_metadata KEY VALUE: (opcional) metadados de string.
  • hf_tokenizer: adiciona um tokenizador do Hugging Face.
    • --path PATH: caminho para o arquivo tokenizer.json.
    • --str_metadata KEY VALUE: (opcional) metadados de string.

Inspecionar e descompactar um arquivo .litertlm: litert-lm-peek

Use a CLI litert-lm-peek para inspecionar um contêiner .litertlm ou descompactar os componentes incorporados. A execução dela mostra a estrutura completa do contêiner, todas as seções empacotadas e os metadados do sistema gerados automaticamente (como uuid e creation_timestamp).

Uso

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

Referência de opções da CLI

  • --litertlm_file PATH (obrigatório): o caminho para o arquivo .litertlm a ser inspecionado.
  • --dump_files_dir PATH (opcional): o diretório em que todos os arquivos empacotados (modelos, tokenizadores, pesos, metadados) precisam ser extraídos/descompactados. Se não for fornecido, a ferramenta vai apenas imprimir os metadados e a estrutura da seção no console sem extrair arquivos.