sentence-transformers safetensors nomic_bert sentence-similarity feature-extraction generated_from_trainer dataset_size:357 loss:MatryoshkaLoss loss:MultipleNegativesRankingLoss custom_code en arxiv:1908.10084 arxiv:2205.13147 arxiv:1705.00652 base_model:nomic-ai/nomic-embed-text-v2-moe base_model:finetune:nomic-ai/nomic-embed-text-v2-moe license:apache-2.0 model-index autotrain_compatible text-embeddings-inference endpoints_compatible region:us
---
base_model: nomic-ai/nomic-embed-text-v2-moe
language:
- en
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
pipeline_tag: sentence-similarity
tags:
- sentence-transformers
- sentence-similarity
- feature-extraction
- generated_from_trainer
- dataset_size:357
- loss:MatryoshkaLoss
- loss:MultipleNegativesRankingLoss
widget:
- source_sentence: 'Last updated: September 4, 2024


    This guide will show you how to use the split tunneling feature on the ExpressVPN
    apps for Windows and Mac.


    Important: The split tunneling feature is not available on macOS 11 and above.
    Follow this guide to find out which version of macOS you are using.

    Note: Split tunneling is also not currently available on the ExpressVPN app for
    Windows 11 on ARM64.'
  sentences:
  - How to use Kodi with ExpressVPN on iOS
  - How to use the split tunneling feature
  - What’s new in ExpressVPN for Linux?
- source_sentence: 'Last updated: July 5, 2024


    Need a VPN or DNS for your device?

    Get ExpressVPN Now


    Password Health is a feature in ExpressVPN Keys designed to help improve your
    overall account security. It offers an assessment of your password security through
    a security score, as well as tips and guidance on how to improve it, protecting
    you against password hacks.


    Your security score is calculated based on the strength of your passwords, whether
    you use the same password more than once, and whether the website URLs you stored
    are secure. Your score will improve as you resolve these issues.


    Your logins and passwords are assessed locally on your device—they never leave
    your device. Learn more about the privacy of Password Health.


    To access Password Health, add at least one login, then tap on the number icon
    at the top-right of the Keys screen.


    How to improve your security score?


    Learn more about the security issues that can be affecting your security score
    and ways to improve it below.


    Weak passwords


    Weak passwords can be easy to guess or crack easily by both humans and computers,
    making them vulnerable to password theft or compromise. They include common dictionary
    words, such as “apple” or “boy” or words that are easy to guess, such as place
    names or the names of your partner.


    To keep all your accounts safe, generate strong and unique passwords in ExpressVPN
    Keys.


    Reused passwords


    A reused password is a password you use across multiple services or accounts.
    If your password is compromised, attackers may gain unauthorized access to all
    these accounts with the compromised password. The more accounts you have using
    the same password, the higher the risks involved.


    To keep all your accounts secure, use strong and unique passwords for all your
    accounts.


    Logins using an unsecure URL


    Unsecure URLs start with http:// instead of https://. Any data passing between
    you and the website is not encrypted and can be read by third parties, including
    your passwords, usernames, email address, and credit card numbers.


    To keep all your accounts safe, use only https:// in your URLs:


    On the Keys login information screen, tap Help Me Fix at the top.

    Tap Use HTTPS.

    Exposed passwords


    A password is exposed if it has been found in a list of passwords online, often
    as part of data breaches. Attackers often attempt to sign in to services by trying
    all known exposed passwords available on the dark web. The more accounts you have
    using the same exposed password, the more vulnerable you are to being hacked.


    Data breaches potentially put your passwords at risk and are being reported at
    an accelerated rate, sometimes multiple times a week. To minimize the risk of
    exposed passwords, use strong and unique passwords for all your accounts and update
    any exposed password as soon as ExpressVPN Keys alerts you to do so.


    Two-factor authentication not enabled


    Two-factor authentication (2FA) adds an extra layer of protection to your online
    accounts, preventing unauthorized access even if your passwords are compromised.


    To keep your accounts safe, you should enable 2FA where possible. ExpressVPN Keys
    lets you add 2FA codes to compatible accounts on the ExpressVPN app for Android
    and iOS. Once set up, Keys can easily generate 2FA codes—also known as time-based
    one-time passwords (TOTPs)—for websites or apps with 2FA enabled.


    Important: You can only view and copy 2FA codes on the ExpressVPN Keys browser
    extension. You will be able to add 2FA codes on the browser extension at a later
    date.


    Need help? Contact the ExpressVPN Support Team for immediate assistance.


    Back to top


    Was this article helpful?

    Yes No'
  sentences:
  - what is batch size in one line
  - What is password health?
  - How to set up ExpressVPN on Amazon Fire tablet
