sentence-transformers safetensors xlm-roberta sentence-similarity feature-extraction generated_from_trainer dataset_size:296234 loss:CachedGISTEmbedLoss legal taxation fiscalité tax fr dataset:louisbrulenaudet/code-impots dataset:louisbrulenaudet/code-impots-annexe-iv dataset:louisbrulenaudet/code-impots-annexe-iii dataset:louisbrulenaudet/code-impots-annexe-i dataset:louisbrulenaudet/code-impots-annexe-ii dataset:louisbrulenaudet/livre-procedures-fiscales dataset:louisbrulenaudet/bofip arxiv:1908.10084 base_model:intfloat/multilingual-e5-large base_model:finetune:intfloat/multilingual-e5-large license:apache-2.0 model-index co2_eq_emissions autotrain_compatible text-embeddings-inference endpoints_compatible region:us
---
base_model: intfloat/multilingual-e5-large
datasets:
- louisbrulenaudet/code-impots
- louisbrulenaudet/code-impots-annexe-iv
- louisbrulenaudet/code-impots-annexe-iii
- louisbrulenaudet/code-impots-annexe-i
- louisbrulenaudet/code-impots-annexe-ii
- louisbrulenaudet/livre-procedures-fiscales
- louisbrulenaudet/bofip
language:
- fr
library_name: sentence-transformers
license: apache-2.0
metrics:
- cosine_accuracy@1
- cosine_accuracy@3
- cosine_accuracy@5
- cosine_accuracy@10
- cosine_precision@1
- cosine_precision@3
- cosine_precision@5
- cosine_precision@10
- cosine_recall@1
- cosine_recall@3
- cosine_recall@5
- cosine_recall@10
- cosine_ndcg@10
- cosine_mrr@10
- cosine_map@100
- dot_accuracy@1
- dot_accuracy@3
- dot_accuracy@5
- dot_accuracy@10
- dot_precision@1
- dot_precision@3
- dot_precision@5
- dot_precision@10
- dot_recall@1
- dot_recall@3
- dot_recall@5
- dot_recall@10
- dot_ndcg@10
- dot_mrr@10
- dot_map@100
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:296234
- loss:CachedGISTEmbedLoss
- legal
- taxation
- fiscalité
- tax
widget:
- source_sentence: 'query: Commentez les dispositions de l''article L. 643-9 et de
    l''article L. 643-13 du Code de commerce, telles que modifiées par l''ordonnance
    n° 2014-326 du 12 mars 2014.'
  sentences:
  - 'passage: Conformément aux dispositions de l''article 344 O de l''annexe III du
    Code général des impôts, toute déclaration relative au deuxième alinéa de l''article
    1635 quater P du même code, concernant la situation des biens immobiliers, doit
    impérativement être transmise par voie électronique auprès du service des impôts
    compétent. Cette déclaration inclura les informations requises listées du 1° au
    6° de l''article 344 N.'
  - 'passage: Les formes et le délai de présentation de la demande de renseignements
    prévue au I de l''article L. 145 A ainsi que les conséquences attachées à leur
    respect sont régis conformément aux dispositions de l''article R. 611-12 du Code
    de commerce.'
  - 'passage: Les dispositions de l''ordonnance n° 2014-326 du 12 mars 2014 apportent
    des ajustements spécifiques à certains articles du Code de commerce, véritable
    pierre angulaire de la législation régissant les procédures collectives en France.
    En particulier, l''article L. 643-9 connait une modificaton dans le cadre de la
    gestion de la liquidation judiciaire et de sa clôture pour insuffisance d''actif,
    impliquant ainsi des conditions plus précises quant à l''appréciation de la capacité
    à satisfaire l''intégralité du passif par les actifs disponibles. Parallèlement,
    l''article L. 643-13 procède à encadrer les conditions de reprise de la procédure
    de liquidation judiciaire, offrant ainsi un cadre légal actualisé pour les cas
    où la liquidation précédemment clôturée pourrait être réouverte. Ces modifications,
    qui s''appliquent rétroactivement aux procédures antérieurement engagées, traduisent
    une volonté législative de réconcilier les impératifs d''efficacité et de justice
    au sein du traitement des situations d''insolvabilité, assurant ainsi un équilibre
    entre les intérêts des créanciers et ceux de l''entreprise débitrice.'
