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

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

ลองเลย

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

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

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

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

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

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

ฟีเจอร์

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

  1. การสร้างข้อความเป็นข้อความ - สร้างข้อความตามพรอมต์ข้อความอินพุต
  2. การเลือก LLM - ใช้โมเดลหลายรายการเพื่อปรับแต่งแอปให้เหมาะกับ Use Case ที่เฉพาะเจาะจง นอกจากนี้คุณยังสามารถฝึกอีกครั้งและใช้น้ำหนักที่ปรับแต่งแล้วกับ โมเดล
  3. การรองรับ LoRA - ขยายและปรับแต่งความสามารถของ LLM ด้วยโมเดล LoRA ด้วยการฝึกในชุดข้อมูลทั้งหมด หรือรับ LoRA ที่สร้างไว้ล่วงหน้า โมเดลจากชุมชนโอเพนซอร์ส (โมเดลเนทีฟเท่านั้น)
อินพุตงาน เอาต์พุตของงาน
LLM Inference API ยอมรับอินพุตต่อไปนี้
  • พรอมต์ข้อความ (เช่น คำถาม เรื่องอีเมล เอกสารที่จะสรุป)
LLM Inference API จะแสดงผลลัพธ์ต่อไปนี้
  • ข้อความที่สร้างขึ้นตามพรอมต์การป้อนข้อมูล (เช่น คําตอบของคําถาม อีเมลฉบับร่าง สรุปของเอกสาร)

ตัวเลือกการกำหนดค่า

งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงค่า ค่าเริ่มต้น
modelPath เส้นทางไปยังที่เก็บโมเดลภายในไดเรกทอรีโปรเจ็กต์ เส้นทาง ไม่มี
maxTokens จำนวนโทเค็นสูงสุด (โทเค็นอินพุต + โทเค็นเอาต์พุต) ที่โมเดลจัดการได้ จำนวนเต็ม 512
topK จำนวนโทเค็นที่โมเดลจะพิจารณาในแต่ละขั้นตอนของการสร้าง จำกัดการคาดการณ์ให้กับโทเค็นที่น่าจะเป็นมากที่สุด K สูงสุด จำนวนเต็ม 40
temperature ปริมาณการสุ่มที่เกิดขึ้นระหว่างการสร้าง สูงกว่า อุณหภูมิช่วยเพิ่มความสร้างสรรค์ ในข้อความที่สร้างขึ้น ขณะที่ อุณหภูมิที่ต่ำลงทำให้รุ่นที่คาดการณ์ได้มากขึ้น ทศนิยม 0.8
randomSeed Seed แบบสุ่มที่ใช้ระหว่างการสร้างข้อความ จำนวนเต็ม 0
loraPath Absolute Path ไปยังโมเดล LoRA ภายในอุปกรณ์ หมายเหตุ: วิธีนี้ใช้ได้เฉพาะกับรุ่น GPU เส้นทาง ไม่มี
resultListener ตั้งค่า Listener ผลลัพธ์เพื่อรับผลลัพธ์แบบไม่พร้อมกัน ใช้ได้เฉพาะเมื่อใช้วิธีการสร้างแบบไม่พร้อมกันเท่านั้น ไม่มี ไม่มี
errorListener ตั้งค่า Listener ข้อผิดพลาดที่ไม่บังคับ ไม่มี ไม่มี

โมเดล

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

ก่อนเริ่มต้นใช้งาน LLM Inference API ให้ดาวน์โหลดโมเดลที่รองรับและ เก็บไฟล์ดังกล่าวไว้ในไดเรกทอรีโปรเจ็กต์ของคุณ

เจมม่า 2B

Gemma 2B เป็นส่วนหนึ่งของครอบครัว โมเดลแบบเปิดที่ทันสมัยและน้ำหนักเบา สร้างขึ้นจากการวิจัยเดียวกันและ เทคโนโลยีที่ใช้ในการสร้างโมเดล Gemini โมเดลมีพารามิเตอร์ 2B และน้ำหนักแบบเปิด รูปแบบนี้เหมาะสมอย่างยิ่งสำหรับ งานสร้างข้อความที่หลากหลาย ซึ่งรวมถึงการตอบคำถาม การสรุป และการให้เหตุผล

ดาวน์โหลด Gemma 2B

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

  • gemma-2b-it-cpu-int4: รุ่น 4 บิต Gemma 2B ที่มีความเข้ากันได้ของ CPU
  • gemma-2b-it-cpu-int8: รุ่น 8 บิต Gemma 2B ที่มีความเข้ากันได้ของ CPU
  • gemma-2b-it-gpu-int4: รุ่น 4 บิตของ Gemma 2B ที่เข้ากันได้กับ GPU
  • gemma-2b-it-gpu-int8: รุ่น 8 บิตของ Gemma 2B ที่มีความเข้ากันได้กับ GPU

นอกจากนี้ คุณยังปรับแต่งโมเดลและเพิ่มน้ำหนักใหม่ก่อนเพิ่มลงในแอปได้ด้วย สำหรับ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการปรับแต่งและกำหนดค่า Gemma โปรดดูการปรับแต่ง Gemma หลังจากดาวน์โหลด Gemma จาก Kaggle Models โมเดลนี้อยู่ในรูปแบบที่เหมาะสมสำหรับใช้กับ MediaPipe

