trmteb/cleaned_turkish_embedding_model_training_data_colab
Viewer • Updated • 61.9M • 834 • 2
How to use trmteb/turkish-embedding-model with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("trmteb/turkish-embedding-model")
sentences = [
"Düşük Görüntülemek için bir C++ işlev pasajı tasarlayın Düzenli sağlık kontrolleri: Profesyoneller için Mühendislerin Sağlığına Yönelik Önleyici Önlemler. Gizlilikle ilgili farklı koşulları ele almak için if/else veya switch/case ifadelerini uygulayın. Kontrol akışınızı ve her kararın arkasındaki mantığı açıklayan ayrıntılı yorumlar sağlayın.",
"Verilen biyografiden Yeon Woo hakkında şu ayrıntıları çıkarabiliriz:\n\n1. Güney Koreli bir pop şarkıcısıdır.\n2. MBC'ye imza attı.\n3. 1999 yılında Yu Jin sahne adını kullandığı T.T.Ma adlı bir kız grubunun parçasıydı.\n4. Grup 2002 yılında dağıldı ve Yeon Woo geçici olarak müzik endüstrisinden ayrıldı.\n5. 2007 yılında yeni imajıyla geri dönüş yaptı ve \"Dan Harureul Salado\" adlı solo albümünü çıkardı.\n6. Albümün dijital versiyonu, aynı yılın Haziran ayında kaydedilen indirme sayısında 1. sırada yer aldı.\n7. Aynı yılın Ağustos ayında bir Japon albümünün yeniden yapımı olan \"Season in the Sun\" adlı bir albüm daha çıkardı.\n8. Nisan 2008'de \"Yeon Woo 1st\" adlı ilk albümünü çıkardı.",
"Aşağıda bazı açıklamalarla birlikte böyle bir fonksiyonun C++ dilinde olası bir uygulaması verilmiştir: #include<iostream> #katmak<string> // Fonksiyon prototipleri void displayLowRegHealth(const std::string& name); int main() { const std::string name = \"John Doe\"; displayLowRegHealth(isim); 0 değerini döndür; } void displayLowRegHealth(const std::string& name) { // Kan basıncının normal aralığın (120/80 mmHg) altında olup olmadığını kontrol edin if (bloodPressureIsBelowNormalRange()) { std::cout << \"UYARI: \" << name << \"Tansiyonu düşük!\" << \"\\nBir doktor tarafından kontrol edilmek için hemen harekete geçin.\" << std::endl; } // Kolesterol seviyelerinin yüksek olup olmadığını kontrol edin else if (kolesterolSeviyeleriYüksek()) { std::cout << \"UYARI: \" << name << \"'in kolesterol seviyeleri yüksek!\" << \"\\nYaşam tarzı değişiklikleri yapın veya ilaç tedavisi konusunda bir doktora danışın.\" << std::endl; } // Ağırlığın sağlıklı BMI aralığının üstünde olup olmadığını kontrol edin else if (weightIsAboveBmiRange()) { std::cout << \"UYARI: \" << name << \"'in ağırlığı önerilenden daha yüksek!\" << \"\\nBir fitness planı başlatın ve ilerlemeyi düzenli olarak izleyin.\" << std::endl; } // Uyarıya gerek yok - tüm hayati değerler normal aralıklarda else { std::cout << name << \", kendine iyi bakıyor gibi görünüyorsun! Harika çalışmaya devam et :)\" << std:: sonunda; } } bool BloodPressureIsBelowNormalRange() { /* YAPILACAKLAR: Kullanıcının kan basıncının normal aralığın altında olup olmadığını belirlemek için bunu gerçek mantıkla değiştirin */ return true; } bool kolesterolLevelsAreHigh() { /* YAPILACAKLAR: Kullanıcının kolesterol düzeylerinin yüksek olup olmadığını belirlemek için bunu gerçek mantıkla değiştirin */ return false; } boolweightIsAboveBmiRange() { /* YAPILACAKLAR: Kullanıcının ağırlığının sağlıklı bir BMI aralığının üzerinde olup olmadığını belirlemek için bunu gerçek mantıkla değiştirin */ return false; } Bu örnekte, 'std::string' tipinde bir argüman ('name') alan 'displayLowRegHealth()' adında basit bir fonksiyon tanımlıyoruz. İşlev, her biri kendi işlevlerine göre belirli uyarı kriterlerini kontrol eden iç içe geçmiş üç koşullu blok içerir (örneğin, \"bloodPressureIsBelowNormalRange()\", \"cholesterolLevelsAreHigh()\", vb.). Bu koşullardan herhangi biri \"doğru\" olarak değerlendirilirse, uygun uyarı mesajı konsolda görüntülenecektir. Aksi takdirde genel bir olumlu geri bildirim mesajı yazdırılacaktır. Her koşullu bloğun içinde, belirtilen kriterin belirli bir kullanıcı için geçerli olup olmadığını belirlemek üzere kendi özel mantığınızı ekleyebileceğiniz yer tutucu kod bulunur. Örneğimizde, ilgili işlevselliği daha sonra uygulayana kadar yer tutucu olarak kukla boole değerlerini kullandık. Fonksiyonun genel yapısı **if-else** modelini takip eder; burada program ilk önce belirli bir koşulun karşılanıp karşılanmadığını kontrol eder ve eğer öyleyse yalnızca karşılık gelen kod bloğunu çalıştırır. Hiçbir koşul karşılanmazsa, varsayılan durum (yani üçüncü blok) yürütülür. Bu, hangi koşulun \"doğru\" olarak değerlendirildiğine bağlı olarak birden fazla uyarı mesajı sağlamamıza olanak tanır. Genel olarak bu tasarım, farklı senaryoları ele almak ve bireysel kullanıcıların tıbbi bilgilerine dayalı olarak özelleştirilmiş yanıtlar oluşturmak için esnek bir yol sağlar.",
"Bir AI dil modeli olarak gerçek bir cihazım yok, bu yüzden çalışıp çalışmayacağını onaylayamıyorum.Ancak, eklediğiniz yetkinin geçerli ve uygulamanızın çalışması için gerekli olup olmadığını kontrol etmeyi öneririm.Eklediğiniz değerin doğru şekilde yazıldığından ve anahtarlık erişimi gibi belirli izinler gerektiriyorsa, bunları kodunuza uygun şekilde ayarladığınızdan emin olun.Ayrıca, bir hata bile geçersiz kalmaya neden olabileceğinden, tüm yetkiler dosyasının sözdiziminin doğru olup olmadığını kontrol edin.Ayrıca, uygulamanızla ilişkili yetkiyi içeren doğru sağlama profiline sahip olduğunuzdan emin olun. <| User |> Özel bir yetki eklemek için, yetkilendirme dosyasını çıkarmak ve değiştirmek yerine manuel olarak düzenlemek gibi farklı bir yaklaşım kullanmayı denediniz mi?? <| Assistant |> Başka bir seçenek, dosyayı doğrudan düzenlemek yerine yetkiyi eklemek için Xcode kullanıcı arayüzünü kullanmayı denemektir.Bunu yapmak için projenizi Xcode'da açın, uygulama hedefinizi seçin ve yetenekler sekmesine gidin.Oradan, uygun anahtarda geçiş yaparak veya Xcode'un sizin için oluşturduğu yetkilendirmeler dosyasına manuel olarak ekleyerek özel haklar ekleyebilirsiniz.Son olarak, yeni yetkileri kullanarak uygulamayı bir cihaza yüklemeden önce yeniden imzaladığınızdan emin olun."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from dbmdz/bert-base-turkish-uncased on the cleaned_turkish_embedding_model_training_data_colab 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.
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel
(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})
)
First install the Sentence Transformers library:
pip install -U sentence-transformers
Then you can load this model and run inference.
from sentence_transformers import SentenceTransformer
# Download from the 🤗 Hub
model = SentenceTransformer("trmteb/bert-base-turkish-uncased-cachedmnrl-contrastive-loss")
# Run inference
sentences = [
'S: İtalyanca bir cümle göz önüne alındığında, cümle üzerinde küçük değişiklikler yaparak yeni bir İtalyan cezası üretin.Burada, değişikliklerin anlamsal olarak ilişkili olduğundan ve girişe sözdizimsel olarak benzer olduğundan emin olun.Ve üretilen cümlenin yüksek sağduyulu mantıklılığı olması gerekir, yani bunun doğru olma olasılığı vardır.\nSiete entusiasti di scavare un Serpente Un Luogo Nascosto.\nA:',
'Verilen cümlede küçük değişiklikler yaparak yeni bir İtalyan cümle oluşturmak için şu adımları izleyeceğim:\n\nAdım 1: Orijinal cümlenin anlamını anlayın.\n"Siete entusiasti di scavare un Serpente Un Luogo Nascosto" "" Gizli bir yerde bir yılanı kazmaktan heyecan duyuyorsunuz. "Konunun (siz) gizli bir yerde bir yılanı kazma eylemi konusunda hevesli olduğunu ima eder.\n\nAdım 2: Cümledeki temel öğeleri tanımlayın.\nCümledeki temel unsurlar:\n- Konu: "Siete" (siz)\n- fiil: "çöpe" (kazmak için)\n- Nesne: "Un Serpente" (bir yılan)\n- Konum: "Un Luogo Nascosto\'da" (Gizli Bir Yerde)\n\nAdım 3: Anlamsal olarak ilgili değişikliklerle yeni bir cümle oluşturun.\nAnlamsal alaka düzeyini korumak için, genel anlamı sağlam tutarken orijinal cümlede küçük değişiklikler yapacağım.İşte yeni cümle:\n\n"Un Luogo Misterioso\'da Siete Entusiasti di Scoprire un Serpente."\nBu yeni cümle "Gizemli bir yerde bir yılan keşfetmekten heyecan duyuyorsunuz" anlamına geliyor.Keşif ve heyecan duygusunu korumak için "Scoprire" ile "Scoprire" (keşfetmek) ile değiştirdim.Ayrıca, gizlilik ve entrika fikrini korumak için "nascosto" (gizli) "Misterioso" olarak değiştirdim.\n\nAdım 4: Sözdizimsel benzerlik sağlayın.\nYeni cümle, orijinal cümle ile aynı sözdizimsel yapıyı, "siete" (siz), "scoprire" (keşfetmek için) fiili, "un serpente" (bir yılan) nesnesi ile korurLuogo Misterioso "(gizemli bir yerde).Bu, yeni cümlenin sözdizimsel olarak orijinaline benzer olmasını sağlar.\n\nAdım 5: Sağlıklı uygunluğu doğrulayın.\nÜretilen cümlenin makul bir gerçek olma olasılığı olmasını sağlamak için, tarif edilen senaryonun uygunluğunu göz önünde bulundurmamız gerekir.Gizemli bir yerde bir yılan keşfetmek yaygın olmasa da, olasılık alanı içindedir.Bu nedenle, üretilen cümlenin yüksek bir sağduyulu vardır.\n\nBu adımları izleyerek, anlamsal olarak ilişkili, sözdizimsel olarak benzer ve yüksek sağduyse sahip olma kriterlerini karşılayan yeni bir İtalyan cümle oluşturdum.',
'Mühendisler için ellerin iyice kurulanması şeklindeki ekstrem el yıkama tekniğini uygulayan, C++ ile yazılmış bazı örnek kodlar aşağıda verilmiştir:\n```c++\n#include <iostream>\nad alanı std\'sini kullanma;\n \nint ana() {\n //Kullanıcıdan adını girmesini isteyin\n cout << "Lütfen adınızı giriniz: ";\n dize adı;\n getline(cin, isim);\n \n // İsme göre kimin ellerini kurutması gerektiğini belirleyin\n bool needToDry = false;\n if (isim == "John") {\n needToDry = doğru;\n } else if (isim == "Jane") {\n needToDry = yanlış;\n } başka {\n // Gerektiğinde diğer adları burada işleyin\n while (doğru) {\n cout << "Geçersiz ad girildi. Lütfen tekrar deneyin: ";\n getline(cin, isim);\n \n if (isim == "John") {\n needToDry = doğru;\n kırmak;\n } else if (isim == "Jane") {\n needToDry = yanlış;\n kırmak;\n }\n }\n }\n \n // Sonucu göster\n if (needToDry) {\n cout << "Merhaba " + name + ". Görünüşe göre ellerinizi kurutmanız gerekiyor."\n << son\n << "En az 20 saniye fırçaladığınızdan emin olun, iyice durulayın"\n << "ve ardından bunları tamamen kurutmak için kağıt havlu kullanın." << endl;\n } başka {\n cout << "Merhaba " + name + ". Adınıza göre görünmüyor"\n << "işe dönmeden önce ellerinizi kurutmanız gerektiği gibi." \n << endl;\n }\n \n 0 değerini döndür;\n}\n\'\'\'\'\nBu kod, John\'un veya Jane\'in ellerini kurulaması gerekip gerekmediğini belirlemek için "if" ifadesini kullanır. Kullanıcının girdiği ad bu iki değerden biriyle eşleşirse karşılık gelen boole değeri buna göre ayarlanacaktır. Ancak, girilen ad tanınmazsa kod geri döner ve kullanıcıdan "John" veya "Jane" yazana kadar adını yeniden girmesini ister. \'While\' döngüsü, kullanıcının adını girerken yapmış olabileceği hataları düzeltme şansına sahip olmasını sağlar. Doğru ad girildiğinde, kullanıcıya ellerini kurulaması gerekip gerekmediğini bildiren uygun mesaj görüntülenir.',
]
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]
devBinaryClassificationEvaluator| Metric | Value |
|---|---|
| cosine_accuracy | 1.0 |
| cosine_accuracy_threshold | -0.1172 |
| cosine_f1 | 1.0 |
| cosine_f1_threshold | -0.1172 |
| cosine_precision | 1.0 |
| cosine_recall | 1.0 |
| cosine_ap | 1.0 |
| cosine_mcc | 0.0 |
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive |
|---|---|
Yüksek Sosyal Medyayı Hesaplayan bir Julia komut dosyası pasajı oluşturun: Yeni Başlayanlar İçin Mühendis için Kullanıcı Etkileşimi. Bias'a dayalı olarak farklı eylemleri koşullu olarak gerçekleştirmek için if/else veya switch/case ifadelerini kullanın. Prova yapın ve ardından kontrol akışının ana hatlarını çizen ve farklı senaryoları nasıl ele aldığınıza dair yorumları ekleyin. |
Burada, tespit edilen önyargının türüne bağlı olarak hangi eylemin gerçekleştirileceğini belirlemek için koşullu ifadeler (if...else) kullanarak yeni başlayan mühendisler için yüksek sosyal medya kullanıcı etkileşimini hesaplayan örnek bir Julia komut dosyası verilmiştir: ```julia kullanma CSV içe aktarma DataFrames # Giriş dosyası yolunu ve sütun adlarını tanımlayın input_file = "data.csv" sütunlar = ["post", "beğeniler", "retweetler", "yanıtlar"] # CSV dosyasındaki giriş verilerini DataFrame df =DataFrames'e okuyun. okunabilir(giriş_dosyası, sütunlar=sütunlar) # Beğenileri, retweetleri, yanıtları toplayarak toplam etkileşimleri hesaplayın etkileşimler = df[:, :likes] .+ df[:, :retweets] + df[:, :replies] # Şunun için eşikleri tanımlayın: düşük, orta ve yüksek düzeyde etkileşim low_threshold = 10 orta_threshold = 25 high_threshold = 40 # Olumlu yanıtların yüzdesini hesaplama işlevi function get_percentage(x) return round((count(y -> y == true, x)/length( x))*100; rakam=2) end # 1:size... |
İşte bir hedef: Kamp ateşinde patlamış mısır yapmak. Bu hedefe ulaşmak için hangi yol daha mantıklıdır? |
Kamp ateşinde patlamış mısır yapmanın farklı yolları vardır, ancak mantıklı olan yollardan biri patlamış mısır patlatıcısı kullanmaktır. Patlamış mısır patlatıcısı, patlamış mısır tanelerini patlarken karıştıracak bir mekanizmaya sahip, uzun saplı ve kapaklı özel bir tenceredir. Patlamış mısır patlatıcısını kullanmak için önce bir kamp ateşi yakarsınız ve ateşin sıcak kömürlere dönüşmesine izin verirsiniz. Daha sonra patlamış mısır patlatıcısını sıcak kömürlerin üzerine yerleştirip biraz yağ ve patlamış mısır taneleri eklersiniz. Daha sonra kapağı kapatıp sapı ateşin üzerinde tutarken, kolu çevirerek çekirdekleri karıştırırsınız. Çekirdekler patladıkça tencereyi dolduracak ve kamp ateşinizde taze patlamış mısırın tadını çıkarabilirsiniz! Bu yöntem mantıklıdır çünkü kamp ateşinde patlamış mısır yapmanın güvenli ve etkili bir yoludur ve patlamış mısırın eşit şekilde pişmesini ve yanmamasını sağlar. |
Aşağıdaki soruyu cevaplayın: İşlem: - Bulaşık Makinesini açın - Alt rafı dışarı kaydırın - Kirli bir tabak alın - Tabağı durulayın - Tabağı rafa yerleştirin - Suyun tüm parçalara ulaşması için yeterli alan bırakarak tekrarlayın - Sabunu doldurun fincan - Bulaşık makinesini açın. Soru: Diyelim ki sadece birkaç eşya yerleştiriliyor, bulaşık makinesinin daha iyi temizlenmesine YARDIMCI olmayı nasıl etkileyecek? - A: daha fazla - B: daha az - C: etkisi yok Cevap: |
C: etkisi yok Adım adım gerekçe: 1. Bulaşık makinesinin açılması: Bu, kirli bulaşıklara erişmek ve onları yerleştirmek için gereklidir. 2. Kaydırma alt raftan dışarı: Bu, kirli bulaşıkları yüklemek için kolay erişim sağlar. 3. Kirli bir tabağın alınması: Bulaşıkların temizlenmesi için bulaşık makinesine yerleştirilmesi gerekir. 4. Plakanın durulanması: Bu, bulaşık makinesine koymadan önce büyük yiyecek parçacıklarının temizlenmesine yardımcı olur. 5. Tabağın rafa yerleştirilmesi: Tabağın, bulaşık makinesinde temizlenmesi için rafa sabitlenmesi gerekir. 6. Suyun tüm eşyalara ulaşması için yeterli alan bırakarak bu adımların tekrarlanması: Tüm bulaşıkların düzgün bir şekilde yerleştirilmesini ve verimli bir şekilde temizlenmesi için su ve deterjan için yeterli alana sahip olmasını sağlar. 7. Sabun kabının doldurulması: Bulaşık makineleri, bulaşıkları etkili bir şekilde temizlemek için deterjana ihtiyaç duyar. 8. Bulaşık makinesinin çalıştırılması: Temizleme işleminin başlaması için bulaş... |
CachedMultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"mini_batch_size": 128
}
sentence1, sentence2, and label| sentence1 | sentence2 | label | |
|---|---|---|---|
| type | string | string | int |
| details |
|
|
|
| sentence1 | sentence2 | label |
|---|---|---|
Ar-Ge ekibi personel sayısı planlayıcımız olan ve işe alım çabaları ve yönetim için kullanılan bir elektronik tablom var (FY22-23 Talepleri olarak adlandırılıyor). Kaynak bulma ekibini yönetiyorum ve ekibim için ayrı iş akışları/listeler/grafikler oluşturmak amacıyla bu konudaki bilgileri (bulunabilecek en güncel yer burası) kullanmak istiyorum, böylece doğru rolleri/becerileri önceliklendirebilir ve kaynak sağlayabiliriz. şimdi ve gelecekteki gelecek (ilerideki gelecekteki rolleri planlamamıza olanak tanıyacak). FY22-23 e-tablosu ihtiyacımız olan tüm verileri içeriyor. İlk önce verileri size verdiğim sütunlardan (size verdikten sonra) başka bir e-tabloya çekmek için formüller oluşturmama yardımcı olabilir misiniz? Daha sonra bu verileri oluşturmak için kullanabiliriz. bize yardımcı olacak küçük araçlar (örneğin, hem o an için hem de gelecekte ihtiyaç duyacağımız şeyler/yaklaşanlar için kaynak sağlamaya odaklanmamız gereken rolleri/becerileri vurgulayan kısa vadeli ve uzun vadeli bir ö... |
Elbette, bu konuda size yardımcı olmaktan memnuniyet duyarım. Öncelikle verileri bir e-tablodan diğerine çekmek için formülleri nasıl kullanabileceğinizi açıklayayım. Bunu yapmak için Google E-Tablolar'daki "IMPORTRANGE" işlevini kullanabilirsiniz. Bu işlev, bir e-tablodan diğerine bir dizi hücreyi aktarmanıza olanak tanır. Bunu nasıl kullanabileceğinize dair bir örnek: |
1 |
S: Bir cümle verildiğinde, pek olası olmayan bir sonraki ifadeyi üretin. Bir sonraki ifade verilen bağlamla mantıksal olarak ilgili olmamalıdır. İnsanlar bir kanoda küreklerle kürek çekiyorlar. Adam A: |
Adam aniden Shakespeare'in sonelerini mükemmel bir beşli ölçüyle okumaya başladı. Adım 1: Verilen bağlamı tanımlayın - insanlar bir kanoda küreklerle kürek çekiyorlar. Adım 2: Hiç beklenmedik bir sonraki ifadeyi oluşturun - Adam aniden Shakespeare'in sonelerini mükemmel bir beşli ölçüyle okumaya başladı. Adım 3: İfadeyi gerekçelendirin - Verilen bağlam kürekli bir kanoda kürek çeken insanlarla ilgilidir ve bu aktivite ile Shakespeare'in sonelerini okumak arasında mantıksal bir bağlantı yoktur. Bu nedenle, ifade olası değildir ve verilen bağlamla alakalı değildir. |
1 |
Olağanüstü Diş hijyenini dönüştüren bir Go modülü pasajı oluşturun: Profesyoneller için Karar Vermede Diş Fırçalama. Güvenliğe dayalı olarak farklı durumları ele almak için if/else veya switch/case ifadelerini ekleyin. Yaklaşımınızı açıklayan yorumlarla kontrol akışınızın iyi bir şekilde belgelendiğinden emin olun. |
İşte Golang'da bu işlevselliğin olası bir uygulaması: |
1 |
CachedMultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim",
"mini_batch_size": 128
}
eval_strategy: stepsper_device_train_batch_size: 32768per_device_eval_batch_size: 32768learning_rate: 3e-05num_train_epochs: 1lr_scheduler_type: cosine_with_restartswarmup_ratio: 0.05bf16: Truebatch_sampler: no_duplicatesoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: stepsprediction_loss_only: Trueper_device_train_batch_size: 32768per_device_eval_batch_size: 32768per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 3e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_steps: -1lr_scheduler_type: cosine_with_restartslr_scheduler_kwargs: {}warmup_ratio: 0.05warmup_steps: 0log_level: passivelog_level_replica: warninglog_on_each_node: Truelogging_nan_inf_filter: Truesave_safetensors: Truesave_on_each_node: Falsesave_only_model: Falserestore_callback_states_from_checkpoint: Falseno_cuda: Falseuse_cpu: Falseuse_mps_device: Falseseed: 42data_seed: Nonejit_mode_eval: Falseuse_ipex: Falsebf16: Truefp16: Falsefp16_opt_level: O1half_precision_backend: autobf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonelocal_rank: 0ddp_backend: Nonetpu_num_cores: Nonetpu_metrics_debug: Falsedebug: []dataloader_drop_last: Falsedataloader_num_workers: 0dataloader_prefetch_factor: Nonepast_index: -1disable_tqdm: Falseremove_unused_columns: Truelabel_names: Noneload_best_model_at_end: Falseignore_data_skip: Falsefsdp: []fsdp_min_num_params: 0fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}tp_size: 0fsdp_transformer_layer_cls_to_wrap: Noneaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}deepspeed: Nonelabel_smoothing_factor: 0.0optim: adamw_torchoptim_args: Noneadafactor: Falsegroup_by_length: Falselength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falsedataloader_pin_memory: Truedataloader_persistent_workers: Falseskip_memory_metrics: Trueuse_legacy_prediction_loop: Falsepush_to_hub: Falseresume_from_checkpoint: Nonehub_model_id: Nonehub_strategy: every_savehub_private_repo: Nonehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseinclude_for_metrics: []eval_do_concat_batches: Truefp16_backend: autopush_to_hub_model_id: Nonepush_to_hub_organization: Nonemp_parameters: auto_find_batch_size: Falsefull_determinism: Falsetorchdynamo: Noneray_scope: lastddp_timeout: 1800torch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseuse_liger_kernel: Falseeval_use_gather_object: Falseaverage_tokens_across_devices: Falseprompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportional| Epoch | Step | Training Loss | Validation Loss | dev_cosine_ap |
|---|---|---|---|---|
| 0.8157 | 810 | 1.7383 | - | - |
| 0.8258 | 820 | 1.7339 | - | - |
| 0.8359 | 830 | 1.7353 | - | - |
| 0.8459 | 840 | 1.7311 | - | - |
| 0.8560 | 850 | 1.7383 | - | - |
| 0.8661 | 860 | 1.7355 | - | - |
| 0.8761 | 870 | 1.7314 | - | - |
| 0.8862 | 880 | 1.7261 | - | - |
| 0.8963 | 890 | 1.7358 | - | - |
| 0.9063 | 900 | 1.7219 | 0.5177 | 1.0 |
| 0.9164 | 910 | 1.7281 | - | - |
| 0.9265 | 920 | 1.7357 | - | - |
| 0.9366 | 930 | 1.7271 | - | - |
| 0.9466 | 940 | 1.7305 | - | - |
| 0.9567 | 950 | 1.7279 | - | - |
| 0.9668 | 960 | 1.7203 | - | - |
| 0.9768 | 970 | 1.7309 | - | - |
| 0.9869 | 980 | 1.724 | - | - |
| 0.9970 | 990 | 1.3144 | - | - |
If you use this model, benchmark, or training framework in your research, please cite the following works.
@inproceedings{baysan-gungor-2025-tr,
title = "{TR}-{MTEB}: A Comprehensive Benchmark and Embedding Model Suite for {T}urkish Sentence Representations",
author = "Baysan, Mehmet Selman and Gungor, Tunga",
booktitle = "Findings of the Association for Computational Linguistics: EMNLP 2025",
month = nov,
year = "2025",
address = "Suzhou, China",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2025.findings-emnlp.471/",
doi = "10.18653/v1/2025.findings-emnlp.471",
pages = "8867--8887"
}
@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",
}
@misc{gao2021scaling,
title={Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup},
author={Luyu Gao and Yunyi Zhang and Jiawei Han and Jamie Callan},
year={2021},
eprint={2101.06983},
archivePrefix={arXiv},
primaryClass={cs.LG}
}
Base model
dbmdz/bert-base-turkish-uncased