- source_sentence: "Thanks for the clarification that I can provide information on\
    \ ExpressVPN. I can provide some general information on ExpressVPN, or help with\
    \ troubleshooting common issues. I can provide explanations on how to install\
    \ and set up ExpressVPN on various devices. \n\nSome potential areas to explore\
    \ could be:\n\n1. Troubleshooting common issues with ExpressVPN, such as connection\
    \ problems, slow speeds, or DNS leaks.\n2. Providing step-by-step instructions\
    \ on how to install and set up ExpressVPN on different devices, such as Windows,\
    \ macOS, Android, iOS, or routers.\n3. Explaining ExpressVPN's features, such\
    \ as split tunneling, kill switch, and server locations.\n4. Discussing ExpressVPN's\
    \ pricing plans, refund policy, and customer support.\n\nWhat would you like to\
    \ know about ExpressVPN, or what type of issue would you like to troubleshoot?"
  sentences:
  - "What are the features of ExpressVPN?\n\nExpressVPN is known for its high-speed\
    \ performance and wide range of servers. Some of its key features include:\n\n\
    1. 128-bit AES encryption, \n2.  256-bit encryption,\n3.  128-bit Blowfish encryption,\n\
    4. 256-bit encryption,\n5.  AES encryption,\n6.  AES-256,\n7.  AES 256-bit encryption.\n\
    \nNote: The encryption methods are not as stated. \n\n"
  - I can provide information on ExpressVPN. What do you need help with?
  - "I'm trying to use the ExpressVPN app on my Windows 10 computer, but the VPN connection\
    \ isn't working. I've checked the account credentials, and they seem to be correct.\
    \ I've also tried restarting the Windows 10 computer and restarting the ExpressVPN\
    \ app. \n\n"
- source_sentence: 'Last updated: November 7, 2024


    Need a VPN or DNS for your device?

    Get ExpressVPN Now


    This guide will show you how to reset your recovery code for your ExpressVPN Keys
    account. You should reset your recovery code if you have lost it or believe it
    may have been compromised.


    To reset your recovery code, you will need your primary password. You can reset
    your recovery code using the ExpressVPN app for Android or the ExpressVPN Keys
    Chrome extension. This functionality is not available in the ExpressVPN app for
    iOS.


    ExpressVPN for Android

    In the ExpressVPN app for Android, tap Options.

    Tap Other Settings > Security > Reset your recovery code.

    Tap RESET RECOVERY CODE.

    Enter your primary password.

    Store your new recovery code in a safe place.

    ExpressVPN Keys Chrome extension

    In the ExpressVPN Keys Chrome extension, click Options.

    Go to Settings > Security > Reset Recovery Code.

    Click Reset Recovery Code.

    Enter your primary password.

    Store your new recovery code in a safe place.


    If you have lost both your primary password and your recovery code, contact the
    ExpressVPN Support Team to reset your password manager account.


    Back to top


    Was this article helpful?

    Yes No'
  sentences:
  - How is my ExpressVPN Keys data managed?
  - How to reset your recovery code
  - How to set up ExpressVPN on ASUSTOR with OpenVPN
