File size: 18,123 Bytes
8cce6f4 c142dea 8cce6f4 45e1196 8cce6f4 c142dea 45e1196 8cce6f4 c142dea 8cce6f4 45e1196 8cce6f4 c142dea 8cce6f4 c142dea |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
---
license: apache-2.0
tags:
- feature-extraction
- text-classification
- sentence-transformers
- setfit
pipeline_tag: feature-extraction
datasets:
- gentilrenard/lmd_ukraine_comments
metrics:
- accuracy
base_model: sentence-transformers/paraphrase-multilingual-mpnet-base-v2
model-index:
- name: sentence-transformers/paraphrase-multilingual-mpnet-base-v2
results:
- task:
type: feature-extraction
name: Text Classification
dataset:
name: gentilrenard/lmd_ukraine_comments
type: gentilrenard/lmd_ukraine_comments
split: test
metrics:
- type: accuracy
value: 0.762589928057554
name: Accuracy
---
# SetFit with sentence-transformers/paraphrase-multilingual-mpnet-base-v2
This is a [SetFit](https://github.com/huggingface/setfit) model trained on the [gentilrenard/lmd_ukraine_comments](https://huggingface.co/datasets/gentilrenard/lmd_ukraine_comments) dataset that can be used for Text Classification. This SetFit model uses [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2) as the Sentence Transformer embedding model. A [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance is used for classification.
The model has been trained using an efficient few-shot learning technique that involves:
1. Fine-tuning a [Sentence Transformer](https://www.sbert.net) with contrastive learning.
2. Training a classification head with features from the fine-tuned Sentence Transformer.
## Model Details
### Model Description
- **Model Type:** SetFit
- **Sentence Transformer body:** [sentence-transformers/paraphrase-multilingual-mpnet-base-v2](https://huggingface.co/sentence-transformers/paraphrase-multilingual-mpnet-base-v2)
- **Classification head:** a [LogisticRegression](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html) instance
- **Maximum Sequence Length:** 128 tokens
- **Number of Classes:** 3 classes
- **Training Dataset:** [gentilrenard/lmd_ukraine_comments](https://huggingface.co/datasets/gentilrenard/lmd_ukraine_comments)
### Model Sources
- **Repository:** [SetFit on GitHub](https://github.com/huggingface/setfit)
- **Paper:** [Efficient Few-Shot Learning Without Prompts](https://arxiv.org/abs/2209.11055)
- **Blogpost:** [SetFit: Efficient Few-Shot Learning Without Prompts](https://huggingface.co/blog/setfit)
### Model Labels
| Label | Examples |
|:------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 2 | <ul><li>"Waouh on a failli avoir un article positif (pas seulement sur Macron, mais positif sur la France). Heureusement si vous voulez du vrai positif il y a toute la presse étrangère en ce moment. On pourrait aussi parler du paquet climat voté la semaine dernière, et qui aura beaucoup plus d'impact que toutes les primes de rénovations et autres éoliennes. Mais non, ce serait être positif et souvenez vous, tout va mal, nous sommes foutus."</li><li>"Pourriez-vous lire l'article? Cela vous éviterait de poser des questions inutiles."</li><li>'Les pays qui ne suivent pas les USA ont très majoritairement sont dirigés par un apprenti ou un chef boucher.'</li></ul> |
| 0 | <ul><li>'Les "Savonarole" finissent toujours sur le bûcher. Quant on traite ses frères devenus ses adversaires, enfin ses ennemis, d\'abord de "nazis" et désormais de "Satan", ou bien on a complètement perdu la raison, ou bien on s\'inscrit dans une guerre de religion ou fermente le pire fanatisme religieux. Cette guerre pan-slave est donc avant tout une guerre schismatique entre sectes orthodoxes comme on les cultivait au Haut Moyen-Age... mille ans avant la chute de Byzance! A propos de christianisme, on attendrait un message "oecuménique" de la part du Pape de Rome en vue de remonter les bretelles de son "confrère" de Moscou, plutôt qu\'un rappel des atrocités du golodomor des années 30 qui ne fait pas vraiment avancer la question actuelle. Faut-il rappeler à François que le sujet, ce ne sont pas les crimes de Staline, mais ceux, hic et nunc, de Poutine qui certes, ne comptabilise plus les divisions du Vatican, mais qui aurait besoin d\'une bonne claque morale universelle?'</li><li>"Les russes ne détruiront ni New-York, ni Munich. Cela serait la fin de la Russie (et probablement au passage de l'Occident), et ils le savent. Les russes n'attaqueront pas un pays de l'OTAN avec des moyens conventionnels. à 1 contre 8, 1 contre 20 en termes de PIB et de budget militaire, ils se feraient massacrer, et ils le savent. On a vu ces derniers mois ce que valait véritablement l'armée russe : pas de quoi effrayer l'OTAN. Ils leur reste... une très grande bouche avec laquelle ils peuvent hurler, menacer, se plaindre. Laissons les dire, et envoyons les chars. Et le reste. Cette folie doit cesser - et pas avec la défaite de l'Ukraine, qui serait la défaite de toutes les démocraties attachées à l'état de droit."</li><li>'« C’est l’affaire des russes »? C’est donc votre affaire en qualité de propagandiste stipendié par le Kremlin ? Pouvez vous vous occuper de vos affaires Ricardo et cessez de vous occuper des « occidentaux » svp'</li></ul> |
| 1 | <ul><li>"Salandre : les documents dont vous faîtes état montrent toujours la même chose, à savoir toujours les mêmes carcasses. 1300 camions (soit une colonne d'au moins 50km) auraient été détruits. Où sont-ils donc? C'est toujours une poignée des mêmes camions qui est montrée. Un millier de tanks auraient été également détruits ce qui donne un volume de l'ordre 90 000 m3 de ferraille. J'attends qu'on montre leurs carcasses. Et le tout à l'avenant... CORRECTEUR : en démontant la couverture de cette guerre, je m'occupe justement d'une affaire qui me concerne. Il ne vous revient pas de décréter ce qui me concerne ou pas. C'est ma stricte affaire. Et si ce que je dis vous dérange vous avez l'entière liberté de passer votre chemin sans lire."</li><li>'Vous êtes naif si vous croyez que seuls les Russes ont ce genre de comportement en tant de guerre...vous devez être de ceux qui croient en la guerre "propre" que les Occidentaux prétendre faire depuis 40 ans (parfois avec les Russes comme alliés d\'ailleurs).'</li><li>'Voilà donc un reportage qui, peut-être un peu "à l\'insu de son plein gré", confirme que l\'Ukraine actuelle est une fiction, stricte création soviétique. Il y a en fait trois Ukraine, la russophone qui est russe et veut rejoindre la mère-patrie, la polonaise et la austro-hongroise. Quant à l\'ukrainien, c\'est un "patois" de russe (moi je préfère l\'expression langue dérivée du russe, mais aux racines foncièrement russes, comme ma traductrice en Crimée me l\'avait expliqué, explication que j\'ai faîte mienne n\'ayant pas les connaissances linguistiques pour la contester). Les frontières ne sont pas création divine. Elles ne sont jamais définitives. Par exemple, la dernière modification des frontières françaises remonte à l\'indépendance des Comores. Jusqu\'en 1962, l\'Algérie était trois départements français. Et peut-être qu\'un jour la Nouvelle Calédonie ne sera plus française, que la Guyane sera indépendante, et ainsi de suite...'</li></ul> |
## Evaluation
### Metrics
| Label | Accuracy |
|:--------|:---------|
| **all** | 0.7626 |
## Uses
### Direct Use for Inference
First install the SetFit library:
```bash
pip install setfit
```
Then you can load this model and run inference.
```python
from setfit import SetFitModel
# Download from the 🤗 Hub
model = SetFitModel.from_pretrained("gentilrenard/paraphrase-multilingual-mpnet-base-v2_setfit-lemonde-french")
# Run inference
preds = model("Pour Yves Pozzo di Borgo, c'est une tradition familliale. Charles André Pozzo di Borgo fut ambassadeur de la Russie.")
```
## Training Details
### Training Set Metrics
| Training set | Min | Median | Max |
|:-------------|:----|:--------|:----|
| Word count | 1 | 63.1703 | 180 |
| Label | Training Sample Count |
|:------|:----------------------|
| 0 | 115 |
| 1 | 82 |
| 2 | 126 |
### Training Hyperparameters
- batch_size: (32, 32)
- num_epochs: (2, 2)
- max_steps: 2350
- sampling_strategy: oversampling
- body_learning_rate: (3e-07, 3e-07)
- head_learning_rate: 0.01
- loss: CosineSimilarityLoss
- distance_metric: cosine_distance
- margin: 0.25
- end_to_end: False
- use_amp: False
- warmup_proportion: 0.1
- seed: 42
- run_name: setfit_optimized_v4
- eval_max_steps: -1
- load_best_model_at_end: True
### Training Results
| Epoch | Step | Training Loss | Validation Loss |
|:----------:|:--------:|:-------------:|:---------------:|
| 0.0005 | 1 | 0.243 | - |
| 0.0234 | 50 | 0.2654 | 0.2636 |
| 0.0467 | 100 | 0.2942 | 0.2611 |
| 0.0701 | 150 | 0.2462 | 0.2572 |
| 0.0934 | 200 | 0.2562 | 0.2546 |
| 0.1168 | 250 | 0.2445 | 0.2505 |
| 0.1401 | 300 | 0.2206 | 0.2473 |
| 0.1635 | 350 | 0.2435 | 0.2453 |
| 0.1868 | 400 | 0.1985 | 0.2425 |
| 0.2102 | 450 | 0.265 | 0.2411 |
| 0.2335 | 500 | 0.2408 | 0.2387 |
| 0.2569 | 550 | 0.1986 | 0.2369 |
| 0.2802 | 600 | 0.2071 | 0.2351 |
| 0.3036 | 650 | 0.2119 | 0.2341 |
| 0.3270 | 700 | 0.2558 | 0.2314 |
| 0.3503 | 750 | 0.215 | 0.2292 |
| 0.3737 | 800 | 0.2286 | 0.2271 |
| 0.3970 | 850 | 0.2495 | 0.2256 |
| 0.4204 | 900 | 0.1844 | 0.2237 |
| 0.4437 | 950 | 0.2529 | 0.2216 |
| 0.4671 | 1000 | 0.2074 | 0.2202 |
| 0.4904 | 1050 | 0.1753 | 0.2188 |
| 0.5138 | 1100 | 0.2216 | 0.2169 |
| 0.5371 | 1150 | 0.1878 | 0.2153 |
| 0.5605 | 1200 | 0.1862 | 0.2142 |
| 0.5838 | 1250 | 0.1682 | 0.2129 |
| 0.6072 | 1300 | 0.2425 | 0.2116 |
| 0.6305 | 1350 | 0.174 | 0.211 |
| 0.6539 | 1400 | 0.1641 | 0.209 |
| 0.6773 | 1450 | 0.2014 | 0.2094 |
| 0.7006 | 1500 | 0.1423 | 0.2083 |
| 0.7240 | 1550 | 0.204 | 0.2078 |
| 0.7473 | 1600 | 0.2265 | 0.2075 |
| 0.7707 | 1650 | 0.1812 | 0.2063 |
| 0.7940 | 1700 | 0.1804 | 0.2058 |
| 0.8174 | 1750 | 0.1658 | 0.2055 |
| 0.8407 | 1800 | 0.1374 | 0.2064 |
| 0.8641 | 1850 | 0.1316 | 0.2057 |
| 0.8874 | 1900 | 0.1566 | 0.205 |
| **0.9108** | **1950** | **0.2053** | **0.2035** |
| 0.9341 | 2000 | 0.1436 | 0.2046 |
| 0.9575 | 2050 | 0.2436 | 0.2039 |
| 0.9809 | 2100 | 0.1999 | 0.2038 |
| 1.0042 | 2150 | 0.1459 | 0.2042 |
| 1.0276 | 2200 | 0.1669 | 0.2044 |
| 1.0509 | 2250 | 0.1705 | 0.2042 |
| 1.0743 | 2300 | 0.1509 | 0.2038 |
| 1.0976 | 2350 | 0.1382 | 0.2036 |
* The bold row denotes the saved checkpoint.
### Framework Versions
- Python: 3.10.12
- SetFit: 1.0.3
- Sentence Transformers: 2.3.0
- Transformers: 4.36.0
- PyTorch: 2.0.0
- Datasets: 2.16.1
- Tokenizers: 0.15.0
## Citation
### BibTeX
```bibtex
@article{https://doi.org/10.48550/arxiv.2209.11055,
doi = {10.48550/ARXIV.2209.11055},
url = {https://arxiv.org/abs/2209.11055},
author = {Tunstall, Lewis and Reimers, Nils and Jo, Unso Eun Seo and Bates, Luke and Korat, Daniel and Wasserblat, Moshe and Pereg, Oren},
keywords = {Computation and Language (cs.CL), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Efficient Few-Shot Learning Without Prompts},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution 4.0 International}
}
``` |