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-3n-E2B
| โปรไฟล์อุปกรณ์ | โหมด | การกรอกข้อมูลล่วงหน้า (tk/s) | ถอดรหัส (tk/s) |
|---|---|---|---|
| MacBook Pro 2023 M3 | CPU | 233 | 28 |
| MacBook Pro 2024 M4 | GPU | 2265 | 48 |
| Samsung S24 (Ultra) | CPU | 111 | 16 |
| GPU | 816 | 16 |
เริ่มสร้าง
ข้อมูลโค้ดต่อไปนี้แสดงวิธีเริ่มต้นใช้งาน 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 | คู่มือ 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) |
|---|---|---|---|---|---|---|---|---|
| Gemma3-1B | แชท | 1005 | การ์ดโมเดล | Samsung S24 Ultra | 177 | 33 | 1191 | 24 |
| 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 | ||||
| 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