Matryoshka Representation Learning
Paper • 2205.13147 • Published • 30
How to use shekar-ai/felfelneg with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("shekar-ai/felfelneg")
sentences = [
"دیفیتس-شپولدرسهاگن کجای آلمان قرار داره؟",
"دیفیتس-شپولدرسهاگن یک شهر در آلمان است که در فرپومرن-روگن واقع شدهاست. دیفیتس-شپولدرسهاگن ۴۷۸ نفر جمعیت دارد.",
"دنیشنهاگن یک شهر در آلمان است که در رندسبورگ-اکرنفورده واقع شدهاست. دنیشنهاگن ۳٬۴۷۵ نفر جمعیت دارد.",
"یورگنسهاگن (به آلمانی: Jürgenshagen) یک شهر در آلمان است که در Rostock District واقع شدهاست. یورگنسهاگن ۱٬۲۰۷ نفر جمعیت دارد."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from shekar-ai/FelfelSupPairs on the parquet dataset. It maps inputs to a 768-dimensional dense vector space and can be used for semantic textual similarity, semantic search, paraphrase mining, classification, clustering, and more.
SentenceTransformer(
(0): Transformer({'transformer_task': 'feature-extraction', 'modality_config': {'text': {'method': 'forward', 'method_output_name': 'last_hidden_state'}}, 'module_output_name': 'token_embeddings', 'architecture': 'AlbertModel'})
(1): Pooling({'embedding_dimension': 768, 'pooling_mode': 'mean', 'include_prompt': True})
(2): Normalize({'module_input_name': 'sentence_embedding', 'module_output_name': 'sentence_embedding'})
)
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("shekar-ai/felfelneg")
# Run inference
sentences = [
'کومروو در کدام منطقه از آلمان واقع شده است؟',
'کومروو یک شهر در آلمان است که در Mecklenburgische Seenplatte District واقع شده\u200cاست. کومروو ۵۹۲ نفر جمعیت دارد.',
'گمینا زووتوو یک گمینا در لهستان است که در شهرستان زوتوف واقع شده\u200cاست. گمینا زووتوو ۲۹۲٫۵ کیلومتر مربع مساحت و ۹٬۰۵۲ نفر جمعیت دارد.',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities)
# tensor([[1.0000, 0.8212, 0.5004],
# [0.8212, 1.0000, 0.5160],
# [0.5004, 0.5160, 1.0000]])
anchor, positive, negative_1, and negative_2| anchor | positive | negative_1 | negative_2 | |
|---|---|---|---|---|
| type | string | string | string | string |
| modality | text | text | text | text |
| details |
|
|
|
|
| anchor | positive | negative_1 | negative_2 |
|---|---|---|---|
قوانین انتخاب نام جدید در شناسنامه |
دستورالعمل تغییر نام در شناسنامه آیا امکان تغییر نام در شناسنامه وجود دارد؟ طبق ماده 20 قانون ثبت احوال کشور قوانینی در خصوص تغییر نام و یا نام خانوادگی در شناسنامه وجود دارد که افراد می توانند با داشتن شرایط تعیین شده با مراجعه به ثبت احوال محل صدور شناسنامه درخواست تغییر نام در شناسنامه را بنمایند. در صورتی که متقاضی نتواند با مراجعه به اداره ثبت احوال نام خود را در شناسنامه تغییر دهد، می تواند به دادگاه محل اقامت خود مراجعه کرده و با ثبت دادخواست تغییر نام، تقاضای تغییر نام در شناسنامه را بنماید. طبق قانون افراد زیر می توانند درخواست تغییر نام یا نام خانوادگی در شناسنامه را بنمایند: 1- اشخاص 18 سال به بالا 2- افراد کمتر از 18 سال که دارای حکم رشد باشند. 3- پدر یا جد پدری با ارائه شناسنامه خود برای فرزندان کمتر از 18 سال. 4- سرپرست قانونی (قیم، امین، وصی) برای افراد صغیر و محجوز با ارائه مدارک مستند که سمت او احراز شده باشد. برای دریافت راهنمایی و مشاوره رایگان در خصوص کلیه دعاوی ثبت احوال با وکلای خانواده موسسه حقوقی دادآرمان تماس بگیر. (02122904873-02122904874-09128400921-093362676... |
عجیب ترین نامهای خانوادگی ثبت شده در کشور تولد شناسنامه در کشور ما مربوط به حدود ۱ قرن پیش است. پیش از آن پشت جلد قرآن یا کتابهای مقدس دیگر برای پیروان سایر ادیان محل ثبت وقوع اتفاقاتی مانند تولد اشخاص و سینه سنگهای قبرستان محل ثبت تاریخ مرگ آنان بود. ۳۰ مرداد ۱۳۱۳ ثبت نامخانوادگی در ایران اجباری شد. به گزارش تابناک به نقل از همشهری، تصویری از عجیبترین نامهای خانوادگی که در تاریخ ثبت احوال کشور ثبت شده است را ببینید. |
شناسنامههای جدید آمد + عکس سایت تفریحی خلیج فارس آنلاین : سازمان ثبت احوال کشور از اواسط سال گذشته اقدام به تغییر و تعویض شناسنامههای ایرانیان کرد و به این ترتیب شناسنامههای قرمز رنگ ایرانیان پس از چندین دهه با تغییراتی در ظاهر، جای خود را به شناسنامههای رایانهای میدهند. شناسنامههای جدید که در اندازه و شکل شبیه «گذرنامه» است، بر اساس گروه سنی زیر 15 سال و بالای 15 سال به دو رنگ سبز و قرمز صادر میشود. سازمان ثبت احوال در فاز اول این طرح برای نوزادان اقدام به صدور شناسنامههای رایانهای کرد این شناسنامهها با جلدی به رنگ سبز و بدون فضای عکس صادر میشود. همچنین ثبت احوال در این مرحله برای آن دسته از متقاضیانی که با رسیدن به سن 15 سالگی برای عکسدار کردن شناسنامه خود مراجعه کنند نیز شناسنامههایی با جلد قرمز صادر میکند. بر اساس گزارش ایسنا، شناسنامههای جدید از نظر اطلاعات مندرج تفاوتی با شناسنامههای قبلی ندارند و تنها فضایی برای ثبت کد ملی دارد که پیش از این در شناسنامههای قبلی نبود. در حال حاضر علاوه بر دو گروه فوق، اولویت اول تعویض شناسنامه برای کسانی است که شناسنامه آنها دچ... |
مدارک لازم برای تغییر نام در دادگاه |
دستورالعمل تغییر نام در شناسنامه آیا امکان تغییر نام در شناسنامه وجود دارد؟ طبق ماده 20 قانون ثبت احوال کشور قوانینی در خصوص تغییر نام و یا نام خانوادگی در شناسنامه وجود دارد که افراد می توانند با داشتن شرایط تعیین شده با مراجعه به ثبت احوال محل صدور شناسنامه درخواست تغییر نام در شناسنامه را بنمایند. در صورتی که متقاضی نتواند با مراجعه به اداره ثبت احوال نام خود را در شناسنامه تغییر دهد، می تواند به دادگاه محل اقامت خود مراجعه کرده و با ثبت دادخواست تغییر نام، تقاضای تغییر نام در شناسنامه را بنماید. طبق قانون افراد زیر می توانند درخواست تغییر نام یا نام خانوادگی در شناسنامه را بنمایند: 1- اشخاص 18 سال به بالا 2- افراد کمتر از 18 سال که دارای حکم رشد باشند. 3- پدر یا جد پدری با ارائه شناسنامه خود برای فرزندان کمتر از 18 سال. 4- سرپرست قانونی (قیم، امین، وصی) برای افراد صغیر و محجوز با ارائه مدارک مستند که سمت او احراز شده باشد. برای دریافت راهنمایی و مشاوره رایگان در خصوص کلیه دعاوی ثبت احوال با وکلای خانواده موسسه حقوقی دادآرمان تماس بگیر. (02122904873-02122904874-09128400921-093362676... |
استمهال چیست؟ مواردی كه قانونا مورد استمهال از دادگاه كاربرد دارد بشرح ذیل می باشد : ماده 220 - ادعای جعلیت و دلایل آن به دستور دادگاه به طرف مقابل ابلاغ می شود. در صورتی كه طرف به استفاده باقی باشد ، موظف است ظرف ده روز از تاریخ ابلاغ ، اصل سند موضوع ادعای جعل را به دفتر دادگاه تسلیم نماید. مدیر دفتر پس از دریافت سند ، آن را به نظر قاضی دادگاه رسانیده و دادگاه آن را فوری مهر وموم می نماید . چنانچه در موعد مقرر صاحب سند از تسلیم آن به دفتر خودداری كند ، سند از عداد دلایل او خارج خواهد شد . تبصره - در مواردی كه وكیل یا نماینده قانونی دیگری در دادرسی مداخله داشته باشد ، چنانچه دسترسی به اصل سند نداشته باشد حق استمهال دارد و دادگاه مهلت مناسبی برای ارائه اصل سند به او می دهد. ماده 234 - هر یك از اصحاب دعوا می توانند گواهان طرف خود را با ذكر علت جرح نمایند. چنانچه پس از صدور رای برای دادگاه معلوم شود كه قبل از ادای گواهی جهات جرح وجود داشته ولی بر دادگاه مخفی مانده و رای صادر هم مستند به آن گواهی بوده ، مورد از موارد نقض می باشد و چنانچه جهات جرح بعد از صدور رای حادث شده باشد ، موثر در اعت... |
ضمانت نامه چيست؟ ضمانت نامه قرار كفالت يكي از انواع قرارهاي تأمين كيفري است كه شديدتر از دستورات التزام حضوري است. دستورات امنيتي كيفري در واقع براي دسترسي به متهم و جلوگيري از مخفي شدن و فرار وي اخذ مي شود. در قرار كفالت شخص ديگري كه صلاحيت وي مورد تاييد دستگاه قضايي باشد ضمانت و ضمانت متهم را مي پذيرد و در صورت لزوم متهم را به مرجع قضايي معرفي مي كند در غير اين صورت وجه وثيقه به نفع دولت ضبط مي شود. و ابتدا بايد به متهم داده شود. ابلاغ و در صورت اعتراض به امضاي دستور تامين، صورتجلسه تشكيل خواهد شد. در صورت نبود ضمانت متهم، دادگاه دستور جلب و معرفي متهم را صادر مي كند. علاوه بر مشخصات متهم، نوع و ميزان تأمين در برگه زندان قيد شده است. ضامن بايد واجد شرايط بوده و دارايي و دارايي كافي براي پرداخت مبلغ الكفاله باشد. تعيين هر يك از قرارها يا ميزان آن با قاضي صادركننده است و طبق مواد 134 و 136 قانون آيين دادرسي كيفري ميزان آن نبايد كمتر از خسارات وارده به مجني عليه و با اهميت جرم و جنايت باشد. شدت مجازات و دلايل و علل. اتهام و احتمال فرار متهم و از بين رفتن آثار جرم و سابقه متهم و خلق و خو... |
مراحل تغییر نام در ثبت احوال |
دستورالعمل تغییر نام در شناسنامه آیا امکان تغییر نام در شناسنامه وجود دارد؟ طبق ماده 20 قانون ثبت احوال کشور قوانینی در خصوص تغییر نام و یا نام خانوادگی در شناسنامه وجود دارد که افراد می توانند با داشتن شرایط تعیین شده با مراجعه به ثبت احوال محل صدور شناسنامه درخواست تغییر نام در شناسنامه را بنمایند. در صورتی که متقاضی نتواند با مراجعه به اداره ثبت احوال نام خود را در شناسنامه تغییر دهد، می تواند به دادگاه محل اقامت خود مراجعه کرده و با ثبت دادخواست تغییر نام، تقاضای تغییر نام در شناسنامه را بنماید. طبق قانون افراد زیر می توانند درخواست تغییر نام یا نام خانوادگی در شناسنامه را بنمایند: 1- اشخاص 18 سال به بالا 2- افراد کمتر از 18 سال که دارای حکم رشد باشند. 3- پدر یا جد پدری با ارائه شناسنامه خود برای فرزندان کمتر از 18 سال. 4- سرپرست قانونی (قیم، امین، وصی) برای افراد صغیر و محجوز با ارائه مدارک مستند که سمت او احراز شده باشد. برای دریافت راهنمایی و مشاوره رایگان در خصوص کلیه دعاوی ثبت احوال با وکلای خانواده موسسه حقوقی دادآرمان تماس بگیر. (02122904873-02122904874-09128400921-093362676... |
گواهی فوت برای کسب اطلاعات بیشتر و تکمیلی به مقاله کامل گواهی فوت در سایت همیار ترحیم مراجعه نمایید . انسان روزی متولد می شود و برای داشتن هویت و زندگی در جامعه می بایست نسبت به ثبت تاریخ تولد و تهیه شناسنامه برا او از ثبت احوال اقدام کرد و زمانی که فردی فوت می کند همان طوری که به هنگام تولد اطلاعات او ثبت می شود ، به هنگام فوت نیز باید تاریخ آن در ثبت احوال به ثبت و شناسنامه فرد متوفی باطل و گواهی فوت صادر شود. بعد فوت شخص گواهی فوت جایگزین شناسنامه متوفی خواهد شد که بنا به ضرورت و نیاز، از این گواهی استفاده می شود براساس ماده ۲۲ قانون ثبت و احوال کشور می بایست وفات هرکس اعم از ایرانی یا خارجی و همچنین ولادت طفلی که مرده به دنیا آمده یا بلافاصله پس از ولادت بمیرد باید به مامور یا نماینده ثبت احوال اعلام شود. نحوه مراجعه و ثبت وفات و صدورگواهی فوت جهت ثبت وفات و اخذ گواهی فوت می بایست در ساعات و ایام اداری نسبت به مراجعه به ادارات ثبت احوال اقدام و در صورت تکمیل بودن مدارک لازم نسبت به ثبت وفات و صدور گواهی فوت در همان روز اقدام خواهد شد . در صورت نبودن شناسنامه متوفی نسبت به ارائه مد... |
تعویض می شویم ... برای امروز مرخصی رد کردم ... چند روزی بود که در فکر تعویض و یا بهتر بگویم تبدیل برگ پایان خدمتی بودم که قبل از سربازی خیلی مهم بود و بعد از سربازی بیست و چند سال خاک خورده و انگار برای جبران کسر بودجه دوباره رو دور رواج افتاده و نان شب را هم تحت تاثیر قرار خواهد داد !!! قبل از اقدام به تعویض ، تصمیم گرفتم تا ابتدا شناسنامه را تازه کرده و بعد کارت ملی را هوشمند بکنم و در ادامه بروم سراغ پایان خدمت ... امروز باتفاق فوتورافچی رفتیم ثبت احوال ، فرم ها را پر کرده و مابین چند باجه پاسکاری شدیم ، زیاد شلوغ نبود و خوب پیش می رفتیم ، آخر سر یک فرم دادند و باید مشخصات پر می کردیم ، کارت ملی پدر و مادر را هم می خواست ، حالا چرائیش را نمی دانستیم ، گفتم پدرم مرحوم شده و من باید از کجا بیاورم و طرف کوتاه آمد و گفت شماره ملی مادرتان را بنویسید ، حالا پیدا کردم مادر در شهر و فرستادن به خانه و ... و کارمان تمام شد ... سر راه خانه یک دفتر پیشخوان ثبت احوال بود و رفتم تا سوال بکنم که چی برای تعویض کارت ملی نیاز است ، یک کاغذی روی دیوار بود و آدرس اینترنتی ثبت احوال ... با موبایل یک عکس... |
MatryoshkaLoss with these parameters:{
"loss": "MultipleNegativesRankingLoss",
"matryoshka_dims": [
768,
512,
256,
128,
64
],
"matryoshka_weights": [
1,
1,
1,
1,
1
],
"n_dims_per_step": -1
}
per_device_train_batch_size: 32num_train_epochs: 1.0learning_rate: 2e-05warmup_steps: 0.05bf16: Truepush_to_hub: Truehub_model_id: shekar-ai/felfelneghub_strategy: all_checkpointsdataloader_num_workers: 4batch_sampler: no_duplicatesper_device_train_batch_size: 32num_train_epochs: 1.0max_steps: -1learning_rate: 2e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0.05optim: adamw_torch_fusedoptim_args: Noneweight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08optim_target_modules: Nonegradient_accumulation_steps: 1average_tokens_across_devices: Truemax_grad_norm: 1.0label_smoothing_factor: 0.0bf16: Truefp16: Falsebf16_full_eval: Falsefp16_full_eval: Falsetf32: Nonegradient_checkpointing: Falsegradient_checkpointing_kwargs: Nonetorch_compile: Falsetorch_compile_backend: Nonetorch_compile_mode: Noneuse_liger_kernel: Falseliger_kernel_config: Noneuse_cache: Falseneftune_noise_alpha: Nonetorch_empty_cache_steps: Noneauto_find_batch_size: Falselog_on_each_node: Truelogging_nan_inf_filter: Trueinclude_num_input_tokens_seen: nolog_level: passivelog_level_replica: warningdisable_tqdm: Falseproject: huggingfacetrackio_space_id: Nonetrackio_bucket_id: Nonetrackio_static_space_id: Noneper_device_eval_batch_size: 8prediction_loss_only: Trueeval_on_start: Falseeval_do_concat_batches: Trueeval_use_gather_object: Falseeval_accumulation_steps: Noneinclude_for_metrics: []batch_eval_metrics: Falsesave_only_model: Falsesave_on_each_node: Falseenable_jit_checkpoint: Falsepush_to_hub: Truehub_private_repo: Nonehub_model_id: shekar-ai/felfelneghub_strategy: all_checkpointshub_always_push: Falsehub_revision: Noneload_best_model_at_end: Falseignore_data_skip: Falserestore_callback_states_from_checkpoint: Falsefull_determinism: Falseseed: 42data_seed: Noneuse_cpu: Falseaccelerator_config: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}parallelism_config: Nonedataloader_drop_last: Truedataloader_num_workers: 4dataloader_pin_memory: Truedataloader_persistent_workers: Falsedataloader_prefetch_factor: Noneremove_unused_columns: Truelabel_names: Nonetrain_sampling_strategy: randomlength_column_name: lengthddp_find_unused_parameters: Noneddp_bucket_cap_mb: Noneddp_broadcast_buffers: Falseddp_static_graph: Noneddp_backend: Noneddp_timeout: 1800fsdp: Nonefsdp_config: Nonedeepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: no_duplicatesmulti_dataset_batch_sampler: proportionalrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | Training Loss |
|---|---|---|
| 0.2916 | 19550 | 1.1005 |
| 0.2924 | 19600 | 1.1308 |
| 0.2931 | 19650 | 1.1238 |
| 0.2938 | 19700 | 1.0971 |
| 0.2946 | 19750 | 1.0918 |
| 0.2953 | 19800 | 1.1156 |
| 0.2961 | 19850 | 1.1489 |
| 0.2968 | 19900 | 1.0879 |
| 0.2976 | 19950 | 1.0409 |
| 0.2983 | 20000 | 1.1131 |
| 0.2991 | 20050 | 1.1014 |
| 0.2998 | 20100 | 1.0927 |
| 0.3006 | 20150 | 1.0195 |
| 0.3013 | 20200 | 1.1006 |
| 0.3020 | 20250 | 1.1342 |
| 0.3028 | 20300 | 1.0895 |
| 0.3035 | 20350 | 1.0787 |
| 0.3043 | 20400 | 1.0422 |
| 0.3050 | 20450 | 1.0657 |
| 0.3058 | 20500 | 1.0654 |
| 0.3065 | 20550 | 1.0560 |
| 0.3073 | 20600 | 1.0942 |
| 0.3080 | 20650 | 1.0592 |
| 0.3088 | 20700 | 1.0860 |
| 0.3095 | 20750 | 1.0381 |
| 0.3103 | 20800 | 1.0697 |
| 0.3110 | 20850 | 1.1191 |
| 0.3117 | 20900 | 1.0692 |
| 0.3125 | 20950 | 1.1578 |
| 0.3132 | 21000 | 1.1134 |
| 0.3140 | 21050 | 1.0698 |
| 0.3147 | 21100 | 1.1926 |
| 0.3155 | 21150 | 1.0797 |
| 0.3162 | 21200 | 1.1204 |
| 0.3170 | 21250 | 1.0682 |
| 0.3177 | 21300 | 1.0309 |
| 0.3185 | 21350 | 1.0757 |
| 0.3192 | 21400 | 1.0583 |
| 0.3199 | 21450 | 1.0681 |
| 0.3207 | 21500 | 1.1060 |
| 0.3214 | 21550 | 1.0818 |
| 0.3222 | 21600 | 1.0495 |
| 0.3229 | 21650 | 1.0546 |
| 0.3237 | 21700 | 1.0233 |
| 0.3244 | 21750 | 1.1722 |
| 0.3252 | 21800 | 1.1260 |
| 0.3259 | 21850 | 1.1129 |
| 0.3267 | 21900 | 1.0505 |
| 0.3274 | 21950 | 1.1759 |
| 0.3282 | 22000 | 1.1322 |
@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{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}
}
@misc{oord2019representationlearningcontrastivepredictive,
title={Representation Learning with Contrastive Predictive Coding},
author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
year={2019},
eprint={1807.03748},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/1807.03748},
}
Base model
shekar-ai/FelfelSupPairs