Mit der LLM Inference API können Sie Large Language Models (LLMs) vollständig auf dem Gerät ausführen. Sie können damit eine Vielzahl von Aufgaben ausführen, z. B. Text generieren, Informationen in natürlicher Sprache abrufen und Dokumente zusammenfassen. Die Aufgabe bietet integrierte Unterstützung für mehrere Large Language Models für die Text-zu-Text-Transformation, sodass Sie die neuesten On-Device-Modelle für generative KI auf Ihre Apps und Produkte anwenden können.
Die Aufgabe unterstützt die folgenden Varianten von Gemma: Gemma-2 2B, Gemma 2B und Gemma 7B. Gemma ist eine Familie leichter, hochmoderner offener Modelle, die auf derselben Forschung und Technologie basieren wie die Gemini-Modelle. Außerdem werden die folgenden externen Modelle unterstützt: Phi-2, Falcon-RW-1B und StableLM-3B.
Zusätzlich zu den unterstützten Modellen können Sie mit AI Edge Torch von Google PyTorch-Modelle in LiteRT-Modelle mit mehreren Signaturen (tflite
) exportieren. Diese werden mit Tokenizer-Parametern gebündelt, um Task-Bundles zu erstellen, die mit der LLM Inference API kompatibel sind. Mit AI Edge Torch konvertierte Modelle können nur auf dem CPU-Backend ausgeführt werden und sind daher auf Android und iOS beschränkt.
Jetzt starten
Folgen Sie einer dieser Implementierungsanleitungen für Ihre Zielplattform, um diese Aufgabe zu verwenden. In diesen plattformspezifischen Anleitungen erfahren Sie, wie Sie diese Aufgabe mithilfe von Codebeispielen, die ein verfügbares Modell und die empfohlenen Konfigurationsoptionen verwenden, implementieren:
Web:
Android:
iOS
Taskdetails
In diesem Abschnitt werden die Funktionen, Eingaben, Ausgaben und Konfigurationsoptionen dieser Aufgabe beschrieben.
Funktionen
Die LLM Inference API umfasst die folgenden Hauptfunktionen:
- Text-zu-Text-Generierung: Text wird anhand eines Eingabetext-Prompts generiert.
- LLM-Auswahl: Sie können mehrere Modelle anwenden, um die App an Ihre spezifischen Anwendungsfälle anzupassen. Sie können das Modell auch neu trainieren und benutzerdefinierte Gewichte darauf anwenden.
- LoRA-Unterstützung: Sie können die LLM-Funktionen mit einem LoRA-Modell erweitern und anpassen. Dazu können Sie entweder Ihren gesamten Datensatz verwenden oder vorgefertigte LoRA-Modelle aus der Open-Source-Community verwenden. Diese Funktion ist nicht mit Modellen kompatibel, die mit der AI Edge Torch Generative API konvertiert wurden.
Aufgabeneingaben | Aufgabenausgaben |
---|---|
Die LLM Inference API akzeptiert die folgenden Eingaben:
|
Die LLM Inference API gibt die folgenden Ergebnisse aus:
|
Konfigurationsoptionen
Für diese Aufgabe stehen die folgenden Konfigurationsoptionen zur Verfügung:
Option | Beschreibung | Wertebereich | Standardwert |
---|---|---|---|
modelPath |
Der Pfad zum Speicherort des Modells im Projektverzeichnis. | PFAD | – |
maxTokens |
Die maximale Anzahl von Tokens (Eingabe- und Ausgabetokens), die vom Modell verarbeitet werden. | Ganzzahl | 512 |
topK |
Die Anzahl der Tokens, die das Modell bei jedem Schritt der Generierung berücksichtigt. Begrenzt die Vorhersagen auf die „Top-K“-Tokens mit der höchsten Wahrscheinlichkeit. | Ganzzahl | 40 |
temperature |
Der Grad der Zufälligkeit, der bei der Generierung eingeführt wird. Eine höhere Temperatur führt zu mehr Kreativität im generierten Text, während eine niedrigere Temperatur zu einer vorhersehbareren Generierung führt. | Gleitkommazahl | 0,8 |
randomSeed |
Der Zufallsstartwert, der bei der Textgenerierung verwendet wird. | Ganzzahl | 0 |
loraPath |
Der absolute Pfad zum LoRA-Modell lokal auf dem Gerät. Hinweis: Diese Funktion ist nur mit GPU-Modellen kompatibel. | PFAD | – |
resultListener |
Legt den Ergebnis-Listener so fest, dass die Ergebnisse asynchron empfangen werden. Gilt nur, wenn die asynchrone Generierungsmethode verwendet wird. | – | – |
errorListener |
Legt einen optionalen Fehler-Listener fest. | – | – |
Modelle
Die LLM Inference API unterstützt viele Large Language Models für die Text-zu-Text-Übersetzung, einschließlich der integrierten Unterstützung für mehrere Modelle, die für die Ausführung in Browsern und auf Mobilgeräten optimiert sind. Mit diesen schlanken Modellen können Inferenzen vollständig auf dem Gerät ausgeführt werden.
Bevor Sie die LLM Inference API initialisieren, laden Sie ein Modell herunter und speichern Sie die Datei im Projektverzeichnis. Sie können ein vorab konvertiertes Modell verwenden oder ein Modell in ein MediaPipe-kompatibles Format konvertieren.
Die LLM Inference API ist mit zwei Modellkategorien kompatibel, für die teilweise eine Modellkonvertierung erforderlich ist. Anhand der Tabelle können Sie die erforderlichen Schritte für Ihr Modell ermitteln.
Modelle | Conversion-Methode | Kompatible Plattformen | Dateityp | |
---|---|---|---|---|
Unterstützte Modelle | Gemma 2B, Gemma 7B, Gemma-2 2B, Phi-2, StableLM, Falcon | MediaPipe | Android, iOS, Web | .bin |
Andere PyTorch-Modelle | Alle PyTorch-LLM-Modelle | AI Edge Torch Generative Library | Android, iOS | .task |
Die konvertierten .bin
-Dateien für Gemma 2B, Gemma 7B und Gemma-2 2B werden auf Kaggle gehostet. Diese Modelle können direkt mit unserer LLM Inference API bereitgestellt werden. Informationen zum Konvertieren anderer Modelle finden Sie im Abschnitt Modellkonvertierung.
Gemma-2 2B
Gemma-2 2B ist das neueste Modell der Gemma-Familie leichter, hochmoderner offener Modelle, die auf derselben Forschung und Technologie basieren, die auch für die Erstellung der Gemini-Modelle verwendet werden. Das Modell enthält 2 Milliarden Parameter und offene Gewichtungen. Gemma-2 2B ist für seine fortschrittlichen Inferenzfähigkeiten bekannt, die in dieser Modellklasse unerreicht sind.
Die Gemma-2 2B-Modelle sind in den folgenden Varianten verfügbar:
- gemma2-2b-it-cpu-int8: Gemma-2 2B-8-Bit-Modell mit CPU-Kompatibilität.
- gemma2-2b-it-gpu-int8: Gemma-2 2B-8-Bit-Modell mit GPU-Kompatibilität.
Sie können das Modell auch optimieren und neue Gewichte hinzufügen, bevor Sie es der App hinzufügen. Weitere Informationen zum Optimieren und Anpassen von Gemma finden Sie unter Gemma optimieren. Nachdem Sie Gemma-2.2B von Kaggle Models heruntergeladen haben, ist das Modell bereits im richtigen Format für die Verwendung mit MediaPipe Tasks.
Gemma 2B
Gemma 2B ist Teil einer Familie leichter, hochmoderner offener Modelle, die auf derselben Forschung und Technologie basieren, die auch für die Erstellung der Gemini-Modelle verwendet werden. Das Modell enthält 2 Milliarden Parameter und offene Gewichtungen. Dieses Modell eignet sich gut für eine Vielzahl von Textgenerierungsaufgaben, einschließlich Fragebeantwortung, Zusammenfassung und Argumentation.
Die Gemma 2B-Modelle sind in den folgenden Varianten verfügbar:
- gemma-2b-it-cpu-int4: Gemma 2B-4-Bit-Modell mit CPU-Kompatibilität.
- gemma-2b-it-cpu-int8: Gemma 2B-8-Bit-Modell mit CPU-Kompatibilität.
- gemma-2b-it-gpu-int4: Gemma 2B-4-Bit-Modell mit GPU-Kompatibilität.
- gemma-2b-it-gpu-int8: Gemma 2B-8-Bit-Modell mit GPU-Kompatibilität.
Sie können das Modell auch optimieren und neue Gewichte hinzufügen, bevor Sie es der App hinzufügen. Weitere Informationen zum Optimieren und Anpassen von Gemma finden Sie unter Gemma optimieren. Nachdem Sie Gemma 2B von Kaggle Models heruntergeladen haben, ist das Modell bereits im richtigen Format für die Verwendung mit MediaPipe Tasks.
Gemma 7B
Gemma 7B ist ein größeres Gemma-Modell mit 7 Milliarden Parametern und offenen Gewichten. Das Modell ist leistungsfähiger für eine Vielzahl von Textgenerierungsaufgaben, einschließlich Fragenbeantwortung, Zusammenfassung und Argumentation. Gemma 7B wird nur im Web unterstützt.
Das Modell Gemma 7B ist in einer Variante verfügbar:
- gemma-1.1-7b-it-gpu-int8: Gemma 7B-8-Bit-Modell mit GPU-Kompatibilität.
Nachdem Sie Gemma 7B von Kaggle Models heruntergeladen haben, ist das Modell bereits im richtigen Format für die Verwendung mit MediaPipe.
Falcon 1B
Falcon-1B ist ein Nur-Decoder-Modell mit 1 Milliarde Parametern, das auf 350 Milliarden Tokens von RefinedWeb trainiert wurde.
Für die LLM Inference API müssen die folgenden Dateien heruntergeladen und lokal gespeichert werden:
tokenizer.json
tokenizer_config.json
pytorch_model.bin
Nachdem Sie die Falcon-Modelldateien heruntergeladen haben, kann das Modell mit einem Konvertierungsskript in das MediaPipe-Format konvertiert werden. Folgen Sie der Anleitung im Abschnitt Conversion-Script für unterstützte Modelle.
StableLM 3B
StableLM-3B ist ein Nur-Decoder-Sprachmodell mit 3 Milliarden Parametern, das mit 1 Billion Token aus verschiedenen englischen und Code-Datasets für 4 Epochen vortrainiert wurde.
Für die LLM Inference API müssen die folgenden Dateien heruntergeladen und lokal gespeichert werden:
tokenizer.json
tokenizer_config.json
model.safetensors
Nachdem Sie die StableLM-Modelldateien heruntergeladen haben, kann das Modell mit einem Konvertierungsskript in das MediaPipe-Format konvertiert werden. Folgen Sie der Anleitung im Abschnitt Conversion-Script für unterstützte Modelle.
Phi-2
Phi-2 ist ein Transformer-Modell mit 2,7 Milliarden Parametern. Sie wurde mit verschiedenen synthetischen NLP-Texten und gefilterten Websites trainiert. Das Modell eignet sich am besten für Prompts im Frage-Antwort-, Chat- und Code-Format.
Für die LLM Inference API müssen die folgenden Dateien heruntergeladen und lokal gespeichert werden:
tokenizer.json
tokenizer_config.json
model-00001-of-00002.safetensors
model-00002-of-00002.safetensors
Nach dem Herunterladen der Phi-2-Modelldateien kann das Modell mit einem Konvertierungsskript in das MediaPipe-Format konvertiert werden. Folgen Sie der Anleitung im Abschnitt Conversion-Script für unterstützte Modelle.
Generative PyTorch-Modelle
Mit der AI Edge Torch Generative API können generative PyTorch-Modelle in ein MediaPipe-kompatibles Format konvertiert werden. Mit der API können Sie PyTorch-Modelle in LiteRT-Modelle (TensorFlow Lite) mit mehreren Signaturen konvertieren. Weitere Informationen zum Zuordnen und Exportieren von Modellen finden Sie auf der GitHub-Seite von AI Edge Torch.
Wenn Sie die AI Edge Torch Generative API zum Konvertieren eines PyTorch-Modells verwenden möchten, folgen Sie der Anleitung im Abschnitt Torch Generative Converter für PyTorch-Modelle.
Modellkonvertierung
Mit der MediaPipe LLM Inference API können Sie eine Vielzahl von Large Language Models auf dem Gerät ausführen. Dazu gehören Modelle, die bereits in ein MediaPipe-kompatibles Format konvertiert wurden, sowie andere Modelle, die mit einem Konvertierungsskript oder der AI Edge Torch-Bibliothek konvertiert werden können.
Die LLM Inference API akzeptiert Modelle in den Dateiformaten .bin
und .task
.
Vorkonvertierte Modelle und Modelle, die mit dem Konvertierungsskript konvertiert wurden, sind .bin
-Dateien. Modelle, die mit der AI Edge Torch-Bibliothek konvertiert wurden, sind .task
-Dateien. Ändern Sie die Dateiformate Ihrer konvertierten Modelle nicht manuell.
Die LLM Inference API enthält drei Modellkonvertierungspfade:
- Vorab konvertierte Modelle (Gemma 2B, Gemma 7B, Gemma-2 2B): Keine Konvertierung erforderlich.
- Unterstützte Modelle (Phi-2, StableLM, Falcon): MediaPipe-Konvertierungsskript.
- Andere PyTorch-Modelle (alle PyTorch-LLM-Modelle): AI Edge Torch Generative API.
Vorkonvertierte Modelle
Die Modelle „Gemma-2 2B“, „Gemma 2B“ und „Gemma 7B“ sind als vorab konvertierte Modelle im MediaPipe-Format verfügbar. Für diese Modelle sind keine zusätzlichen Konvertierungsschritte durch den Nutzer erforderlich. Sie können direkt mit der LLM Inference API ausgeführt werden.
Sie können das Gemma-2 2B-Modell von Kaggle Models herunterladen:
- gemma2-2b-it-cpu-int8: Gemma-2 2B-8-Bit-Modell mit CPU-Kompatibilität.
- gemma2-2b-it-gpu-int8: Gemma-2 2B-8-Bit-Modell mit GPU-Kompatibilität.
Sie können Varianten von Gemma 2B aus Kaggle Models herunterladen:
- gemma-2b-it-cpu-int4: Gemma 2B-4-Bit-Modell mit CPU-Kompatibilität.
- gemma-2b-it-cpu-int8: Gemma 2B-8-Bit-Modell mit CPU-Kompatibilität.
- gemma-2b-it-gpu-int4: Gemma 2B-4-Bit-Modell mit GPU-Kompatibilität.
- gemma-2b-it-gpu-int8: Gemma 2B-8-Bit-Modell mit GPU-Kompatibilität.
Sie können Gemma 7B aus Kaggle Models herunterladen:
- gemma-1.1-7b-it-gpu-int8: Gemma 7B-8-Bit-Modell mit GPU-Kompatibilität.
Weitere Informationen zu den Gemma-Modellen finden Sie in der Dokumentation zu Gemma-2B, Gemma 2B und Gemma 7B.
Conversion-Script für unterstützte Modelle
Das MediaPipe-Paket bietet ein Konvertierungsskript, mit dem die folgenden externen Modelle in ein MediaPipe-kompatibles Format konvertiert werden können:
Weitere Informationen zu den unterstützten externen Modellen finden Sie in der Dokumentation zu Falcon 1B, StableLM 3B und Phi-2.
Für die Modellkonvertierung ist das MediaPipe-PyPI-Paket erforderlich. Das Conversion-Script ist nach dem 0.10.11
in allen MediaPipe-Paketen verfügbar.
Installieren und importieren Sie die Abhängigkeiten mit folgendem Befehl:
$ python3 -m pip install mediapipe
Verwenden Sie die genai.converter
-Bibliothek, um das Modell zu konvertieren:
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)
Für die Umwandlung des LoRA-Modells müssen in ConversionConfig
die Optionen für das Basismodell sowie zusätzliche LoRA-Optionen angegeben werden. Da die API nur LoRA-Inferenzen mit GPU unterstützt, muss das Backend auf 'gpu'
gesetzt sein.
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)
Der Konverter gibt zwei TFLite-Flatbuffer-Dateien aus, eine für das Basismodell und eine für das LoRA-Modell.
Parameter | Beschreibung | Zulässige Werte |
---|---|---|
input_ckpt |
Der Pfad zur Datei model.safetensors oder pytorch.bin . Manchmal werden die SafeTensors des Modells in mehrere Dateien aufgeteilt, z.B. model-00001-of-00003.safetensors und model-00001-of-00003.safetensors . Sie können ein Dateimuster wie model*.safetensors angeben. |
PFAD |
ckpt_format |
Das Modelldateiformat. | {"safetensors", "pytorch"} |
model_type |
Die konvertierte LLM. | {"PHI_2", "FALCON_RW_1B", "STABLELM_4E1T_3B", "GEMMA_2B"} |
backend |
Der Prozessor (Delegierter), der zum Ausführen des Modells verwendet wird. | {"cpu", "gpu"} |
output_dir |
Der Pfad zum Ausgabeverzeichnis, in dem sich die gewichtsspezifischen Dateien befinden. | PFAD |
output_tflite_file |
Der Pfad zur Ausgabedatei. Beispiel: „model_cpu.bin“ oder „model_gpu.bin“. Diese Datei ist nur mit der LLM Inference API kompatibel und kann nicht als allgemeine „tflite“-Datei verwendet werden. | PFAD |
vocab_model_file |
Der Pfad zum Verzeichnis, in dem die Dateien tokenizer.json und tokenizer_config.json gespeichert sind. Bei Gemma müssen Sie auf die einzelne tokenizer.model -Datei zeigen. |
PFAD |
lora_ckpt |
Der Pfad zum LoRA-ckpt der SafeTensors-Datei, in der das LoRA-Adaptergewicht gespeichert ist. | PFAD |
lora_rank |
Eine Ganzzahl, die den Rang des LoRA-Knotens darstellt. Erforderlich, um die LORA-Gewichte umzuwandeln. Wenn Sie diese Option nicht angeben, geht der Konverter davon aus, dass keine LoRA-Gewichte vorhanden sind. Hinweis: Nur das GPU-Backend unterstützt LoRA. | Ganzzahl |
lora_output_tflite_file |
TFLite-Dateiname für die LoRA-Gewichte. | PFAD |
Torch Generative-Konverter für PyTorch-Modelle
Mit der AI Edge Torch Generative API können generative PyTorch-Modelle in ein MediaPipe-kompatibles Format konvertiert werden. Mit der API können Sie PyTorch-LLMs erstellen, konvertieren und quantisieren, um sie mit der LLM-Inferenz-API zu verwenden. Der Torch Generative Converter kann nur auf der CPU ausgeführt werden und erfordert einen Linux-Computer mit mindestens 64 GB RAM.
So konvertieren Sie ein PyTorch-Modell mit der AI Edge Torch Generative API:
- PyTorch-Modellprüfpunkte herunterladen
- Verwende die AI Edge Torch Generative API, um das Modell zu erstellen, zu konvertieren und in ein MediaPipe-kompatibles Dateiformat (
.tflite
) zu quantisieren. - Erstellen Sie ein Task-Bundle (
.task
) aus der tflite-Datei und dem Modell-Tokenisierer.
Verwenden Sie das Bündelungsscript, um ein Task-Bundle zu erstellen. Beim Bündelungsprozess wird das zugeordnete Modell mit zusätzlichen Metadaten (z.B. Tokenizer-Parameter), die für die End-to-End-Inferenz erforderlich sind.
Für das Binden von Modellen ist das MediaPipe-PyPI-Paket erforderlich. Das Conversion-Script ist nach dem 0.10.14
in allen MediaPipe-Paketen verfügbar.
Installieren und importieren Sie die Abhängigkeiten mit folgendem Befehl:
$ python3 -m pip install mediapipe
Verwenden Sie die genai.bundler
-Bibliothek, um das Modell zu bündeln:
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)
Parameter | Beschreibung | Zulässige Werte |
---|---|---|
tflite_model |
Der Pfad zum exportierten TFLite-Modell von AI Edge. | PFAD |
tokenizer_model |
Der Pfad zum SentencePiece-Tokenisierungsmodell. | PFAD |
start_token |
Modellspezifisches Starttoken. Das Starttoken muss im bereitgestellten Tokenizer-Modell vorhanden sein. | STRING |
stop_tokens |
Modellspezifische Haltestellen-Tokens. Die Endzeichen müssen im bereitgestellten Tokenizer-Modell vorhanden sein. | LIST[STRING] |
output_filename |
Der Name der Ausgabedatei für das Aufgabenpaket. | PFAD |
LoRA-Anpassung
Die Mediapipe LLM-Inferenz-API kann so konfiguriert werden, dass sie Low-Rank Adaptation (LoRA) für Large Language Models unterstützt. Mithilfe von optimierten LoRA-Modellen können Entwickler das Verhalten von LLMs durch einen kostengünstigen Trainingsablauf anpassen.Die LoRA-Unterstützung der LLM Inference API funktioniert für alle Gemma-Varianten und Phi-2-Modelle für das GPU-Back-End. LoRA-Gewichte gelten nur für Aufmerksamkeitsschichten. Diese erste Implementierung dient als experimentelle API für zukünftige Entwicklungen. In den kommenden Updates sollen weitere Modelle und verschiedene Arten von Ebenen unterstützt werden.
LoRA-Modelle vorbereiten
Folgen Sie der Anleitung auf HuggingFace, um ein optimiertes LoRA-Modell mit den unterstützten Modelltypen Gemma oder Phi-2 auf Ihrem eigenen Dataset zu trainieren. Die Modelle Gemma-2 2B, Gemma 2B und Phi-2 sind auf HuggingFace im SafeTensors-Format verfügbar. Da die LLM Inference API nur LoRA auf Aufmerksamkeitsschichten unterstützt, geben Sie beim Erstellen der LoraConfig
nur Aufmerksamkeitsschichten an:
# For Gemma
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"],
)
Für Tests gibt es öffentlich zugängliche, optimierte LoRA-Modelle, die zur LLM-Inferenz-API auf HuggingFace passen. Beispiel: monsterapi/gemma-2b-lora-maths-orca-200k für Gemma-2B und lole25/phi-2-sft-ultrachat-lora für Phi-2.
Nachdem Sie das Modell mit dem vorbereiteten Dataset trainiert und gespeichert haben, erhalten Sie eine adapter_model.safetensors
-Datei mit den optimierten LoRA-Modellgewichten.
Die safetensors-Datei ist der LoRA-Prüfpunkt, der bei der Modellkonvertierung verwendet wird.
Im nächsten Schritt müssen Sie die Modellgewichte mit dem MediaPipe-Python-Paket in einen TensorFlow Lite-Flatbuffer konvertieren. Die ConversionConfig
sollte die Optionen für das Basismodell sowie zusätzliche LoRA-Optionen angeben. Da die API nur LoRA-Inferenzen mit GPU unterstützt, muss das Backend auf 'gpu'
festgelegt sein.
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)
Der Konverter gibt zwei TFLite-Flatbuffer-Dateien aus, eine für das Basismodell und eine für das LoRA-Modell.
LoRA-Modellinferenz
Die LLM-Inferenz-API für Web, Android und iOS wurde aktualisiert, um die Inferenz von LoRA-Modellen zu unterstützen.
Android unterstützt statisches LoRA während der Initialisierung. Zum Laden eines LoRA-Modells geben Nutzer den Pfad zum LoRA-Modell sowie das Basis-LLM an.// 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)
Verwenden Sie für die LLM-Inferenz mit LoRA dieselben generateResponse()
- oder generateResponseAsync()
-Methoden wie für das Basismodell.