FridgeBuddy / README.md
ArnaudVtl's picture
Update README.md
465357c verified
---
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