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: 문자열 키-값 쌍을 추가합니다 (여러 번 지정할 수 있음).
    • --int KEY VALUE: 정수 키-값 쌍을 추가합니다 (여러 번 지정할 수 있음).
    • 참고: 빌더는 고유한 uuidcreation_timestamp (UTC ISO 8601 형식)를 자동으로 생성하여 시스템 메타데이터에 추가합니다. 이러한 키를 수동으로 지정하지 마세요. 이러한 필드는 런타임에서 모델 빌드를 고유하게 식별하고 컴파일된 캐시 무효화를 관리하는 데 사용됩니다.
  • llm_metadata: LLM별 구성을 추가합니다.
    • --path PATH: LLM 메타데이터 (텍스트 또는 바이너리 프로토)의 경로입니다.
  • tflite_model: TFLite 모델을 추가합니다.
    • --path PATH: .tflite 파일의 경로입니다.
    • --model_type TYPE: embedder, prefill_decode (사전 채우기 및 디코딩 모두 나타냄), prefill, decode 중 하나입니다.
    • --backend_constraint BACKEND: (선택사항) 백엔드 제약조건 (예: gpu, cpu, npu).
    • --prefer_activation_type TYPE: (선택사항) 선호하는 활성화 유형 (fp16, fp32, fp32_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 컨테이너를 검사하거나 삽입된 구성요소를 압축 해제합니다. 실행하면 전체 컨테이너 구조, 모든 패키징된 섹션, 자동으로 생성된 시스템 메타데이터 (uuid, creation_timestamp 등)가 표시됩니다.

사용

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

CLI 옵션 참조

  • --litertlm_file PATH (필수): 검사할 .litertlm 파일의 경로입니다.
  • --dump_files_dir PATH (선택사항): 모든 패키징된 파일 (모델, 토크나이저, 가중치, 메타데이터)을 추출/압축 해제해야 하는 디렉터리입니다. 제공되지 않으면 도구는 파일을 추출하지 않고 메타데이터와 섹션 구조만 콘솔에 출력합니다.