litert-lm-builder แพ็กเกจ มีเครื่องมือ Python และอินเทอร์เฟซบรรทัดคำสั่ง (CLI) สำหรับสร้าง ตรวจสอบ และคลายการแพคไฟล์คอนเทนเนอร์ LiteRT-LM (.litertlm)
.litertlm คือคอนเทนเนอร์แบบรวมเดียวที่แพ็กเกจโมเดล TFLite
ไฟล์โทเค็นไนเซอร์ น้ำหนักภายนอก และข้อมูลเมตาของโมเดลที่เชื่อมโยง เพื่อให้รันไทม์ LiteRT-LM สามารถกระจายและโหลดได้
การติดตั้ง
ติดตั้งแพ็กเกจ litert-lm-builder จาก PyPI
วิธีที่ 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: เพิ่มคู่คีย์-ค่าจำนวนเต็ม (ระบุได้ หลายครั้ง)- หมายเหตุ: เครื่องมือสร้างจะสร้างและต่อท้าย
uuidและcreation_timestampที่ไม่ซ้ำกัน (ในรูปแบบ ISO 8601 ของ UTC) ลงในข้อมูลเมตาของระบบโดยอัตโนมัติ อย่าระบุคีย์เหล่านี้ด้วยตนเอง ฟิลด์เหล่านี้ใช้โดย รันไทม์เพื่อระบุบิลด์โมเดลที่ไม่ซ้ำกันและจัดการการล้างแคชที่คอมไพล์แล้ว
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(ไม่บังคับ): ไดเรกทอรีที่ควรแตก/คลายไฟล์ที่แพ็กเกจทั้งหมด (โมเดล, ตัวแยกคำ, น้ำหนัก, ข้อมูลเมตา) หากไม่ได้ระบุไว้ เครื่องมือจะพิมพ์เฉพาะข้อมูลเมตาและโครงสร้างส่วน ไปยังคอนโซลโดยไม่แยกไฟล์