LiteRT-LM เป็นเฟรมเวิร์กการอนุมานแบบโอเพนซอร์สที่พร้อมใช้งานจริง ซึ่งออกแบบมาเพื่อ มอบการติดตั้งใช้งาน LLM ประสิทธิภาพสูงแบบข้ามแพลตฟอร์มบนอุปกรณ์ Edge
- รองรับหลายแพลตฟอร์ม: ทำงานบน Android, iOS, เว็บ, เดสก์ท็อป และ IoT (เช่น Raspberry Pi)
- การเร่งด้วยฮาร์ดแวร์: รับประสิทธิภาพสูงสุดและความเสถียรของระบบโดย ใช้ประโยชน์จากตัวเร่ง GPU และ NPU ในฮาร์ดแวร์ที่หลากหลาย
- ความสามารถในการประมวลผลข้อมูลหลายรูปแบบ: สร้างด้วย LLM ที่รองรับภาพและเสียง
- การใช้เครื่องมือ: รองรับการเรียกใช้ฟังก์ชันสำหรับเวิร์กโฟลว์แบบ Agent พร้อม การถอดรหัสแบบจำกัดเพื่อความแม่นยำที่ดียิ่งขึ้น
- รองรับโมเดลที่หลากหลาย: เรียกใช้ Gemma, Llama, Phi-4, Qwen และอื่นๆ
การสาธิต GenAI ในอุปกรณ์
Google AI Edge Gallery เป็นแอปเวอร์ชันทดลองที่ออกแบบมาเพื่อแสดงความสามารถของ Generative AI ในอุปกรณ์ที่ทำงานแบบออฟไลน์ทั้งหมดโดยใช้ LiteRT-LM
- Google Play: ใช้ LLM ในเครื่องบนอุปกรณ์ Android ที่รองรับ
- App Store: สัมผัสประสบการณ์การใช้งาน AI บนอุปกรณ์ในอุปกรณ์ iOS
- แหล่งที่มาของ GitHub: ดูซอร์สโค้ดของแอปแกลเลอรีเพื่อดูวิธีผสานรวม LiteRT-LM ภายในโปรเจ็กต์ของคุณเอง
โมเดลแนะนำ: Gemma-4-E2B
- ขนาดโมเดล: 2.58 GB
ดูรายละเอียดทางเทคนิคเพิ่มเติมได้ในการ์ดโมเดล HuggingFace
แพลตฟอร์ม (อุปกรณ์) แบ็กเอนด์ การกรอกข้อมูลล่วงหน้า (tk/s) ถอดรหัส (tk/s) เวลาที่ได้รับโทเค็นแรก (วินาที) หน่วยความจำ CPU สูงสุด (MB) Android (S26 Ultra) CPU 557 47 1.8 1733 GPU 3808 52 0.3 676 iOS (iPhone 17 Pro) CPU 532 25 1.9 607 GPU 2878 56 0.3 1450 Linux (Arm 2.3 และ 2.8 GHz, NVIDIA GeForce RTX 4090) CPU 260 35 4 1628 GPU 11234 143 0.1 913 macOS (MacBook Pro M4) CPU 901 42 1.1 736 GPU 7835 160 0.1 1623 IoT (Raspberry Pi 5 16GB) CPU 133 8 7.8 1546
เริ่มสร้าง
ข้อมูลโค้ดต่อไปนี้แสดงวิธีเริ่มต้นใช้งาน LiteRT-LM CLI รวมถึง API ของ Python, Kotlin และ C++
CLI
litert-lm run model.litertlm --prompt="What is the capital of France?"
Python
engine = litert_lm.Engine("model.litertlm")
with engine.create_conversation() as conversation:
response = conversation.send_message("What is the capital of France?")
print(f"Response: {response['content'][0]['text']}")
Kotlin
val engineConfig = EngineConfig(
modelPath = "/path/to/your/model.litertlm",
backend = Backend.CPU(),
)
val engine = Engine(engineConfig)
engine.initialize()
val conversation = engine.createConversation()
print(conversation.sendMessage("What is the capital of France?"))
C++
auto model_assets = ModelAssets::Create(model_path);
CHECK_OK(model_assets);
auto engine_settings = EngineSettings::CreateDefault(
model_assets,
/*backend=*/litert::lm::Backend::CPU);
absl::StatusOr<std::unique_ptr<Engine>> engine = Engine::CreateEngine(engine_settings);
CHECK_OK(engine);
auto conversation_config = ConversationConfig::CreateDefault(**engine);
CHECK_OK(conversation_config);
absl::StatusOr<std::unique_ptr<Conversation>> conversation = Conversation::Create(**engine, *conversation_config);
CHECK_OK(conversation);
absl::StatusOr<Message> model_message = (*conversation)->SendMessage(
JsonMessage{
{"role", "user"},
{"content", "What is the capital of France?"}
});
CHECK_OK(model_message);
std::cout << *model_message << std::endl;
| ภาษา | สถานะ | เหมาะสำหรับ... | เอกสารประกอบ |
|---|---|---|---|
| CLI | 🚀 เวอร์ชันตัวอย่างทดลองใช้ |
เริ่มต้นใช้งาน LiteRT-LM ในเวลาไม่ถึง 1 นาที | คู่มือ CLI |
| Python | ✅ เสถียร |
การสร้างต้นแบบ การพัฒนาอย่างรวดเร็วบนเดสก์ท็อปและ Raspberry Pi | คู่มือ Python |
| Kotlin | ✅ เสถียร |
แอป Android ที่มาพร้อมเครื่องและเครื่องมือบนเดสก์ท็อปที่ใช้ JVM ได้รับการเพิ่มประสิทธิภาพสำหรับ Coroutines | คู่มือ Android (Kotlin) |
| C++ | ✅ เสถียร |
ตรรกะหลักและระบบฝังตัวประสิทธิภาพสูงแบบข้ามแพลตฟอร์ม | คู่มือ C++ |
| Swift | 🚀 กำลังพัฒนา |
การผสานรวม iOS และ macOS แบบเนทีฟพร้อมการรองรับ Metal โดยเฉพาะ | เร็วๆ นี้ |
แบ็กเอนด์และแพลตฟอร์มที่รองรับ
| การเร่งความเร็ว | Android | iOS | macOS | Windows | Linux | IoT |
|---|---|---|---|---|---|---|
| CPU | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| GPU | ✅ | ✅ | ✅ | ✅ | ✅ | - |
| NPU | ✅ | - | - | - | - | - |
รุ่นที่รองรับ
ตารางต่อไปนี้แสดงรายการโมเดลที่ LiteRT-LM รองรับ ดูตัวเลขประสิทธิภาพและโมเดลการ์ดแบบละเอียดเพิ่มเติมได้ที่ชุมชน LiteRT บน Hugging Face
| รุ่น | ประเภท | ขนาด (MB) | รายละเอียด | อุปกรณ์ | การเติม CPU ล่วงหน้า (tk/s) | การถอดรหัส CPU (tk/s) | การเติมข้อความล่วงหน้าของ GPU (โทเค็น/วินาที) | ถอดรหัส GPU (tk/s) |
|---|---|---|---|---|---|---|---|---|
| Gemma4-E2B | แชท | 2583 | การ์ดโมเดล | Samsung S26 Ultra | 557 | 47 | 3808 | 52 |
| iPhone 17 Pro | 532 | 25 | 2878 | 57 | ||||
| MacBook Pro M4 | 901 | 42 | 7835 | 160 | ||||
| Gemma4-E4B | แชท | 3654 | การ์ดโมเดล | Samsung S26 Ultra | 195 | 18 | 1293 | 22 |
| iPhone 17 Pro | 159 | 10 | 1189 | 25 | ||||
| MacBook Pro M4 | 277 | 27 | 2560 | 101 | ||||
| Gemma-3n-E2B | แชท | 2965 | การ์ดโมเดล | MacBook Pro M3 | 233 | 28 | - | - |
| Samsung S24 Ultra | 111 | 16 | 816 | 16 | ||||
| Gemma-3n-E4B | แชท | 4235 | การ์ดโมเดล | MacBook Pro M3 | 170 | 20 | - | - |
| Samsung S24 Ultra | 74 | 9 | 548 | 9 | ||||
| Gemma3-1B | แชท | 1005 | การ์ดโมเดล | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| FunctionGemma | ฐาน | 289 | การ์ดโมเดล | Samsung S25 Ultra | 2238 | 154 | - | - |
| phi-4-mini | แชท | 3906 | การ์ดโมเดล | Samsung S24 Ultra | 67 | 7 | 314 | 10 |
| Qwen2.5-1.5B | แชท | 1598 | การ์ดโมเดล | Samsung S25 Ultra | 298 | 34 | 1668 | 31 |
| Qwen3-0.6B | แชท | 586 | การ์ดโมเดล | Vivo X300 Pro | 165 | 9 | 580 | 21 |
| Qwen2.5-0.5B | แชท | 521 | การ์ดโมเดล | Samsung S24 Ultra | 251 | 30 | - | - |
ปัญหาเกี่ยวกับรายงาน
หากพบข้อบกพร่องหรือมีคำขอฟีเจอร์ โปรดรายงานที่ปัญหาใน GitHub ของ LiteRT-LM