grg commited on
Commit
b42419d
1 Parent(s): 891eeb1

Adding the about page and pairwise RO stability in per model pages

Browse files
Files changed (47) hide show
  1. app.py +4 -0
  2. static/figures/Mistral-7B-Instruct-v0.1/matrix.svg +1954 -0
  3. static/figures/Mistral-7B-Instruct-v0.1/ranks.svg +0 -0
  4. static/figures/Mistral-7B-Instruct-v0.1/structure.svg +0 -0
  5. static/figures/Mistral-7B-Instruct-v0.2/matrix.svg +1977 -0
  6. static/figures/Mistral-7B-Instruct-v0.2/ranks.svg +0 -0
  7. static/figures/Mistral-7B-Instruct-v0.2/structure.svg +0 -0
  8. static/figures/Mistral-7B-Instruct-v0.3/matrix.svg +1971 -0
  9. static/figures/Mistral-7B-Instruct-v0.3/ranks.svg +0 -0
  10. static/figures/Mistral-7B-Instruct-v0.3/structure.svg +0 -0
  11. static/figures/Mixtral-8x22B-Instruct-v0.1/matrix.svg +1979 -0
  12. static/figures/Mixtral-8x22B-Instruct-v0.1/ranks.svg +0 -0
  13. static/figures/Mixtral-8x22B-Instruct-v0.1/structure.svg +0 -0
  14. static/figures/Mixtral-8x7B-Instruct-v0.1/matrix.svg +1984 -0
  15. static/figures/Mixtral-8x7B-Instruct-v0.1/ranks.svg +0 -0
  16. static/figures/Mixtral-8x7B-Instruct-v0.1/structure.svg +0 -0
  17. static/figures/Qwen2-72B-Instruct/matrix.svg +1963 -0
  18. static/figures/Qwen2-72B-Instruct/ranks.svg +0 -0
  19. static/figures/Qwen2-72B-Instruct/structure.svg +0 -0
  20. static/figures/Qwen2-7B-Instruct/matrix.svg +1970 -0
  21. static/figures/Qwen2-7B-Instruct/ranks.svg +0 -0
  22. static/figures/Qwen2-7B-Instruct/structure.svg +0 -0
  23. static/figures/admin_questionnaire.svg +0 -0
  24. static/figures/command_r_plus/matrix.svg +1883 -0
  25. static/figures/command_r_plus/ranks.svg +0 -0
  26. static/figures/command_r_plus/structure.svg +0 -0
  27. static/figures/gpt-3.5-turbo-0125/matrix.svg +1958 -0
  28. static/figures/gpt-3.5-turbo-0125/ranks.svg +0 -0
  29. static/figures/gpt-3.5-turbo-0125/structure.svg +0 -0
  30. static/figures/gpt-4o-0513/matrix.svg +1903 -0
  31. static/figures/gpt-4o-0513/ranks.svg +0 -0
  32. static/figures/gpt-4o-0513/structure.svg +0 -0
  33. static/figures/llama_3_70b_instruct/matrix.svg +1929 -0
  34. static/figures/llama_3_70b_instruct/ranks.svg +0 -0
  35. static/figures/llama_3_70b_instruct/structure.svg +0 -0
  36. static/figures/llama_3_8b_instruct/matrix.svg +1939 -0
  37. static/figures/llama_3_8b_instruct/ranks.svg +0 -0
  38. static/figures/llama_3_8b_instruct/structure.svg +0 -0
  39. static/figures/phi-3-medium-128k-instruct/matrix.svg +1973 -0
  40. static/figures/phi-3-medium-128k-instruct/ranks.svg +0 -0
  41. static/figures/phi-3-medium-128k-instruct/structure.svg +0 -0
  42. static/figures/phi-3-mini-128k-instruct/matrix.svg +1955 -0
  43. static/figures/phi-3-mini-128k-instruct/ranks.svg +0 -0
  44. static/figures/phi-3-mini-128k-instruct/structure.svg +0 -0
  45. templates/about.html +244 -0
  46. templates/index.html +43 -1
  47. templates/model_detail.html +22 -4