- source_sentence: 'query: Analyser le cadre réglementaire défini par l''article D.
    112-3 du Code monétaire et financier concernant les plafonds de paiement en espèces
    par les débiteurs ayant leur domicile fiscal en France.'
  sentences:
  - 'passage: Quelles sont les conséquences, sur l''obligation fiscale d''une personne
    physique résidente en France, de la détention directe ou indirecte de parts dans
    une entité étrangère qui est soumise à un régime fiscal privilégié, et ce, en
    relation avec les dispositions de l''article 123 bis du Code général des impôts
    concernant l''assimilation de ces bénéfices à des revenus de capitaux mobiliers
    ?'
  - 'passage: Conformément aux dispositions de l''article D. 112-3 du Code monétaire
    et financier, le débiteur résidant fiscalement en France est astreint à une limitation
    de paiement en espèces à hauteur de 1 000 euros. Cette mesure vise à encadrer
    les transactions et à réduire les risques associés à la fraude fiscale. Tout montant
    supérieur à ce plafond devra, de ce fait, être réglé par d''autres moyens de paiement
    tels que chèque barré, virement ou carte de paiement.'
  - 'passage: Le Bulletin officiel des finances publiques-impôts (Bofip) dans son
    document BOI-REC-SOLID-30-10 précise la procédure d''exercice de l''action paulienne.
    L''action paulienne se caractérise par une phase préalable consistant à administrer
    des preuves relatives à la créance et au préjudice subi, ainsi qu''à la complicité
    entre le débiteur et les tiers acquéreurs. Par ailleurs, le juge est appelé à
    se positionner à la date de l''acte litigieux pour apprécier l''éventuelle fraude
    commise par le débiteur. La procédure judiciaire nécessite donc une approche minutieuse
    et conforme au cadre légal, impliquant la collecte d''éléments probants et l''appréciation
    judiciaire objective de la situation.'
- source_sentence: 'query: Analyser la mesure par laquelle les associés ou membres
    d''un groupement forestier doivent répondre vis-à-vis de la présentation de certains
    documents à l''administration fiscale, en se référant aux dispositions de l''article
    46 AGI annexé au code général des impôts.'
  sentences:
  - 'passage: Conformément aux articles 164 F quinvicies et 164 F sexvicies de l''Annexe
    IV du Code général des impôts, les adhérents des associations agréées sont tenus
    de notifier par écrit à leur association respective toute mesure prise en réponse
    aux exigences disposées. Il incombe alors à l''association de vérifier et de s''assurer
    que ces obligations soient dûment remplies.'
  - 'passage: D''après l''article 46 AGJ de l''annexe III du Code général des impôts,
    il est impératif que les associés ou membres d''un groupement forestier maintiennent
    à la disposition de l''administration fiscale le document spécifié au II de l''article
    46 AGI. Ce document est essentiel pour attester de la conformité aux exigences
    fiscales liées au groupement et pour s''assurer de la pérennité des engagements
    pris par les membres. Ces procédures de documentation sont cruciales pour garantir
    la transparence et permettre à l''administration fiscale d''effectuer les vérifications
    nécessaires.'
  - 'passage: L''interaction entre le Code des douanes et le Code de la route se concrétise
    par la provision de l''article 64 B du Code des douanes. Ce dernier établit une
    procédure formelle où les fonctionnaires des douanes sont en droit de requérir
    des données spécifiques mentionnées dans les articles L. 330-2 à L. 330-4 du Code
    de la route. Ces informations touchent principalement à des aspects cruciaux tels
    que la circulation et l''enregistrement des véhicules, éléments essentiels pour
    diverses opérations de douane, incluant mais sans se limiter au contrôle du trafic
    transfrontalier et à la surveillance des infractions liées à la fiscalité des
    véhicules. L''efficience des opérations douanières s''en trouve renforcée, permettant
    une synergie entre deux corps étatiques, facilitant ainsi une application plus
    stricte et cohérente des lois dans les domaines correspondants.'
