LiteRT-LM ファイル ビルダー

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

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

インストール

仮想環境内で pip を使用して、PyPI から litert-lm-builder パッケージをインストールします。

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 TYPE: embedderprefill_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(省略可): すべてのパッケージ ファイル(モデル、トークナイザー、重み、メタデータ)を抽出/解凍するディレクトリ。指定しない場合、ツールはファイルを抽出せずにメタデータとセクション構造のみをコンソールに出力します。