CalebMaresca commited on
Commit
4debbcb
·
verified ·
1 Parent(s): d17a5bf

Add new SentenceTransformer model

Browse files
1_Pooling/config.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "word_embedding_dimension": 1024,
3
+ "pooling_mode_cls_token": true,
4
+ "pooling_mode_mean_tokens": false,
5
+ "pooling_mode_max_tokens": false,
6
+ "pooling_mode_mean_sqrt_len_tokens": false,
7
+ "pooling_mode_weightedmean_tokens": false,
8
+ "pooling_mode_lasttoken": false,
9
+ "include_prompt": true
10
+ }
README.md ADDED
@@ -0,0 +1,695 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ tags:
3
+ - sentence-transformers
4
+ - sentence-similarity
5
+ - feature-extraction
6
+ - generated_from_trainer
7
+ - dataset_size:370
8
+ - loss:MatryoshkaLoss
9
+ - loss:MultipleNegativesRankingLoss
10
+ base_model: Snowflake/snowflake-arctic-embed-l
11
+ widget:
12
+ - source_sentence: ' What is the proposed alternative to imposing random events purely
13
+ by chance on players?'
14
+ sentences:
15
+ - "half a day). \n• They are perceived to be new and innovative (despite being around\
16
+ \ since 1987). \n• They are easy to transport, requiring only pen and paper –\
17
+ \ with perhaps a few maps and \ncounters. \n• They work well in multi-domain,\
18
+ \ multi-agency contexts allowing all Actors to participate \nequally. \nA few\
19
+ \ Words of Warning \n• The fact that a Matrix Game requires little infrastructure\
20
+ \ can be a problem – it just \ndoesn't look sexy and the strengths that it can\
21
+ \ be done quickly with the minimum of \nfuss, can be reduced by efforts to make\
22
+ \ it look cool/expensive. \n• The non-quantitative nature of the game can frustrate\
23
+ \ analysts. \n• Matrix Games require an experience facilitator to run them."
24
+ - "inform the other players of their stated intentions. In many cases these are\
25
+ \ not really \n\"arguments\" as part of the game, so shouldn't count as their\
26
+ \ action for the turn, unless they \nwish to specify a measurable effect (such\
27
+ \ as increasing their approval ratings). \nTrade Agreements \nIn some games, trade\
28
+ \ forms a very important part of the game narrative. In most cases this \ncan\
29
+ \ be treated simply as part of the normal ebb and flow of the argument process.\
30
+ \ \nHowever, in some circumstances, particularly when timescales are long, trade\
31
+ \ can require \ngreater attention as to the nuances of the economic benefits and\
32
+ \ impacts. In these cases, it \nmay be necessary to get the two sides to make\
33
+ \ additional arguments as to what they expect"
34
+ - "possible throughout the game, having “random events” happen completely at random\
35
+ \ is \nproblematic. An Actor may be disadvantaged purely by chance, more than\
36
+ \ once during the \ngame, which can reduce their immersion and engagement. The\
37
+ \ narrative develops during \nthe game based on the decisions of the players and\
38
+ \ their reactions to the decisions of other \nplayers. Having random events imposed\
39
+ \ on them by chance breaks this “cause and effect” \ncycle and degrades the game\
40
+ \ flow. \nThe alternative is to give the random event to the participants. They\
41
+ \ will then make a \ndecision as to how this can contribute to the narrative being\
42
+ \ developed by the players. They"
43
+ - source_sentence: ' What is the primary purpose of the game described in the context?'
44
+ sentences:
45
+ - "If you are using voting systems, either as Diceless Adjudication or as Estimative\
46
+ \ Probability, \nyou should take great care to ensure that the players are being\
47
+ \ as professional as possible, \nand not merely \"voting for themselves\" in a\
48
+ \ competitive manner. Many players can be quite \nvery competitive, so it may\
49
+ \ be necessary to not allow them to vote on their argument – and \nequally it\
50
+ \ may be necessary to keep an eye on players who are in direct competition. The\
51
+ \ \nintention is to develop a narrative, generating insights – rather than trying\
52
+ \ to win at all \ncosts. \n \n7 An example is https://www.turningtechnologies.eu/turningpoint/\
53
+ \ \n8 An example is https://www.polleverywhere.com/\n\fVersion 15 \nPage 14 of\
54
+ \ 52 \n© Tom Mouat 2019, 2020, 2022, 2023"
55
+ - "spend the time piling markers on counters. Tracks can be generic (in that they\
56
+ \ simply record \nthe number of plusses or minuses applied) or they might have\
57
+ \ specific \"trigger levels\" (in \nthat when the morale of the infantry is reduced\
58
+ \ to -3, the \"raw\" units will desert and return \nto their homes. \nIt can also\
59
+ \ be useful to have a \"Press\" actor whose job it is to record the results of\
60
+ \ \narguments (both visible to the public and those not), as well as putting the\
61
+ \ \"Press spin\" on \nthe events. This role can be useful in looking after the\
62
+ \ \"Consequence Management\" \nelements mentioned earlier. \nThe Components (and\
63
+ \ Characters) Affect the Game \nWhen participants are thinking on their feet,\
64
+ \ what they can see will affect what they argue"
65
+ - "materials, a short game, and small numbers of participants. If they want to conduct\
66
+ \ a \"deep \ndive\", this isn't the appropriate game - the purpose is to identify\
67
+ \ the insights – so make a \nnote and move on. The \"deep dive\" should follow\
68
+ \ later or in a different type of game. You \nshould, therefore, make sure you\
69
+ \ include this point in your introductory briefing so that the \nplayers are clear\
70
+ \ from the outset. \nWhen dealing with dominant people, who continually interrupt\
71
+ \ and dominate the \nArguments, you need to take a harder line. You should interrupt\
72
+ \ them when they interrupt \nanother player making a point. Point out to them\
73
+ \ that they had their chance. This isn't a"
74
+ - source_sentence: ' Why should Big Projects or Long-Term Plans require no more than
75
+ three successful arguments in the game?'
76
+ sentences:
77
+ - "much on this single thing. \nThis does not mean that arguments have to only\
78
+ \ be about things that can happen within \nthe turn length of the game. It is\
79
+ \ possible to make \"long term\" arguments like anything else. \nIf, in a Baltic\
80
+ \ game with week-long turns, you want to argue that an electricity cable \nbetween\
81
+ \ Sweden and Lithuania is to be built with the aim of reducing Lithuania's \n\
82
+ dependence on Russian energy, this would be judged as normal. It just would not\
83
+ \ come to \n \n9 I am indebted to Prof Rex Brynen for this suggestion.\n\fVersion\
84
+ \ 15 \nPage 23 of 52 \n© Tom Mouat 2019, 2020, 2022, 2023 \nfruition in the length\
85
+ \ of the game – but, assuming the argument was successful, it would"
86
+ - "games.\n\fVersion 15 \nPage 36 of 52 \n© Tom Mouat 2019, 2020, 2022, 2023 \n\
87
+ Why I like Matrix Games \n• Designing a Matrix Game can be done quickly with the\
88
+ \ minimum of fuss. \n• Participating in a Matrix Game does not require an understanding\
89
+ \ of complex and \nunfamiliar rules. \n• Matrix games can cover a wide variety\
90
+ \ of possible scenarios, including conceptual \nconflicts like Cyber. \n• They\
91
+ \ are especially good in the non-kinetic, effects based, domain. \n• Matrix games\
92
+ \ deal with qualitative outputs so are especially useful for non-analysts. \n\
93
+ • The games work best with small groups, increasing immersion and buy-in to the\
94
+ \ game. \n• Matrix games are extremely inexpensive (and they work best with short\
95
+ \ sessions lasting \nhalf a day)."
96
+ - "protection: Its hidden location, its boundary fence, and the security guards,\
97
+ \ all of which \nmust be overcome by successful arguments before the base can\
98
+ \ be penetrated. \nAs a rule of thumb, nothing should have more than 3 levels\
99
+ \ of protection as it will simply \ntake too long and dominate the game to the\
100
+ \ exclusion of everything else. \nBig Projects or Long-Term Plans \nDepending\
101
+ \ on the level of the game, some actions and events represent such a large \n\
102
+ investment in time and effort that they require multiple arguments in order to\
103
+ \ bring them \nto fruition. As a rule of thumb, a Big Project should also take\
104
+ \ no more than 3 successful \narguments (like protected and hidden things above);\
105
+ \ otherwise, the game is focussed too"
106
+ - source_sentence: ' Which associations related to wargaming and simulation are mentioned
107
+ in the context?'
108
+ sentences:
109
+ - "out their objectives and explain why they though they succeeded or failed can\
110
+ \ be most \ninstructive. Also, if you then ask the assembled group \"who won?\"\
111
+ \ and they all agree, then \nthis can be a very powerful indicator of things that\
112
+ \ might need to be looked at more closely \nas a result of the game. \nFinally,\
113
+ \ the insights from the game can take a little time to come out. They might not\
114
+ \ be \nimmediately obvious, so taking time to consider what happened in the game\
115
+ \ and whether \nindividual events are noteworthy, is very useful. I am continually\
116
+ \ surprised at the predictive \npower of such a simple game. \n \n \n \n11 See:\
117
+ \ Game theory, simulated interaction, and unaided judgement for forecasting decisions\
118
+ \ in conflicts. Kesten C. Green."
119
+ - 'gaming vignettes
120
+
121
+
122
+ job opportunities/positions vacant
123
+
124
+
125
+ latest links
126
+
127
+
128
+ methodology
129
+
130
+
131
+ not-so-serious
132
+
133
+
134
+ playtesters needed
135
+
136
+
137
+ reader survey
138
+
139
+
140
+ request for proposals
141
+
142
+
143
+ scholarships and fellowships
144
+
145
+
146
+ simulation and game reports
147
+
148
+
149
+ simulation and game reviews
150
+
151
+
152
+ simulation and gaming debacles
153
+
154
+
155
+ simulation and gaming history
156
+
157
+
158
+ simulation and gaming ideas
159
+
160
+
161
+ simulation and gaming journals
162
+
163
+
164
+ simulation and gaming materials
165
+
166
+
167
+ simulation and gaming miscellany
168
+
169
+
170
+ simulation and gaming news
171
+
172
+
173
+ simulation and gaming publications
174
+
175
+
176
+ simulation and gaming software
177
+
178
+
179
+ Archives
180
+
181
+
182
+ M T W T F S S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
183
+ 26 27 28 29 30
184
+
185
+
186
+ Associations
187
+
188
+
189
+ Australian Defence Force Wargaming Group
190
+
191
+
192
+ Connections Netherlands
193
+
194
+
195
+ Connections North (Canada)'
196
+ - "Senior Officers, Dominant People and Contentious Arguments \nIt is not uncommon\
197
+ \ in a Matrix Game that the participants want to \"debate\" the arguments. \n\
198
+ To a limited extent this is ok, but as stated elsewhere, the game needs to move\
199
+ \ at a pace, \ncreating an immersive narrative and forcing the players to have\
200
+ \ to live with the \nconsequences of their earlier decisions. \nIt can happen\
201
+ \ that a Senior Officer, used to \"seminar wargames\", will interrupt when you\
202
+ \ \nwant to move on and say \"wait a minute - this is a really valuable debate\
203
+ \ - let's just dig \ndown...\" You should try to point out that this is not that\
204
+ \ sort of game - Matrix Games are to \ngain an insight and understanding in a\
205
+ \ specific way. Short notice, minimal preparation and"
206
+ - source_sentence: ' Why is it important for player roles in a Matrix Game to operate
207
+ at broadly similar levels?'
208
+ sentences:
209
+ - 'The Basic Rule. The basic rule is as follows: 1 x 6-Sided Dice = 1 x Combat
210
+ Unit The size of that Combat Unit will, of course, vary from game to game. In
211
+ the boarding action it may be as little as 5-10 men; in a Map Game, it could be
212
+ as much as an entire Brigade, or even a Corps.
213
+
214
+
215
+ The Method. The dice on the opposing sides are rolled as follows: Roll the Dice.
216
+ Line them up, Highest vs Highest If one side has more dice than the other, any
217
+ dice that are extra, and score less than the lowest dice of the side with the
218
+ fewer dice, are ignored.'
219
+ - "Matrix Game Checklist ....................................................................................\
220
+ \ 38 \nSample Spendable Bonus Cards ......................................................................\
221
+ \ 40 \nSample Random Events ...................................................................................\
222
+ \ 41 \nSample Voting Cards for Diceless Adjudication ...............................................\
223
+ \ 43 \nSample Estimative Probability Cards ...............................................................\
224
+ \ 44 \nSample Turn Order Cards ................................................................................\
225
+ \ 45 \nSample Markers for Matrix Games for Effects and Conventional Forces ........\
226
+ \ 46"
227
+ - 'When you are designing a Matrix Game it is worth thinking about the level at
228
+ which the players roles will be operating in the game. In is usually better, and
229
+ produces a more balanced game, when the level on which the player roles are operating
230
+ are broadly similar. It would be difficult to get a balanced game if 3 of the
231
+ players are playing Generals in command of vast Armies, and another player is
232
+ playing a simple individual soldier.
233
+
234
+
235
+ Levels of Protection and Hidden Things.'
236
+ pipeline_tag: sentence-similarity
237
+ library_name: sentence-transformers
238
+ metrics:
239
+ - cosine_accuracy@1
240
+ - cosine_accuracy@3
241
+ - cosine_accuracy@5
242
+ - cosine_accuracy@10
243
+ - cosine_precision@1
244
+ - cosine_precision@3
245
+ - cosine_precision@5
246
+ - cosine_precision@10
247
+ - cosine_recall@1
248
+ - cosine_recall@3
249
+ - cosine_recall@5
250
+ - cosine_recall@10
251
+ - cosine_ndcg@10
252
+ - cosine_mrr@10
253
+ - cosine_map@100
254
+ model-index:
255
+ - name: SentenceTransformer based on Snowflake/snowflake-arctic-embed-l
256
+ results:
257
+ - task:
258
+ type: information-retrieval
259
+ name: Information Retrieval
260
+ dataset:
261
+ name: Unknown
262
+ type: unknown
263
+ metrics:
264
+ - type: cosine_accuracy@1
265
+ value: 0.9347826086956522
266
+ name: Cosine Accuracy@1
267
+ - type: cosine_accuracy@3
268
+ value: 1.0
269
+ name: Cosine Accuracy@3
270
+ - type: cosine_accuracy@5
271
+ value: 1.0
272
+ name: Cosine Accuracy@5
273
+ - type: cosine_accuracy@10
274
+ value: 1.0
275
+ name: Cosine Accuracy@10
276
+ - type: cosine_precision@1
277
+ value: 0.9347826086956522
278
+ name: Cosine Precision@1
279
+ - type: cosine_precision@3
280
+ value: 0.33333333333333337
281
+ name: Cosine Precision@3
282
+ - type: cosine_precision@5
283
+ value: 0.1999999999999999
284
+ name: Cosine Precision@5
285
+ - type: cosine_precision@10
286
+ value: 0.09999999999999995
287
+ name: Cosine Precision@10
288
+ - type: cosine_recall@1
289
+ value: 0.9347826086956522
290
+ name: Cosine Recall@1
291
+ - type: cosine_recall@3
292
+ value: 1.0
293
+ name: Cosine Recall@3
294
+ - type: cosine_recall@5
295
+ value: 1.0
296
+ name: Cosine Recall@5
297
+ - type: cosine_recall@10
298
+ value: 1.0
299
+ name: Cosine Recall@10
300
+ - type: cosine_ndcg@10
301
+ value: 0.97023760333851
302
+ name: Cosine Ndcg@10
303
+ - type: cosine_mrr@10
304
+ value: 0.9601449275362318
305
+ name: Cosine Mrr@10
306
+ - type: cosine_map@100
307
+ value: 0.960144927536232
308
+ name: Cosine Map@100
309
+ ---
310
+
311
+ # SentenceTransformer based on Snowflake/snowflake-arctic-embed-l
312
+
313
+ This is a [sentence-transformers](https://www.SBERT.net) model finetuned from [Snowflake/snowflake-arctic-embed-l](https://huggingface.co/Snowflake/snowflake-arctic-embed-l). 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.
314
+
315
+ ## Model Details
316
+
317
+ ### Model Description
318
+ - **Model Type:** Sentence Transformer
319
+ - **Base model:** [Snowflake/snowflake-arctic-embed-l](https://huggingface.co/Snowflake/snowflake-arctic-embed-l) <!-- at revision d8fb21ca8d905d2832ee8b96c894d3298964346b -->
320
+ - **Maximum Sequence Length:** 512 tokens
321
+ - **Output Dimensionality:** 1024 dimensions
322
+ - **Similarity Function:** Cosine Similarity
323
+ <!-- - **Training Dataset:** Unknown -->
324
+ <!-- - **Language:** Unknown -->
325
+ <!-- - **License:** Unknown -->
326
+
327
+ ### Model Sources
328
+
329
+ - **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
330
+ - **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
331
+ - **Hugging Face:** [Sentence Transformers on Hugging Face](https://huggingface.co/models?library=sentence-transformers)
332
+
333
+ ### Full Model Architecture
334
+
335
+ ```
336
+ SentenceTransformer(
337
+ (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel
338
+ (1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': True, 'pooling_mode_mean_tokens': False, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
339
+ (2): Normalize()
340
+ )
341
+ ```
342
+
343
+ ## Usage
344
+
345
+ ### Direct Usage (Sentence Transformers)
346
+
347
+ First install the Sentence Transformers library:
348
+
349
+ ```bash
350
+ pip install -U sentence-transformers
351
+ ```
352
+
353
+ Then you can load this model and run inference.
354
+ ```python
355
+ from sentence_transformers import SentenceTransformer
356
+
357
+ # Download from the 🤗 Hub
358
+ model = SentenceTransformer("CalebMaresca/matrix-game-embeddings-ft-v1")
359
+ # Run inference
360
+ sentences = [
361
+ ' Why is it important for player roles in a Matrix Game to operate at broadly similar levels?',
362
+ 'When you are designing a Matrix Game it is worth thinking about the level at which the players roles will be operating in the game. In is usually better, and produces a more balanced game, when the level on which the player roles are operating are broadly similar. It would be difficult to get a balanced game if 3 of the players are playing Generals in command of vast Armies, and another player is playing a simple individual soldier.\n\nLevels of Protection and Hidden Things.',
363
+ 'Matrix Game Checklist .................................................................................... 38 \nSample Spendable Bonus Cards ...................................................................... 40 \nSample Random Events ................................................................................... 41 \nSample Voting Cards for Diceless Adjudication ............................................... 43 \nSample Estimative Probability Cards ............................................................... 44 \nSample Turn Order Cards ................................................................................ 45 \nSample Markers for Matrix Games for Effects and Conventional Forces ........ 46',
364
+ ]
365
+ embeddings = model.encode(sentences)
366
+ print(embeddings.shape)
367
+ # [3, 1024]
368
+
369
+ # Get the similarity scores for the embeddings
370
+ similarities = model.similarity(embeddings, embeddings)
371
+ print(similarities.shape)
372
+ # [3, 3]
373
+ ```
374
+
375
+ <!--
376
+ ### Direct Usage (Transformers)
377
+
378
+ <details><summary>Click to see the direct usage in Transformers</summary>
379
+
380
+ </details>
381
+ -->
382
+
383
+ <!--
384
+ ### Downstream Usage (Sentence Transformers)
385
+
386
+ You can finetune this model on your own dataset.
387
+
388
+ <details><summary>Click to expand</summary>
389
+
390
+ </details>
391
+ -->
392
+
393
+ <!--
394
+ ### Out-of-Scope Use
395
+
396
+ *List how the model may foreseeably be misused and address what users ought not to do with the model.*
397
+ -->
398
+
399
+ ## Evaluation
400
+
401
+ ### Metrics
402
+
403
+ #### Information Retrieval
404
+
405
+ * Evaluated with [<code>InformationRetrievalEvaluator</code>](https://sbert.net/docs/package_reference/sentence_transformer/evaluation.html#sentence_transformers.evaluation.InformationRetrievalEvaluator)
406
+
407
+ | Metric | Value |
408
+ |:--------------------|:-----------|
409
+ | cosine_accuracy@1 | 0.9348 |
410
+ | cosine_accuracy@3 | 1.0 |
411
+ | cosine_accuracy@5 | 1.0 |
412
+ | cosine_accuracy@10 | 1.0 |
413
+ | cosine_precision@1 | 0.9348 |
414
+ | cosine_precision@3 | 0.3333 |
415
+ | cosine_precision@5 | 0.2 |
416
+ | cosine_precision@10 | 0.1 |
417
+ | cosine_recall@1 | 0.9348 |
418
+ | cosine_recall@3 | 1.0 |
419
+ | cosine_recall@5 | 1.0 |
420
+ | cosine_recall@10 | 1.0 |
421
+ | **cosine_ndcg@10** | **0.9702** |
422
+ | cosine_mrr@10 | 0.9601 |
423
+ | cosine_map@100 | 0.9601 |
424
+
425
+ <!--
426
+ ## Bias, Risks and Limitations
427
+
428
+ *What are the known or foreseeable issues stemming from this model? You could also flag here known failure cases or weaknesses of the model.*
429
+ -->
430
+
431
+ <!--
432
+ ### Recommendations
433
+
434
+ *What are recommendations with respect to the foreseeable issues? For example, filtering explicit content.*
435
+ -->
436
+
437
+ ## Training Details
438
+
439
+ ### Training Dataset
440
+
441
+ #### Unnamed Dataset
442
+
443
+ * Size: 370 training samples
444
+ * Columns: <code>sentence_0</code> and <code>sentence_1</code>
445
+ * Approximate statistics based on the first 370 samples:
446
+ | | sentence_0 | sentence_1 |
447
+ |:--------|:-----------------------------------------------------------------------------------|:------------------------------------------------------------------------------------|
448
+ | type | string | string |
449
+ | details | <ul><li>min: 11 tokens</li><li>mean: 20.19 tokens</li><li>max: 34 tokens</li></ul> | <ul><li>min: 8 tokens</li><li>mean: 150.83 tokens</li><li>max: 512 tokens</li></ul> |
450
+ * Samples:
451
+ | sentence_0 | sentence_1 |
452
+ |:------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
453
+ | <code> What distinguishes "established facts" from other types of facts in the game briefings or play?</code> | <code>Forces soldiers are going to be much more effective in combat than untrained protestors; <br>and "established facts" which are facts that have been specifically mentioned in the game <br>briefings or have become established during play as the result of successful arguments. <br>The latter can be immediately deployed as supporting reasons (Pros and Cons), but the <br>former need to have been argued successfully in order for them to be specifically included. <br>Many inexperienced players will make vast all-encompassing arguments full of assumptions <br>that are not reasonable. For example: It is not a reasonable assumption that unarmed <br>Protestors could fight off trained Police. It is reasonable to assume that the Police are</code> |
454
+ | <code> Why is it unreasonable to assume that unarmed protestors could fight off trained police according to the context?</code> | <code>Forces soldiers are going to be much more effective in combat than untrained protestors; <br>and "established facts" which are facts that have been specifically mentioned in the game <br>briefings or have become established during play as the result of successful arguments. <br>The latter can be immediately deployed as supporting reasons (Pros and Cons), but the <br>former need to have been argued successfully in order for them to be specifically included. <br>Many inexperienced players will make vast all-encompassing arguments full of assumptions <br>that are not reasonable. For example: It is not a reasonable assumption that unarmed <br>Protestors could fight off trained Police. It is reasonable to assume that the Police are</code> |
455
+ | <code> What was the outcome of the initial Russian attack against the German units, and how did it affect the ammunition status of both sides?</code> | <code>The Russians succeed in pushing back one of the German units and forcing and already depleted unit to use up ammunition, (but are pushed back themselves and 2 units use a lot of ammo (one of which becomes combat ineffective on -3)). Overall, as the success is matched by failure, the line itself holds. The Russians attack again, the next day:<br><br>Initial Dice Throw: RUSSIAN: 6 5 5 4 2 4 GERMAN: 1 2 4 4 Lined Up and Modified: RUSSIAN: 5 4 3 3 2 1 (two of the Russians = -2) GERMAN: 4 3 3 2 (one of the Germans = -1) Result of Third Day; lose: (one of the Germans = +0) RUSSIAN: 5 4 3 3 GERMAN: 3 lose: 4 3 2</code> |
456
+ * Loss: [<code>MatryoshkaLoss</code>](https://sbert.net/docs/package_reference/sentence_transformer/losses.html#matryoshkaloss) with these parameters:
457
+ ```json
458
+ {
459
+ "loss": "MultipleNegativesRankingLoss",
460
+ "matryoshka_dims": [
461
+ 768,
462
+ 512,
463
+ 256,
464
+ 128,
465
+ 64
466
+ ],
467
+ "matryoshka_weights": [
468
+ 1,
469
+ 1,
470
+ 1,
471
+ 1,
472
+ 1
473
+ ],
474
+ "n_dims_per_step": -1
475
+ }
476
+ ```
477
+
478
+ ### Training Hyperparameters
479
+ #### Non-Default Hyperparameters
480
+
481
+ - `eval_strategy`: steps
482
+ - `per_device_train_batch_size`: 10
483
+ - `per_device_eval_batch_size`: 10
484
+ - `num_train_epochs`: 10
485
+ - `multi_dataset_batch_sampler`: round_robin
486
+
487
+ #### All Hyperparameters
488
+ <details><summary>Click to expand</summary>
489
+
490
+ - `overwrite_output_dir`: False
491
+ - `do_predict`: False
492
+ - `eval_strategy`: steps
493
+ - `prediction_loss_only`: True
494
+ - `per_device_train_batch_size`: 10
495
+ - `per_device_eval_batch_size`: 10
496
+ - `per_gpu_train_batch_size`: None
497
+ - `per_gpu_eval_batch_size`: None
498
+ - `gradient_accumulation_steps`: 1
499
+ - `eval_accumulation_steps`: None
500
+ - `torch_empty_cache_steps`: None
501
+ - `learning_rate`: 5e-05
502
+ - `weight_decay`: 0.0
503
+ - `adam_beta1`: 0.9
504
+ - `adam_beta2`: 0.999
505
+ - `adam_epsilon`: 1e-08
506
+ - `max_grad_norm`: 1
507
+ - `num_train_epochs`: 10
508
+ - `max_steps`: -1
509
+ - `lr_scheduler_type`: linear
510
+ - `lr_scheduler_kwargs`: {}
511
+ - `warmup_ratio`: 0.0
512
+ - `warmup_steps`: 0
513
+ - `log_level`: passive
514
+ - `log_level_replica`: warning
515
+ - `log_on_each_node`: True
516
+ - `logging_nan_inf_filter`: True
517
+ - `save_safetensors`: True
518
+ - `save_on_each_node`: False
519
+ - `save_only_model`: False
520
+ - `restore_callback_states_from_checkpoint`: False
521
+ - `no_cuda`: False
522
+ - `use_cpu`: False
523
+ - `use_mps_device`: False
524
+ - `seed`: 42
525
+ - `data_seed`: None
526
+ - `jit_mode_eval`: False
527
+ - `use_ipex`: False
528
+ - `bf16`: False
529
+ - `fp16`: False
530
+ - `fp16_opt_level`: O1
531
+ - `half_precision_backend`: auto
532
+ - `bf16_full_eval`: False
533
+ - `fp16_full_eval`: False
534
+ - `tf32`: None
535
+ - `local_rank`: 0
536
+ - `ddp_backend`: None
537
+ - `tpu_num_cores`: None
538
+ - `tpu_metrics_debug`: False
539
+ - `debug`: []
540
+ - `dataloader_drop_last`: False
541
+ - `dataloader_num_workers`: 0
542
+ - `dataloader_prefetch_factor`: None
543
+ - `past_index`: -1
544
+ - `disable_tqdm`: False
545
+ - `remove_unused_columns`: True
546
+ - `label_names`: None
547
+ - `load_best_model_at_end`: False
548
+ - `ignore_data_skip`: False
549
+ - `fsdp`: []
550
+ - `fsdp_min_num_params`: 0
551
+ - `fsdp_config`: {'min_num_params': 0, 'xla': False, 'xla_fsdp_v2': False, 'xla_fsdp_grad_ckpt': False}
552
+ - `tp_size`: 0
553
+ - `fsdp_transformer_layer_cls_to_wrap`: None
554
+ - `accelerator_config`: {'split_batches': False, 'dispatch_batches': None, 'even_batches': True, 'use_seedable_sampler': True, 'non_blocking': False, 'gradient_accumulation_kwargs': None}
555
+ - `deepspeed`: None
556
+ - `label_smoothing_factor`: 0.0
557
+ - `optim`: adamw_torch
558
+ - `optim_args`: None
559
+ - `adafactor`: False
560
+ - `group_by_length`: False
561
+ - `length_column_name`: length
562
+ - `ddp_find_unused_parameters`: None
563
+ - `ddp_bucket_cap_mb`: None
564
+ - `ddp_broadcast_buffers`: False
565
+ - `dataloader_pin_memory`: True
566
+ - `dataloader_persistent_workers`: False
567
+ - `skip_memory_metrics`: True
568
+ - `use_legacy_prediction_loop`: False
569
+ - `push_to_hub`: False
570
+ - `resume_from_checkpoint`: None
571
+ - `hub_model_id`: None
572
+ - `hub_strategy`: every_save
573
+ - `hub_private_repo`: None
574
+ - `hub_always_push`: False
575
+ - `gradient_checkpointing`: False
576
+ - `gradient_checkpointing_kwargs`: None
577
+ - `include_inputs_for_metrics`: False
578
+ - `include_for_metrics`: []
579
+ - `eval_do_concat_batches`: True
580
+ - `fp16_backend`: auto
581
+ - `push_to_hub_model_id`: None
582
+ - `push_to_hub_organization`: None
583
+ - `mp_parameters`:
584
+ - `auto_find_batch_size`: False
585
+ - `full_determinism`: False
586
+ - `torchdynamo`: None
587
+ - `ray_scope`: last
588
+ - `ddp_timeout`: 1800
589
+ - `torch_compile`: False
590
+ - `torch_compile_backend`: None
591
+ - `torch_compile_mode`: None
592
+ - `include_tokens_per_second`: False
593
+ - `include_num_input_tokens_seen`: False
594
+ - `neftune_noise_alpha`: None
595
+ - `optim_target_modules`: None
596
+ - `batch_eval_metrics`: False
597
+ - `eval_on_start`: False
598
+ - `use_liger_kernel`: False
599
+ - `eval_use_gather_object`: False
600
+ - `average_tokens_across_devices`: False
601
+ - `prompts`: None
602
+ - `batch_sampler`: batch_sampler
603
+ - `multi_dataset_batch_sampler`: round_robin
604
+
605
+ </details>
606
+
607
+ ### Training Logs
608
+ | Epoch | Step | cosine_ndcg@10 |
609
+ |:------:|:----:|:--------------:|
610
+ | 1.0 | 37 | 0.9273 |
611
+ | 1.3514 | 50 | 0.9490 |
612
+ | 2.0 | 74 | 0.9462 |
613
+ | 2.7027 | 100 | 0.9527 |
614
+ | 3.0 | 111 | 0.9527 |
615
+ | 4.0 | 148 | 0.9783 |
616
+ | 4.0541 | 150 | 0.9811 |
617
+ | 5.0 | 185 | 0.9622 |
618
+ | 5.4054 | 200 | 0.9622 |
619
+ | 6.0 | 222 | 0.9702 |
620
+ | 6.7568 | 250 | 0.9622 |
621
+ | 7.0 | 259 | 0.9622 |
622
+ | 8.0 | 296 | 0.9702 |
623
+ | 8.1081 | 300 | 0.9702 |
624
+ | 9.0 | 333 | 0.9702 |
625
+ | 9.4595 | 350 | 0.9702 |
626
+ | 10.0 | 370 | 0.9702 |
627
+
628
+
629
+ ### Framework Versions
630
+ - Python: 3.13.2
631
+ - Sentence Transformers: 4.1.0
632
+ - Transformers: 4.51.3
633
+ - PyTorch: 2.7.0+cu126
634
+ - Accelerate: 1.6.0
635
+ - Datasets: 3.6.0
636
+ - Tokenizers: 0.21.1
637
+
638
+ ## Citation
639
+
640
+ ### BibTeX
641
+
642
+ #### Sentence Transformers
643
+ ```bibtex
644
+ @inproceedings{reimers-2019-sentence-bert,
645
+ title = "Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks",
646
+ author = "Reimers, Nils and Gurevych, Iryna",
647
+ booktitle = "Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing",
648
+ month = "11",
649
+ year = "2019",
650
+ publisher = "Association for Computational Linguistics",
651
+ url = "https://arxiv.org/abs/1908.10084",
652
+ }
653
+ ```
654
+
655
+ #### MatryoshkaLoss
656
+ ```bibtex
657
+ @misc{kusupati2024matryoshka,
658
+ title={Matryoshka Representation Learning},
659
+ 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},
660
+ year={2024},
661
+ eprint={2205.13147},
662
+ archivePrefix={arXiv},
663
+ primaryClass={cs.LG}
664
+ }
665
+ ```
666
+
667
+ #### MultipleNegativesRankingLoss
668
+ ```bibtex
669
+ @misc{henderson2017efficient,
670
+ title={Efficient Natural Language Response Suggestion for Smart Reply},
671
+ author={Matthew Henderson and Rami Al-Rfou and Brian Strope and Yun-hsuan Sung and Laszlo Lukacs and Ruiqi Guo and Sanjiv Kumar and Balint Miklos and Ray Kurzweil},
672
+ year={2017},
673
+ eprint={1705.00652},
674
+ archivePrefix={arXiv},
675
+ primaryClass={cs.CL}
676
+ }
677
+ ```
678
+
679
+ <!--
680
+ ## Glossary
681
+
682
+ *Clearly define terms in order to be accessible across audiences.*
683
+ -->
684
+
685
+ <!--
686
+ ## Model Card Authors
687
+
688
+ *Lists the people who create the model card, providing recognition and accountability for the detailed work that goes into its construction.*
689
+ -->
690
+
691
+ <!--
692
+ ## Model Card Contact
693
+
694
+ *Provides a way for people who have updates to the Model Card, suggestions, or questions, to contact the Model Card authors.*
695
+ -->
config.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "architectures": [
3
+ "BertModel"
4
+ ],
5
+ "attention_probs_dropout_prob": 0.1,
6
+ "classifier_dropout": null,
7
+ "hidden_act": "gelu",
8
+ "hidden_dropout_prob": 0.1,
9
+ "hidden_size": 1024,
10
+ "initializer_range": 0.02,
11
+ "intermediate_size": 4096,
12
+ "layer_norm_eps": 1e-12,
13
+ "max_position_embeddings": 512,
14
+ "model_type": "bert",
15
+ "num_attention_heads": 16,
16
+ "num_hidden_layers": 24,
17
+ "pad_token_id": 0,
18
+ "position_embedding_type": "absolute",
19
+ "torch_dtype": "float32",
20
+ "transformers_version": "4.51.3",
21
+ "type_vocab_size": 2,
22
+ "use_cache": true,
23
+ "vocab_size": 30522
24
+ }
config_sentence_transformers.json ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "__version__": {
3
+ "sentence_transformers": "4.1.0",
4
+ "transformers": "4.51.3",
5
+ "pytorch": "2.7.0+cu126"
6
+ },
7
+ "prompts": {
8
+ "query": "Represent this sentence for searching relevant passages: "
9
+ },
10
+ "default_prompt_name": null,
11
+ "similarity_fn_name": "cosine"
12
+ }
model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e02936f513c16a2ab95b17470cd43bac1ed9f3252c45ce6a7a05259c3dbea3aa
3
+ size 1336413848
modules.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "idx": 0,
4
+ "name": "0",
5
+ "path": "",
6
+ "type": "sentence_transformers.models.Transformer"
7
+ },
8
+ {
9
+ "idx": 1,
10
+ "name": "1",
11
+ "path": "1_Pooling",
12
+ "type": "sentence_transformers.models.Pooling"
13
+ },
14
+ {
15
+ "idx": 2,
16
+ "name": "2",
17
+ "path": "2_Normalize",
18
+ "type": "sentence_transformers.models.Normalize"
19
+ }
20
+ ]
sentence_bert_config.json ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ {
2
+ "max_seq_length": 512,
3
+ "do_lower_case": false
4
+ }
special_tokens_map.json ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "cls_token": {
3
+ "content": "[CLS]",
4
+ "lstrip": false,
5
+ "normalized": false,
6
+ "rstrip": false,
7
+ "single_word": false
8
+ },
9
+ "mask_token": {
10
+ "content": "[MASK]",
11
+ "lstrip": false,
12
+ "normalized": false,
13
+ "rstrip": false,
14
+ "single_word": false
15
+ },
16
+ "pad_token": {
17
+ "content": "[PAD]",
18
+ "lstrip": false,
19
+ "normalized": false,
20
+ "rstrip": false,
21
+ "single_word": false
22
+ },
23
+ "sep_token": {
24
+ "content": "[SEP]",
25
+ "lstrip": false,
26
+ "normalized": false,
27
+ "rstrip": false,
28
+ "single_word": false
29
+ },
30
+ "unk_token": {
31
+ "content": "[UNK]",
32
+ "lstrip": false,
33
+ "normalized": false,
34
+ "rstrip": false,
35
+ "single_word": false
36
+ }
37
+ }
tokenizer.json ADDED
The diff for this file is too large to render. See raw diff
 