- source_sentence: 'query: Analysez l''influence d''un transfert de titres dans un
    patrimoine fiduciaire sur la composition d''un groupe fiscal, en prenant en compte
    les dispositions du Code général des impôts.'
  sentences:
  - 'passage: Conformément au cinquième alinéa du a ter du I de l''article 219 du
    Code général des impôts, le traitement fiscal des transferts de titres entre divers
    comptes du bilan, notamment vers le compte des titres de participation ou vers
    toute subdivision affectée aux ''titres relevant du régime des plus-values à long
    terme'', implique l''intégration des plus ou moins-values générées par ces transferts
    dans le résultat fiscal imposable. Cette intégration est effectuée selon les normes
    et le taux de droit commun applicables lors de l''exercice fiscal durant lequel
    les titres sont cédés. Les plus-values réalisées à long terme à la suite de tels
    transferts contribuent à déterminer la plus ou moins-value nette à long terme
    pour l''exercice concerné, au terme duquel cesse le bénéfice du report. Les plus
    ou moins-values à court terme qui émergent de ces opérations sont également incorporées
    au résultat imposable, respectant les conditions de droit commun de l''exercice
    de cession.'
  - 'passage: Les agents fiscaux disposent de droits étendus et spécifiques pour l''accès
    aux documents comptables des entités lucratives, conformément aux articles L.
    85 et R*85-1 du Livre des procédures fiscales. Ces articles leur confèrent le
    pouvoir d''exiger la communication de tous documents utiles au contrôle fiscal.
    Par ailleurs, le Code de commerce, aux articles L. 123-12 à L. 123-24, précise
    les obligations de tenue et de conservation des livres comptables, garantissant
    ainsi aux agents fiscaux un droit de regard sur la gestion financière des activités
    commerciales. Ces dispositions assurent une base juridique robuste, autorisant
    les intervenants fiscaux à requérir et vérifier toute documentation nécessaire
    à l''évaluation de la conformité fiscale.'
  - 'passage: L''analyse de l''impact d''un transfert de titres dans un patrimoine
    fiduciaire, en matière de composition de groupe fiscal, s''effectue à l''aune
    de l''article 223 A et de l''article 238 quater B du Code général des impôts.
    En principe, un transfert de propriété des titres vers un patrimoine fiduciaire
    équivaut à leur exclusion du calcul du seuil de détention de capital pour l''appartenance
    à un groupe fiscal. Cependant, une exception spécifique autorise la prise en compte
    des titres transférés si deux conditions prépondérantes sont remplies : l''attachement
    de droits de vote et de dividendes aux titres cédés et la rétention par le constituant
    de l''exercice des droits de vote ou leur utilisation par le fiduciaire conformément
    aux directives du constituant, à condition que les termes contractuels de la fiducie
    ne s''y opposent pas. Cette particularité légale favorise ainsi la continuité
    ou l''intégration fiscale au sein du groupe pour les sociétés transférantes, tant
    que les conditions de détention sont observées, et ce, pour les exercices clôturés
    postérieurement au 31 décembre 2014.'
