Instructions to use podarok/ukr-paraphrase-multilingual-mpnet-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("podarok/ukr-paraphrase-multilingual-mpnet-base") sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Transformers
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with Transformers:
# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("podarok/ukr-paraphrase-multilingual-mpnet-base", dtype="auto") - llama-cpp-python
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with llama-cpp-python:
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="podarok/ukr-paraphrase-multilingual-mpnet-base", filename="ukr-paraphrase-multilingual-mpnet-base-F16.gguf", )
output = llm( "Once upon a time,", max_tokens=512, echo=True ) print(output)
- Notebooks
- Google Colab
- Kaggle
- Local Apps
- llama.cpp
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with llama.cpp:
Install from brew
brew install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16 # Run inference directly in the terminal: llama-cli -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama-server -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16 # Run inference directly in the terminal: llama-cli -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16 # Run inference directly in the terminal: ./llama-cli -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf podarok/ukr-paraphrase-multilingual-mpnet-base:F16
Use Docker
docker model run hf.co/podarok/ukr-paraphrase-multilingual-mpnet-base:F16
- LM Studio
- Jan
- Ollama
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with Ollama:
ollama run hf.co/podarok/ukr-paraphrase-multilingual-mpnet-base:F16
- Unsloth Studio new
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for podarok/ukr-paraphrase-multilingual-mpnet-base to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for podarok/ukr-paraphrase-multilingual-mpnet-base to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for podarok/ukr-paraphrase-multilingual-mpnet-base to start chatting
- Docker Model Runner
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with Docker Model Runner:
docker model run hf.co/podarok/ukr-paraphrase-multilingual-mpnet-base:F16
- Lemonade
How to use podarok/ukr-paraphrase-multilingual-mpnet-base with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull podarok/ukr-paraphrase-multilingual-mpnet-base:F16
Run and chat with the model
lemonade run user.ukr-paraphrase-multilingual-mpnet-base-F16
List all available models
lemonade list
output = llm(
"Once upon a time,",
max_tokens=512,
echo=True
)
print(output)This is a F16, Q8_0 GGUF quantisations of base model lang-uk/ukr-paraphrase-multilingual-mpnet-base
Below is copy of original README.md
lang-uk/ukr-paraphrase-multilingual-mpnet-base
This is a sentence-transformers model fine-tuned for Ukrainian language: It maps sentences & paragraphs to a 768 dimensional dense vector space and can be used for tasks like clustering or semantic search.
The original model used for fine-tuning is sentence-transformers/paraphrase-multilingual-mpnet-base-v2. See our paper Contextual Embeddings for Ukrainian: A Large Language Model Approach to Word Sense Disambiguation for details.
Usage (Sentence-Transformers)
Using this model becomes easy when you have sentence-transformers installed:
pip install -U sentence-transformers
Then you can use the model like this:
from sentence_transformers import SentenceTransformer
sentences = ["This is an example sentence", "Each sentence is converted"]
model = SentenceTransformer('lang-uk/ukr-paraphrase-multilingual-mpnet-base')
embeddings = model.encode(sentences)
print(embeddings)
Usage (HuggingFace Transformers)
Without sentence-transformers, you can use the model like this: First, you pass your input through the transformer model, then you have to apply the right pooling-operation on-top of the contextualized word embeddings.
from transformers import AutoTokenizer, AutoModel
import torch
#Mean Pooling - Take attention mask into account for correct averaging
def mean_pooling(model_output, attention_mask):
token_embeddings = model_output[0] #First element of model_output contains all token embeddings
input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float()
return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9)
# Sentences we want sentence embeddings for
sentences = ['This is an example sentence', 'Each sentence is converted']
# Load model from HuggingFace Hub
tokenizer = AutoTokenizer.from_pretrained('lang-uk/ukr-paraphrase-multilingual-mpnet-base')
model = AutoModel.from_pretrained('lang-uk/ukr-paraphrase-multilingual-mpnet-base')
# Tokenize sentences
encoded_input = tokenizer(sentences, padding=True, truncation=True, return_tensors='pt')
# Compute token embeddings
with torch.no_grad():
model_output = model(**encoded_input)
# Perform pooling. In this case, average pooling
sentence_embeddings = mean_pooling(model_output, encoded_input['attention_mask'])
print("Sentence embeddings:")
print(sentence_embeddings)
Citing & Authors
If you find this model helpful, feel free to cite our publication Contextual Embeddings for {U}krainian: A Large Language Model Approach to Word Sense Disambiguation:
@inproceedings{laba-etal-2023-contextual,
title = "Contextual Embeddings for {U}krainian: A Large Language Model Approach to Word Sense Disambiguation",
author = "Laba, Yurii and
Mudryi, Volodymyr and
Chaplynskyi, Dmytro and
Romanyshyn, Mariana and
Dobosevych, Oles",
editor = "Romanyshyn, Mariana",
booktitle = "Proceedings of the Second Ukrainian Natural Language Processing Workshop (UNLP)",
month = may,
year = "2023",
address = "Dubrovnik, Croatia",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2023.unlp-1.2",
doi = "10.18653/v1/2023.unlp-1.2",
pages = "11--19",
abstract = "This research proposes a novel approach to the Word Sense Disambiguation (WSD) task in the Ukrainian language based on supervised fine-tuning of a pre-trained Large Language Model (LLM) on the dataset generated in an unsupervised way to obtain better contextual embeddings for words with multiple senses. The paper presents a method for generating a new dataset for WSD evaluation in the Ukrainian language based on the SUM dictionary. We developed a comprehensive framework that facilitates the generation of WSD evaluation datasets, enables the use of different prediction strategies, LLMs, and pooling strategies, and generates multiple performance reports. Our approach shows 77,9{\%} accuracy for lexical meaning prediction for homonyms.",
}
Copyright: Yurii Laba, Volodymyr Mudryi, Dmytro Chaplynskyi, Mariana Romanyshyn, Oles Dobosevych, Ukrainian Catholic University, lang-uk project, 2023
An original model used for fine-tuning was trained by sentence-transformers.
- Downloads last month
- 38
8-bit
16-bit
# !pip install llama-cpp-python from llama_cpp import Llama llm = Llama.from_pretrained( repo_id="podarok/ukr-paraphrase-multilingual-mpnet-base", filename="", )