- source_sentence: 'Last updated: October 21, 2024


    This guide is for users who are having issues streaming Max (formerly HBO Max)
    while connected to the VPN.


    To comply with the Max Terms of Use and ExpressVPN Terms of Service, you should
    connect to a server location that matches the country where you are currently
    located.


    Jump to…


    1. Change to a different VPN server location

    2. Sign out of the Max app, then sign in again

    3. Watch Max using your browser

    4. Contact ExpressVPN Support


    1. Change to a different VPN server location


    If you are a U.S. user having issues streaming Max, try changing to these VPN
    server locations in the following order:


    USA – San Francisco

    USA – Washington DC

    USA – New York

    USA – Los Angeles – 1


    Below are instructions for changing your VPN server location on:


    Windows

    Mac

    iOS

    Android

    Android TV

    Apple TV

    Linux

    Routers

    If you are streaming via the Max app, you should force-close it and reopen it
    each time you change location. Below are instructions for force-closing an app
    on:iOS: Swipe up from the bottom of the homescreen, keeping your finger pressed
    until app previews appear at left. Swipe to find the Max app preview, then swipe
    up to close the app.


    Android: On your Android device, open your multitasking interface. The way to
    do this varies depending on your device:


    If your device has three icons at the bottom of the screen, tap either the three
    vertical lines icon or the square icon.

    If your device features a single horizontal line at the bottom of the screen,
    swipe up from the bottom to the middle of the screen, hold for a second, then
    release.


    Next, swipe to find the Max app preview, then swipe to force-close the app. The
    direction you need to swipe will vary depending on your device.


    Android TV: Go to Settings, select Apps, and scroll to find the Max app. Select
    the app, then select Force Stop.


    Fire TV/Fire Stick: Go to Settings, select Applications, select Manage Installed
    Applications. Scroll to find the Max app. Select the app, then select Force Stop.


    Apple TV: Double-click the TV icon on your remote to see the apps currently running.
    Swipe to find the Max app preview, then swipe up to close the app.


    If you are a non-U.S. user having issues streaming Max, proceed to the next step.


    Need help? Contact the ExpressVPN Support Team for immediate assistance.


    Back to top


    2. Sign out of the Max app, then sign in again


    If you are using the Max app, sign out of it, restart your device, and then sign
    back in.


    Need help? Contact the ExpressVPN Support Team for immediate assistance.


    Back to top


    3. Watch Max on your browser


    Try streaming Max via your browser by going to https://www.max.com/login and signing
    in with your Max account details.


    If you are having issues streaming Max from your browser while connected to the
    VPN:


    Get the ExpressVPN browser extension (available for Windows, Mac, and Linux).
    To use the browser extension, you must also have the ExpressVPN app installed
    on your computer.

    U.S. users should try connecting to these server locations in the following order:

    USA – San Francisco

    USA – Washington DC

    USA – New York

    USA – Los Angeles – 1


    Non-U.S. users should proceed to the next step.


    Try using a different browser. The ExpressVPN browser extension is available on
    Windows, Mac, and Linux, and it works with Chrome, Firefox, Vivaldi, Chromium,
    Brave, and Microsoft Edge. The ExpressVPN app must also be installed.


    Need help? Contact the ExpressVPN Support Team for immediate assistance.


    Back to top


    4. Contact Support


    If you are still unable to stream Max while connected to the VPN, contact the
    ExpressVPN Support Team.


    Back to top


    ExpressVPN is optimized to work with Max so you can enjoy online privacy and security
    all the time, without the VPN interfering. It should never be used as a means
    of copyright circumvention, which is strictly against our Terms of Service. As
    we cannot see or control what you do while connected to our VPN, you are responsible
    at all times for complying with our terms, the Max Terms of Use, and any applicable
    laws. Compliance requires you to be located in the U.S. while streaming Max with
    ExpressVPN.

    Was this article helpful?

    Yes No'
  sentences:
  - Troubleshooting steps for streaming Max
  - "I can help you with various questions and issues related to ExpressVPN. What\
    \ do you need assistance with: \n\n"
  - How to choose the appropriate Wi-Fi settings on a router running ExpressVPN