- source_sentence: 'query: Décrivez avec précision les étapes détaillées requises
    pour traiter les réclamations collectives résultant de désastres agricoles comme
    définies dans l''article R*198-2 du Livre des procédures fiscales.'
  sentences:
  - 'passage: Conformément à l''article 310 K annexé au code général des impôts, l''usine
    marémotrice de la Rance, localisée entre Saint-Malo et La Richardais en Ille-et-Vilaine,
    peut prétendre à une déduction complémentaire. Cette dernière, prévue par le dernier
    alinéa de l''article 1499 du même code, se voit attribuer un taux de 50 %. Ce
    dispositif fiscal s''avère donc pertinent pour l''usine considérée, lui permettant
    de bénéficier d''un avantage significatif quant à sa charge fiscale.'
  - 'passage: Selon les dispositions de l''article R*196-6 du Livre des procédures
    fiscales, il est attribué aux sujets fiscaux un intervalle précisément défini
    pour élever des réclamations à l''égard des taxes, cotisations et autres prélèvements
    relatifs aux céréales et leurs transformés. Ce délai se prolonge jusqu''à la fin
    de la campagne agricole suivante celle au cours de laquelle l''avis de mise en
    recouvrement de la taxe a été notifié ou le règlement de l''imposition contestée
    effectué, permettant ainsi aux parties prenantes de se prévaloir de leurs prérogatives
    contestataires avec une certitude temporelle.'
  - 'passage: Selon l''article R*198-2 du Livre des procédures fiscales, le traitement
    des réclamations collectives en cas de catastrophes naturelles impactant les cultures
    agricoles, incluant des phénomènes tels que la grêle ou les inondations, exige
    la collaboration de plusieurs entités administratives. Initialement, deux commissaires
    sont nommés par l''administration fiscale pour superviser le processus. Ils sont
    assistés par un délégué de l''administration des impôts. Avant toute action, le
    maire de la commune affectée est notifié au moins dix jours avant l''inspection
    prévue, et il est chargé de communiquer cette date aux résidents via des affichages
    publics. Les agriculteurs affectés doivent alors rapporter leurs pertes à la mairie
    avant la réalisation d''un constat officiel par l''inspecteur des impôts, qui
    sera consigné dans un procès-verbal. Une fois ce document clôturé, aucune réclamation
    supplémentaire n''est acceptée.'
co2_eq_emissions:
  emissions: 639.1701976661614
  energy_consumed: 1.731537987110345
  source: codecarbon
  training_type: fine-tuning
  on_cloud: false
  cpu_model: AMD EPYC 9V84 96-Core Processor
  ram_total_size: 314.68627548217773
  hours_used: 3.122
  hardware_used: 1 x NVIDIA H100 NVL
model-index:
- name: SentenceTransformer based on intfloat/multilingual-e5-large
  results:
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: Lemone information retrieval
      type: Lemone-information-retrieval
    metrics:
    - type: cosine_accuracy@1
      value: 0.9755940912010276
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.993577392421323
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.9955041746949261
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.9980732177263969
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.9755940912010276
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.33119246414044107
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.19910083493898523
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09980732177263968
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.9755940912010276
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.993577392421323
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.9955041746949261
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.9980732177263969
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.9880257117025592
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.9846889622901183
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.9847388220068477
      name: Cosine Map@100
    - type: dot_accuracy@1
      value: 0.9755940912010276
      name: Dot Accuracy@1
    - type: dot_accuracy@3
      value: 0.993577392421323
      name: Dot Accuracy@3
    - type: dot_accuracy@5
      value: 0.9955041746949261
      name: Dot Accuracy@5
    - type: dot_accuracy@10
      value: 0.9980732177263969
      name: Dot Accuracy@10
    - type: dot_precision@1
      value: 0.9755940912010276
      name: Dot Precision@1
    - type: dot_precision@3
      value: 0.33119246414044107
      name: Dot Precision@3
    - type: dot_precision@5
      value: 0.19910083493898523
      name: Dot Precision@5
    - type: dot_precision@10
      value: 0.09980732177263968
      name: Dot Precision@10
    - type: dot_recall@1
      value: 0.9755940912010276
      name: Dot Recall@1
    - type: dot_recall@3
      value: 0.993577392421323
      name: Dot Recall@3
    - type: dot_recall@5
      value: 0.9955041746949261
      name: Dot Recall@5
    - type: dot_recall@10
      value: 0.9980732177263969
      name: Dot Recall@10
    - type: dot_ndcg@10
      value: 0.9880257117025592
      name: Dot Ndcg@10
    - type: dot_mrr@10
      value: 0.9846889622901183
      name: Dot Mrr@10
    - type: dot_map@100
      value: 0.9847388220068477
      name: Dot Map@100
---

<img src="assets/thumbnail.webp">

# Lemone-Embed: A Series of Fine-Tuned Embedding Models for French Taxation

<div class="not-prose bg-gradient-to-r from-gray-50-to-white text-gray-900 border" style="border-radius: 8px; padding: 0.5rem 1rem;">
    <p>This series is made up of 7 models, 3 basic models of different sizes trained on 1 epoch, 3 models trained on 2 epochs making up the Boost series and a Pro model with a non-Roberta architecture.</p>
