LiteRT-LM ファイル ビルダー

litert-lm-builder パッケージ は、LiteRT-LM(.litertlm)コンテナ ファイルのビルド、検査、 展開を行うための Python ツールとコマンドライン インターフェース(CLI)を提供します。

.litertlm ファイルは、TFLite モデル、トークナイザー ファイル、外部ウェイト、関連するモデル メタデータをパッケージ化する単一の統合コンテナです。これにより、LiteRT-LM ランタイムで配布して読み込むことができます。

インストール

PyPI から litert-lm-builder パッケージをインストールします。

方法 1: uvx(迅速な実行におすすめ)

永続的なインストールを行わずに CLI をすぐに実行します。 uv が必要です。

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

方法 2: pip

仮想環境内での標準インストール:

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

.litertlm ファイルをビルドする: litert-lm-builder

litert-lm-builder CLI を使用して、モデル コンポーネントをパッケージ化します。これを行うには、構成ファイルを使用するか、コマンドライン引数を連結します。

用途

ビルダーを使用して .litertlm ファイルを準備するには、次の方法を使用します。

方法 1: TOML 構成を使用してビルドする(推奨)

TOML 構成ファイルですべてのコンポーネント、パス、メタデータを指定し、ビルダーを実行します。

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

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

方法 2: コマンドライン引数を使用してビルドする

ターミナルでサブコマンドを連結して、コンテナを動的にビルドできます。サブコマンドの順序によって、生成されたファイルのセクションの順序が決まります。

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

CLI オプションのリファレンス

litert-lm-builder CLI は、次のサブコマンドをサポートしています。

  • output (必須): 出力パスを指定します。
    • --path PATH: ビルドされた .litertlm ファイルを保存するパス。
  • toml: TOML ファイルから構成を読み込みます。
    • --path PATH: .toml ファイルのパス。
  • system_metadata: グローバル システム メタデータを追加します。
    • --str KEY VALUE: 文字列の Key-Value ペアを追加します(複数回指定できます)。
    • --int KEY VALUE: 整数の Key-Value ペアを追加します(複数回指定できます)。
    • : ビルダーは、一意の uuidcreation_timestamp(UTC ISO 8601 形式)を自動的に生成してシステム メタデータに追加します。これらのキーは手動で指定しないでください。これらのフィールドは、ランタイムがモデルビルドを一意に識別し、コンパイル済みキャッシュの無効化を管理するために使用されます。
  • llm_metadata: LLM 固有の構成を追加します。
    • --path PATH: LLM メタデータ(テキストまたはバイナリ proto)のパス。
  • tflite_model: TFLite モデルを追加します。
    • --path PATH: .tflite ファイルのパス。
    • --model_type TYPEembedderprefill_decode( prefill と decode の両方を表す)、prefilldecode のいずれか。
    • --backend_constraint BACKEND: (省略可)バックエンド制約(gpucpunpu など)。
    • --prefer_activation_type TYPE: (省略可)優先アクティベーション タイプ (fp16fp32fp32_fp16)。
    • --str_metadata KEY VALUE: (省略可)このモデル セクションの文字列メタデータ。
  • sp_tokenizer: SentencePiece トークナイザーを追加します。
    • --path PATH: .model ファイルのパス。
    • --str_metadata KEY VALUE: (省略可)文字列メタデータ。
  • hf_tokenizer: Hugging Face トークナイザーを追加します。
    • --path PATH: tokenizer.json ファイルのパス。
    • --str_metadata KEY VALUE: (省略可)文字列メタデータ。

.litertlm ファイルを検査して展開する: litert-lm-peek

litert-lm-peek CLI を使用して、.litertlm コンテナを検査するか、埋め込まれたコンポーネントを展開します。実行すると、コンテナ構造全体、パッケージ化されたすべてのセクション、自動生成されたシステム メタデータ(uuidcreation_timestamp など)が表示されます。

用途

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

CLI オプションのリファレンス

  • --litertlm_file PATH (必須): 検査する .litertlm ファイルのパス。
  • --dump_files_dir PATH (省略可): パッケージ化されたすべてのファイル(モデル、トークナイザー、ウェイト、メタデータ)を抽出または展開するディレクトリ。 指定しない場合、ツールはファイルを抽出せずにメタデータとセクション構造のみをコンソールに出力します。