--- 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