</div>

This sentence transformers model, specifically designed for French taxation, has been fine-tuned on a dataset comprising 43 million tokens, integrating a blend of semi-synthetic and fully synthetic data generated by GPT-4 Turbo and Llama 3.1 70B, which have been further refined through evol-instruction tuning and manual curation. 

The model is tailored to meet the specific demands of information retrieval across large-scale tax-related corpora, supporting the implementation of production-ready Retrieval-Augmented Generation (RAG) applications. Its primary purpose is to enhance the efficiency and accuracy of legal processes in the taxation domain, with an emphasis on delivering consistent performance in real-world settings, while also contributing to advancements in legal natural language processing research.

This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [intfloat/multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large). It maps sentences & paragraphs to a 1024-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, text classification, clustering, and more.

## Model Details

### Model Description
- **Model Type:** Sentence Transformer
- **Base model:** [intfloat/multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large) <!-- at revision ab10c1a7f42e74530fe7ae5be82e6d4f11a719eb -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 1024 tokens
- **Similarity Function:** Cosine Similarity
- **Developed by:** Louis Brulé Naudet
- **Funded by:** Microsoft for Startups
- **Shared by:** Louis Brulé Naudet
- **Model type:** Sentence Transformers
- **Language(s) (NLP):** FR
- **License:** Apache 2
- **Finetuned from model:** [intfloat/multilingual-e5-large](https://huggingface.co/intfloat/multilingual-e5-large) <!-- at revision ab10c1a7f42e74530fe7ae5be82e6d4f11a719eb -->

### Model Sources

- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)

### Full Model Architecture

```
SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: XLMRobertaModel 
  (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
  (2): Normalize()
)
```

## Usage

### Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

```bash
pip install -U sentence-transformers
```

Then you can load this model and run inference.
```python
from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("louisbrulenaudet/lemone-embed-l")
# Run inference
sentences = [
    "query: Décrivez avec précision les étapes détaillées requises pour traiter les réclamations collectives résultant de désastres agricoles comme définies dans l'article R*198-2 du Livre des procédures fiscales.",
    "passage: Selon l'article R*198-2 du Livre des procédures fiscales, le traitement des réclamations collectives en cas de catastrophes naturelles impactant les cultures agricoles, incluant des phénomènes tels que la grêle ou les inondations, exige la collaboration de plusieurs entités administratives. Initialement, deux commissaires sont nommés par l'administration fiscale pour superviser le processus. Ils sont assistés par un délégué de l'administration des impôts. Avant toute action, le maire de la commune affectée est notifié au moins dix jours avant l'inspection prévue, et il est chargé de communiquer cette date aux résidents via des affichages publics. Les agriculteurs affectés doivent alors rapporter leurs pertes à la mairie avant la réalisation d'un constat officiel par l'inspecteur des impôts, qui sera consigné dans un procès-verbal. Une fois ce document clôturé, aucune réclamation supplémentaire n'est acceptée.",
    "passage: Selon les dispositions de l'article R*196-6 du Livre des procédures fiscales, il est attribué aux sujets fiscaux un intervalle précisément défini pour élever des réclamations à l'égard des taxes, cotisations et autres prélèvements relatifs aux céréales et leurs transformés. Ce délai se prolonge jusqu'à la fin de la campagne agricole suivante celle au cours de laquelle l'avis de mise en recouvrement de la taxe a été notifié ou le règlement de l'imposition contestée effectué, permettant ainsi aux parties prenantes de se prévaloir de leurs prérogatives contestataires avec une certitude temporelle.",
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
```

<!--
### Direct Usage (Transformers)

<details><summary>Click to see the direct usage in Transformers</summary>

</details>
-->

<!--
### Downstream Usage (Sentence Transformers)

You can finetune this model on your own dataset.

<details><summary>Click to expand</summary>

</details>
-->

<!--
### Out-of-Scope Use

*List how the model may foreseeably be misused and address what users ought not to do with the model.*
-->

## Evaluation

### Metrics

