คู่มือการสรุป LLM

LLM Inference API ช่วยให้คุณเรียกใช้โมเดลภาษาขนาดใหญ่ (LLM) ในอุปกรณ์ได้โดยสมบูรณ์ ซึ่งสามารถใช้ทำงานต่างๆ ได้มากมาย เช่น การสร้างข้อความ การดึงข้อมูลในรูปแบบที่เป็นภาษาธรรมชาติ และการสรุปเอกสาร งานนี้รองรับโมเดลภาษาขนาดใหญ่สำหรับการแปลงข้อความเป็นข้อความในตัว เพื่อให้คุณใช้โมเดล Generative AI ล่าสุดในอุปกรณ์กับแอปและผลิตภัณฑ์ได้

ลองเลย

งานนี้รองรับ Gemma 2B และ 7B ซึ่งเป็นส่วนหนึ่งของกลุ่มโมเดลแบบเปิดที่ทันสมัยและมีน้ำหนักเบา ซึ่งสร้างขึ้นจากการวิจัยและเทคโนโลยีเดียวกันกับที่ใช้สร้างโมเดล Gemini และยังรองรับรุ่นภายนอกต่อไปนี้ด้วย Phi-2, Falcon-RW-1B และ StableLM-3B

นอกเหนือจากโมเดลที่รองรับโดยค่าเริ่มต้นแล้ว ผู้ใช้แมปโมเดลอื่นๆ ได้โดยใช้ข้อเสนอ AI Edge ของ Google (รวมถึงการแมปโมเดล PyTorch) วิธีนี้ช่วยให้ผู้ใช้ส่งออกโมเดลที่แมปไปยังโมเดล TensorFlow Lite ที่มีหลายลายเซ็น ซึ่งรวมกับพารามิเตอร์ Tokenizer เพื่อสร้างแพ็กเกจงานได้

เริ่มต้นใช้งาน

เริ่มใช้งานนี้โดยทำตามคำแนะนำในการใช้งานสำหรับแพลตฟอร์มเป้าหมาย คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานเบื้องต้นของงานนี้ พร้อมตัวอย่างโค้ดที่ใช้โมเดลที่พร้อมใช้งานและตัวเลือกการกำหนดค่าที่แนะนำ

รายละเอียดงาน

ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้

ฟีเจอร์

LLM Inference API มีฟีเจอร์ที่สำคัญดังต่อไปนี้

  1. การสร้างข้อความเป็นข้อความ - สร้างข้อความตามพรอมต์ข้อความอินพุต
  2. การเลือก LLM - ใช้โมเดลหลายแบบเพื่อปรับแต่งแอปให้เหมาะกับกรณีการใช้งานของคุณ และยังฝึกใหม่และใช้น้ำหนักที่ปรับแต่งกับโมเดลได้ด้วย
  3. การรองรับ 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

รุ่น 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

รุ่น Gemma 7B มี 1 ตัวแปรดังนี้

หากดาวน์โหลด 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

ดาวน์โหลด Falcon 1B

LLM Inference API กำหนดให้ต้องดาวน์โหลดและจัดเก็บไฟล์ต่อไปนี้ภายในเครื่อง

  • tokenizer.json
  • tokenizer_config.json
  • pytorch_model.bin

หลังจากดาวน์โหลดไฟล์โมเดล Falcon โมเดลดังกล่าวก็พร้อมที่จะแปลงเป็นรูปแบบ MediaPipe ทำตามขั้นตอนในแปลงโมเดลเป็นรูปแบบ MediaPipe

StableLM 3B

StableLM-3B คือโมเดลภาษาเฉพาะเครื่องถอดรหัสพารามิเตอร์ 3 พันล้านรายการที่ได้รับการฝึกล่วงหน้าจากโทเค็น 1 ล้านล้านชุดของชุดข้อมูลภาษาอังกฤษและชุดโค้ดที่หลากหลายสำหรับ 4 Epoch

ดาวน์โหลด StableLM 3B

LLM Inference API กำหนดให้ต้องดาวน์โหลดและจัดเก็บไฟล์ต่อไปนี้ภายในเครื่อง

  • tokenizer.json
  • tokenizer_config.json
  • model.safetensors

หลังจากดาวน์โหลดไฟล์โมเดล StableLM แล้ว โมเดลก็พร้อมที่จะแปลงเป็นรูปแบบ MediaPipe ทำตามขั้นตอนในแปลงโมเดลเป็นรูปแบบ MediaPipe

Phi-2

Phi-2 เป็นโมเดล Transformer ที่มีพารามิเตอร์ 2.7 พันล้านรายการ การฝึกอบรมโดยใช้ข้อความสังเคราะห์ NLP และเว็บไซต์ที่กรองแล้ว รูปแบบนี้เหมาะที่สุดสำหรับพรอมต์ที่ใช้รูปแบบคำถามคำตอบ แชท และโค้ด

ดาวน์โหลด Phi-2

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() เดียวกันกับโมเดลพื้นฐาน