svalabs/german-gpl-adapted-covid
This is a german on covid adapted sentence-transformers model: It is adapted on covid related documents using the GPL integration of Haystack. We used the svalabs/cross-electra-ms-marco-german-uncased as CrossEncoder and svalabs/mt5-large-german-query-gen-v1 for query generation.
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, util
from transformers import AutoTokenizer, AutoModel
org_model = SentenceTransformer("sentence-transformers/msmarco-distilbert-multilingual-en-de-v2-tmp-trained-scratch")
org_model.max_seq_length = max_seq_length
model = SentenceTransformer('svalabs/german-gpl-adapted-covid')
def show_examples(model):
query = "Wie wird Covid-19 übermittelt"
docs = [
"Corona ist sehr ansteckend",
"Corona wird über die Luft verbreitet",
"Ebola wird durch direkten Kontakt mit Blut übertragen",
"HIV wird durch Sex oder den Austausch von Nadeln übertragen",
"Polio wird durch kontaminiertes Wasser oder Lebensmittel übertragen",
]
query_emb = model.encode(query)
docs_emb = model.encode(docs)
scores = util.dot_score(query_emb, docs_emb)[0]
doc_scores = sorted(zip(docs, scores), key=lambda x: x[1], reverse=True)
print("Query:", query)
for doc, score in doc_scores:
# print(doc, score)
print(f"{score:0.02f}\t{doc}")
print("Original Model")
show_examples(org_model)
print("\n\nAdapted Model")
show_examples(model)
Evaluation Results
Original Model
Query: Wie wird Covid-19 übermittelt
33.01 HIV wird durch Sex oder den Austausch von Nadeln übertragen
32.78 Polio wird durch kontaminiertes Wasser oder Lebensmittel übertragen
29.10 Corona wird über die Luft verbreitet
24.41 Ebola wird durch direkten Kontakt mit Blut übertragen
10.85 Corona ist sehr ansteckend
Adapted Model
Query: Wie wird Covid-19 übermittelt
29.82 Corona wird über die Luft verbreitet
27.44 Polio wird durch kontaminiertes Wasser oder Lebensmittel übertragen
24.89 Ebola wird durch direkten Kontakt mit Blut übertragen
23.81 HIV wird durch Sex oder den Austausch von Nadeln übertragen
20.03 Corona ist sehr ansteckend
Training
The model was trained with the parameters:
DataLoader:
torch.utils.data.dataloader.DataLoader
of length 125 with parameters:
{'batch_size': 16, 'sampler': 'torch.utils.data.sampler.RandomSampler', 'batch_sampler': 'torch.utils.data.sampler.BatchSampler'}
Loss:
sentence_transformers.losses.MarginMSELoss.MarginMSELoss
Parameters of the fit()-Method:
{
"epochs": 1,
"evaluation_steps": 0,
"evaluator": "NoneType",
"max_grad_norm": 1,
"optimizer_class": "<class 'torch.optim.adamw.AdamW'>",
"optimizer_params": {
"lr": 2e-05
},
"scheduler": "WarmupLinear",
"steps_per_epoch": null,
"warmup_steps": 12,
"weight_decay": 0.01
}
Full Model Architecture
SentenceTransformer(
(0): Transformer({'max_seq_length': 200, 'do_lower_case': False}) with Transformer model: DistilBertModel
(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})
)
- Downloads last month
- 154
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social
visibility and check back later, or deploy to Inference Endpoints (dedicated)
instead.