#### Information Retrieval
* Dataset: `Lemone-information-retrieval`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | Value      |
|:--------------------|:-----------|
| cosine_accuracy@1   | 0.9756     |
| cosine_accuracy@3   | 0.9936     |
| cosine_accuracy@5   | 0.9955     |
| cosine_accuracy@10  | 0.9981     |
| cosine_precision@1  | 0.9756     |
| cosine_precision@3  | 0.3312     |
| cosine_precision@5  | 0.1991     |
| cosine_precision@10 | 0.0998     |
| cosine_recall@1     | 0.9756     |
| cosine_recall@3     | 0.9936     |
| cosine_recall@5     | 0.9955     |
| cosine_recall@10    | 0.9981     |
| cosine_ndcg@10      | 0.988      |
| cosine_mrr@10       | 0.9847     |
| **cosine_map@100**  | **0.9847** |
| dot_accuracy@1      | 0.9756     |
| dot_accuracy@3      | 0.9936     |
| dot_accuracy@5      | 0.9955     |
| dot_accuracy@10     | 0.9981     |
| dot_precision@1     | 0.9756     |
| dot_precision@3     | 0.3312     |
| dot_precision@5     | 0.1991     |
| dot_precision@10    | 0.0998     |
| dot_recall@1        | 0.9756     |
| dot_recall@3        | 0.9936     |
| dot_recall@5        | 0.9955     |
| dot_recall@10       | 0.9981     |
| dot_ndcg@10         | 0.988      |
| dot_mrr@10          | 0.9847     |
| dot_map@100         | 0.9847     |

<!--
## Bias, Risks and Limitations

*What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
-->

<!--
### Recommendations

*What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
-->

## Training Details

### Training Dataset

* Size: 296,234 training samples
* Columns: <code>query</code>, <code>positive</code>, and <code>negative</code>
* Approximate statistics based on the first 1000 samples:
  |         | query                                                                              | positive                                                                             | negative                                                                            |
  |:--------|:-----------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|
  | type    | string                                                                             | string                                                                               | string                                                                              |
  | details | <ul><li>min: 24 tokens</li><li>mean: 54.2 tokens</li><li>max: 179 tokens</li></ul> | <ul><li>min: 75 tokens</li><li>mean: 182.28 tokens</li><li>max: 332 tokens</li></ul> | <ul><li>min: 53 tokens</li><li>mean: 190.2 tokens</li><li>max: 456 tokens</li></ul> |