tokenizer_config.json ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "added_tokens_decoder": {
3
+ "0": {
4
+ "content": "[PAD]",
5
+ "lstrip": false,
6
+ "normalized": false,
7
+ "rstrip": false,
8
+ "single_word": false,
9
+ "special": true
10
+ },
11
+ "100": {
12
+ "content": "[UNK]",
13
+ "lstrip": false,
14
+ "normalized": false,
15
+ "rstrip": false,
16
+ "single_word": false,
17
+ "special": true
18
+ },
19
+ "101": {
20
+ "content": "[CLS]",
21
+ "lstrip": false,
22
+ "normalized": false,
23
+ "rstrip": false,
24
+ "single_word": false,
25
+ "special": true
26
+ },
27
+ "102": {
28
+ "content": "[SEP]",
29
+ "lstrip": false,
30
+ "normalized": false,
31
+ "rstrip": false,
32
+ "single_word": false,
33
+ "special": true
34
+ },
35
+ "103": {
36
+ "content": "[MASK]",
37
+ "lstrip": false,
38
+ "normalized": false,
39
+ "rstrip": false,
40
+ "single_word": false,
41
+ "special": true
42
+ }
43
+ },
44
+ "clean_up_tokenization_spaces": true,
45
+ "cls_token": "[CLS]",
46
+ "do_lower_case": true,
47
+ "extra_special_tokens": {},
48
+ "mask_token": "[MASK]",
49
+ "max_length": 512,
50
+ "model_max_length": 512,
51
+ "pad_to_multiple_of": null,
52
+ "pad_token": "[PAD]",
53
+ "pad_token_type_id": 0,
54
+ "padding_side": "right",
55
+ "sep_token": "[SEP]",
56
+ "stride": 0,
57
+ "strip_accents": null,
58
+ "tokenize_chinese_chars": true,
59
+ "tokenizer_class": "BertTokenizer",
60
+ "truncation_side": "right",
61
+ "truncation_strategy": "longest_first",
62
+ "unk_token": "[UNK]"
63
+ }
vocab.txt ADDED
The diff for this file is too large to render. See raw diff