หากคุณดาวน์โหลด Gemma 2B จาก Hugging ใบหน้า คุณต้องแปลง โมเดลเป็นรูปแบบที่ใช้ได้กับ 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 มีตัวแปรเดียวคือ

  • gemma-1.1-7b-it-gpu-int8: รุ่น 8 บิตของ Gemma 7B ที่เข้ากันได้กับ 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

Falcon 1B

Falcon-1B เป็นโมเดลเครื่องมือถอดรหัสเท่านั้นสำหรับพารามิเตอร์ 1 พันล้านแบบซึ่งฝึกบน 350B โทเค็นของ RefinedWeb

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

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

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

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

ความเสถียร 3B

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

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

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

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

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

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 format [รูปแบบ]

โมเดล AI Edge ที่ส่งออก

AI Edge เป็นข้อเสนอของ Google ที่ให้คุณแปลงโมเดลที่ผู้ใช้แมปไว้ ไปเป็นโมเดล TensorFlow Lite หลายลายเซ็น สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการแมปและ การส่งออกโมเดล โปรดไปที่ AI Edge Torch หน้า GitHub

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

แปลงโมเดลเป็นรูปแบบ MediaPipe

Conversion ของรูปแบบการระบุแหล่งที่มา

หากคุณใช้ LLM ภายนอก (Phi-2, Falcon หรือ StableLM) หรือที่ไม่ใช่ Kaggle ของ Gemma ให้ใช้สคริปต์ 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 โปรดทราบว่าบางครั้งรูปแบบ Safetensor ของโมเดลจะถูกชาร์ตออกเป็นหลายไฟล์ เช่น model-00001-of-00003.safetensors, model-00001-of-00003.safetensors คุณระบุรูปแบบไฟล์ได้ เช่น model*.safetensors เส้นทาง
ckpt_format รูปแบบไฟล์โมเดล {"safetensors", "pytorch"}
model_type LLM กำลังแปลง {"PHI_2", "FALCON_RW_1B", "STABLELM_4E1T_3B", "GEMMA_2B"}
backend ตัวประมวลผล (การมอบสิทธิ์) ที่ใช้ในการเรียกใช้โมเดล {"cpu", "gpu"}
output_dir เส้นทางไปยังไดเรกทอรีเอาต์พุตที่โฮสต์ไฟล์น้ำหนักต่อเลเยอร์ เส้นทาง
output_tflite_file เส้นทางไปยังไฟล์เอาต์พุต ตัวอย่างเช่น "model_cpu.bin" หรือ "model_gpu.bin" ไฟล์นี้ใช้ร่วมกันได้กับ LLM Inference API เท่านั้น และใช้เป็นไฟล์ "tflite" ทั่วไปไม่ได้ เส้นทาง
vocab_model_file เส้นทางไปยังไดเรกทอรีที่จัดเก็บ tokenizer.json และ tokenizer_config.json ไฟล์ สำหรับ Gemma ให้ชี้ไปที่ไฟล์ tokenizer.model ไฟล์เดียว เส้นทาง
lora_ckpt เส้นทางไปยังไฟล์ LoRA ckpt ของไฟล์ Safetensor ที่เก็บน้ำหนักของอะแดปเตอร์ LoRA เส้นทาง
lora_rank จำนวนเต็มที่แทนอันดับของ LoRA ckpt ต้องใช้เพื่อแปลงน้ำหนักลอรา หากไม่ระบุ ตัวแปลงจะถือว่าไม่มีน้ำหนัก LoRA หมายเหตุ: เฉพาะแบ็กเอนด์ GPU เท่านั้นที่รองรับ LoRA จำนวนเต็ม
lora_output_tflite_file ชื่อไฟล์ tflite สำหรับเอาต์พุตสำหรับน้ำหนักของ LoRA เส้นทาง

การแปลงโมเดล 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 เส้นทาง
tokenizer_model เส้นทางไปยังโมเดลเครื่องมือแปลงข้อมูลเป็นโทเค็นของ SentencePiece เส้นทาง
start_token โทเค็นเริ่มต้นที่เจาะจงโมเดล โทเค็นเริ่มต้นต้องอยู่ในไฟล์ โมเดลโทเคนไลเซอร์ที่ให้ไว้ STRING
stop_tokens สร้างโทเค็นหยุดเฉพาะรุ่น โทเค็นหยุดต้องมีอยู่ใน โมเดลโทเคนไลเซอร์ที่ให้ไว้ รายการ[สตริง]
output_filename ชื่อของไฟล์กลุ่มงานเอาต์พุต เส้นทาง

การปรับแต่ง 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 ที่ปรับแต่งอย่างละเอียด ไฟล์ Safetensor คือจุดตรวจ LoRA ที่ใช้ในการแปลงโมเดล

ในขั้นตอนถัดไป คุณต้องแปลงน้ำหนักโมเดลเป็น Flatbuffer ของ TensorFlow Lite โดยใช้แพ็กเกจ 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

LLM Inference API บนเว็บ, 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() เดียวกันกับโมเดลฐาน