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:
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 .
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.
The model can accurately detect 102 languages. You can find the list on the dataset page.
The model has been trained and evaluated on the complete google/fleurs training and validation sets.
The training script is included in the repository. The model has been trained on an p3dn.24xlarge instance on AWS (8 NVIDIA V100 GPUs).
The following hyperparameters were used during training:
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 |