LLM Inference API ช่วยให้คุณเร��ยกใช้โมเดลภาษาขนาดใหญ่ (LLM) ในอุปกรณ์ได้โดยสมบูรณ์ ซึ่งสามารถใช้ทำงานต่างๆ ได้มากมาย เช่น การสร้างข้อความ การดึงข้อมูลในรูปแบบที่เป็นภาษาธรรมชาติ และการสรุปเอกสาร งานนี้รองรับโมเดลภาษาขนาดใหญ่สำหรับการแปลงข้อความเป็นข้อความในตัว เพื่อให้คุณใช้โมเดล Generative AI ล่าสุดในอุปกรณ์กับแอปและผลิตภัณฑ์ได้
งานนี้รองรับ Gemma 2B และ 7B ซึ่งเป็นส่วนหนึ่งของกลุ่มโมเดลแบบเปิดที่ทันสมัยและมีน้ำหนักเบา ซึ่งสร้างขึ้นจากการวิจัยและเทคโนโลยีเดียวกันกับที่ใช้สร้างโมเดล Gemini และยังรองรับรุ่นภายนอกต่อไปนี้ด้วย Phi-2, Falcon-RW-1B และ StableLM-3B
นอกเหนือจากโมเดลที่รองรับโดยค่าเริ่มต้นแล้ว ผู้ใช้แมปโมเดลอื่นๆ ได้โดยใช้ข้อเสนอ AI Edge ของ Google (รวมถึงการแมปโมเดล PyTorch) วิธีนี้ช่วยให้ผู้ใช้ส่งออกโมเดลที่แมปไปยังโมเดล TensorFlow Lite ที่มีหลายลายเซ็น ซึ่งรวมกับพารามิเตอร์ Tokenizer เพื่อสร้างแพ็กเกจงานได้
เริ่มต้นใช้งาน
เริ่มใช้งานนี้โดยทำตามคำแนะนำในการใช้งานสำหรับแพลตฟอร์มเป้าหมาย คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานเบื้องต้นของงานนี้ พร้อมตัวอย่างโค้ดที่ใช้โมเดลที่พร้อ������ช้งานและตัวเลือกการกำหนดค่าที่แนะนำ
เว็บ
Android
iOS
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้
ฟีเจอร์
LLM Inference API มีฟีเจอร์ที่สำคัญดังต่อไปนี้
- การสร้างข้อความเป็นข้อความ - สร้างข้อความตามพรอมต์ข้อความอินพุต
- การเลือก LLM - ใช้โมเดลหลายแบบเพื่อปรับแต่งแอปให้เหมาะกับกรณีการใช้งานของคุณ และยังฝึกใหม่และใช้น้ำหนักที่ปรับแต่งกับโมเดลได้ด้วย
- การรองรับ LoRA - ขยายและปรับแต่งความสามารถของ LLM ด้วยโมเดล LoRA โดยการฝึกกับชุดข้อมูลทั้งหมดหรือการนำโมเดล LoRA ที่สร้างไว้ล่วงหน้าที่เตรียมจากชุมชนโอเพนซอร์ส (โมเดลเนทีฟเท่านั้น)
ข้อมูลงาน | เอาต์พุตของงาน |
---|---|
LLM Inference API ยอมรับอินพุตต่อไปนี้
|
LLM Inference API จะแสดงผลลัพธ์ต่อไปนี้
|
ตัวเลือกการกำหนดค่า
งานมีตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อตัวเลือก | คำอธิบาย | ช่วงของค่า | ค่าเริ่มต้น |
---|---|---|---|
modelPath |
เส้นทางไปยังที่เก็บโมเดลภายในไดเรกทอรีโปรเจ็กต์ | PATH | ไม่มีข้อมูล |
maxTokens |
จำนวนโทเค็นสูงสุดที่โ��เดลจัดการ (โทเค็นอินพุต + โทเค็นเอาต์พุต) | จำนวนเต็ม | 512 |
topK |
จำนวนโทเค็นที่โมเดลจะพิจารณาในแต่ละขั้นตอนของการสร้าง
จำกัดการคาดการณ์ไว้ที่โทเค็นที่เป็นไปได้มากที่สุดอันดับต้นๆ เมื่อตั้งค่า topK คุณต้องกำหนดค่าสำหรับ randomSeed ด้วย |
จำนวนเต็ม | 40 |
temperature |
ปริมาณการสุ่มที่เกิดขึ้นระหว่างการสร้าง อุณหภูมิที่สูงขึ้นส่งผลให้ข้อความที่สร้างขึ้นมีความคิดสร้างสรรค์มากขึ้น ขณะที่อุณหภูมิที่ต่ำลงจะทําให้เกิดการสร้างที่คาดการณ์ได้มากขึ้น เมื่อตั้งค่า temperature คุณต้องกำหนดค่าสำหรับ randomSeed ด้วย |
ทศนิยม | 0.8 |
randomSeed |
Seed แบบสุ่มที่ใช้ระหว่างการสร้างข้อความ | จำนวนเต็ม | 0 |
loraPath |
Absolute Path ที่นำไปยังโมเดล LoRA ในอุปกรณ์ หมายเหตุ: ใช้ได้กับรุ่น GPU เท่านั้น | PATH | ไม่มีข้อมูล |
resultListener |
ตั้งค่า Listener ผลลัพธ์ให้รับผลลัพธ์แบบไม่พร้อมกัน ใช้ได้เฉพาะเมื่อใช้เมธอดการสร้างไม่พร้อมกัน | ไม่มีข้อมูล | ไม่มีข้อมูล |
errorListener |
ตั้งค่า Listener ข้อผิดพลาดที่ไม่บังคับ | ไม่มีข้อมูล | ไม่มีข้อมูล |
รูปแบบ
LLM Inference API มีการรองรับในตัวสำหรับโมเดลภาษาขนาดใหญ่สำหรับการแปลงข้อความเป็นข้อความ ซึ่งปรับให้เหมาะกับการใช้งานบนเบราว์เซอร์และอุปกรณ์เคลื่อนที่ โดยคุณจะดาวน์โหลดโมเดลน้ำหนักเบาเหล่านี้เพื่อเรียกใช้การอนุมานในอุปกรณ์ได้โดยสมบูรณ์
ก่อนเริ่มต้น LLM Inference API ให้ดาวน์โหลดโมเดลที่รองรับและจัดเก็บไฟล์ไว้ในไดเรกทอรีโปรเจ็กต์
Gemma 2B
Gemma 2B เป็นส่วนหนึ่งของกลุ่มโมเดลแบบเปิดที่ทันสมัยและมีน้ำหนักเบา ซึ่งสร้างขึ้นจากการวิจัยและเทคโนโลยีเดียวกันกับที่ใช้สร้างโมเดล Gemini โมเดลนี้มีพารามิเตอร์ 2B และน้ำหนักแบบเปิด โมเดลนี้เหมาะสำหรับงานการสร้างข้อความที่หลากหลาย ซึ่งรวมถึงการตอบคำถาม การสรุป และการให้เหตุผล
รุ่น Gemma 2B มี 4 แบบดังนี้
- gemma-2b-it-cpu-int4: รุ่น 4 บิตของ Gemma 2B ที่ใช้ร่วมกับ CPU ได้
- gemma-2b-it-cpu-int8: Gemma 2B รุ่น 8 บิตที่ใช้ร่วมกับ CPU ได้
- gemma-2b-it-gpu-int4: รุ่น Gemma 2B 4 บิตที่เข้ากันได้กับ GPU
- gemma-2b-it-gpu-int8: Gemma 2B รุ่น 8 บิตที่เข้ากันได้กับ GPU
นอกจากนี้ คุณยังปรับแต่งโมเดลและเพิ่มน้ำหนักใหม่ก่อนที่จะเพิ่มลงในแอปได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการปรับแต่งและการปรับแต่ง Gemma ได้ที่การปรับแต่ง Gemma หลังจากดาวน์โหลด Gemma จาก Kaggle Models แล้ว โมเดลก็จะอยู่ในรูปแบบที่เหมาะสมเพื่อใช้กับ MediaPipe
หากดาวน์โหลด Gemma 2B จาก Hugging Face คุณต้องแปลงโมเดลเป็นรูปแบบที่เหมาะกับ MediaPipe LLM Inference API กำหนดให้ต้องดาวน์โหลดและแปลงไฟล์ต่อไปนี้
model-00001-of-00002.safetensors
model-00002-of-00002.safetensors
tokenizer.json
tokenizer_config.json
Gemma 7B
Gemma 7B เป็นโมเดลของ Gemma ที่มีขนาดใหญ่กว่าซึ่งมีพารามิเตอร์ 7B และน้ำหนักแบบเปิด รูปแบบนี้มีประสิทธิภาพมากกว่าสำหรับงานสร้างข้อความที่หลากหลาย ซึ่งรวมถึงการตอบคำถาม การสรุป และการให้เหตุผล รองรับ Gemma 7B เฉพาะบนเว็บ
รุ่น Gemma 7B มี 1 ตัวแปรดังนี้
- gemma-1.1-7b-it-gpu-int8: Gemma 7B รุ่น 8 บิตที่เข้ากันได้กับ GPU
หากดาวน์โหลด Gemma 7B จาก Hugging Face คุณต้องแปลงโมเดลเป็นรูปแบบที่เหมาะกับ MediaPipe LLM Inference API กำหนดให้ต้องดาวน์โหลดและแปลงไฟล์ต่อไปนี้
model-00001-of-00004.safetensors
model-00002-of-00004.safetensors
model-00003-of-00004.safetensors
model-00004-of-00004.safetensors
tokenizer.json
tokenizer_config.json
ฟอลคอน 1ข
Falcon-1B คือโมเดลตัวถอดรหัสที่เป็นพารามิเตอร์เชิงสืบสวนเท่านั้นซึ่งมีขนาด 1 พันล้านครั้ง โ����������รับการฝึกในโทเค็น 350B ของ RefinedWeb
LLM Inference API กำหนดให้ต้องดาวน์โหลดและจัดเก็บไฟล์ต่อไปนี้ภายในเครื่อง
tokenizer.json
tokenizer_config.json
pytorch_model.bin
หลังจากดาวน์โหลดไฟล์โมเดล Falcon โมเดลดังกล่าวก็พร้อมที่จะแปลงเป็นรูปแบบ MediaPipe ทำตามขั้นตอนในแปลงโมเดลเป็นรูปแบบ MediaPipe
StableLM 3B
StableLM-3B คือโมเดลภาษาเฉพาะเครื่องถอดรหัสพารามิเตอร์ 3 พันล้านรายการที่ได้รับการฝึกล่วงหน้าจากโทเค็น 1 ล้านล้านชุดของชุดข้อมูลภาษาอังกฤษและชุดโค้ดที่หลากหลายสำหรับ 4 Epoch
LLM Inference API กำหนดให้ต้องดาวน์โหลดและจัดเก็บไฟล์ต่อไปนี้ภายในเครื่อง
tokenizer.json
tokenizer_config.json
model.safetensors
หลังจากดาวน์โหลดไฟล์โมเดล StableLM แล้ว โมเดลก็พร้อมที่จะแปลงเป็นรูปแบบ MediaPipe ทำตามขั้นตอนในแปลงโมเดลเป็นรูปแบบ MediaPipe
Phi-2
Phi-2 เป็นโมเดล Transformer ที่มีพารามิเตอร์ 2.7 พันล้านรายการ การฝึกอบรมโดยใช้ข้อความสังเคราะห์ NLP และเว็บไซต์ที่กรองแล้ว รูปแบบนี้เหมาะที่สุดสำหรับพรอมต์ที่ใช้รูปแบบคำถามคำตอบ แชท และโค้ด
LLM Inference API กำหนดให้ต้องดาวน์โหลดและจัดเก็บไฟล์ต่อไปนี้ภายในเครื่อง
tokenizer.json
tokenizer_config.json
model-00001-of-00002.safetensors
model-00002-of-00002.safetensors
หลังจากดาวน์โหลดไฟล์โมเดล Phi-2 โมเดลก็พร้อมที่จะแปลงเป็นรูปแบบ MediaPipe แล้ว ทำตามขั้นตอนในแปลงโมเดลเป็นรูปแบบ MediaPipe
โมเดลที่ส่งออกโดย AI Edge
AI Edge คือข้อเสนอของ Google ที่ให้คุณแปลงโมเดลที่แมปโดยผู้ใช้เป็นโมเดล TensorFlow Lite ที่มีหลายลายเซ็นได้ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการแมปและการส่งออกโมเดลได้ที่หน้า GitHub ของ AI Edge
หลังจากส่งออกโมเดลเป็นรูปแบบ TFLite แล้ว โมเดลก็พร้อมที่จะแปลงเป็นรูปแบบ MediaPipe ดูข้อมูลเพิ่มเติมได้ที่แปลงโมเดลเป็นรูปแบบ MediaPipe
แปลงโมเดลเป็นรูปแบบ MediaPipe
Conversion รูปแบบเนทีฟ
หากคุณใช้ LLM ภายนอก (Phi-2, Falcon หรือ StableLM) หรือ Gemma เวอร์ชันที่ไม่ใช่ Kaggle ให้ใช้สคริปต์ Conversion ของเราเพื่อจัดรูปแบบโมเดลให้เข้ากันได้กับ MediaPipe
กระบวนการแปลงรูปแบบต้องใช้แพ็กเกจ MediaPipe PyPI สคริปต์ Conversion จะพร้อมใช้งานในแพ็กเกจ MediaPipe ทั้งหมดหลังจากวันที่ 0.10.11
ติดตั้งและนำเข้าทรัพยากร Dependency พร้อมข้อมูลต่อไปนี้
$ python3 -m pip install mediapipe
ใช้ไลบรารี genai.converter
เพื่อแปลงโมเดล:
import mediapipe as mp
from mediapipe.tasks.python.genai import converter
config = converter.ConversionConfig(
input_ckpt=INPUT_CKPT,
ckpt_format=CKPT_FORMAT,
model_type=MODEL_TYPE,
backend=BACKEND,
output_dir=OUTPUT_DIR,
combine_file_only=False,
vocab_model_file=VOCAB_MODEL_FILE,
output_tflite_file=OUTPUT_TFLITE_FILE,
)
converter.convert_checkpoint(config)
ในการแปลงโมเดล LoRA คำสั่ง ConversionConfig
ควรระบุตัวเลือกโมเดลฐานและตัวเลือก LoRA เพิ่มเติม โปรดทราบว่าเนื่องจาก API รองรับเฉพาะการอนุมาน LoRA กับ GPU เท่านั้น จึงต้องตั้งค่าแบ็กเอนด์เป็น 'gpu'
import mediapipe as mp
from mediapipe.tasks.python.genai import converter
config = converter.ConversionConfig(
# Other params related to base model
...
# Must use gpu backend for LoRA conversion
backend='gpu',
# LoRA related params
lora_ckpt=LORA_CKPT,
lora_rank=LORA_RANK,
lora_output_tflite_file=LORA_OUTPUT_TFLITE_FILE,
)
converter.convert_checkpoint(config)
ตัวแปลงจะแสดงผลไฟล์ TFLite Flatbuffer 2 ไฟล์ โดยไฟล์หนึ่งสำหรับโมเดลฐานและอีกไฟล์หนึ่งสำหรับโมเดล LoRA
พารามิเตอร์ | คำอธิบาย | ค่าที่ยอมรับ |
---|---|---|
input_ckpt |
เส้นทางไปยังไฟล์ model.safetensors หรือ pytorch.bin โปรดทราบว่าบางครั้งรูปแบบ Safetensors ของโมเดลจะมีการชาร์ดออกเป็นหลายๆ ไฟล์ เช่น model-00001-of-00003.safetensors , model-00001-of-00003.safetensors คุณระบุรูปแบบไฟล์ได้ เช่น model*.safetensors |
PATH |
ckpt_format |
รูปแบบไฟล์โมเดล | {"safetensors", "pytorch"} |
model_type |
LLM กำลังแปลง | {"PHI_2", "FALCON_RW_1B", "STABLELM_4E1T_3B", "GEMMA_2B"} |
backend |
โปรเซสเซอร์ (มอบสิทธิ์) ที่ใช้เพื่อเรียกใช้โมเดล | {"cpu", "gpu"} |
output_dir |
เส้นทางไปยังไดเรกทอรีเอาต์พุตที่โฮสต์ไฟล์น้ำหนักต่อเลเยอร์ | PATH |
output_tflite_file |
เส้นทางไปยังไฟล์เอาต์พุต เช่น "model_cpu.bin" หรือ "model_gpu.bin" ไฟล์นี้ใช้ร่วมกันได้กับ LLM Inference API เท่านั้น และไม่สามารถนำไปใช้เป็นไฟล์ "tflite" ทั่วไปได้ | PATH |
vocab_model_file |
เส้นทางไปยังไดเรกทอรีซึ่งจัดเก็บไฟล์ tokenizer.json และ tokenizer_config.json สำหรับ Gemma ให้ชี้ไปที่ไฟล์ tokenizer.model ไฟล์เดียว |
PATH |
lora_ckpt |
เส้นทางไปยังไฟล์ LoRA ckpt ของไฟล์ Safetensors ที่จัดเก็บน้ำหนักของอะแดปเตอร์ LoRA | PATH |
lora_rank |
จำนวนเต็มที่แสดงอันดับของ LoRA ckpt ต้องระบุเพื่อแปลงน้ำหนักลอรา หากไม่ระบุ ตัวแปลงจะถือว่าไม่มีน้ำหนัก LoRA หมายเหตุ: เฉพาะแบ็กเอนด์ของ GPU เท่านั้นที่รองรับ LoRA | จำนวนเต็ม |
lora_output_tflite_file |
ชื่อไฟล์เอาต์พุต tflite สำหรับน้ำหนัก LoRA | PATH |
การแปลงรูปแบบ AI Edge
หากคุณใช้ LLM ที่แมปกับโมเดล TFLite ผ่าน AI Edge ให้ใช้สคริปต์การรวมกลุ่มของเราเพื่อสร้าง Task Bundle กระบวนการรวมกลุ่มจะแพ็กโมเดลที่แมป พร้อมข้อมูลเมตาเพิ่มเติม (เช่น พารามิเตอร์ Tokenizer) เพื่อเรียกใช้การอนุมานจากต้นทางถึงปลายทาง
กระบวนการรวมกลุ่มโมเดลต้องใช้แพ็กเกจ MediaPipe PyPI สคริปต์ Conversion จะพร้อมใช้งานในแพ็กเกจ MediaPipe ทั้งหมดหลังจากวันที่ 0.10.14
ติดตั้งและนำเข้าทรัพยากร Dependency พร้อมข้อมูลต่อไปนี้
$ python3 -m pip install mediapipe
ใช้ไลบรารี genai.bundler
เพื่อรวมโมเดล:
import mediapipe as mp
from mediapipe.tasks.python.genai import bundler
config = bundler.BundleConfig(
tflite_model=TFLITE_MODEL,
tokenizer_model=TOKENIZER_MODEL,
start_token=START_TOKEN,
stop_tokens=STOP_TOKENS,
output_filename=OUTPUT_FILENAME,
enable_bytes_to_unicode_mapping=ENABLE_BYTES_TO_UNICODE_MAPPING,
)
bundler.create_bundle(config)
พารามิเตอร์ | คำอธิบาย | ค่าที่ยอมรับ |
---|---|---|
tflite_model |
เส้นทางไปยังโมเดล TFLite ที่ส่งออกของ AI Edge | PATH |
tokenizer_model |
เส้นทางไปยังโมเดลเครื่องมือทำโทเค็นของ SentencePiece | PATH |
start_token |
โทเค็นเริ่มต้นที่เจาะจงรุ่น โทเค็นเริ่มต้นต้องมีอยู่ในโมเดล Tokenizer ที่ระบุ | STRING |
stop_tokens |
โทเค็นการหยุดที่เจาะจงของโมเดล โทเค็นหยุดต้องมีอยู่ในโมเดล Tokenizer ที่ระบุ | รายการ [STRING] |
output_filename |
�����่อ��อง����ล์�����ุ่มงานเอาต์พุต | PATH |
การปรับแต่ง LoRA
Mediapipe LLM Inference API สามารถกำหนดค่าให้รองรับการปรับแรงก์ต่ำ (LoRA) สำหรับโมเดลภาษาขนาดใหญ่ได้ นักพัฒนาซอฟต์แวร์จะใช้โมเดล LoRA ที่ปรับแต่งมาปรับแต่งลักษณะการทำงานของ LLM ผ่านกระบวนการฝึกอบรมที่คุ้มค่าการรองรับ LoRA ของ LLM Inference API ใช้งานได้กับรุ่น Gemma-2B และ Phi-2 สำหรับแบ็กเอนด์ GPU โดยน้ำหนัก LoRA จะใช้กับเลเยอร์ความสนใจเท่านั้น การใช้งานในช่วงแรกนี้เป็น API ทดลองสำหรับการพัฒนาในอนาคต โดยมีแผนที่จะรองรับโมเดลเพิ่มเติมและเลเยอร์ประเภทต่างๆ ในการอัปเดตที่กำลังจะมาถึง
เตรียมโมเดล LoRA
ทำตามวิธีการใน HuggingFace เพื่อฝึกโมเดล LoRA ที่ปรับแต่งอย่างละเอียดในชุดข้อมูลของคุณเองด้วยประเภทโมเดลที่รองรับ Gemma-2B หรือ Phi-2 ทั้งรุ่น Gemma-2B และ Phi-2 พร้อมใช้งานบน HuggingFace ในรูปแบบ Safetensors เนื่องจาก LLM Inference API รองรับ LoRA ในเลเยอร์ความสนใจเท่านั้น โปรดระบุเลเยอร์ความสนใจในขณะที่สร้าง LoraConfig
ดังต่อไปนี้เท่านั้น
# For Gemma-2B
from peft import LoraConfig
config = LoraConfig(
r=LORA_RANK,
target_modules=["q_proj", "v_proj", "k_proj", "o_proj"],
)
# For Phi-2
config = LoraConfig(
r=LORA_RANK,
target_modules=["q_proj", "v_proj", "k_proj", "dense"],
)
สำหรับการทดสอบ มีโมเดล LoRA ที่ปรับแต่งแล้วที่เข้าถึงได้แบบสาธารณะซึ่งพอดีกับ LLM Inference API ที่พร้อมให้ใช้งานบน HuggingFace เช่น monsterapi/gemma-2b-lora-maths-orca-200k สำหรับ Gemma-2B และ lole25/phi-2-sft-ultrachat-lora สำหรับ Phi-2
หลังจากฝึก���ุดข้อมูลที่เตรียมและบันทึกโมเดลแล้ว คุณจะได้รับไฟล์ adapter_model.safetensors
ที่มีน้ำหนักของโมเดล LoRA ที่ปรับแต่งแล้ว ไฟล์ Safetensors คือจุดตรวจสอบ LoRA ที่ใช้ในการแปลงโมเดล
ในขั้นตอนถัดไป คุณต้องแปลงน้ำหนักของโมเดลเป็น TensorFlow Lite Flatbuffer โดยใช้แพ็กเกจ MediaPipe Python ConversionConfig
ควรระบุตัวเลือกรุ่นพื้นฐานและตัวเลือก LoRA เพิ่มเติม โปรดทราบว่า เนื่องจาก API รองรับเฉพาะการอนุมาน LoRA กับ GPU เท่านั้น จึงต้องตั้งค่าแบ็กเอนด์เป็น 'gpu'
import mediapipe as mp
from mediapipe.tasks.python.genai import converter
config = converter.ConversionConfig(
# Other params related to base model
...
# Must use gpu backend for LoRA conversion
backend='gpu',
# LoRA related params
lora_ckpt=LORA_CKPT,
lora_rank=LORA_RANK,
lora_output_tflite_file=LORA_OUTPUT_TFLITE_FILE,
)
converter.convert_checkpoint(config)
ตัวแปลงจะแสดงผลไฟล์ TFLite Flatbuffer 2 ไฟล์ โดยไฟล์หนึ่งสำหรับโมเดลฐานและอีกไฟล์หนึ่งสำหรับโมเดล LoRA
การอนุมานโมเดล LoRA
API การอนุมาน LLM บนเว็บ, Android และ iOS ได้รับการอัปเดตให้รองรับการอนุมานโมเดล LoRA เว็บรองรับ LoRA แบบไดนามิก ซึ่งเปลี่ยน LoRA รุ่นต่างๆ ได้ระหว่างรันไทม์ Android และ iOS รองรับ LoRA แบบคงที่ ซึ่งใช้น้ำหนัก LoRA เดียวกันตลอดอายุการทำงาน
Android รองรับ LoRA แบบคงที่ระหว่างการเริ่มต้น หากต้องการโหลดโมเดล LoRA ผู้ใช้ระบุเส้นทางโมเดล LoRA และ LLM พื้นฐาน// Set the configuration options for the LLM Inference task
val options = LlmInferenceOptions.builder()
.setModelPath('<path to base model>')
.setMaxTokens(1000)
.setTopK(40)
.setTemperature(0.8)
.setRandomSeed(101)
.setLoraPath('<path to LoRA model>')
.build()
// Create an instance of the LLM Inference task
llmInference = LlmInference.createFromOptions(context, options)
หากต้องการเรียกใช้การอนุมาน LLM ด้วย LoRA ให้ใช้เมธอด generateResponse()
หรือ generateResponseAsync()
เดียวกันกับโมเดลพื้นฐาน