Harsh-Gupta commited on
Commit
99dd967
·
verified ·
1 Parent(s): 22ba4bb

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +81 -176
README.md CHANGED
@@ -1,6 +1,28 @@
1
  ---
2
  library_name: transformers
3
  license: mit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  datasets:
5
  - stanfordnlp/sst2
6
  language:
@@ -12,197 +34,80 @@ base_model:
12
  pipeline_tag: text-classification
13
  ---
14
 
15
- # Model Card for Model ID
16
 
17
- <!-- Provide a quick summary of what the model is/does. -->
18
 
 
19
 
 
20
 
21
- ## Model Details
22
-
23
- ### Model Description
24
-
25
- <!-- Provide a longer summary of what this model is. -->
26
-
27
- This is the model card of a 🤗 transformers model that has been pushed on the Hub. This model card has been automatically generated.
28
-
29
- - **Developed by:** [More Information Needed]
30
- - **Funded by [optional]:** [More Information Needed]
31
- - **Shared by [optional]:** [More Information Needed]
32
- - **Model type:** [More Information Needed]
33
- - **Language(s) (NLP):** [More Information Needed]
34
- - **License:** [More Information Needed]
35
- - **Finetuned from model [optional]:** [More Information Needed]
36
-
37
- ### Model Sources [optional]
38
-
39
- <!-- Provide the basic links for the model. -->
40
-
41
- - **Repository:** [More Information Needed]
42
- - **Paper [optional]:** [More Information Needed]
43
- - **Demo [optional]:** [More Information Needed]
44
-
45
- ## Uses
46
-
47
- <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
48
-
49
- ### Direct Use
50
-
51
- <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
52
-
53
- [More Information Needed]
54
-
55
- ### Downstream Use [optional]
56
-
57
- <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
58
-
59
- [More Information Needed]
60
-
61
- ### Out-of-Scope Use
62
-
63
- <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
64
-
65
- [More Information Needed]
66
-
67
- ## Bias, Risks, and Limitations
68
-
69
- <!-- This section is meant to convey both technical and sociotechnical limitations. -->
70
-
71
- [More Information Needed]
72
-
73
- ### Recommendations
74
-
75
- <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
76
-
77
- Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
78
-
79
- ## How to Get Started with the Model
80
-
81
- Use the code below to get started with the model.
82
-
83
- [More Information Needed]
84
-
85
- ## Training Details
86
-
87
- ### Training Data
88
-
89
- <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
90
-
91
- [More Information Needed]
92
-
93
- ### Training Procedure
94
-
95
- <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
96
-
97
- #### Preprocessing [optional]
98
-
99
- [More Information Needed]
100
-
101
-
102
- #### Training Hyperparameters
103
-
104
- - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
105
-
106
- #### Speeds, Sizes, Times [optional]
107
-
108
- <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
109
-
110
- [More Information Needed]
111
-
112
- ## Evaluation
113
-
114
- <!-- This section describes the evaluation protocols and provides the results. -->
115
-
116
- ### Testing Data, Factors & Metrics
117
-
118
- #### Testing Data
119
-
120
- <!-- This should link to a Dataset Card if possible. -->
121
-
122
- [More Information Needed]
123
-
124
- #### Factors
125
-
126
- <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
127
-
128
- [More Information Needed]
129
-
130
- #### Metrics
131
-
132
- <!-- These are the evaluation metrics being used, ideally with a description of why. -->
133
-
134
- [More Information Needed]
135
-
136
- ### Results
137
-
138
- [More Information Needed]
139
-
140
- #### Summary
141
-
142
-
143
-
144
- ## Model Examination [optional]
145
-
146
- <!-- Relevant interpretability work for the model goes here -->
147
-
148
- [More Information Needed]
149
-
150
- ## Environmental Impact
151
-
152
- <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
153
-
154
- Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
155
-
156
- - **Hardware Type:** [More Information Needed]
157
- - **Hours used:** [More Information Needed]
158
- - **Cloud Provider:** [More Information Needed]
159
- - **Compute Region:** [More Information Needed]
160
- - **Carbon Emitted:** [More Information Needed]
161
-
162
- ## Technical Specifications [optional]
163
-
164
- ### Model Architecture and Objective
165
-
166
- [More Information Needed]
167
-
168
- ### Compute Infrastructure
169
-
170
- [More Information Needed]
171
-
172
- #### Hardware
173
-
174
- [More Information Needed]
175
-
176
- #### Software
177
-
178
- [More Information Needed]
179
-
180
- ## Citation [optional]
181
 
182
- <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
183
 
184
- **BibTeX:**
185
 
186
- [More Information Needed]
 
 
 
 
 
 
187
 