* Loss: [<code>CachedGISTEmbedLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#cachedgistembedloss) with these parameters:
  ```json
  {'guide': SentenceTransformer(
    (0): Transformer({'max_seq_length': 8192, 'do_lower_case': False}) with Transformer model: NewModel 
    (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
    (2): Normalize()
  ), 'temperature': 0.01}
  ```

### Training Hyperparameters
#### Non-Default Hyperparameters

- `eval_strategy`: steps
- `per_device_train_batch_size`: 128
- `learning_rate`: 1e-05
- `num_train_epochs`: 1
- `warmup_ratio`: 0.1
- `fp16`: True
- `batch_sampler`: no_duplicates

#### All Hyperparameters
<details><summary>Click to expand</summary>

- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: steps
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 128
- `per_device_eval_batch_size`: 8
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 1
- `eval_accumulation_steps`: None
- `torch_empty_cache_steps`: None
- `learning_rate`: 1e-05
- `weight_decay`: 0.0
- `adam_beta1`: 0.9
- `adam_beta2`: 0.999
- `adam_epsilon`: 1e-08
- `max_grad_norm`: 1.0
- `num_train_epochs`: 1
- `max_steps`: -1
- `lr_scheduler_type`: linear
- `lr_scheduler_kwargs`: {}
- `warmup_ratio`: 0.1
- `warmup_steps`: 0
- `log_level`: passive
- `log_level_replica`: warning
- `log_on_each_node`: True
- `logging_nan_inf_filter`: True
- `save_safetensors`: True
- `save_on_each_node`: False
- `save_only_model`: False
- `restore_callback_states_from_checkpoint`: False
- `no_cuda`: False
- `use_cpu`: False
- `use_mps_device`: False
- `seed`: 42
- `data_seed`: None
- `jit_mode_eval`: False
- `use_ipex`: False
- `bf16`: False
- `fp16`: True
- `fp16_opt_level`: O1
- `half_precision_backend`: auto
- `bf16_full_eval`: False
- `fp16_full_eval`: False
- `tf32`: None
- `local_rank`: 0
- `ddp_backend`: None
- `tpu_num_cores`: None
- `tpu_metrics_debug`: False
- `debug`: []
- `dataloader_drop_last`: False
- `dataloader_num_workers`: 0
- `dataloader_prefetch_factor`: None
- `past_index`: -1
- `disable_tqdm`: False
- `remove_unused_columns`: True
- `label_names`: None
- `load_best_model_at_end`: False
- `ignore_data_skip`: False
- `fsdp`: []
- `fsdp_min_num_params`: 0
- `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
- `fsdp_transformer_layer_cls_to_wrap`: None
- `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
- `deepspeed`: None
- `label_smoothing_factor`: 0.0
- `optim`: adamw_torch
- `optim_args`: None
- `adafactor`: False
- `group_by_length`: False
- `length_column_name`: length
- `ddp_find_unused_parameters`: None
- `ddp_bucket_cap_mb`: None
- `ddp_broadcast_buffers`: False
- `dataloader_pin_memory`: True
- `dataloader_persistent_workers`: False
- `skip_memory_metrics`: True
- `use_legacy_prediction_loop`: False
- `push_to_hub`: False
- `resume_from_checkpoint`: None
- `hub_model_id`: None
- `hub_strategy`: every_save
- `hub_private_repo`: False
- `hub_always_push`: False
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `eval_do_concat_batches`: True
- `fp16_backend`: auto
- `push_to_hub_model_id`: None
- `push_to_hub_organization`: None
- `mp_parameters`: 
- `auto_find_batch_size`: False
- `full_determinism`: False
- `torchdynamo`: None
- `ray_scope`: last
- `ddp_timeout`: 1800
- `torch_compile`: False
- `torch_compile_backend`: None
- `torch_compile_mode`: None
- `dispatch_batches`: None
- `split_batches`: None
- `include_tokens_per_second`: False
- `include_num_input_tokens_seen`: False
- `neftune_noise_alpha`: None
- `optim_target_modules`: None
- `batch_eval_metrics`: False
- `eval_on_start`: False
- `eval_use_gather_object`: False
- `batch_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional

</details>

### Environmental Impact
Carbon emissions were measured using [CodeCarbon](https://github.com/mlco2/codecarbon).
- **Energy Consumed**: 1.732 kWh
- **Carbon Emitted**: 0.639 kg of CO2
- **Hours Used**: 3.122 hours

### Training Hardware
- **On Cloud**: No
- **GPU Model**: 1 x NVIDIA H100 NVL
- **CPU Model**: AMD EPYC 9V84 96-Core Processor
- **RAM Size**: 314.69 GB

### Framework Versions
- Python: 3.10.12
- Sentence Transformers: 3.1.1
- Transformers: 4.44.2
- PyTorch: 2.3.0+cu121
- Accelerate: 0.33.0
- Datasets: 2.21.0
- Tokenizers: 0.19.1

## Citation

### BibTeX

#### Sentence Transformers
```bibtex
@inproceedings{reimers-2019-sentence-bert,
    title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
    author = "Reimers, Nils and Gurevych, Iryna",
    booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
    month = "11",
    year = "2019",
    publisher = "Association for Computational Linguistics",
    url = "https://arxiv.org/abs/1908.10084",
}
```

If you use this code in your research, please use the following BibTeX entry.

```BibTeX
@misc{louisbrulenaudet2024,
  author =       {Louis Brulé Naudet},
  title =        {Lemone-Embed: A Series of Fine-Tuned Embedding Models for French Taxation},
  year =         {2024}
  howpublished = {\url{https://huggingface.co/datasets/louisbrulenaudet/lemone-embed-l}},
}
```

## Feedback

If you have any feedback, please reach out at [louisbrulenaudet@icloud.com](mailto:louisbrulenaudet@icloud.com).