Gói litert-lm-builder cung cấp các công cụ Python và Giao diện dòng lệnh (CLI) để tạo, kiểm tra và giải nén các tệp vùng chứa LiteRT-LM (.litertlm).
Tệp .litertlm là một vùng chứa hợp nhất duy nhất đóng gói các mô hình TFLite, tệp mã hoá từ, trọng số bên ngoài và siêu dữ liệu mô hình được liên kết để chúng có thể được phân phối và tải bởi thời gian chạy LiteRT-LM.
Cài đặt
Cài đặt gói litert-lm-builder từ PyPI.
Phương pháp 1: uvx (Nên dùng để thực hiện nhanh)
Chạy các CLI ngay lập tức mà không cần cài đặt vĩnh viễn. Yêu cầu uv.
uvx litert-lm-builder --help
uvx litert-lm-peek --help
Phương thức 2: pip
Cài đặt tiêu chuẩn trong môi trường ảo:
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade litert-lm-builder
Tạo tệp .litertlm: litert-lm-builder
Sử dụng CLI litert-lm-builder để đóng gói các thành phần mô hình. Bạn có thể thực hiện việc này bằng cách sử dụng tệp cấu hình hoặc bằng cách liên kết các đối số dòng lệnh.
Cách sử dụng
Bạn có thể dùng các phương thức sau để chuẩn bị tệp .litertlm bằng trình tạo.
Cách 1: Tạo bằng cấu hình TOML (Nên dùng)
Chỉ định tất cả thành phần, đường dẫn và siêu dữ liệu trong tệp cấu hình TOML, sau đó chạy trình tạo:
litert-lm-builder toml --path config.toml output --path model.litertlm
Ví dụ 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" }
]
Cách 2: Tạo bằng đối số dòng lệnh
Bạn có thể tạo vùng chứa một cách linh hoạt bằng cách xâu chuỗi các lệnh phụ trong thiết bị đầu cuối. Thứ tự của các lệnh con sẽ xác định thứ tự của các mục trong tệp được tạo.
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
Tài liệu tham khảo về các lựa chọn CLI
CLI litert-lm-builder hỗ trợ các lệnh con sau:
output(Bắt buộc): Chỉ định đường dẫn đầu ra.--path PATH: Đường dẫn để lưu tệp.litertlmđã tạo.
toml: Tải cấu hình từ tệp TOML.--path PATH: Đường dẫn đến tệp.toml.
system_metadata: Thêm siêu dữ liệu hệ thống chung.--str KEY VALUE: Thêm một cặp khoá-giá trị chuỗi (có thể được chỉ định nhiều lần).--int KEY VALUE: Thêm một cặp khoá-giá trị số nguyên (có thể chỉ định nhiều lần).- Lưu ý: Trình tạo sẽ tự động tạo và thêm một
uuidvàcreation_timestampduy nhất (ở định dạng ISO 8601 theo giờ UTC) vào siêu dữ liệu hệ thống. Đừng chỉ định các khoá này theo cách thủ công. Thời gian chạy dùng các trường này để xác định duy nhất bản dựng mô hình và quản lý việc vô hiệu hoá bộ nhớ đệm đã biên dịch.
llm_metadata: Thêm cấu hình dành riêng cho LLM.--path PATH: Đường dẫn đến siêu dữ liệu LLM (văn bản hoặc proto nhị phân).
tflite_model: Thêm một mô hình TFLite.--path PATH: Đường dẫn đến tệp.tflite.--model_type TYPE: Một trong các giá trị:embedder,prefill_decode(đại diện cho cả tính năng điền sẵn và giải mã),prefill,decode.--backend_constraint BACKEND: (Không bắt buộc) Ràng buộc phụ trợ (ví dụ:gpu,cpu,npu).--prefer_activation_type TYPE: (Không bắt buộc) Loại kích hoạt ưu tiên (fp16,fp32,fp32_fp16).--str_metadata KEY VALUE: (Không bắt buộc) Siêu dữ liệu chuỗi cho phần mô hình này.
sp_tokenizer: Thêm một trình mã hoá từ SentencePiece.--path PATH: Đường dẫn đến tệp.model.--str_metadata KEY VALUE: (Không bắt buộc) Siêu dữ liệu chuỗi.
hf_tokenizer: Thêm một mã hoá từ của Hugging Face.--path PATH: Đường dẫn đến tệptokenizer.json.--str_metadata KEY VALUE: (Không bắt buộc) Siêu dữ liệu chuỗi.
Kiểm tra và giải nén tệp .litertlm: litert-lm-peek
Sử dụng CLI litert-lm-peek để kiểm tra một vùng chứa .litertlm hoặc giải nén các thành phần được nhúng của vùng chứa đó. Khi chạy, lệnh này sẽ hiển thị cấu trúc vùng chứa đầy đủ, tất cả các phần được đóng gói và siêu dữ liệu hệ thống được tạo tự động (chẳng hạn như uuid và creation_timestamp).
Cách sử dụng
litert-lm-peek --litertlm_file model.litertlm [options]
Tài liệu tham khảo về các lựa chọn CLI
--litertlm_file PATH(Bắt buộc): Đường dẫn đến tệp.litertlmcần kiểm tra.--dump_files_dir PATH(Không bắt buộc): Thư mục nơi tất cả các tệp được đóng gói (mô hình, bộ mã hóa từ, trọng số, siêu dữ liệu) sẽ được trích xuất/giải nén. Nếu không được cung cấp, công cụ sẽ chỉ in siêu dữ liệu và cấu trúc phần vào bảng điều khiển mà không trích xuất tệp.