Skip to content

How To Export an LLM Model#

Introduction#

In this guide you will learn how to export a Large Language Model (LLM) and register it in the Model Registry.

Code#

Step 1: Connect to Hopsworks#

import hopsworks

project = hopsworks.login()

# get Hopsworks Model Registry handle
mr = project.get_model_registry()

Step 2: Download the LLM#

Download your base or fine-tuned LLM. LLMs can typically be downloaded using the official frameworks provided by their creators (e.g., HuggingFace, Ollama, ...)

# Download LLM (e.g., using huggingface to download Llama-3.1-8B base model)
from huggingface_hub import snapshot_download

model_dir = snapshot_download(
                "meta-llama/Llama-3.1-8B",
                ignore_patterns="original/*"
            )

Step 3: (Optional) Fine-tune LLM#

If necessary, fine-tune your LLM with an instruction set. A LLM can be fine-tuned fully or using Parameter Efficient Fine Tuning (PEFT) methods such as LoRA or QLoRA.

# Fine-tune LLM using PEFT (LoRA, QLoRA) or other methods
model_dir = ...

Step 4: Register model in registry#

Use the ModelRegistry.llm.create_model(..) function to register a model as LLM. Define a name, and attach optional metrics for your model, then invoke the save() function with the parameter being the path to the local directory where the model was exported to.

# Model evaluation metrics
metrics = {'f1-score': 0.8, 'perplexity': 31.62, 'bleu-score': 0.73}

llm_model = mr.llm.create_model("llm_model", metrics=metrics)

llm_model.save(model_dir)

Going Further#

You can attach an Input Example and a Model Schema to your model to document the shape and type of the data the model was trained on.