| # lora-tinyllama |
|
|
| ## Overview |
| `lora-tinyllama` is a fine-tuned version of the `tinyllama-1.1b` model, created using **LoRA (Low-Rank Adaptation)**. This model specializes in adapting the `tinyllama-1.1b` base for specific tasks with minimal computational overhead. |
|
|
| ### Key Features |
| - **Model Size**: ~90MB (LoRA adapter weights only). |
| - **Efficiency**: Keeps the base model frozen and adds small trainable layers. |
| - **Flexibility**: Requires the original `tinyllama-1.1b` base model for usage. |
| - **Purpose**: Designed for specialized NLP tasks, leveraging the compact and powerful nature of the base model. |
|
|
| --- |
|
|
| ## Usage Instructions |
|
|
| ### Prerequisites |
| Before using `lora-tinyllama`, ensure you have: |
| 1. The base model: `tinyllama-1.1b`. |
| 2. The fine-tuned LoRA weights: `lora-tinyllama`. |
|
|
| --- |
|
|
| ### Loading the Model |
| Here’s how to load and use `lora-tinyllama` with the base model: |
|
|
| ```python |
| from peft import PeftModel |
| from transformers import AutoModelForCausalLM, AutoTokenizer |
| |
| # Step 1: Load the base model |
| base_model_path = "path/to/tinyllama-1.1b" |
| base_model = AutoModelForCausalLM.from_pretrained(base_model_path) |
| |
| # Step 2: Load the LoRA weights |
| lora_model_path = "path/to/lora-tinyllama" |
| lora_model = PeftModel.from_pretrained(base_model, lora_model_path) |
| |
| # Step 3: Load the tokenizer |
| tokenizer = AutoTokenizer.from_pretrained(base_model_path) |
| |
| # Step 4: Use the model for inference |
| inputs = tokenizer("Hello, world!", return_tensors="pt") |
| outputs = lora_model.generate(inputs["input_ids"]) |
| print(tokenizer.decode(outputs[0])) |
| |