model-index:
- name: ModernBERT Embed base Legal Matryoshka
  results:
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: dim 768
      type: dim_768
    metrics:
    - type: cosine_accuracy@1
      value: 0.6
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.775
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.825
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.875
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.6
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.26666666666666666
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.17
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.5875
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.775
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.825
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.875
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.7464836502947895
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.7041666666666667
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.7103005547084493
      name: Cosine Map@100
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: dim 512
      type: dim_512
    metrics:
    - type: cosine_accuracy@1
      value: 0.6
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.775
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.875
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.9
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.6
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.26666666666666666
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.18
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.0925
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.5875
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.775
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.875
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.9
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.7552425519590626
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.7083333333333333
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.7123785914060513
      name: Cosine Map@100
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: dim 256
      type: dim_256
    metrics:
    - type: cosine_accuracy@1
      value: 0.625
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.775
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.85
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.875
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.625
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.26666666666666666
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.175
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.6125
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.775
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.85
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.875
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.751012115577437
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.7108333333333333
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.7160762727610553
      name: Cosine Map@100
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: dim 128
      type: dim_128
    metrics:
    - type: cosine_accuracy@1
      value: 0.625
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.725
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.775
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.875
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.625
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.25
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.16
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.09
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.6125
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.725
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.775
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.875
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.7406583468855168
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.6992361111111112
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.7050551531801532
      name: Cosine Map@100
  - task:
      type: information-retrieval
      name: Information Retrieval
    dataset:
      name: dim 64
      type: dim_64
    metrics:
    - type: cosine_accuracy@1
      value: 0.625
      name: Cosine Accuracy@1
    - type: cosine_accuracy@3
      value: 0.7
      name: Cosine Accuracy@3
    - type: cosine_accuracy@5
      value: 0.75
      name: Cosine Accuracy@5
    - type: cosine_accuracy@10
      value: 0.8
      name: Cosine Accuracy@10
    - type: cosine_precision@1
      value: 0.625
      name: Cosine Precision@1
    - type: cosine_precision@3
      value: 0.24166666666666664
      name: Cosine Precision@3
    - type: cosine_precision@5
      value: 0.15500000000000003
      name: Cosine Precision@5
    - type: cosine_precision@10
      value: 0.08249999999999999
      name: Cosine Precision@10
    - type: cosine_recall@1
      value: 0.6125
      name: Cosine Recall@1
    - type: cosine_recall@3
      value: 0.7
      name: Cosine Recall@3
    - type: cosine_recall@5
      value: 0.75
      name: Cosine Recall@5
    - type: cosine_recall@10
      value: 0.8
      name: Cosine Recall@10
    - type: cosine_ndcg@10
      value: 0.7078094654337568
      name: Cosine Ndcg@10
    - type: cosine_mrr@10
      value: 0.6793055555555555
      name: Cosine Mrr@10
    - type: cosine_map@100
      value: 0.6907221236895149
      name: Cosine Map@100
---

# ModernBERT Embed base Legal Matryoshka

