LiteRT-LM เป็นไลบรารีข้ามแพลตฟอร์มที่ออกแบบมาเพื่อเรียกใช้ไปป์ไลน์โมเดลภาษาอย่างมีประสิทธิภาพในอุปกรณ์หลากหลายประเภท ตั้งแต่โทรศัพท์มือถือไปจนถึงระบบแบบฝัง โดยจะมอบเครื่องมือให้นักพัฒนาแอปเพื่อสร้างและติดตั้งใช้งาน เวิร์กโฟลว์โมเดลภาษาที่ซับซ้อน ซึ่งตอนนี้ผสานรวม NPU ได้อย่างราบรื่นแล้ว
เรียกใช้ LLM บน CPU และ GPU
ดูวิธีการโดยละเอียดเกี่ยวกับการพัฒนาข้ามแพลตฟอร์มและการเร่งความเร็วฮาร์ดแวร์ CPU/GPU ได้ที่ที่เก็บ LiteRT-LM ใน GitHub
เรียกใช้ LLM บน NPU
Neural Processing Unit (NPU) มีบล็อกฮาร์ดแวร์เฉพาะที่ได้รับการเพิ่มประสิทธิภาพสำหรับภาระงานของการเรียนรู้เชิงลึก โดยมีให้บริการมากขึ้นในระบบสมัยใหม่บน ชิป (SoC) โดยเฉพาะในอุปกรณ์เคลื่อนที่ ประสิทธิภาพสูงทำให้ เหมาะอย่างยิ่งสำหรับการเรียกใช้การอนุมาน LLM
ผู้ให้บริการ NPU
LiteRT-LM รองรับการเรียกใช้ LLM โดยใช้การเร่งความเร็ว NPU กับผู้ให้บริการต่อไปนี้ เลือกวิธีการตามผู้ให้บริการที่คุณต้องการ ลองใช้
คู่มือเริ่มต้นฉบับย่อ
หากต้องการเริ่มต้นใช้งาน ให้ทำตามวิธีการในส่วนข้อกำหนดเบื้องต้น ก่อนเพื่อตั้งค่าสภาพแวดล้อมและที่เก็บ
นอกจากนี้ หากต้องการโต้ตอบกับอุปกรณ์ Android ให้ตรวจสอบว่าคุณได้ติดตั้ง Android Debug Bridge อย่างถูกต้องแล้ว และมีอุปกรณ์ที่เชื่อมต่อซึ่งเข้าถึงได้โดยใช้ adb
ดูวิธีการโดยละเอียดเพิ่มเติมได้ที่ส่วนคู่มือเริ่มต้นฉบับย่อในที่เก็บ LiteRT-LM และดูข้อมูลเพิ่มเติมเกี่ยวกับlitert_lm_main
การสาธิตบรรทัดคำสั่ง
Google Tensor
ทำตามขั้นตอนต่อไปนี้เพื่อเรียกใช้ LLM บน Google Tensor
ขั้นตอนที่ 1: ดาวน์โหลด.litertlmโมเดล
รันไทม์ LiteRT-LM ออกแบบมาให้ทำงานกับโมเดลในรูปแบบ .litertlm
คุณค้นหาและดาวน์โหลดโมเดลที่เข้ากันได้ในตารางต่อไปนี้
| รุ่น | SoC | การทำให้เล็กลง | ขนาดบริบท | ขนาดโมเดล (Mb) | ลิงก์ดาวน์โหลด |
|---|---|---|---|---|---|
| Gemma3-1B | Tensor_G5 | 8 บิตต่อช่อง | 1280 | 1704 | download |
ต่อไปนี้คือตัวอย่างคำสั่งที่จะช่วยให้คุณได้รับลิงก์ Hugging Face ที่
ดาวน์โหลดโมเดลที่ถูกต้องสำหรับ SoC ของโทรศัพท์ได้ (โปรดทราบว่าคุณจะต้อง
เข้าสู่ระบบและรับทราบแบบฟอร์มเพื่อรับสิทธิ์ในการดาวน์โหลด
ไฟล์) คุณควรตรวจสอบว่ามีอุปกรณ์ที่เชื่อมต่ออยู่ซึ่งเข้าถึงได้โดยใช้ adb
SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_Google_${SOC_MODEL}.litertlm"
ตรวจสอบว่า $SOC_MODEL แสดงอยู่ในตารางการสนับสนุน ลิงก์ที่สร้างขึ้น จะใช้ไม่ได้กับโมเดลที่ไม่รองรับ เรากำลังเพิ่มการรองรับ NPU ใหม่ๆ อย่างสม่ำเสมอ โปรดกลับมาตรวจสอบอีกครั้งในภายหลังเพื่อดูว่าอุปกรณ์ของคุณรองรับหรือไม่
ขั้นตอนที่ 2: สร้างรันไทม์ / ไลบรารี LiteRT-LM
พัฒนาใน Linux
หากต้องการสร้างไบนารีสำหรับ Android คุณต้องติดตั้ง NDK r28b หรือใหม่กว่าจากเวอร์ชันเสถียรล่าสุด
โปรดทำตามขั้นตอนต่อไปนี้
- ดาวน์โหลดแพ็กเกจ NDK เวอร์ชันเสถียรล่าสุด (ไฟล์
zip) จากเวอร์ชันเสถียรล่าสุด - แตกไฟล์
zipไปยังตำแหน่งที่ต้องการ (เช่น/path/to/AndroidNDK/) - ตรวจสอบว่า
ANDROID_NDK_HOMEชี้ไปยังไดเรกทอรี NDK โดยควรมีลักษณะดังนี้
export ANDROID_NDK_HOME=/path/to/AndroidNDK/
เมื่อตั้งค่าแล้ว ให้สร้างไบนารี litert_lm_main โดยใช้คำสั่งต่อไปนี้
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
นอกจากนี้ ให้สร้างไลบรารี API การจัดส่งเพื่อให้รันไทม์ LiteRT-LM โต้ตอบกับ NPU ได้โดยทำดังนี้
bazel build --config=android_arm64 \
@litert//litert/vendors/google_tensor/dispatch:dispatch_api_so
ขั้นตอนที่ 3: เรียกใช้โมเดลในอุปกรณ์
หลังจากสร้างไบนารีเรียบร้อยแล้ว ตอนนี้เราสามารถลองเรียกใช้โมเดลใน อุปกรณ์ได้ ตรวจสอบว่าคุณมีสิทธิ์เขียนในDEVICE_FOLDER
หากต้องการเรียกใช้ไบนารีในอุปกรณ์ Android เราต้องพุชชิ้นงาน
/ไบนารีบางรายการ ก่อนอื่น ให้ตั้งค่า DEVICE_FOLDER และตรวจสอบว่าคุณมีสิทธิ์การเขียน
ในไดเรกทอรีดังกล่าว (โดยปกติคุณจะวางไฟล์ไว้ใน /data/local/tmp/ ได้)
export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER
export MODEL_PATH=<path to your downloaded .litertlm >
ส่งไฟล์ .litertlm
adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm
พุช API การเรียกใช้และไบนารีหลักที่คอมไพล์ในขั้นตอนที่ 2
adb push bazel-bin/external/litert/litert/vendors/google_tensor/*/*.so \
$DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER
ตอนนี้คุณสามารถเรียกใช้ไบนารีได้แล้ว
adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER \
$DEVICE_FOLDER/litert_lm_main \
--backend=npu \
--model_path=$DEVICE_FOLDER/model.litertlm
Qualcomm AI Engine Direct
ขั้นตอนการเรียกใช้ LLM บน NPU ของ Qualcomm มีดังนี้
ขั้นตอนที่ 1: ดาวน์โหลด.litertlmโมเดล
รันไทม์ LiteRT-LM ออกแบบมาให้ทำงานกับโมเดลในรูปแบบ .litertlm
คุณสามารถค้นหาและดาวน์โหลดโมเดลที่เข้ากันได้ในตารางต่อไปนี้
| รุ่น | SoC | การทำให้เล็กลง | ขนาดบริบท | ขนาดโมเดล (Mb) | ลิงก์ดาวน์โหลด |
|---|---|---|---|---|---|
| Gemma3-1B | SM8750 | 4 บิตต่อช่อง | 1280 | 658 | download |
| Gemma3-1B | SM8650 | 4 บิตต่อช่อง | 1280 | 658 | download |
| Gemma3-1B | SM8550 | 4 บิตต่อช่อง | 1280 | 657 | download |
คุณจะต้องดาวน์โหลดโมเดลที่สอดคล้องกับ SoC
ต่อไปนี้คือตัวอย่างคำสั่งที่จะช่วยให้คุณได้รับลิงก์ Hugging Face ซึ่ง
สามารถดาวน์โหลดโมเดลที่ถูกต้องสำหรับ SoC ของโทรศัพท์ (โปรดทราบว่าคุณจะต้อง
เข้าสู่ระบบและรับทราบแบบฟอร์มเพื่อให้มีสิทธิ์ดาวน์โหลด
ไฟล์) คุณควรตรวจสอบว่ามีอุปกรณ์ที่เชื่อมต่ออยู่ซึ่งเข้าถึงได้โดยใช้ adb
SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_${SOC_MODEL}.litertlm"
ตรวจสอบว่า $SOC_MODEL แสดงอยู่ในตารางการสนับสนุน ลิงก์ที่สร้างขึ้น จะใช้ไม่ได้กับโมเดลที่ไม่รองรับ เรากำลังเพิ่มการรองรับ NPU ใหม่ๆ อย่างสม่ำเสมอ โปรดกลับมาตรวจสอบอีกครั้งในภายหลังเพื่อดูว่าอุปกรณ์ของคุณรองรับหรือไม่
ขั้นตอนที่ 2: ดาวน์โหลดและแตกไฟล์ไลบรารี QAIRT
หากต้องการเรียกใช้โมเดลโดยใช้ NPU ของ Qualcomm คุณจะต้องมีไลบรารีรันไทม์ที่เกี่ยวข้องในอุปกรณ์ คุณสามารถดาวน์โหลด QAIRT SDK ได้จากลิงก์และแตกไฟล์ ตั้งค่าตัวแปรQAIRT_ROOT (จะใช้ในขั้นตอนต่อๆ ไป) เพื่อชี้ไปยังโฟลเดอร์ที่คลายซิปแล้วซึ่งมีหมายเลขเวอร์ชัน เช่น
unzip <your_file.zip> -d ~/
QAIRT_ROOT=~/qairt/2.42.0.251225
ขั้นตอนที่ 3: สร้างรันไทม์ / ไลบรารี LiteRT-LM
พัฒนาใน Linux
หากต้องการสร้างไบนารีสำหรับ Android คุณต้องติดตั้ง NDK r28b หรือ ใหม่กว่าจาก https://developer.android.com/ndk/downloads#stable-downloads ขั้นตอนที่เฉพาะเจาะจงมีดังนี้
- ดาวน์โหลดไฟล์
zipจาก https://developer.android.com/ndk/downloads#stable-downloads - แตกไฟล์
zipไปยังตำแหน่งที่ต้องการ (เช่น/path/to/AndroidNDK/) - สร้าง
ANDROID_NDK_HOMEเพื่อชี้ไปยังไดเรกทอรี NDK โดยควรมีลักษณะดังนี้
export ANDROID_NDK_HOME=/path/to/AndroidNDK/
เคล็ดลับ: ตรวจสอบว่า ANDROID_NDK_HOME ชี้ไปยังไดเรกทอรีที่มี
README.md อยู่
เมื่อตั้งค่าแล้ว ให้ลองสร้างไบนารี litert_lm_main ดังนี้
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
นอกจากนี้ เราควรสร้างไลบรารี API การเรียกใช้เพื่อให้รันไทม์ LiteRT-LM โต้ตอบกับ NPU ได้
bazel build --config=android_arm64 \
@litert//litert/vendors/qualcomm/dispatch:dispatch_api_so
พัฒนาใน macOS
เครื่องมือบรรทัดคำสั่ง Xcode มี clang เรียกใช้ xcode-select --install หากยังไม่ได้ติดตั้ง
หากต้องการสร้างไบนารีสำหรับ Android คุณต้องติดตั้ง NDK r28b หรือ ใหม่กว่าจาก https://developer.android.com/ndk/downloads#stable-downloads ขั้นตอนที่เฉพาะเจาะจงมีดังนี้
- ดาวน์โหลดไฟล์
.dmgจาก https://developer.android.com/ndk/downloads#stable-downloads - เปิดไฟล์
.dmgแล้วย้ายไฟล์AndroidNDK*ไปยังตำแหน่งที่ต้องการ (เช่น/path/to/AndroidNDK/) - สร้าง
ANDROID_NDK_HOMEเพื่อชี้ไปยังไดเรกทอรี NDK โดยควรมีลักษณะดังนี้
export ANDROID_NDK_HOME=/path/to/AndroidNDK/AndroidNDK*.app/Contents/NDK/
เคล็ดลับ: ตรวจสอบว่า ANDROID_NDK_HOME ชี้ไปยังไดเรกทอรีที่มี
README.md อยู่
เมื่อตั้งค่าแล้ว ให้ลองสร้างไบนารี litert_lm_main ดังนี้
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
นอกจากนี้ เราควรสร้างไลบรารี API การเรียกใช้เพื่อให้รันไทม์ LiteRT-LM โต้ตอบกับ NPU ได้
bazel build --config=android_arm64 \
@litert//litert/vendors/qualcomm/dispatch:dispatch_api_so
ขั้นตอนที่ 4: เรียกใช้โมเดลในอุปกรณ์
หลังจากสร้างไบนารีเรียบร้อยแล้ว ตอนนี้เราสามารถลองเรียกใช้โมเดลใน อุปกรณ์ได้ ตรวจสอบว่าคุณมีสิทธิ์เขียนในDEVICE_FOLDER
หากต้องการเรียกใช้ไบนารีในอุปกรณ์ Android เราต้องพุชชิ้นงาน
/ไบนารีบางรายการ ก่อนอื่น ให้ตั้งค่า DEVICE_FOLDER และตรวจสอบว่าคุณมีสิทธิ์การเขียน
ในไดเรกทอรีดังกล่าว (โดยปกติคุณจะวางไฟล์ไว้ใน /data/local/tmp/ ได้)
export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER
export MODEL_PATH=<path to your downloaded .litertlm >
ส่งไฟล์ .litertlm เคล็ดลับ: คุณต้องพุชชิ้นงานเหล่านั้นเพียงครั้งเดียว
adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm
เผยแพร่ไลบรารี QAIRT โดยคุณจะเห็นไฟล์เหล่านี้ในโฟลเดอร์ที่ไม่ได้ซิปในขั้นตอนที่ 2 $QAIRT_ROOT/lib/aarch64-android/ โปรดทราบว่า QAIRT_ROOT ควร
มีหมายเลขเวอร์ชัน เช่น 2.42.0.251225
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtp*Stub.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtp.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnSystem.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/aarch64-android/libQnnHtpPrepare.so $DEVICE_FOLDER
adb push $QAIRT_ROOT/lib/hexagon-*/unsigned/libQnnHtp*Skel.so $DEVICE_FOLDER
พุช API การเรียกใช้และไบนารีหลักที่คอมไพล์ในขั้นตอนที่ 3
adb push bazel-bin/external/litert/litert/vendors/qualcomm/*/*.so \
$DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER
ตอนนี้คุณสามารถเรียกใช้ไบนารีได้แล้ว
adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER ADSP_LIBRARY_PATH=$DEVICE_FOLDER \
$DEVICE_FOLDER/litert_lm_main \
--backend=npu \
--model_path=$DEVICE_FOLDER/model.litertlm
MediaTek NeuroPilot
ขั้นตอนการเรียกใช้ LLM ใน NPU ของ MediaTek มีดังนี้
ขั้นตอนที่ 1: ดาวน์โหลด.litertlmโมเดล
รันไทม์ LiteRT-LM ออกแบบมาให้ทำงานกับโมเดลในรูปแบบ .litertlm
คุณสามารถค้นหาและดาวน์โหลดโมเดลที่เข้ากันได้ในตารางต่อไปนี้
| รุ่น | SoC | การทำให้เล็กลง | ขนาดบริบท | ขนาดโมเดล (Mb) | ลิงก์ดาวน์โหลด |
|---|---|---|---|---|---|
| Gemma3-1B | MT6989 | 4 บิตต่อช่อง | 1280 | 985 | download |
| Gemma3-1B | MT6991 | 4 บิตต่อช่อง | 1280 | 986 | download |
คุณจะต้องดาวน์โหลดโมเดลที่สอดคล้องกับ SoC
ต่อไปนี้คือตัวอย่างคำสั่งที่จะช่วยให้คุณได้รับลิงก์ Hugging Face ซึ่ง
สามารถดาวน์โหลดโมเดลที่ถูกต้องสำหรับ SoC ของโทรศัพท์ (โปรดทราบว่าคุณจะต้อง
เข้าสู่ระบบและรับทราบแบบฟอร์มเพื่อให้มีสิทธิ์ดาวน์โหลด
ไฟล์) คุณควรตรวจสอบว่ามีอุปกรณ์ที่เชื่อมต่ออยู่ซึ่งเข้าถึงได้โดยใช้ adb
SOC_MODEL=$(adb shell getprop ro.soc.model | tr '[:upper:]' '[:lower:]')
echo "https://huggingface.co/litert-community/Gemma3-1B-IT/blob/main/Gemma3-1B-IT_q4_ekv1280_${SOC_MODEL}.litertlm"
ตรวจสอบว่า $SOC_MODEL แสดงอยู่ในตารางการสนับสนุน ลิงก์ที่สร้างขึ้น จะใช้ไม่ได้กับโมเดลที่ไม่รองรับ เรากำลังเพิ่มการรองรับ NPU ใหม่ๆ อย่างสม่ำเสมอ โปรดกลับมาตรวจสอบอีกครั้งในภายหลังเพื่อดูว่าอุปกรณ์ของคุณรองรับหรือไม่
ขั้นตอนที่ 2: สร้างรันไทม์ / ไลบรารี LiteRT-LM
พัฒนาใน Linux
หากต้องการสร้างไบนารีสำหรับ Android คุณต้องติดตั้ง NDK r28b หรือ ใหม่กว่าจาก https://developer.android.com/ndk/downloads#stable-downloads ขั้นตอนที่เฉพาะเจาะจงมีดังนี้
- ดาวน์โหลดไฟล์
zipจาก https://developer.android.com/ndk/downloads#stable-downloads - แตกไฟล์
zipไปยังตำแหน่งที่ต้องการ (เช่น/path/to/AndroidNDK/) - สร้าง
ANDROID_NDK_HOMEเพื่อชี้ไปยังไดเรกทอรี NDK โดยควรมีลักษณะดังนี้
export ANDROID_NDK_HOME=/path/to/AndroidNDK/
เคล็ดลับ: ตรวจสอบว่า ANDROID_NDK_HOME ชี้ไปยังไดเรกทอรีที่มี
README.md อยู่
เมื่อตั้งค่าแล้ว ให้ลองสร้างไบนารี litert_lm_main ดังนี้
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
นอกจากนี้ เราควรสร้างไลบรารี API การเรียกใช้เพื่อให้รันไทม์ LiteRT-LM โต้ตอบกับ NPU ได้
bazel build --config=android_arm64 \
@litert//litert/vendors/mediatek/dispatch:dispatch_api_so
พัฒนาใน macOS
เครื่องมือบรรทัดคำสั่ง Xcode มี clang เรียกใช้ xcode-select --install หากยังไม่ได้ติดตั้ง
หากต้องการสร้างไบนารีสำหรับ Android คุณต้องติดตั้ง NDK r28b หรือ ใหม่กว่าจาก https://developer.android.com/ndk/downloads#stable-downloads ขั้นตอนที่เฉพาะเจาะจงมีดังนี้
- ดาวน์โหลดไฟล์
.dmgจาก https://developer.android.com/ndk/downloads#stable-downloads - เปิดไฟล์
.dmgแล้วย้ายไฟล์AndroidNDK*ไปยังตำแหน่งที่ต้องการ (เช่น/path/to/AndroidNDK/) - สร้าง
ANDROID_NDK_HOMEเพื่อชี้ไปยังไดเรกทอรี NDK โดยควรมีลักษณะดังนี้
export ANDROID_NDK_HOME=/path/to/AndroidNDK/AndroidNDK*.app/Contents/NDK/
เคล็ดลับ: ตรวจสอบว่า ANDROID_NDK_HOME ชี้ไปยังไดเรกทอรีที่มี
README.md อยู่
เมื่อตั้งค่าแล้ว ให้ลองสร้างไบนารี litert_lm_main ดังนี้
bazel build --config=android_arm64 //runtime/engine:litert_lm_main
นอกจากนี้ เราควรสร้างไลบรารี API การเรียกใช้เพื่อให้รันไทม์ LiteRT-LM โต้ตอบกับ NPU ได้
bazel build --config=android_arm64 \
@litert//litert/vendors/mediatek/dispatch:dispatch_api_so
ขั้นตอนที่ 3: เรียกใช้โมเดลในอุปกรณ์
หลังจากสร้างไบนารีเรียบร้อยแล้ว ตอนนี้เราสามารถลองเรียกใช้โมเดลใน อุปกรณ์ได้ ตรวจสอบว่าคุณมีสิทธิ์เขียนในDEVICE_FOLDER
หากต้องการเรียกใช้ไบนารีในอุปกรณ์ Android เราต้องพุชชิ้นงาน
/ไบนารีบางรายการ ก่อนอื่น ให้ตั้งค่า DEVICE_FOLDER และตรวจสอบว่าคุณมีสิทธิ์การเขียน
ในไดเรกทอรีดังกล่าว (โดยปกติคุณจะวางไฟล์ไว้ใน /data/local/tmp/ ได้)
export DEVICE_FOLDER=/data/local/tmp/
adb shell mkdir -p $DEVICE_FOLDER
export MODEL_PATH=<path to your downloaded .litertlm >
ส่งไฟล์ .litertlm เคล็ดลับ: คุณต้องพุชชิ้นงานเหล่านั้นเพียงครั้งเดียว
adb push $MODEL_PATH $DEVICE_FOLDER/model.litertlm
พุช API การเรียกใช้และไบนารีหลักที่คอมไพล์ในขั้นตอนที่ 2
adb push bazel-bin/external/litert/litert/vendors/mediatek/*/*.so \
$DEVICE_FOLDER
adb push prebuilt/android_arm64/*.so $DEVICE_FOLDER
adb push bazel-bin/runtime/engine/litert_lm_main $DEVICE_FOLDER
ตอนนี้คุณสามารถเรียกใช้ไบนารีได้แล้ว
adb shell LD_LIBRARY_PATH=$DEVICE_FOLDER \
$DEVICE_FOLDER/litert_lm_main \
--backend=npu \
--model_path=$DEVICE_FOLDER/model.litertlm
Intel OpenVino
เรียกใช้โดยใช้ไฟล์ปฏิบัติการ C++
ขั้นตอนการเรียกใช้ LLM บน NPU ของ Intel มีดังนี้
ขั้นตอนที่ 1: ดาวน์โหลด.litertlmโมเดล
รันไทม์ LiteRT-LM ออกแบบมาให้ทำงานกับโมเดลในรูปแบบ .litertlm
คุณสามารถค้นหาและดาวน์โหลดโมเดลที่เข้ากันได้ในตารางต่อไปนี้
| รุ่น | SoC | ขนาดบริบท | ขนาดโมเดล (Mb) | ลิงก์ดาวน์โหลด |
|---|---|---|---|---|
| Gemma4-2B | PantherLake | 4096 | 2.95 GB | download |
| Gemma4-2B | LunarLake | 4096 | 2.96 GB | download |
ขั้นตอนที่ 2: สร้างรันไทม์ LiteRT-LM และไลบรารีการจัดส่ง LiteRT Intel
พัฒนาบน Windows
เมื่อตั้งค่าแล้ว ให้ลองสร้างไบนารี litert_lm_main ดังนี้
bazel --output_base=C:\bzl_lrtlm build --define=DISABLE_HUGGINGFACE_TOKENIZER=1 --config=windows //runtime/engine:litert_lm_main
นอกจากนี้ เราควรสร้างไลบรารี API การเรียกใช้เพื่อให้รันไทม์ LiteRT-LM โต้ตอบกับ NPU ได้
bazel --output_base=C:\bzl_lrtlm build --config=windows @litert//litert/vendors/intel_openvino/dispatch:LiteRtDispatch
ขั้นตอนที่ 3: เรียกใช้โมเดลในอุปกรณ์
หลังจากสร้างไบนารีเรียบร้อยแล้ว ตอนนี้เราสามารถลองเรียกใช้โมเดลใน อุปกรณ์ได้ เราจะแพ็กเกจไบนารี, DLL และโมเดลทั้งหมดไว้ใน "execution_dir"cp bazel-bin/external/litert/vendors/intel_openvino/dispatch/LiteRtDispatch.dll execution_dir
cp bazel-bin/runtime/engine/litert_lm_main.exe execution_dir
cp prebuilt\windows_x86_64\libGemmaModelConstraintProvider.dll execution_dir
# Run OpenVino's setup script to ensure the OpenVino DLLs can be found.
& C:\bzl_lrtlm\external\intel_openvino\openvino\setupvars.ps1
# Test run
cd execution_dir
.\litert_lm_main.exe --backend=npu --model_path="execution_dir\model.litertlm" --input_prompt="What is the capital of France?"
ดู https://ai.google.dev/edge/litert-lm/python สำหรับ Python API ของ LiteRT-LM
เพื่อเรียกใช้litertlm ที่มีแบ็กเอนด์ NPU
import litert_lm
with litert_lm.Engine("C:\path\to\npu-model.litertlm", backend=litert_lm.Backend.NPU()) as engine:
with engine.create_conversation() as conversation:
print(conversation.send_message("What is the capital of France?"))