app.py CHANGED
@@ -26,5 +26,9 @@ def index():
26
  def model_detail(model_name):
27
  return render_template('model_detail.html', model_name=model_name)
28
 
 
 
 
 
29
  if __name__ == '__main__':
30
  app.run(host='0.0.0.0', port=7860, debug=True)
 
26
  def model_detail(model_name):
27
  return render_template('model_detail.html', model_name=model_name)
28
 
29
+ @app.route('/about')
30
+ def about():
31
+ return render_template('about.html')
32
+
33
  if __name__ == '__main__':
34
  app.run(host='0.0.0.0', port=7860, debug=True)
static/figures/Mistral-7B-Instruct-v0.1/matrix.svg ADDED
static/figures/Mistral-7B-Instruct-v0.1/ranks.svg CHANGED
static/figures/Mistral-7B-Instruct-v0.1/structure.svg CHANGED
static/figures/Mistral-7B-Instruct-v0.2/matrix.svg ADDED
static/figures/Mistral-7B-Instruct-v0.2/ranks.svg CHANGED
static/figures/Mistral-7B-Instruct-v0.2/structure.svg CHANGED
static/figures/Mistral-7B-Instruct-v0.3/matrix.svg ADDED
static/figures/Mistral-7B-Instruct-v0.3/ranks.svg CHANGED
static/figures/Mistral-7B-Instruct-v0.3/structure.svg CHANGED
static/figures/Mixtral-8x22B-Instruct-v0.1/matrix.svg ADDED
static/figures/Mixtral-8x22B-Instruct-v0.1/ranks.svg CHANGED
static/figures/Mixtral-8x22B-Instruct-v0.1/structure.svg CHANGED
static/figures/Mixtral-8x7B-Instruct-v0.1/matrix.svg ADDED
static/figures/Mixtral-8x7B-Instruct-v0.1/ranks.svg CHANGED
static/figures/Mixtral-8x7B-Instruct-v0.1/structure.svg CHANGED
static/figures/Qwen2-72B-Instruct/matrix.svg ADDED
static/figures/Qwen2-72B-Instruct/ranks.svg CHANGED
static/figures/Qwen2-72B-Instruct/structure.svg CHANGED
static/figures/Qwen2-7B-Instruct/matrix.svg ADDED
static/figures/Qwen2-7B-Instruct/ranks.svg CHANGED
static/figures/Qwen2-7B-Instruct/structure.svg CHANGED
static/figures/admin_questionnaire.svg ADDED
static/figures/command_r_plus/matrix.svg ADDED
static/figures/command_r_plus/ranks.svg CHANGED
static/figures/command_r_plus/structure.svg CHANGED
static/figures/gpt-3.5-turbo-0125/matrix.svg ADDED
static/figures/gpt-3.5-turbo-0125/ranks.svg CHANGED
static/figures/gpt-3.5-turbo-0125/structure.svg CHANGED
static/figures/gpt-4o-0513/matrix.svg ADDED
static/figures/gpt-4o-0513/ranks.svg CHANGED
static/figures/gpt-4o-0513/structure.svg CHANGED
static/figures/llama_3_70b_instruct/matrix.svg ADDED
static/figures/llama_3_70b_instruct/ranks.svg CHANGED
static/figures/llama_3_70b_instruct/structure.svg CHANGED
static/figures/llama_3_8b_instruct/matrix.svg ADDED
static/figures/llama_3_8b_instruct/ranks.svg CHANGED
static/figures/llama_3_8b_instruct/structure.svg CHANGED
static/figures/phi-3-medium-128k-instruct/matrix.svg ADDED
static/figures/phi-3-medium-128k-instruct/ranks.svg CHANGED
static/figures/phi-3-medium-128k-instruct/structure.svg CHANGED
static/figures/phi-3-mini-128k-instruct/matrix.svg ADDED
static/figures/phi-3-mini-128k-instruct/ranks.svg CHANGED
static/figures/phi-3-mini-128k-instruct/structure.svg CHANGED
templates/about.html ADDED
@@ -0,0 +1,244 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Stick To Your Role! Leaderboard</title>
7
+ <!-- Include Bootstrap CSS for styling -->
8
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.1.3/css/bootstrap.min.css">
9
+ <!-- Include DataTables CSS -->
10
+ <link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/dataTables.bootstrap5.min.css">
11
+ <!-- Custom CSS for additional styling -->
12
+ <style>
13
+ body {
14
+ background-color: #f8f9fa;
15
+ font-family: 'Arial', sans-serif;
16
+ }
17
+ .container {
18
+ max-width: 1200px; /* Limit the width of the container */
19
+ margin: auto; /* Center the container */
20
+ padding: 20px; /* Add some padding */
21
+ background: #fff;
22
+ border-radius: 8px;
23
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1);
24
+ }
25
+ h1 {
26
+ color: #333;
27
+ text-align: center;
28
+ }
29
+ h2 {
30
+ color: #333;
31
+ margin-top: 30px;
32
+ text-align: center;
33
+ }
34
+ .table-responsive {
35
+ margin-top: 20px;
36
+ }
37
+ table {
38
+ border-collapse: separate;
39
+ border-spacing: 0;
40
+ font-size: 14px; /* Reduce the font size */
41
+ width: 100%;
42
+ border: none; /* Remove any default border */
43
+ }
44
+ table thead th {
45
+ background-color: #610b5d;
46
+ color: white;
47
+ border: 1px solid #dee2e6;
48
+ text-align: left;
49
+ }
50
+ table tbody tr {
51
+ background-color: #fff;
52
+ box-shadow: 0 2px 4px rgba(0,0,0,0.1);
53
+ }
54
+ table tbody tr:hover {
55
+ background-color: #f1f1f1;
56
+ }
57
+ table td, table th {
58
+ padding: 10px; /* Reduce padding */
59
+ border: 1px solid #dee2e6;
60
+ }
61
+ table th:first-child {
62
+ border-top-left-radius: 10px;
63
+ }
64
+ table th:last-child {
65
+ border-top-right-radius: 10px;
66
+ }
67
+ .section{
68
+ padding-left: 150px;
69
+ padding-right: 150px;
70
+ text-align: left;
71
+ }
72
+ .citation-section {
73
+ margin-top: 5px;
74
+ text-align: center;
75
+ }
76
+ .citation-box {
77
+ background-color: #f8f9fa;
78
+ border: 1px solid #dee2e6;
79
+ border-radius: 8px;
80
+ padding: 10px;
81
+ margin-top: 5px;
82
+ font-size: 15px;
83
+ text-align: left;
84
+ font-family: 'Courier New', Courier, monospace;
85
+ white-space: pre;
86
+ }
87
+
88
+ .image-container {
89
+ width: 100%;
90
+ margin-bottom: 40px;
91
+ }
92
+ .image-container img {
93
+ width: 90%;
94
+ max-width: 650px;
95
+ height: auto;
96
+ display: block;
97
+ margin: auto;
98
+ }
99
+ .section-title {
100
+ font-size: 24px;
101
+ font-weight: bold;
102
+ text-align: center;
103
+ margin-top: 40px;
104
+ margin-bottom: 40px;
105
+ padding: 20px; /* Add padding for more margin around text */
106
+ background-color: #610b5d;
107
+ color: #fff; /* Ensure text is readable on dark background */
108
+ border-radius: 15px; /* Rounded edges */
109
+ }
110
+ .back-button {
111
+ text-align: center;
112
+ margin-top: 20px;
113
+ }
114
+ .custom-button {
115
+ background-color: #610b5d;
116
+ color: #fff; /* Set white text color */
117
+ border-radius: 15px; /* Rounded edges */
118
+ padding: 10px 20px; /* Padding for the button */
119
+ font-size: 18px; /* Increase font size */
120
+ text-decoration: none; /* Remove underline */
121
+ }
122
+ .custom-button:hover {
123
+ background-color: #812b7d;
124
+ color: #fff;
125
+ }
126
+ </style>
127
+ </head>
128
+ <body>
129
+ <div class="container">
130
+ <h1 class="mt-5">Stick To Your Role! Leaderboard</h1>
131
+ <div class="table-responsive">
132
+ <!-- Render the table HTML here -->
133
+ {{ table_html|safe }}
134
+ </div>
135
+ <div class="section">
136
+ <div class="section-title">Motivation</div>
137
+ <ul>
138
+ <li> LLMs are often used to simulate personas and populations</li>
139
+ <li> Benchmarks usually compare models with MANY QUESTIONS from A SINGLE MINIMAL CONTEXT, e.g. as multiple choices questions
140
+ -> this kind of evaluation is little informative of LLMs' behavior in deployment when exposed to new contexts
141
+ (especially when we consider the LLMs highly context-dependant nature)
142
+ <li> CONTEXT-DEPENDENCE can be seen as a PROPERTY of LLMs: a dimension of LLM comparison alongside others like size, speed, or knowledge
143
+ <li> We evaluate LLMs by asking the SAME QUESTIONS from MANY DIFFERENT CONTEXTS
144
+ <li> We study the coherence of simulated populations over different contexts (conversations on different topics)
145
+ <li> We leverage the psychological methodology to study the interpersonal stability of personal value expression of those simulated populations
146
+ </ul>
147
+ </div>
148
+ <div class="section">
149
+ <div class="section-title">Administering a questionnaire in context to a simulated persona</div>
150
+ <p>We use the following procedure:</p>
151
+ <ol>
152
+ <li> The Tested model is instructed to simulate a persona</li>
153
+ <li> A separate model instance - The Interlocutor - is instructed to simulate a “human using a chatbot”
154
+ <li> A conversation topic is induced by manually setting the first Interlocutor’s message (e.g. Tell me a
155
+ joke)
156
+ <li> A conversation is simulated
157
+ <li> A question from the questionnaire is set as the last Interlocutor’s message and The Tested model’s
158
+ response is recorded (this is repeated for every item in the questionnaire)
159
+ <li> The questionnaire is scored to obtain scores for the 10 personal values
160
+ <li> The whole process is repeated for each persona with five different conversation topics
161
+ <li> Rank-Order and Ipsative stability are estimated between pairs of contexts and then averaged
162
+ </ol>
163
+ <div class="image-container">
164
+ <a href="{{ url_for('static', filename='figures/admin_questionnaire.svg') }}" target="_blank">
165
+ <img src="{{ url_for('static', filename='figures/admin_questionnaire.svg') }}" alt="Structure">
166
+ </a>
167
+ </div>
168
+ </div>
169
+ <div class="section">
170
+ <div class="section-title">Contexts</div>
171
+ <p>
172
+ We aim to score the expressed value profile for each simulated persona in different contexts.
173
+ More precisely a population (50 personas) will be evaluated in a context chunk (50 topics: one per persona).
174
+ Then the population in one context chunk will be compared to the same population in another context chunk.
175
+ Here are the considered context chunks:
176
+ </p>
177
+ <ul>
178
+ <li> no_conv: no conversation is simulated the questions from the PVQ-40 questionnaire are given directly </li>
179
+ <li> no_conv_svs: no conversation is simulated the questions from the SVS questionnaire are given directly </li>
180
+ <li> chunk_0-chunk-4: 50 reddit posts are used as the initial Interlocutor model messages (one per persona). chunk_0 contains the longest posts, chunk_4 the shortest </li>
181
+ <li> chess: "1. e4" is given as the initial message to all personas, but for each persona the Interlocutor model is instructed to simulate a different persona (instead of a human user) </li>
182
+ <li> grammar: like chess, but "Can you check this sentence for grammar? \n Whilst Jane was waiting to meet hers friend their nose started bleeding." is given as the initial message.
183
+ </ul>
184
+ </div>
185
+ <div class="section">
186
+ <div class="section-title">Metrics</div>
187
+ <p>We evaluate the following metrics (+ denotes higher is better; - denotes lower is better) </p>
188
+ <ul>
189
+ <li> RO Stability (+) - Average Rank-Order stability between each pair of context chunks (see our <a href="https://arxiv.org/abs/2402.14846">paper</a> for details) </li>
190
+ <li> Rank Distance (-) - Average distance between the theoretical and the observed order of values in a circular space. </li>
191
+ <li> CFI (+) - a common Validity metric </li>
192
+ <li> SRMR (-) - a common Validity metric </li>
193
+ <li> RMSEA (-) - a common Validity metric </li>
194
+ <li> Cronbach alpha (+) - a common Reliability metric </li>
195
+ <li> Ordinal (Win rate) (+) - each context pair and each metric is considered as a game between models, the metric shows the average win rate over all such games</li>
196
+ <li> Cardinal (Score) (+) - the average over all context pairs and metrics (with descending metric inverted) </li>
197
+ </ul>
198
+ </div>
199
+ <div class="back-button">
200
+ <a href="{{ url_for('index') }}" class="custom-button mt-3">Back</a>
201
+ </div>
202
+ <div class="citation-section">
203
+ <p>If you found this project useful, please cite our related paper:</p>
204
+ <div class="citation-box" id="citation-text">
205
+ @article{kovavc2024stick,
206
+ title={Stick to your Role! Stability of Personal Values Expressed in Large Language Models},
207
+ author={Kova{\v{c}}, Grgur and Portelas, R{\'e}my and Sawayama, Masataka and Dominey, Peter Ford and Oudeyer, Pierre-Yves},
208
+ journal={arXiv preprint arXiv:2402.14846},
209
+ year={2024}
210
+ }
211
+ </div>
212
+ </div>
213
+ </div>
214
+
215
+ <!-- Include jQuery -->
216
+ <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
217
+ <!-- Include Bootstrap JS -->
218
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/5.1.3/js/bootstrap.bundle.min.js"></script>
219
+ <!-- Include DataTables JS -->
220
+ <script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>
221
+ <script src="https://cdn.datatables.net/1.11.5/js/dataTables.bootstrap5.min.js"></script>
222
+ <!-- Initialize DataTables -->
223
+ <script>
224
+ $(document).ready(function() {
225
+ const table = $('table').DataTable({
226
+ "paging": false,
227
+ "info": false,
228
+ "columnDefs": [
229
+ { "orderable": false, "targets": 0 },
230
+ { "searchable": false, "targets": 0 }
231
+ ],
232
+ "order": [[ 2, 'desc' ]],
233
+ "drawCallback": function(settings) {
234
+ var api = this.api();
235
+ api.column(0, {order:'applied'}).nodes().each(function(cell, i) {
236
+ cell.innerHTML = i + 1;
237
+ });
238
+ }
239
+ });
240
+ });
241
+
242
+ </script>
243
+ </body>
244
+ </html>
templates/index.html CHANGED
@@ -26,6 +26,11 @@
26
  color: #333;
27
  text-align: center;
28
  }
 
 
 
 
 
29
  .table-responsive {
30
  margin-top: 20px;
31
  }
@@ -59,6 +64,11 @@
59
  table th:last-child {
60
  border-top-right-radius: 10px;
61
  }
 
 
 
 
 
62
  .citation-section {
63
  margin-top: 5px;
64
  text-align: center;
@@ -74,6 +84,35 @@
74
  font-family: 'Courier New', Courier, monospace;
75
  white-space: pre;
76
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
77
  </style>
78
  </head>
79
  <body>
@@ -83,8 +122,11 @@
83
  <!-- Render the table HTML here -->
84
  {{ table_html|safe }}
85
  </div>
 
 
 
86
  <div class="citation-section">
87
- <p>If you found this useful, please cite our paper:</p>
88
  <div class="citation-box" id="citation-text">
89
  @article{kovavc2024stick,
90
  title={Stick to your Role! Stability of Personal Values Expressed in Large Language Models},
 
26
  color: #333;
27
  text-align: center;
28
  }
29
+ h2 {
30
+ color: #333;
31
+ margin-top: 30px;
32
+ text-align: center;
33
+ }
34
  .table-responsive {
35
  margin-top: 20px;
36
  }
 
64
  table th:last-child {
65
  border-top-right-radius: 10px;
66
  }
67
+ .section{
68
+ padding-left: 150px;
69
+ padding-right: 150px;
70
+ text-align: left;
71
+ }
72
  .citation-section {
73
  margin-top: 5px;
74
  text-align: center;
 
84
  font-family: 'Courier New', Courier, monospace;
85
  white-space: pre;
86
  }
87
+
88
+ .image-container {
89
+ width: 100%;
90
+ margin-bottom: 40px;
91
+ }
92
+ .image-container img {
93
+ width: 90%;
94
+ max-width: 650px;
95
+ height: auto;
96
+ display: block;
97
+ margin: auto;
98
+ }
99
+ .about-button {
100
+ text-align: center;
101
+ margin-top: 50px;
102
+ margin-bottom: 50px;
103
+ }
104
+ .custom-button {
105
+ background-color: #610b5d;
106
+ color: #fff; /* Set white text color */
107
+ border-radius: 15px; /* Rounded edges */
108
+ padding: 10px 20px; /* Padding for the button */
109
+ font-size: 18px; /* Increase font size */
110
+ text-decoration: none; /* Remove underline */
111
+ }
112
+ .custom-button:hover {
113
+ background-color: #812b7d;
114
+ color: #fff;
115
+ }
116
  </style>
117
  </head>
118
  <body>
 
122
  <!-- Render the table HTML here -->
123
  {{ table_html|safe }}
124
  </div>
125
+ <div class="about-button">
126
+ <a href="{{ url_for('about') }}" class="custom-button mt-3">Learn More About This Project</a>
127
+ </div>
128
  <div class="citation-section">
129
+ <p>If you found this project useful, please cite our related paper:</p>
130
  <div class="citation-box" id="citation-text">
131
  @article{kovavc2024stick,
132
  title={Stick to your Role! Stability of Personal Values Expressed in Large Language Models},
templates/model_detail.html CHANGED
@@ -35,10 +35,6 @@
35
  color: #fff; /* Ensure text is readable on dark background */
36
  border-radius: 15px; /* Rounded edges */
37
  }
38
- .back-button {
39
- text-align: center;
40
- margin-top: 20px;
41
- }
42
  .image-section {
43
  text-align: center;
44
  margin-top: 40px;
@@ -60,6 +56,19 @@
60
  border-radius: 8px;
61
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
62
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  .custom-button {
64
  background-color: #610b5d;
65
  color: #fff; /* Set white text color */
@@ -87,6 +96,15 @@
87
  </a>
88
  </div>
89
  </div>
 
 
 
 
 
 
 
 
 
90
  <div class="image-section">
91
  <h2>Ranks</h2>
92
  <p>This image shows .....</p>
 
35
  color: #fff; /* Ensure text is readable on dark background */
36
  border-radius: 15px; /* Rounded edges */
37
  }
 
 
 
 
38
  .image-section {
39
  text-align: center;
40
  margin-top: 40px;
 
56
  border-radius: 8px;
57
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
58
  }
59
+ .matrix-image-container img {
60
+ max-width: 50%;
61
+ height: auto;
62
+ display: block;
63
+ margin: auto;
64
+ border: 1px solid #dee2e6;
65
+ border-radius: 8px;
66
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1);
67
+ }
68
+ .back-button {
69
+ text-align: center;
70
+ margin-top: 20px;
71
+ }
72
  .custom-button {
73
  background-color: #610b5d;
74
  color: #fff; /* Set white text color */
 
96
  </a>
97
  </div>
98
  </div>
99
+ <div class="image-section">
100
+ <h2>Pairwise Rank-Order stability</h2>
101
+ <p>This image shows .....</p>
102
+ <div class="matrix-image-container">
103
+ <a href="{{ url_for('static', filename='figures/' + model_name + '/matrix.svg') }}" target="_blank">
104
+ <img src="{{ url_for('static', filename='figures/' + model_name + '/matrix.svg') }}" alt="Matrix" >
105
+ </a>
106
+ </div>
107
+ </div>
108
  <div class="image-section">
109
  <h2>Ranks</h2>
110
  <p>This image shows .....</p>