--- license: cc-by-4.0 language: - en base_model: - google/gemma-2-2b datasets: - ktiyab/sustainable-fashion tags: - retail - sustainability - fashion - timeless - wardrobe - eco-concious - style - gemma library_name: adapter-transformers --- # Model Summary **Model Name**: `sustainable-fashion-gemma2-2b-202501080` **Model Description**: This model is a **specialized** variant of the Gemma-2 2B, fine-tuned to consistently deliver **robust sustainable fashion advice**, practical **capsule wardrobe** guidance, and **timeless styling** recommendations. By integrating **LoRA** techniques, the model efficiently captures **nuanced, real-world** fashion insights without sacrificing inference performance. ### Core Criteria 1. **Conciseness & Directness** - Offers clear, actionable fashion tips without unnecessary complexity. 2. **Personalization** - Tailors advice to individual budgets, lifestyles, and style preferences. 3. **Integration of Concepts** - Connects sustainability principles, budget constraints, and style guidelines into a unified approach. 4. **Tone & Accessibility** - Maintains a friendly, approachable voice—ideal for newcomers and seasoned eco-conscious dressers alike. 5. **Strategic Focus** - Emphasizes long-term wardrobe value, cost-benefit analyses, and ecological impact in every recommendation. 6. **Practical Reality** - Balances high-quality investments with realistic budgeting, mixing accessible pieces with sustainable choices. ### Architecture & Training Highlights - **Base Model**: Gemma-2 2B parameters - **Fine-Tuning Method**: LoRA-based instruct tuning (`--task=instruct-lora`) - **Epochs**: 5 - **Learning Rate**: 0.0002, using a cosine scheduler - **Optimizer**: `paged_adamw_32bit` - **Attention Implementation**: `flash_attention_2`, improving speed and memory usage - **Precision**: 4-bit quantization for memory efficiency (`--precision_mode=4bit`) - **Training Data**: Synthetic Q&A pairs on sustainable and timeless fashion (see [https://www.kaggle.com/datasets/tiyabk/sustainable-fashion/data](#data-overview)) ### Primary Use The model excels at answering sustainable and timelesse fashion questions on: **Eco-friendly fabrics** - Fabric Recommendations: Users inquire about the best sustainable materials (e.g., organic cotton, linen, hemp, Tencel) for different climates or occasions. - Material Care Guidance: Advice on proper care (washing, drying, storing) to extend the life of garments made with eco-friendly fabrics. **Capsule wardrobe construction** - Core Wardrobe Planning: Helps users identify essential clothing items that suit their lifestyle (e.g., a few versatile tops, bottom pieces, layering pieces). - Minimalist Shopping Lists: Suggests how many items to include in each category (tops, pants, outerwear, etc.) to maintain both variety and wearability. - Seasonal Transitions: Guides on switching out certain pieces for seasonal changes while keeping the majority of items year-round. **Climate-specific styling** - Weather-Appropriate Outfits: Users input local climate details (hot and humid vs. cold and dry), and the model advises on layering, fabric weights, and silhouettes. - Travel Packing Assistance: For trips to different climates, the model helps curate a light but versatile wardrobe that can handle temperature and weather variations. - Regional Seasonality: Accounts for monsoon seasons, harsh winters, or desert climates when recommending outfit structures, color choices, and fabric blends. **Timeless color palettes and silhouettes** - Color Palette Selection: Helps users identify a cohesive range of neutrals, accent colors, and core hues that - suit their skin tone and personal style. - Long-Lasting Trends: Suggests classic cuts (e.g., A-line skirts, tailored trousers, button-up shirts) that transcend seasonal fads. - Personalization: Balances timelessness with individual flair (e.g., a signature color or pattern) without sacrificing longevity. ### Evaluation The model was evaluated on an internal validation set using built-in metrics (e.g., loss). The model has demonstrated robust understanding and consistent instruction-following behavior for fashion-related queries. --- ## Usage Below is a minimal code snippet showing how to load and use the model for inference. This example assumes the merged model is available in a storage bucket or local path. ```bash !pip install transformers accelerate huggingface_hub ``` ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM from huggingface_hub import notebook_login # If your model is private, uncomment: # notebook_login() # 1) Set up the device device = torch.device("cuda" if torch.cuda.is_available() else "cpu") # 2) Load tokenizer & model from Hugging Face model_path = "YourUsername/my-awesome-finetuned-model" tokenizer = AutoTokenizer.from_pretrained(model_path) model = AutoModelForCausalLM.from_pretrained(model_path, torch_dtype=torch.float16) model.to(device) # 3) Define your generation functions def ask_fashion_model_short_response(question): inputs = tokenizer(question, return_tensors="pt").to(device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=200, do_sample=True, temperature=0.7, top_k=50, top_p=0.9, repetition_penalty=1.2, num_beams=1 ) return tokenizer.decode(outputs[0], skip_special_tokens=True) def ask_fashion_model_long_response(question): inputs = tokenizer(question, return_tensors="pt").to(device) with torch.no_grad(): outputs = model.generate( **inputs, max_new_tokens=512, num_beams=2, length_penalty=1.8, temperature=1, top_k=50, top_p=1, do_sample=False ) return tokenizer.decode(outputs[0], skip_special_tokens=True) # 4) Example usage query = "What are some timeless ways to incorporate color into my wardrobe if I usually stick to neutral shades?" response = ask_fashion_model_long_response(query) print(response) ``` ### Input / Output Shape - **Input**: A user prompt or query in natural language (e.g., “How do I choose the right colors for my skin tone?”). - **Output**: A single, text-based answer or instruction. ### Known and Preventable Failures - **Ambiguous Requests**: Vague queries may yield broad responses. Encourage users to provide context. - **Non-Fashion Queries**: The model is specialized for sustainable fashion tasks and might produce less accurate or irrelevant answers for unrelated domains. --- ## System This model can be used as a **standalone** text-generation system or integrated into broader chat/assistant pipelines: - **Input Requirements**: A plain text prompt describing a fashion or styling question. - **Downstream Dependencies**: Any application expecting textual recommendations (e.g., e-commerce chatbots, personal stylist apps, content generation tools). The model’s text output could feed into: - **E-commerce**: Product recommendations for sustainability suggestions. - **Editorial/Content**: Generating blog articles or social media posts on sustainability fashion topics. --- ## Implementation Requirements - **Training Hardware**: - **Machine Type**: `a2-ultragpu-8g` with 8 NVIDIA A100 80GB GPUs - **Disk**: 500 GB SSD (`pd-ssd`) - **Replica Count**: 1 (single worker) - **Software**: - Container image: `us-docker.pkg.dev/vertex-ai-restricted/vertex-vision-model-garden-dockers/pytorch-peft-train:stable_20240909` - Key packages: PyTorch, Transformers, Deepspeed (Zero 2 config), LoRA libraries - **Compute Requirements**: Training with 8 GPUs over 5 epochs on a dataset of fashion Q&A pairs. Time to convergence depends on final dataset size and batch configuration (`per_device_train_batch_size=1` with gradient accumulation steps). - **Performance & Energy Consumption**: The usage of flash attention and 4-bit precision helps reduce memory usage and training costs. No exact energy consumption metrics are published, but overhead is significantly reduced compared to full FP16 or FP32 training. --- # Model Characteristics ## Model Initialization The model was **fine-tuned** from a pre-trained Gemma-2 2B parameter LLM. It was **not** trained from scratch. ## Model Stats - **Parameter Count**: ~2B base parameters, plus LoRA adapters - **Model Size (disk)**: ~5GB - **Layers**: The base Gemma-2 architecture with multi-headed self-attention and transformer blocks. - **Latency**: Inference latency depends on GPU/CPU hardware. On a single GPU, the flash attention significantly speeds up token generation compared to naive implementations. ## Other Details - **Pruning**: Not applied. - **Quantization**: 4-bit quantization used for training to reduce memory footprint. - **Differential Privacy**: No specialized techniques implemented; the dataset is synthetic with no direct PII. --- # Data Overview ## Training Data **Source**: A synthetic collection of 38K lines Q&A pairs about sustainable fashion, generated via advanced prompt engineering to cover: - **Sustainable practices** (e.g., recycled materials, secondhand shopping) - **Wardrobe fundamentals** (e.g., neutral color palettes, timeless silhouettes) - **Climate-specific styling** - **Budget constraints** ... **Pre-processing**: Minimal text cleaning (e.g., removing extraneous symbols), focusing on clarity and consistency. ## Demographic Groups The data does not explicitly classify demographics. Rather, it addresses general styling contexts (body changes, climate differences, budget considerations) that can be relevant across diverse populations. ## Evaluation Data - **Train / Test / Dev Splits**: Partitioned from the same synthetic source: - **Train**: Main dataset (`train` split) - **Evaluation**: Sustainable Fashion Eval - **Differences**: All synthetic, but evaluation focuses on multi-turn instructions, ensuring coverage of real-world complexities. --- # Evaluation Results ## Summary The model’s performance was measured via: - **Loss** on the held-out evaluation set every few steps (`--eval_steps=5`) - **Qualitative** checks for correctness, clarity, and coherence Results indicated: - **Low perplexity** on domain-specific