|
|
--- |
|
|
base_model: unsloth/gemma-3-1b-it-unsloth-bnb-4bit |
|
|
library_name: peft |
|
|
language: |
|
|
- en |
|
|
--- |
|
|
|
|
|
# Model Card for FridgeBuddy (Gemma 1B - Fine-tuned) |
|
|
|
|
|
FridgeBuddy is a fine-tuned version of `gemma-3-1b-it`, designed as a lightweight voice assistant for smart fridges. It answers simple cooking-related questions offline, and was trained on a small dataset of prompt-response examples to generate recipe suggestions, food pairings, and quick preparation ideas. |
|
|
|
|
|
## Model Details |
|
|
|
|
|
### Model Description |
|
|
|
|
|
- **Developed by:** Arnaud Vitale |
|
|
- **Shared by:** Epitech organization on Hugging Face |
|
|
- **Model type:** Decoder-only LLM (Gemma 1B, fine-tuned with LoRA) |
|
|
- **Language(s):** English (food, kitchen, cooking vocabulary) |
|
|
- **License:** Apache 2.0 |
|
|
- **Finetuned from model:** `unsloth/gemma-3-1b-it-unsloth-bnb-4bit` |
|
|
|
|
|
### Model Sources |
|
|
|
|
|
- **Repository:** https://huggingface.co/Epitech/FridgeBuddy |
|
|
- **Colab Notebook:** https://colab.research.google.com/drive/1QFCiMVqswVaogeEE0a9OQS_e6pQBn2Fr?usp=sharing |
|
|
|
|
|
## Uses |
|
|
|
|
|
### Direct Use |
|
|
|
|
|
This model can be used to: |
|
|
- Suggest quick recipes |
|
|
- Answer questions like "What can I make with tuna and rice?" |
|
|
- Help generate creative food combinations |
|
|
|
|
|
### Out-of-Scope Use |
|
|
|
|
|
- Not intended for use outside kitchen/culinary contexts |
|
|
- Should not be used for critical health or safety decisions |
|
|
|
|
|
## Bias, Risks, and Limitations |
|
|
|
|
|
This model was trained on a very small synthetic dataset with limited diversity. As such: |
|
|
- It may hallucinate facts or recipes |
|
|
- It may fail to recognize unusual ingredient names or dietary needs |
|
|
|
|
|
### Recommendations |
|
|
|
|
|
Use FridgeBuddy in a constrained, offline, non-critical environment (ex: IoT kitchen setup). It's a lightweight proof of concept, not a production model. |
|
|
|
|
|
## How to Get Started with the Model |
|
|
|
|
|
```python |
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
|
|
model = AutoModelForCausalLM.from_pretrained("Epitech/gemma3b-maths-children") |
|
|
tokenizer = AutoTokenizer.from_pretrained("Epitech/gemma3b-maths-children") |
|
|
|
|
|
prompt = "<|user|>\nWhat can I cook with tuna and cream?\n<|assistant|>\n" |
|
|
inputs = tokenizer(prompt, return_tensors="pt") |
|
|
outputs = model.generate(**inputs, max_new_tokens=50) |
|
|
print(tokenizer.decode(outputs[0])) |
|
|
``` |
|
|
|
|
|
## Training Details |
|
|
|
|
|
### Training Data |
|
|
|
|
|
The model was trained on a synthetic `.jsonl` dataset (`fridgebuddy_dataset_en.jsonl`) of 100 prompt-response pairs related to food and kitchen use cases. |
|
|
|
|
|
### Training Procedure |
|
|
|
|
|
- LoRA fine-tuning with Unsloth + PEFT |
|
|
- Float32 precision |
|
|
- 3 epochs — 36 steps |
|
|
|
|
|
#### Training Hyperparameters |
|
|
|
|
|
- `batch_size`: 2 (per device) |
|
|
- `gradient_accumulation_steps`: 4 |
|
|
- `learning_rate`: 2e-5 |
|
|
- `epochs`: 3 |
|
|
- `optimizer`: adamw_8bit |
|
|
|
|
|
## Evaluation |
|
|
|
|
|
The model was qualitatively evaluated using generation on unseen prompts. It responded well to basic kitchen questions, but showed expected limitations in vocabulary and instruction-following depth. |
|
|
|
|
|
## Technical Specifications |
|
|
|
|
|
### Model Architecture and Objective |
|
|
|
|
|
- Base: `gemma-3-1b-it`, 1.3B parameters |
|
|
- Finetuning: LoRA adapters via PEFT |
|
|
|
|
|
### Software |
|
|
|
|
|
- PEFT 0.15.2 |
|
|
- Transformers |
|
|
- Accelerate |
|
|
- Unsloth |