This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [nomic-ai/nomic-embed-text-v2-moe](https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe) on the json dataset. It maps sentences & paragraphs to a 768-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:** [nomic-ai/nomic-embed-text-v2-moe](https://huggingface.co/nomic-ai/nomic-embed-text-v2-moe) <!-- at revision f6a8873b415144a69ffc529ec1e234d1e00ee765 -->
- **Maximum Sequence Length:** 512 tokens
- **Output Dimensionality:** 768 dimensions
- **Similarity Function:** Cosine Similarity
- **Training Dataset:**
    - json
- **Language:** en
- **License:** apache-2.0

### 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: NomicBertModel 
  (1): Pooling({'word_embedding_dimension': 768, '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("tsss1/expressvpn_embeddingmodel")
# Run inference
sentences = [
    'Last updated: October 21, 2024\n\nThis guide is for users who are having issues streaming Max (formerly HBO Max) while connected to the VPN.\n\nTo comply with the Max Terms of Use and ExpressVPN Terms of Service, you should connect to a server location that matches the country where you are currently located.\n\nJump to…\n\n1. Change to a different VPN server location\n2. Sign out of the Max app, then sign in again\n3. Watch Max using your browser\n4. Contact ExpressVPN Support\n\n1. Change to a different VPN server location\n\nIf you are a U.S. user having issues streaming Max, try changing to these VPN server locations in the following order:\n\nUSA – San Francisco\nUSA – Washington DC\nUSA – New York\nUSA – Los Angeles – 1\n\nBelow are instructions for changing your VPN server location on:\n\nWindows\nMac\niOS\nAndroid\nAndroid TV\nApple TV\nLinux\nRouters\nIf you are streaming via the Max app, you should force-close it and reopen it each time you change location. Below are instructions for force-closing an app on:iOS: Swipe up from the bottom of the homescreen, keeping your finger pressed until app previews appear at left. Swipe to find the Max app preview, then swipe up to close the app.\n\nAndroid: On your Android device, open your multitasking interface. The way to do this varies depending on your device:\n\nIf your device has three icons at the bottom of the screen, tap either the three vertical lines icon or the square icon.\nIf your device features a single horizontal line at the bottom of the screen, swipe up from the bottom to the middle of the screen, hold for a second, then release.\n\nNext, swipe to find the Max app preview, then swipe to force-close the app. The direction you need to swipe will vary depending on your device.\n\nAndroid TV: Go to Settings, select Apps, and scroll to find the Max app. Select the app, then select Force Stop.\n\nFire TV/Fire Stick: Go to Settings, select Applications, select Manage Installed Applications. Scroll to find the Max app. Select the app, then select Force Stop.\n\nApple TV: Double-click the TV icon on your remote to see the apps currently running. Swipe to find the Max app preview, then swipe up to close the app.\n\nIf you are a non-U.S. user having issues streaming Max, proceed to the next step.\n\nNeed help?\xa0Contact the ExpressVPN Support Team for immediate assistance.\n\nBack to top\n\n2. Sign out of the Max app, then sign in again\n\nIf you are using the Max app, sign out of it, restart your device, and then sign back in.\n\nNeed help?\xa0Contact the ExpressVPN Support Team for immediate assistance.\n\nBack to top\n\n3. Watch Max on your browser\n\nTry streaming Max via your browser by going to https://www.max.com/login and signing in with your Max account details.\n\nIf you are having issues streaming Max from your browser while connected to the VPN:\n\nGet the ExpressVPN browser extension (available for Windows, Mac, and Linux). To use the browser extension, you must also have the ExpressVPN app installed on your computer.\nU.S. users should try connecting to these server locations in the following order:\nUSA – San Francisco\nUSA – Washington DC\nUSA – New York\nUSA – Los Angeles – 1\n\nNon-U.S. users should proceed to the next step.\n\nTry using a different browser. The ExpressVPN browser extension is available on Windows, Mac, and Linux, and it works with Chrome, Firefox, Vivaldi, Chromium, Brave, and Microsoft Edge. The ExpressVPN app must also be installed.\n\nNeed help?\xa0Contact the ExpressVPN Support Team for immediate assistance.\n\nBack to top\n\n4. Contact Support\n\nIf you are still unable to stream Max while connected to the VPN, contact the ExpressVPN Support Team.\n\nBack to top\n\nExpressVPN is optimized to work with Max so you can enjoy online privacy and security all the time, without the VPN interfering. It should never be used as a means of copyright circumvention, which is strictly against our Terms of Service. As we cannot see or control what you do while connected to our VPN, you are responsible at all times for complying with our terms, the Max Terms of Use, and any applicable laws. Compliance requires you to be located in the U.S. while streaming Max with ExpressVPN.\nWas this article helpful?\nYes No',
    'Troubleshooting steps for streaming Max',
    'I can help you with various questions and issues related to ExpressVPN. What do you need assistance with: \n\n',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# 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

* Datasets: `dim_768`, `dim_512`, `dim_256`, `dim_128` and `dim_64`
* Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)

| Metric              | dim_768    | dim_512    | dim_256   | dim_128    | dim_64     |
|:--------------------|:-----------|:-----------|:----------|:-----------|:-----------|
| cosine_accuracy@1   | 0.6        | 0.6        | 0.625     | 0.625      | 0.625      |
| cosine_accuracy@3   | 0.775      | 0.775      | 0.775     | 0.725      | 0.7        |
| cosine_accuracy@5   | 0.825      | 0.875      | 0.85      | 0.775      | 0.75       |
| cosine_accuracy@10  | 0.875      | 0.9        | 0.875     | 0.875      | 0.8        |
| cosine_precision@1  | 0.6        | 0.6        | 0.625     | 0.625      | 0.625      |
| cosine_precision@3  | 0.2667     | 0.2667     | 0.2667    | 0.25       | 0.2417     |
| cosine_precision@5  | 0.17       | 0.18       | 0.175     | 0.16       | 0.155      |
| cosine_precision@10 | 0.09       | 0.0925     | 0.09      | 0.09       | 0.0825     |
| cosine_recall@1     | 0.5875     | 0.5875     | 0.6125    | 0.6125     | 0.6125     |
| cosine_recall@3     | 0.775      | 0.775      | 0.775     | 0.725      | 0.7        |
| cosine_recall@5     | 0.825      | 0.875      | 0.85      | 0.775      | 0.75       |
| cosine_recall@10    | 0.875      | 0.9        | 0.875     | 0.875      | 0.8        |
| **cosine_ndcg@10**  | **0.7465** | **0.7552** | **0.751** | **0.7407** | **0.7078** |
| cosine_mrr@10       | 0.7042     | 0.7083     | 0.7108    | 0.6992     | 0.6793     |
| cosine_map@100      | 0.7103     | 0.7124     | 0.7161    | 0.7051     | 0.6907     |

<!--
## 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

#### json

* Dataset: json
* Size: 357 training samples
* Columns: <code>positive</code> and <code>anchor</code>
* Approximate statistics based on the first 357 samples:
  |         | positive                                                                             | anchor                                                                             |
  |:--------|:-------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------|
  | type    | string                                                                               | string                                                                             |
  | details | <ul><li>min: 21 tokens</li><li>mean: 322.47 tokens</li><li>max: 512 tokens</li></ul> | <ul><li>min: 6 tokens</li><li>mean: 32.25 tokens</li><li>max: 512 tokens</li></ul> |
* Samples:
  | positive                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | anchor                                                                                                                              |
  |:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------|
  | <code>I'd like to discuss common issues that users face when using ExpressVPN. <br><br>1. Slow speeds and connectivity issues.<br>2. Difficulty in setting up ExpressVPN on various devices such as routers, smart TVs, and gaming consoles.<br>3. Issues with unblocking geo-restricted content on popular streaming services like Netflix, Hulu, and BBC iPlayer.<br>4. Troubleshooting failed connections and unable to connect to a VPN server.<br><br>Which one of these topics would you like to discuss further, or is there something else you'd like to bring up?</code> | <code>I'd be happy to help with any questions or concerns you have about ExpressVPN. What would you like to know or discuss?</code> |
  | <code>I'd like to provide information about ExpressVPN, but I think it would be more helpful to get some assistance from you. <br><br>I'd like to know more about the process of setting up ExpressVPN on a router. Could you explain the general steps to follow and any potential issues that users may encounter during the setup process? Additionally, are there any specific router models that are known to be compatible with ExpressVPN?</code>                                                                                                                          | <code>I can help you with any question you have about ExpressVPN. What is it that you need help with?</code>                        |
  | <code>Last updated: January 11, 2023<br><br>Important: If your ExpressVPN free trial or subscription was initiated via the iOS App Store, refer to this guide.<br><br>This guide will explain how to get or extend an ExpressVPN subscription for iOS users who did not get a free trial or subscription via the App Store.<br><br>Note: Upgrades and renewals are not currently available within the ExpressVPN app for iOS.</code>                                                                                                                                              | <code>ExpressVPN iOS free trial or subscription expiring</code>                                                                     |
* Loss: [<code>MatryoshkaLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
  ```json
  {
      "loss": "MultipleNegativesRankingLoss",
      "matryoshka_dims": [
          768,
          512,
          256,
          128,
          64
      ],
      "matryoshka_weights": [
          1,
          1,
          1,
          1,
          1
      ],
      "n_dims_per_step": -1
  }
  ```

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

- `eval_strategy`: epoch
- `per_device_train_batch_size`: 2
- `per_device_eval_batch_size`: 2
- `gradient_accumulation_steps`: 4
- `learning_rate`: 2e-05
- `num_train_epochs`: 7
- `lr_scheduler_type`: cosine
- `warmup_ratio`: 0.1
- `bf16`: True
- `tf32`: False
- `load_best_model_at_end`: True
- `optim`: adamw_torch_fused
- `batch_sampler`: no_duplicates

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

- `overwrite_output_dir`: False
- `do_predict`: False
- `eval_strategy`: epoch
- `prediction_loss_only`: True
- `per_device_train_batch_size`: 2
- `per_device_eval_batch_size`: 2
- `per_gpu_train_batch_size`: None
- `per_gpu_eval_batch_size`: None
- `gradient_accumulation_steps`: 4
- `eval_accumulation_steps`: None
- `torch_empty_cache_steps`: None
- `learning_rate`: 2e-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`: 7
- `max_steps`: -1
- `lr_scheduler_type`: cosine
- `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`: True
- `fp16`: False
- `fp16_opt_level`: O1
- `half_precision_backend`: auto
- `bf16_full_eval`: False
- `fp16_full_eval`: False
- `tf32`: False
- `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`: True
- `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_fused
- `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`: None
- `hub_always_push`: False
- `gradient_checkpointing`: False
- `gradient_checkpointing_kwargs`: None
- `include_inputs_for_metrics`: False
- `include_for_metrics`: []
- `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
- `use_liger_kernel`: False
- `eval_use_gather_object`: False
- `average_tokens_across_devices`: False
- `prompts`: None
- `batch_sampler`: no_duplicates
- `multi_dataset_batch_sampler`: proportional

</details>

### Training Logs
| Epoch      | Step   | Training Loss | dim_768_cosine_ndcg@10 | dim_512_cosine_ndcg@10 | dim_256_cosine_ndcg@10 | dim_128_cosine_ndcg@10 | dim_64_cosine_ndcg@10 |
|:----------:|:------:|:-------------:|:----------------------:|:----------------------:|:----------------------:|:----------------------:|:---------------------:|
| 0.2235     | 10     | 2.9921        | -                      | -                      | -                      | -                      | -                     |
| 0.4469     | 20     | 0.9824        | -                      | -                      | -                      | -                      | -                     |
| 0.6704     | 30     | 0.6762        | -                      | -                      | -                      | -                      | -                     |
| 0.8939     | 40     | 0.0133        | -                      | -                      | -                      | -                      | -                     |
| 0.9832     | 44     | -             | 0.7669                 | 0.7701                 | -                      | -                      | -                     |
| 0.2235     | 10     | 0.0179        | -                      | -                      | -                      | -                      | -                     |
| 0.4469     | 20     | 0.2714        | -                      | -                      | -                      | -                      | -                     |
| 0.6704     | 30     | 0.0104        | -                      | -                      | -                      | -                      | -                     |
| 0.8939     | 40     | 0.0015        | -                      | -                      | -                      | -                      | -                     |
| 0.9832     | 44     | -             | 0.7442                 | 0.7594                 | 0.7465                 | 0.7149                 | 0.7046                |
| 1.1341     | 50     | 0.2207        | -                      | -                      | -                      | -                      | -                     |
| 1.3575     | 60     | 0.48          | -                      | -                      | -                      | -                      | -                     |
| 1.5810     | 70     | 0.003         | -                      | -                      | -                      | -                      | -                     |
| 1.8045     | 80     | 0.2985        | -                      | -                      | -                      | -                      | -                     |
| **1.9832** | **88** | **-**         | **0.7751**             | **0.774**              | **0.7821**             | **0.7746**             | **0.7365**            |
| 2.0447     | 90     | 0.0168        | -                      | -                      | -                      | -                      | -                     |
| 2.2682     | 100    | 0.0698        | -                      | -                      | -                      | -                      | -                     |
| 2.4916     | 110    | 0.0054        | -                      | -                      | -                      | -                      | -                     |
| 2.7151     | 120    | 0.0112        | -                      | -                      | -                      | -                      | -                     |
| 2.9385     | 130    | 0.0031        | -                      | -                      | -                      | -                      | -                     |
| 2.9832     | 132    | -             | 0.7569                 | 0.7537                 | 0.7565                 | 0.7588                 | 0.7251                |
| 3.1788     | 140    | 0.1794        | -                      | -                      | -                      | -                      | -                     |
| 3.4022     | 150    | 0.3266        | -                      | -                      | -                      | -                      | -                     |
| 3.6257     | 160    | 0.0006        | -                      | -                      | -                      | -                      | -                     |
| 3.8492     | 170    | 0.0003        | -                      | -                      | -                      | -                      | -                     |
| 3.9832     | 176    | -             | 0.7491                 | 0.7613                 | 0.7526                 | 0.7513                 | 0.7206                |
| 4.0894     | 180    | 0.2622        | -                      | -                      | -                      | -                      | -                     |
| 4.3128     | 190    | 0.0004        | -                      | -                      | -                      | -                      | -                     |
| 4.5363     | 200    | 0.0392        | -                      | -                      | -                      | -                      | -                     |
| 4.7598     | 210    | 0.3312        | -                      | -                      | -                      | -                      | -                     |
| 4.9832     | 220    | 0.0021        | 0.7548                 | 0.7527                 | 0.7466                 | 0.7568                 | 0.7101                |
| 5.2235     | 230    | 0.7593        | -                      | -                      | -                      | -                      | -                     |
| 5.4469     | 240    | 0.0004        | -                      | -                      | -                      | -                      | -                     |
| 5.6704     | 250    | 0.0003        | -                      | -                      | -                      | -                      | -                     |
| 5.8939     | 260    | 0.0154        | -                      | -                      | -                      | -                      | -                     |
| 5.9832     | 264    | -             | 0.7498                 | 0.7545                 | 0.7510                 | 0.7407                 | 0.7147                |
| 6.1341     | 270    | 0.0162        | -                      | -                      | -                      | -                      | -                     |
| 6.3575     | 280    | 0.447         | -                      | -                      | -                      | -                      | -                     |
| 6.5810     | 290    | 0.001         | -                      | -                      | -                      | -                      | -                     |
| 6.8045     | 300    | 0.1628        | -                      | -                      | -                      | -                      | -                     |
| 6.9832     | 308    | -             | 0.7465                 | 0.7552                 | 0.7510                 | 0.7407                 | 0.7078                |

* The bold row denotes the saved checkpoint.

### Framework Versions
- Python: 3.11.11
- Sentence Transformers: 3.4.1
- Transformers: 4.48.3
- PyTorch: 2.3.1+cu121
- Accelerate: 1.3.0
- Datasets: 3.3.2
- Tokenizers: 0.21.0

## 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",
}
```

#### MatryoshkaLoss
```bibtex
@misc{kusupati2024matryoshka,
    title={Matryoshka Representation Learning},
    author={Aditya Kusupati and Gantavya Bhatt and Aniket Rege and Matthew Wallingford and Aditya Sinha and Vivek Ramanujan and William Howard-Snyder and Kaifeng Chen and Sham Kakade and Prateek Jain and Ali Farhadi},
    year={2024},
    eprint={2205.13147},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}
```

#### MultipleNegativesRankingLoss
```bibtex
@misc{henderson2017efficient,
    title={Efficient Natural Language Response Suggestion for Smart Reply},
    author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
    year={2017},
    eprint={1705.00652},
    archivePrefix={arXiv},
    primaryClass={cs.CL}
}
```

<!--
## Glossary

*Clearly define terms in order to be accessible across audiences.*
-->

<!--
## Model Card Authors

*Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
-->

<!--
## Model Card Contact

*Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
-->