--- library_name: transformers tags: [causal-lm, bloom, lora, peft, finetuning, english] --- # Model Card for Jay24-AI/bloom-3b-lora-tagger This model is a **LoRA fine-tuned version of BigScience’s BLOOM-3B** model, trained on a dataset of English quotes. The goal was to adapt BLOOM using the [PEFT](https://github.com/huggingface/peft) (Parameter-Efficient Fine-Tuning) approach with [LoRA](https://arxiv.org/abs/2106.09685), making it lightweight to train and efficient for deployment. --- ## Model Details ### Model Description - **Developed by:** Jay24-AI - **Funded by [optional]:** N/A - **Shared by [optional]:** Jay24-AI - **Model type:** Causal Language Model with LoRA adapters - **Language(s):** English - **License:** [Add the license you intend to apply — BLOOM is under the RAIL license, LoRA adapters are usually MIT-compatible] - **Finetuned from model:** [bigscience/bloom-3b](https://huggingface.co/bigscience/bloom-3b) ### Model Sources - **Repository:** https://huggingface.co/Jay24-AI/bloom-3b-lora-tagger --- ## Uses ### Direct Use The model can be used for **text generation and tagging** based on quote-like prompts. For example, you can input a quote, and the model will generate descriptive tags. ### Downstream Use - Can be further fine-tuned on custom tagging or classification datasets. - Could be integrated into applications that require lightweight **quote classification**, **text annotation**, or **prompt-based generation**. ### Out-of-Scope Use - Not suitable for factual question answering. - Not designed for sensitive or high-stakes decision-making (e.g., medical, legal, or financial advice). --- ## Bias, Risks, and Limitations - Inherits limitations and biases from **BLOOM-3B** (which was trained on large-scale internet data). - The fine-tuned dataset (English quotes) is small (~1k samples), so the model may overfit and generalize poorly outside similar data. - Risk of generating irrelevant or biased tags if prompted outside the intended scope. ### Recommendations Users should: - Validate outputs before production use. - Avoid relying on the model for critical applications. --- ## How to Get Started with the Model ```python import torch from peft import PeftModel, PeftConfig from transformers import AutoModelForCausalLM, AutoTokenizer peft_model_id = "Jay24-AI/bloom-3b-lora-tagger" config = PeftConfig.from_pretrained(peft_model_id) model = AutoModelForCausalLM.from_pretrained(config.base_model_name_or_path, return_dict=True, load_in_8bit=True, device_map='auto') tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path) # Load the Lora model model = PeftModel.from_pretrained(model, peft_model_id) batch = tokenizer("“The only way to do great work is to love what you do.” ->:", return_tensors='pt') with torch.cuda.amp.autocast(): output_tokens = model.generate(**batch, max_new_tokens=50) print('\n\n', tokenizer.decode(output_tokens[0], skip_special_tokens=True)) ``` ## Training Details ### Training Data - **Dataset used:** [Abirate/english_quotes](https://huggingface.co/datasets/Abirate/english_quotes) - **Subset:** First 1,000 samples (`train[:1000]`). - **Structure:** Each entry includes a `quote` and its corresponding `tags`. - **Preprocessing:** - Combined the `quote` and `tags` into a single text string: ``` "" ->: ``` - Tokenized using the `AutoTokenizer` from **bigscience/bloom-3b**. - Applied batching via Hugging Face `datasets.map` with `batched=True`. --- ### Training Procedure #### Preprocessing - Converted text examples into the `"quote ->: tags"` format. - Tokenized using Bloom’s tokenizer with default settings. - Applied `DataCollatorForLanguageModeling` with `mlm=False` (causal LM objective). #### Training Hyperparameters - **Base model:** bigscience/bloom-3b - **Adapter method:** LoRA via PEFT - **LoRA configuration:** - r = 16 - lora_alpha = 32 - lora_dropout = 0.05 - bias = "none" - task_type = "CAUSAL_LM" - **TrainingArguments:** - per_device_train_batch_size = 4 - gradient_accumulation_steps = 4 - warmup_steps = 100 - max_steps = 200 - learning_rate = 2e-4 - fp16 = True - logging_steps = 1 - output_dir = `outputs/` - **Precision regime:** Mixed precision (fp16). - **Caching:** `model.config.use_cache = False` during training to suppress warnings. #### Hyperparameter Summary | Hyperparameter | Value | |-----------------------------|------------------------| | Base model | bigscience/bloom-3b | | Adapter method | LoRA (via PEFT) | | LoRA r | 16 | | LoRA alpha | 32 | | LoRA dropout | 0.05 | | Bias | none | | Task type | Causal LM | | Batch size (per device) | 4 | | Gradient accumulation steps | 4 | | Effective batch size | 16 | | Warmup steps | 100 | | Max steps | 200 | | Learning rate | 2e-4 | | Precision | fp16 (mixed precision) | | Logging steps | 1 | | Output directory | outputs/ | | Gradient checkpointing | Enabled | | Use cache | False (during training)| --- ### Speeds, Sizes, Times - **Trainable parameters:** LoRA adapters only (a small fraction of BLOOM-3B). - **Approx. size:** Much smaller than 3B full checkpoint since only adapters are stored. - **Max steps:** 200 (~250 updates with gradient accumulation). - **Training runtime:** Depends on GPU (not logged in script). - **Batch size effective:** 16 (4 × accumulation steps of 4). --- ### Compute Infrastructure - **Hardware:** Single CUDA GPU T4 (set with `os.environ["CUDA_VISIBLE_DEVICES"]="0"`). - **Software:** - PyTorch (torch) - Hugging Face Transformers (main branch from GitHub) - Hugging Face PEFT (main branch from GitHub) - Hugging Face Datasets - Accelerate - Bitsandbytes (for 8-bit loading) - **Gradient checkpointing:** Enabled to save memory. - **Mixed precision:** Enabled with fp16. --- ## Evaluation ### Testing Data - Same dataset (Abirate/english_quotes). - No held-out test set reported in training script. ### Metrics - No formal metrics logged; evaluation was qualitative (checking generated tags). ### Results - The model successfully learns to generate tags for English quotes after training. --- ## Environmental Impact Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute). - **Hardware Type:** Single CUDA GPU T4 - **Cloud Provider:** Colab --- ## Technical Specifications ### Model Architecture and Objective - Base model: **BLOOM-3B**, causal language modeling objective. - Fine-tuned with **LoRA adapters** using PEFT. ### Compute Infrastructure - **Hardware:** Single GPU (CUDA device 0). - **Software:** - PyTorch - Hugging Face Transformers - Hugging Face PEFT - Hugging Face Datasets - Accelerate - Bitsandbytes --- ## Citation If you use this model, please cite: **BibTeX:** ```bibtex @misc{jay24ai2025bloomlora, title={LoRA Fine-Tuned BLOOM-3B for Quote Tagging}, author={Jay24-AI}, year={2025}, howpublished={\url{https://huggingface.co/Jay24-AI/bloom-3b-lora-tagger}} } --- ## Model Card Contact For questions or issues, contact the maintainer via Hugging Face discussions: https://huggingface.co/Jay24-AI/bloom-3b-lora-tagger/discussions