
<!-- This model card has been generated automatically according to the information the Trainer had access to. You
should probably proofread and complete it, then remove this comment. -->

# xlm-v-base-language-id

This model is a fine-tuned version of [facebook/xlm-v-base](https://huggingface.co/facebook/xlm-v-base) on the [google/fleurs](https://huggingface.co/datasets/google/fleurs) dataset.
It achieves the following results on the evaluation set:
- Loss: 0.0241
- Accuracy: 0.9930

# Usage

The simplest way to use the model is with a text classification pipeline:

```
from transformers import pipeline

model_id = "juliensimon/xlm-v-base-language-id"
p = pipeline("text-classification", model=model_id)
p("Hello world")
# [{'label': 'English', 'score': 0.9802148342132568}]
```

The model is also compatible with [Optimum Intel](https://github.com/huggingface/optimum-intel). 

For example, you can optimize it with Intel OpenVINO and enjoy a 2x inference speedup (or more).

```
from optimum.intel.openvino import OVModelForSequenceClassification
from transformers import AutoTokenizer, pipeline

model_id = "juliensimon/xlm-v-base-language-id"
ov_model = OVModelForSequenceClassification.from_pretrained(model_id)
tokenizer = AutoTokenizer.from_pretrained(model_id)
p = pipeline("text-classification", model=ov_model, tokenizer=tokenizer)
p("Hello world")
# [{'label': 'English', 'score': 0.9802149534225464}]
```

An OpenVINO version of the model is available in the repository.

## Intended uses & limitations

The model can accurately detect 102 languages. You can find the list on the [dataset](https://huggingface.co/datasets/google/fleurs) page.

## Training and evaluation data

The model has been trained and evaluated on the complete google/fleurs training and validation sets.

## Training procedure

The training script is included in the repository. The model has been trained on an p3dn.24xlarge instance on AWS (8 NVIDIA V100 GPUs).

### Training hyperparameters

The following hyperparameters were used during training:
- learning_rate: 3e-05
- train_batch_size: 128
- eval_batch_size: 128
- seed: 42
- gradient_accumulation_steps: 4
- total_train_batch_size: 512
- optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
- lr_scheduler_type: linear
- lr_scheduler_warmup_ratio: 0.1
- num_epochs: 5
- mixed_precision_training: Native AMP

### Training results

| Training Loss | Epoch | Step | Validation Loss | Accuracy |
|:-------------:|:-----:|:----:|:---------------:|:--------:|
| 0.6368        | 1.0   | 531  | 0.4593          | 0.9689   |
| 0.059         | 2.0   | 1062 | 0.0412          | 0.9899   |
| 0.0311        | 3.0   | 1593 | 0.0275          | 0.9918   |
| 0.0255        | 4.0   | 2124 | 0.0243          | 0.9928   |
| 0.017         | 5.0   | 2655 | 0.0241          | 0.9930   |


### Framework versions

- Transformers 4.26.0
- Pytorch 1.13.1
- Datasets 2.8.0
- Tokenizers 0.13.2

{"license": "mit", "tags": ["generated_from_trainer", "language-identification", "openvino"], "datasets": ["fleurs"], "metrics": ["accuracy"], "pipeline_tag": "text-classification", "base_model": "facebook/xlm-v-base", "model-index": [{"name": "xlm-v-base-language-id", "results": [{"task": {"type": "text-classification", "name": "Text Classification"}, "dataset": {"name": "fleurs", "type": "fleurs", "config": "all", "split": "validation", "args": "all"}, "metrics": [{"type": "accuracy", "value": 0.9930337861372344, "name": "Accuracy"}]}]}]}
transformers pytorch safetensors openvino xlm-roberta text-classification generated_from_trainer language-identification dataset:fleurs base_model:facebook/xlm-v-base license:mit model-index autotrain_compatible endpoints_compatible has_space region:us
TAGS
#transformers #pytorch #safetensors #openvino #xlm-roberta #text-classification #generated_from_trainer #language-identification #dataset-fleurs #base_model-facebook/xlm-v-base #license-mit #model-index #autotrain_compatible #endpoints_compatible #has_space #region-us 

xlm-v-base-language-id
======================


This model is a fine-tuned version of facebook/xlm-v-base on the google/fleurs dataset.
It achieves the following results on the evaluation set:


* Loss: 0.0241
* Accuracy: 0.9930


Usage
=====


The simplest way to use the model is with a text classification pipeline:


The model is also compatible with Optimum Intel.


For example, you can optimize it with Intel OpenVINO and enjoy a 2x inference speedup (or more).


An OpenVINO version of the model is available in the repository.


Intended uses & limitations
---------------------------


The model can accurately detect 102 languages. You can find the list on the dataset page.


Training and evaluation data
----------------------------


The model has been trained and evaluated on the complete google/fleurs training and validation sets.


Training procedure
------------------


The training script is included in the repository. The model has been trained on an p3dn.24xlarge instance on AWS (8 NVIDIA V100 GPUs).


### Training hyperparameters


The following hyperparameters were used during training:


* learning\_rate: 3e-05
* train\_batch\_size: 128
* eval\_batch\_size: 128
* seed: 42
* gradient\_accumulation\_steps: 4
* total\_train\_batch\_size: 512
* optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
* lr\_scheduler\_type: linear
* lr\_scheduler\_warmup\_ratio: 0.1
* num\_epochs: 5
* mixed\_precision\_training: Native AMP


### Training results



### Framework versions


* Transformers 4.26.0
* Pytorch 1.13.1
* Datasets 2.8.0
* Tokenizers 0.13.2



### Training hyperparameters


The following hyperparameters were used during training:


* learning\_rate: 3e-05
* train\_batch\_size: 128
* eval\_batch\_size: 128
* seed: 42
* gradient\_accumulation\_steps: 4
* total\_train\_batch\_size: 512
* optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
* lr\_scheduler\_type: linear
* lr\_scheduler\_warmup\_ratio: 0.1
* num\_epochs: 5
* mixed\_precision\_training: Native AMP ### Training results ### Framework versions


* Transformers 4.26.0
* Pytorch 1.13.1
* Datasets 2.8.0
* Tokenizers 0.13.2
TAGS
#transformers #pytorch #safetensors #openvino #xlm-roberta #text-classification #generated_from_trainer #language-identification #dataset-fleurs #base_model-facebook/xlm-v-base #license-mit #model-index #autotrain_compatible #endpoints_compatible #has_space #region-us 
 ### Training hyperparameters


The following hyperparameters were used during training:


* learning\_rate: 3e-05
* train\_batch\_size: 128
* eval\_batch\_size: 128
* seed: 42
* gradient\_accumulation\_steps: 4
* total\_train\_batch\_size: 512
* optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
* lr\_scheduler\_type: linear
* lr\_scheduler\_warmup\_ratio: 0.1
* num\_epochs: 5
* mixed\_precision\_training: Native AMP ### Training results ### Framework versions


* Transformers 4.26.0
* Pytorch 1.13.1
* Datasets 2.8.0
* Tokenizers 0.13.2
TAGS
#transformers #pytorch #safetensors #openvino #xlm-roberta #text-classification #generated_from_trainer #language-identification #dataset-fleurs #base_model-facebook/xlm-v-base #license-mit #model-index #autotrain_compatible #endpoints_compatible #has_space #region-us 
### Training hyperparameters


The following hyperparameters were used during training:


* learning\_rate: 3e-05
* train\_batch\_size: 128
* eval\_batch\_size: 128
* seed: 42
* gradient\_accumulation\_steps: 4
* total\_train\_batch\_size: 512
* optimizer: Adam with betas=(0.9,0.999) and epsilon=1e-08
* lr\_scheduler\_type: linear
* lr\_scheduler\_warmup\_ratio: 0.1
* num\_epochs: 5
* mixed\_precision\_training: Native AMP### Training results### Framework versions


* Transformers 4.26.0
* Pytorch 1.13.1
* Datasets 2.8.0
* Tokenizers 0.13.2