Scaling Deep Contrastive Learning Batch Size under Memory Limited Setup
Paper • 2101.06983 • Published • 3
How to use JLee1017/embedding with sentence-transformers:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("JLee1017/embedding")
sentences = [
"query: 정보주체가 자신의 개인정보에 대한 열람을 공공기관에 요구할 때, 어떤 방법으로 요구할 수 있습니까?",
"passage: 정보주체와 계약 체결 및 이행을 위하여 개인정보의 수집이 불가피하게 수반되는 경우 까지 정보주체의 동의를 받도록 하면 경제활동에 막대한 지장을 초래하고 동의 획득에 소요 되는 비용만 증가시키게 되므로, 계약 체결이나 이행을 위해 불가피하게 필요한 개인정 보는 정보주체에 대한 고지·동의 없이도 개인정보를 수집할 수 있도록 한 것이다.'계약체결'에는 계약체결을 위한 준비단계도 포함된다. 예컨대 부동산거래에 있어서계약체결 전에 해당 부동산의 소유자, 권리관계 등을 미리 조사·확인하는 경우가 이에 해 당한다. 단, 계약 미체결시에는 수집한 개인정보는 즉시 파기하여야 한다.<table><tbody><tr><td>참고 1</td><td>계약체결의 사례</td></tr><tr><td>∙ 보험회사가 계약체결을 위해 청약자의 자동차사고 이력, 다른 유사보험의 가입여부 등에 관 한 정보를 수집하는 경우 ∙ 거래 체결 전에 거래상대방의 신용도 평가를 위해 정보를 수집·이용하는 경우 ∙ 회사가 취업지원자와 근로계약 체결 전에 지원자의 이력서, 졸업증명서, 성적증명서 등 정 보를 수집·이용하는 경우</td></tr></tbody></table>'계약이행'은 물건의 배송·전달이나 서비스의 이행과 같은 주된 의무의 이행뿐만아니라 부수의무 즉 경품배달, 포인트(마일리지) 관리, 애프터서비스 의무 등의 이행도 포 함된다.<table><tbody><tr><td>참고 2</td><td>계약이행 사례</td></tr><tr><td>∙ 고객이 주문한 상품을 배송하기 위하여 주소, 연락처 정보를 수집하는 경우 ∙ 경품행사시 당첨자에게 경품을 발송하기 위해 주소와 연락처 정보를 요구하는 경우 ∙ 쇼핑몰이 주문시 포인트를 지급하기로 약정하고 주문정보를 수집하는 경우</td></tr></tbody></table>대리인을 통한 계약체결의 경우 정당한 대리권을 부여받았는지의 여부는 반드시 필 요한 사항으로 대리권 확인을 위한 목적으로 대리인의 개인정보를 수집·이용 할 수 있다 (표준지침 제6조제5항). 일반적으로 위임장에는 대리인의 성함, 주소, 전화번호 등이 기재되어 있는데, 대리권 확인을 위한 대리인의 개인정보를 수집·이용하는 것은 계약체결 등 법률 행위를 위해 불가피한 사항이므로 단순히 대리인 여부를 확인하기 위해서는 대리인의 개인 정보를 수집·이용할 수 있다. 다만 주민등록번호 등의 고유식별번호는 「개인정보 보호 법」제24조, 제24조의2에 따라 수집이 제한된다.근로자가 사용자에게 근로를 제공하고 사용자는 이에 대하여 임금을 지급하는 것을 목적 으로 근로계약을 체결한 경우, 근로계약을 이행하기 위해서 직원의 개인정보를 수집·이 용하는 것은 반드시 필요한 사항이므로 사용자는 근로자의 임금지급, 계약서에 명시된 복지 제공 등 근로계약을 이행하기 위하여 근로자의 동의 없이 개인정보를 수집·이용할 수 있다.그러나 근로관계에서 근로자는 사용자보다 약자의 지위에 처하게 되므로 근로자의 개인정 보는 더욱 중요하게 보호될 필요가 있다. 따라서 근로자의 동의를 받지는 않는다고 하더라 도, 법 제4조제1호에서 정보주체의 권리로서 개인정보의 처리에 관한 정보를 제공받을 권리 를 명시하고 있는 점 등에 비추어 근로계약 체결 시 근로계약서, 별도의 개인정보 처리방침 등을 통해 직원의 개인정보 수집·이용에 관한 사항을 알리는 것이 바람직하다(직원 개인정 보의 수집목적, 수집항목, 직원의 열람·처리정지·정정·삭제 등에 관한 사항, 보유기간, 퇴직 후 직원정보의 처리절차 등).",
"passage: ① 개인정보처리자는 1천명 이상의 정보주체에 관한 개인정보가 유출된 경우에는 정보주체에 대한 통지 및 조치결과를 5일 이내에 보호위원회 또는 영 제39조 제2항의 전문 기관에게 신고하여야 한다.② 제1항에 따른 신고는 별지 제1호서식에 따른 개인정보 유출신고서를 통하여 하여야 한다.③ 개인정보처리자는 전자우편, 팩스 또는 영 제39조 제2항에 따른 전문기관의 인터넷 사이트를 통하여 유출신고를 할 시간적 여유가 없거나 그밖에 특별한 사정이 있는 때에는 먼저 전화를 통하여 제26조 제1항의 사항을 신고한 후, 별지 제1호서식에 따른 개인정보 유출신고서를 제출할 수 있다.④ 개인정보처리자는 1천명 이상의 정보주체에 관한 개인정보가 유출된 경우에는 제26조 제1항에 따른 통지와 함께 인터넷 홈페이지 등에 정보주체가 알아보기 쉽도록 제26조 제1항 각 호의 사항을 7일 이상 게재하여야 한다.",
"passage: ① 정보주체는 개인정보처리자가 처리하는 자신의 개인정보에 대한 열람을 해당 개인정보처리자에게 요구할 수 있다.② 제1항에도 불구하고 정보주체가 자신의 개인정보에 대한 열람을 공공기관에 요구하고자 할 때에는 공공기관에 직접 열람을 요구하거나 대통령령으로 정하는 바에 따라 보호위원회를 통하여 열람을 요구할 수 있다. <개정 2013. 3. 23., 2014. 11. 19., 2017. 7. 26., 2020. 2. 4.> ③ 개인정보처리자는 제1항 및 제2항에 따른 열람을 요구받았을 때에는 대통령령으로 정하는 기간 내에 정보주체가 해당 개인정보를 열람할 수 있도록 하여야 한다. 이 경우 해당 기간 내에 열람할 수 없는 정당한 사유가 있을 때에는 정보주체에게 그 사유를 알리고 열람을 연기할 수 있으며, 그 사유가 소멸하면 지체 없이 열람하게 하여야 한다.④ 개인정보처리자는 다음 각 호의 어느 하나에 해당하는 경우에는 정보주체에게 그 사유를 알리고 열람을 제한하거나 거절할 수 있다.1. 법률에 따라 열람이 금지되거나 제한되는 경우2. 다른 사람의 생명·신체를 해할 우려가 있거나 다른 사람의 재산과 그 밖의 이익을 부당하게 침해할 우려가 있는 경우3. 공공기관이 다음 각 목의 어느 하나에 해당하는 업무를 수행할 때 중대한 지장을 초래하는 경우 가. 조세의 부과·징수 또는 환급에 관한 업무나. 「초·중등교육법」 및 「고등교육법」에 따른 각급 학교, 「평생교육법」에 따른 평생교육시설, 그 밖의 다른 법률에 따라 설치된 고등교육기관에서의 성적 평가 또는 입학자 선발에 관한 업무다. 학력·기능 및 채용에 관한 시험, 자격 심사에 관한 업무라. 보상금·급부금 산정 등에 대하여 진행 중인 평가 또는 판단에 관한 업무마. 다른 법률에 따라 진행 중인 감사 및 조사에 관한 업무⑤ 제1항부터 제4항까지의 규정에 따른 열람 요구, 열람 제한, 통지 등의 방법 및 절차에 관하여 필요한 사항은 대통령령으로 정한다."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [4, 4]This is a sentence-transformers model finetuned from nlpai-lab/KoE5. It maps sentences & paragraphs to a 1024-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: XLMRobertaModel
(1): Pooling({'word_embedding_dimension': 1024, '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()
)
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("sentence_transformers_model_id")
# Run inference
sentences = [
'query: 영향평가란 무엇인가요?',
'passage: 이 고시에서 사용하는 용어의 정의는 다음과 각 호와 같다.1. "개인정보 영향평가(이하 "영향평가"라 한다)"란 법 제33조제1항에 따라 공공기관의 장이 영 제35조에 해당하는 개인정보파일의 운용으로 인 하여 정보주체의 개인정보 침해가 우려되는 경우에 그 위험요인의 분석과 개선 사항 도출을 위한 평가를 말한다.2. "대상기관"이란 영 제35조에 해당하는 개인정보파일을 구축·운용, 변 경 또는 연계하려는 공공기관을 말한다.3. "개인정보 영향평가기관(이하"평가기관"이라 한다)"이란 영 제37조제 1항 각 호의 요건을 모두 갖춘 법인으로서 공공기관의 영향평가를 수행하 기 위하여 개인정보 보호위원회(이하"보호위원회"라 한다)가 지정한 기 관을 말한다.4. "대상시스템"이란 영 제35조에 해당하는 개인정보파일을 구축·운용, 변경 또는 연계하려는 정보시스템을 말한다.5. "개인정보 영향평가 관련 분야 수행실적(이하 "영향평가 관련 분야 수 행실적"이라 한다)"이란 영 제37조제1항제1호에 따른 영향평가 업무 또 는 이와 유사한 업무, 정보보호 컨설팅 업무 등을 수행한 실적을 말한다.',
'passage: 사후심사란 인증을 받거나 인증이 갱신된 후 매년 사후관리를 위하여 실시하는 인증심 사를 말한다(「정보보호 및 개인정보보호 관리체계 인증 등에 관한 고시」제2조제10호). 사후심사는 인증발급일 기준으로 매 1년 이전에 인증심사 완료 및 유지공문을 받아야 하 며, 매 1년 내 인증유지공문을 받지 못할 시 인증이 취소될 수 있다.한편, 인증 취득한 범위와 관련하여 침해사고 또는 개인정보 유출사고가 발생한 경우한국인터넷진흥원은 필요에 따라 인증관련 보안향상을 위한 필요한 지원 등을 할 수 있다 (「정보보호 및 개인정보보호 관리체계 인증 등에 관한 고시」제27조제3항).',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 1024]
# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]
anchor and positive| anchor | positive | |
|---|---|---|
| type | string | string |
| details |
|
|
| anchor | positive | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
query: 재개발 조합원 및 토지등소유자의 명부 열람시 동의가 필요한가요? |
passage: [개인정보 열람 요구 처리 절차] ● 개인정보 열람의 대상╶ 정보주체는 개인정보처리자가 처리하고 있는 자신의 개인정보의 열람을 요구할 수 있음. 열람의 대상이 되는 개인정보는 정보주체가 직접 제공한 개인정보는 물론 제3자 또는 공개된 정보원 으로부터 수집한 개인정보, 개인정보처리자가 생산한 개인정보(민원처리기록, 주민등록등본 등 온라인문서발급기록, 진료기록, 생계급여지급내역, 신용평가, 인사평가, 거래내역, 진료기록 등), 서비스제공 등의 과정에서 자동적으로 생성된 개인정보(수발신내역, 입출기록, 쿠키, 로그 기록 등) 등을 포함함 |
|||||||||||||||||||||||||||
query: 정보주체가 자신의 개인정보를 정정·삭제 요구할 수 없는 경우는 언제인가요? |
passage: [개인정보 정정·삭제 요구 처리 절차] ● 개인정보 정정·삭제 요구의 주체╶ 개인정보의 정정·삭제를 요구할 수 있는 사람은 개인정보처리자가 보유하고 있는 자신의 개인 정보를 열람한 정보주체임. 다만, 다른 법령에서 그 개인정보가 수집 대상으로 명시되어 있는 경우에는 그 삭제를 요구할 수 없음[개인정보 보존 의무를 규정한 법령] |
|||||||||||||||||||||||||||
query: 개인정보의 정정·삭제를 요구할 수 있는 사람은 누구인가요? |
passage: [개인정보 정정·삭제 요구 처리 절차] ● 개인정보 정정·삭제 요구의 주체╶ 개인정보의 정정·삭제를 요구할 수 있는 사람은 개인정보처리자가 보유하고 있는 자신의 개인 정보를 열람한 정보주체임. 다만, 다른 법령에서 그 개인정보가 수집 대상으로 명시되어 있는 경우에는 그 삭제를 요구할 수 없음[개인정보 보존 의무를 규정한 법령] |
CachedMultipleNegativesRankingLoss with these parameters:{
"scale": 20.0,
"similarity_fct": "cos_sim"
}
per_device_train_batch_size: 512learning_rate: 2e-05num_train_epochs: 1fp16: Trueoverwrite_output_dir: Falsedo_predict: Falseeval_strategy: noprediction_loss_only: Trueper_device_train_batch_size: 512per_device_eval_batch_size: 8per_gpu_train_batch_size: Noneper_gpu_eval_batch_size: Nonegradient_accumulation_steps: 1eval_accumulation_steps: Nonetorch_empty_cache_steps: Nonelearning_rate: 2e-05weight_decay: 0.0adam_beta1: 0.9adam_beta2: 0.999adam_epsilon: 1e-08max_grad_norm: 1.0num_train_epochs: 1max_steps: -1lr_scheduler_type: linearlr_scheduler_kwargs: {}warmup_ratio: 0.0warmup_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: Falsefp16: Truefp16_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}fsdp_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: Falsehub_always_push: Falsegradient_checkpointing: Falsegradient_checkpointing_kwargs: Noneinclude_inputs_for_metrics: Falseeval_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: Nonedispatch_batches: Nonesplit_batches: Noneinclude_tokens_per_second: Falseinclude_num_input_tokens_seen: Falseneftune_noise_alpha: Noneoptim_target_modules: Nonebatch_eval_metrics: Falseeval_on_start: Falseeval_use_gather_object: Falsebatch_sampler: batch_samplermulti_dataset_batch_sampler: proportional@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}
}