Views
No views yet
MOSAIC tez projesinin Faz 4 çıktısı.intfloat/multilingual-e5-smallbaz modeli, 1.432 Türkçe finans QA çiftiyle fine-tune edilmiştir.Proje: "Türkçe Finans İçin Federe RAG Tabanlı Düşük Kaynaklı Ortamlarda Çalışan Adaptif Chatbot Mimarisi"
1from sentence_transformers import SentenceTransformer
2
3model = SentenceTransformer("tahatoy/mosaic-turkembed-finetuned")
4
5query = "Konut kredisi faiz oranı nedir?"
6passages = ["Bankamız konut kredilerinde...", "Diğer bilgi..."]
7embeddings = model.encode([query] + passages)SentenceTransformer(
(0): Transformer({'max_seq_length': 256, 'do_lower_case': False, 'architecture': 'BertModel'})
(1): Pooling({'word_embedding_dimension': 384, '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()
)pip install -U sentence-transformers1from sentence_transformers import SentenceTransformer
2
3# Download from the 🤗 Hub
4model = SentenceTransformer("tahatoy/mosaic-turkembed-finetuned")
5# Run inference
6sentences = [
7 "1970'li yıllarda finansal yönetimde hangi gelişmeler yaşanmıştır?",
8 "1970'li yıllarda bu eğilim daha da artmıştır. Bu yılların diğer önemli bir özelliği de işletme değerini ve hissedarların - ortakların - servetini maksimum kılmada riskle düzeltilmiş modellerin geliştirilmiş olmasıdır.",
9 'Kredi Kartlarının Doğru Kullanılması ve Finansal Sorumluluk\n\nKredi kartlarının doğru kullanımı ve finansal sorumlulukla ele alınması önemlidir.\nKredi kartlarının yanlış kullanımı, finansal sorunlara yol açabilir.',
10]
11embeddings = model.encode(sentences)
12print(embeddings.shape)
13# [3, 384]
14
15# Get the similarity scores for the embeddings
16similarities = model.similarity(embeddings, embeddings)
17print(similarities)
18# tensor([[ 1.0000, 0.4738, 0.0634],
19# [ 0.4738, 1.0000, -0.0332],
20# [ 0.0634, -0.0332, 1.0000]])finance_valInformationRetrievalEvaluator| Metric | Value |
|---|---|
| cosine_accuracy@1 | 0.8547 |
| cosine_accuracy@3 | 0.8939 |
| cosine_accuracy@5 | 0.933 |
| cosine_accuracy@10 | 0.9665 |
| cosine_precision@1 | 0.8547 |
| cosine_precision@3 | 0.298 |
| cosine_precision@5 | 0.1866 |
| cosine_precision@10 | 0.0966 |
| cosine_recall@1 | 0.8547 |
| cosine_recall@3 | 0.8939 |
| cosine_recall@5 | 0.933 |
| cosine_recall@10 | 0.9665 |
| cosine_ndcg@10 | 0.903 |
| cosine_mrr@10 | 0.8835 |
| cosine_map@100 | 0.8854 |
sentence_0 and sentence_1| sentence_0 | sentence_1 | |
|---|---|---|
| type | string | string |
| details |
|
|
| sentence_0 | sentence_1 |
|---|---|
Kullanıcının yatırım fonu hakkındaki sorusunu yanıtla. | Yatırım fonları, içerdikleri varlıklara ve yatırım stratejilerine göre çeşitlenir. Başlıca türleri şunlardır:[object Object][object Object]- [object Object] Portföyünün en az %80'i hisse senetlerinden oluşur.[object Object]- [object Object] Genellikle düşük riskli ve sabit getirili menkul kıymetlere (tahvil, bono) yatırım yapar.[object Object]- [object Object] Hisse senedi, tahvil gibi farklı araçları bir arada bulundurur.[object Object]- [object Object] Kısa vadeli ve likiditesi yüksek araçlardan oluşur.[object Object]- [object Object] Faizsiz finans ilkelerine uygun varlıklara (sukuk, katılım hisseleri) yatırım yapar.[object Object]- [object Object] Belirli bir borsa endeksini takip eder ve hisse senedi gibi anlık alınıp satılabilir.[object Object]- [object Object] Yüksek risk alabilen nitelikli yatırımcılara yönelik esnek fonlardır. |
92 gün vadeli, 500.000 nominal değerli bir hazine bonosu için yatırımcının beklediği getiri oranı 9,614 ise bu hazine bonosu hangi fiyattan satın alınmalıdır? | Hazine bonosunun üzerinde yazılı değer nominal değeri gösterir ve bu değer bononun vade tarihindeki (gelecekteki) değeridir. Dolayısıyla nominal değer bononun gelecek değeridir. Soruda gelecekteki değeri belli olan bu bononun satın alma günündeki, diğer bir ifade ile bugunku değeri sorulmaktadır. Hazine Bonosunun Nominal Değeri (F) - 500.000, Vade (n) - 92 gün - 92/365 yıl, İskonto Oranı (i) - 9,614. Satış Fiyatı (P) - ? 500.000 / (1 + 0,09614*(92/365)) = 482.958. Yatırımcı 92 gün vadeli, 500.000 nominal değerli olan bu hazine bonosunu satış tarihinde 482.958'den satın alacaktır. Vade dolduğunda ise hazine bonosu iade edilerek 500.000 (Anapara) geri alınacaktır. Alış fiyatı ile nominal değer arasındaki fark kadar faiz geliri elde edilmiş olacaktır. Aradaki farkın 92 günlük getiriyi gösterdiğini unutmamak gerekir. Elde edilen faiz - 500.000 - 482.958 - 17.042. Faiz Oranı - 17.042 / 482.958 = 0,035 yada 3,53. 92 günlük faizin yıllık basit faizle karşılığı: 0,035 * (360/92) = 0,138 veya 1... |
Bütçe nasıl oluşturulur? | Bütçe oluşturmak için ilk adım hedef belirlemektir. Kısa, orta ve uzun vadeli finansal hedeflerinizi belirleyin. Gelirlerinizi ve giderlerinizi listeleyin. Giderlerinizi zorunlu ve isteğe bağlı olarak ayırın. Gelirinizden zorunlu giderleri çıkarın, kalan kısmı harcama ve birikim için paylaştırın. 50/30/20 ya da 70/20/10 gibi oranlarla planlama yapabilirsiniz. Her ay giderlerinizi gözden geçirerek bütçenizi güncelleyin. |
MultipleNegativesRankingLoss with these parameters:
1{
2 "scale": 20.0,
3 "similarity_fct": "cos_sim",
4 "gather_across_devices": false,
5 "directions": [
6 "query_to_doc"
7 ],
8 "partition_mode": "joint",
9 "hardness_mode": null,
10 "hardness_strength": 0.0
11}per_device_train_batch_size: 32fp16: Trueeval_strategy: stepsper_device_eval_batch_size: 32multi_dataset_batch_sampler: round_robinper_device_train_batch_size: 32num_train_epochs: 3max_steps: -1learning_rate: 5e-05lr_scheduler_type: linearlr_scheduler_kwargs: Nonewarmup_steps: 0optim: 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: 1label_smoothing_factor: 0.0bf16: Falsefp16: Truebf16_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: trackioeval_strategy: stepsper_device_eval_batch_size: 32prediction_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: Falsehub_private_repo: Nonehub_model_id: Nonehub_strategy: every_savehub_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: Falsedataloader_num_workers: 0dataloader_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_backend: Noneddp_timeout: 1800fsdp: []fsdp_config: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}deepspeed: Nonedebug: []skip_memory_metrics: Truedo_predict: Falseresume_from_checkpoint: Nonewarmup_ratio: Nonelocal_rank: -1prompts: Nonebatch_sampler: batch_samplermulti_dataset_batch_sampler: round_robinrouter_mapping: {}learning_rate_mapping: {}| Epoch | Step | finance_val_cosine_ndcg@10 |
|---|---|---|
| -1 | -1 | 0.8615 |
| 1.0 | 45 | 0.8820 |
| 2.0 | 90 | 0.9030 |
| 3.0 | 135 | 0.9030 |
1@inproceedings{reimers-2019-sentence-bert,
2 title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
3 author = "Reimers, Nils and Gurevych, Iryna",
4 booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
5 month = "11",
6 year = "2019",
7 publisher = "Association for Computational Linguistics",
8 url = "https://arxiv.org/abs/1908.10084",
9}1@misc{oord2019representationlearningcontrastivepredictive,
2 title={Representation Learning with Contrastive Predictive Coding},
3 author={Aaron van den Oord and Yazhe Li and Oriol Vinyals},
4 year={2019},
5 eprint={1807.03748},
6 archivePrefix={arXiv},
7 primaryClass={cs.LG},
8 url={https://arxiv.org/abs/1807.03748},
9}| ChromaDB Koleksiyonu | Belge Sayısı | Port |
|---|---|---|
finance_branch1 | 636 chunk | 8001 |
finance_branch2 | 988 chunk | 8002 |
finance_global | 1.623 chunk | 8003 |
cross-encoder/ms-marco-MiniLM-L-6-v2 reranker + hibrit arama (dense + BM25)