188
- **APA:**
189
 
190
- [More Information Needed]
191
 
192
- ## Glossary [optional]
193
 
194
- <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
 
 
195
 
196
- [More Information Needed]
197
 
198
- ## More Information [optional]
 
 
 
199
 
200
- [More Information Needed]
 
201
 
202
- ## Model Card Authors [optional]
 
 
 
 
 
 
 
203
 
204
- [More Information Needed]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
 
206
- ## Model Card Contact
207
 
208
- [More Information Needed]
 
 
 
 
 
1
  ---
2
  library_name: transformers
3
  license: mit
4
+ tags:
5
+ - sentiment-analysis
6
+ - bert
7
+ - lora
8
+ - peft
9
+ - huggingface
10
+ - transformers
11
+ - text-classification
12
+ - low-resource
13
+ model-index:
14
+ - name: LoRA-BERT for Sentiment Analysis (SST-2)
15
+ results:
16
+ - task:
17
+ type: text-classification
18
+ name: Sentiment Analysis
19
+ dataset:
20
+ type: glue
21
+ name: SST2
22
+ metrics:
23
+ - type: accuracy
24
+ value: 0.9117
25
+ name: Accuracy
26
  datasets:
27
  - stanfordnlp/sst2
28
  language:
 
34
  pipeline_tag: text-classification
35
  ---
36
 
37
+ # 🤖 LoRA-BERT for Sentiment Analysis (SST-2)
38
 
39
+ This is a lightweight, parameter-efficient BERT model fine-tuned with [LoRA (Low-Rank Adaptation)](https://arxiv.org/abs/2106.09685) for binary sentiment classification on the SST-2 dataset.
40
 
41
+ ---
42
 
43
+ ## 💡 Model Highlights
44
 
45
+ - Fine-tuned using **LoRA** (r=8, α=16) on top of `bert-base-uncased`
46
+ - ✅ Trained on [SST2](https://huggingface.co/datasets/stanfordnlp/sst2)
47
+ - Achieves ~91.17% validation accuracy
48
+ - ✅ Lightweight: only LoRA adapter weights are updated
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
+ ---
51
 
52
+ ## 📊 Results
53
 
54
+ | Epoch | Training Loss | Validation Loss | Accuracy |
55
+ |-------|---------------|-----------------|----------|
56
+ | 1 | 0.3030 | 0.2467 | 89.91% |
57
+ | 2 | 0.1972 | 0.2424 | 90.94% |
58
+ | 3 | 0.2083 | 0.2395 | 91.17% |
59
+ | 4 | 0.1936 | 0.2464 | 90.94% |
60
+ | 5 | 0.1914 | 0.2491 | 90.83% |
61
 
62
+ Early stopping could be applied from Epoch 3 based on validation metrics.
63
 
64
+ ---
65
 
66
+ ## 🛠️ Usage
67
 
68
+ ```python
69
+ from transformers import AutoTokenizer, AutoModelForSequenceClassification
70
+ from peft import PeftModel, PeftConfig
71
 
72
+ model_id = "Harsh-Gupta/bert-lora-sentiment"
73
 
74
+ # Load PEFT config + model
75
+ config = PeftConfig.from_pretrained(model_id)
76
+ base_model = AutoModelForSequenceClassification.from_pretrained(config.base_model_name_or_path)
77
+ model = PeftModel.from_pretrained(base_model, model_id)
78
 
79
+ # Tokenizer
80
+ tokenizer = AutoTokenizer.from_pretrained(config.base_model_name_or_path)
81
 
82
+ # Predict
83
+ text = "This movie was absolutely amazing!"
84
+ inputs = tokenizer(text, return_tensors="pt", truncation=True, padding=True)
85
+ with torch.no_grad():
86
+ outputs = model(**inputs)
87
+ probs = outputs.logits.softmax(dim=-1)
88
+ pred = probs.argmax().item()
89
+ ```
90
 
91
+ ---
92
+ ## LoRA Configuration
93
+ ```python
94
+ LoraConfig(
95
+ r=32,
96
+ lora_alpha=4,
97
+ target_modules=["query", "value"],
98
+ lora_dropout=0.1,
99
+ bias="none",
100
+ task_type="SEQ_CLS"
101
+ )
102
+ ```
103
+ ---
104
+ ## 🔍 Intended Use
105
+ - Sentiment classification for binary text (positive/negative)
106
 
107
+ - Can be adapted to other domains: movie reviews, product reviews, tweets
108
 
109
+ ---
110
+ ## 🧠 Author
111
+ Harsh Gupta
112
+ MCA, Jawaharlal Nehru University
113
+ GitHub: [2003Harsh](https://github.com/2003HARSH)