Text Classification
PEFT
Safetensors
English
French
unsloth
lora
Multi-Task
Sentiment Analysis
Translation (English to French)
Instructions to use BEncoderRT/tinyllama-multitask-lora with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use BEncoderRT/tinyllama-multitask-lora with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("TinyLlama/TinyLlama-1.1B-intermediate-step-1431k-3T") model = PeftModel.from_pretrained(base_model, "BEncoderRT/tinyllama-multitask-lora") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Unsloth Studio
How to use BEncoderRT/tinyllama-multitask-lora with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for BEncoderRT/tinyllama-multitask-lora to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for BEncoderRT/tinyllama-multitask-lora to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for BEncoderRT/tinyllama-multitask-lora to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="BEncoderRT/tinyllama-multitask-lora", max_seq_length=2048, )
| license: apache-2.0 | |
| datasets: | |
| - mteb/imdb | |
| - Helsinki-NLP/opus-100 | |
| language: | |
| - en | |
| - fr | |
| pipeline_tag: text-classification | |
| base_model: | |
| - TinyLlama/TinyLlama-1.1B-Chat-v1.0 | |
| tags: | |
| - unsloth | |
| - lora | |
| - peft | |
| - Multi-Task | |
| - Sentiment Analysis | |
| - Translation (English to French) | |
| # TinyLlama Multi-Task LoRA (Sentiment + Translation) | |
| This repository contains a **LoRA adapter** trained on top of | |
| **TinyLlama/TinyLlama-1.1B-intermediate-step-1431k-3T** | |
| to support **multiple tasks** via instruction-style prompting. | |
| --- | |
| ## 🔧 Base Model | |
| - **Base model**: `TinyLlama/TinyLlama-1.1B-intermediate-step-1431k-3T` | |
| - **Architecture**: Decoder-only (LLaMA-style) | |
| - **Fine-tuning method**: LoRA (PEFT) | |
| - **Trainable parameters**: ~4M | |
| - **Total parameters**: ~1.1B | |
| This repository **only contains the LoRA adapter weights**, not the full base model. | |
| --- | |
| ## 📌 Supported Tasks | |
| ### 1️⃣ Sentiment Analysis (IMDB) | |
| Binary sentiment classification for movie reviews: | |
| - `positive` | |
| - `negative` | |
| ### 2️⃣ Translation (English → French) | |
| Neural machine translation from English to French. | |
| --- | |
| ## 🧠 Training Data | |
| All datasets are loaded directly from **Hugging Face Datasets**: | |
| | Task | Dataset | Description | | |
| | ------------------- | ------------------------------- | -------------------------------- | | |
| | Sentiment Analysis | `imdb` | Movie reviews with binary labels | | |
| | Translation (EN→FR) | `Helsinki-NLP/opus-100` (en-fr) | Parallel English–French corpus | | |
| --- | |
| ## 🧩 Training Strategy | |
| - **Multi-task instruction tuning** | |
| - Tasks are distinguished via **explicit prompt headers** | |
| - All tasks are unified into a **causal language modeling** objective | |
| - Only LoRA parameters are updated; base model weights remain frozen | |
| --- | |
| ## 🧾 Prompt Format | |
| ### Sentiment Analysis | |
| ```text | |
| ### Task: Sentiment Analysis | |
| ### Review: | |
| This movie was absolutely fantastic! | |
| ### Answer: | |
| positive | |
| ### Task: Translation (English to French) | |
| ### English: | |
| I love learning large language models. | |
| ### French: | |
| J'aime apprendre les grands modèles de langage. | |
| ``` | |
| **Load Base Model + LoRA Adapter** | |
| ```python | |
| import torch | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| from peft import PeftModel | |
| base_model_name = "TinyLlama/TinyLlama-1.1B-intermediate-step-1431k-3T" | |
| lora_repo = "BEncoderRT/tinyllama-multitask-lora" | |
| tokenizer = AutoTokenizer.from_pretrained(base_model_name) | |
| tokenizer.pad_token = tokenizer.eos_token | |
| base_model = AutoModelForCausalLM.from_pretrained( | |
| base_model_name, | |
| device_map="auto" | |
| ).eval() | |
| lora_model = AutoModelForCausalLM.from_pretrained( | |
| base_model_name, | |
| device_map="auto" | |
| ) | |
| lora_model = PeftModel.from_pretrained(lora_model, lora_repo) | |
| lora_model.eval() | |
| def generate( | |
| model, | |
| prompt, | |
| max_new_tokens=64, | |
| temperature=0.3 | |
| ): | |
| inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
| with torch.no_grad(): | |
| outputs = model.generate( | |
| **inputs, | |
| max_new_tokens=max_new_tokens, | |
| do_sample=True, | |
| temperature=temperature, | |
| pad_token_id=tokenizer.eos_token_id | |
| ) | |
| return tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| ``` | |
| **Inference Examples** | |
| Sentiment Analysis Example | |
| ```python | |
| sentiment_tests = [ | |
| "I absolutely loved this movie. The acting was brilliant.", | |
| "This film was boring, slow, and a complete waste of time.", | |
| "The movie was okay, but nothing special.", | |
| ] | |
| def test_sentiment_comparison(texts): | |
| for text in texts: | |
| prompt = ( | |
| "### Task: Sentiment Analysis\n" | |
| "### Review:\n" | |
| f"{text}\n" | |
| "### Answer:\n" | |
| ) | |
| base_out = generate(base_model, prompt, max_new_tokens=8) | |
| lora_out = generate(lora_model, prompt, max_new_tokens=8) | |
| print("=" * 80) | |
| print("REVIEW:") | |
| print(text) | |
| print("\n[BASE MODEL OUTPUT]") | |
| print(base_out) | |
| print("\n[LORA MODEL OUTPUT]") | |
| print(lora_out) | |
| ``` | |
| ```python | |
| test_sentiment_comparison(sentiment_tests) | |
| ``` | |
| ``` | |
| ================================================================================ | |
| REVIEW: | |
| I absolutely loved this movie. The acting was brilliant. | |
| [BASE MODEL OUTPUT] | |
| ### Task: Sentiment Analysis | |
| ### Review: | |
| I absolutely loved this movie. The acting was brilliant. | |
| ### Answer: | |
| I loved this movie. It was so | |
| [LORA MODEL OUTPUT] | |
| ### Task: Sentiment Analysis | |
| ### Review: | |
| I absolutely loved this movie. The acting was brilliant. | |
| ### Answer: | |
| positive | |
| ================================================================================ | |
| REVIEW: | |
| This film was boring, slow, and a complete waste of time. | |
| [BASE MODEL OUTPUT] | |
| ### Task: Sentiment Analysis | |
| ### Review: | |
| This film was boring, slow, and a complete waste of time. | |
| ... | |
| ### Review: | |
| The movie was okay, but nothing special. | |
| ### Answer: | |
| negative | |
| ``` | |
| Translation Example | |
| ```python | |
| translation_tests = [ | |
| "I love learning large language models.", | |
| "This movie was disappointing and boring.", | |
| "Artificial intelligence is changing the world." | |
| ] | |
| def test_translation_comparison(texts): | |
| for text in texts: | |
| prompt = ( | |
| "### Task: Translation (English to French)\n" | |
| "### English:\n" | |
| f"{text}\n" | |
| "### French:\n" | |
| ) | |
| base_out = generate(base_model, prompt, max_new_tokens=64) | |
| lora_out = generate(lora_model, prompt, max_new_tokens=64) | |
| print("=" * 80) | |
| print("ENGLISH:") | |
| print(text) | |
| print("\n[BASE MODEL OUTPUT]") | |
| print(base_out) | |
| print("\n[LORA MODEL OUTPUT]") | |
| print(lora_out) | |
| ``` | |
| ```python | |
| test_sentiment_comparison(sentiment_tests) | |
| ``` | |
| ``` | |
| ================================================================================ | |
| ENGLISH: | |
| I love learning large language models. | |
| [BASE MODEL OUTPUT] | |
| ### Task: Translation (English to French) | |
| ### English: | |
| I love learning large language models. | |
| ### French: | |
| J'adore apprendre les modèles de langage grand. | |
| ### Translation: | |
| I love learning large language models. | |
| ### Task: Translation (English to Spanish) | |
| ### English: | |
| I love learning large language models. | |
| ### Spanish: | |
| Me gusta | |
| [LORA MODEL OUTPUT] | |
| ### Task: Translation (English to French) | |
| ### English: | |
| I love learning large language models. | |
| ### French: | |
| Je me passionne pour les modèles de langues grandes. | |
| ================================================================================ | |
| ... | |
| ### English: | |
| Artificial intelligence is changing the world. | |
| ### French: | |
| L'intelligence artificielle change le monde. | |
| ``` |