{
  "id": 446776,
  "title": "11th place solution ",
  "content": "<p>Thank you Learning Agency Lab and Kaggle for hosting this competition. We are relieved 😌 to survive the shake up. </p>\n<p><strong>Context:</strong> <a href=\"http://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview/description\" target=\"_blank\">www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview/description</a></p>\n<p><strong>Data:</strong> <a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data\" target=\"_blank\">https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data</a></p>\n<h3>Overview of the approach</h3>\n<p>Our selected submission had 17 diverse models. We used stacking with LGBM.  </p>\n<p>We used one prompt per fold cv strategy. All our models had collate function which speeds up training as well as inference. Lower batch sizes were helpful as well. Most models had evaluation at the end of epoch, few models had evaluation multiple times during epoch. Many of the diverse and smaller models were distilled (described below). </p>\n<p>All of us were able to contribute models to the stack, some of us never checked individual models scores because public LB seemed unstable. Our stack seemed more stable than individual models. </p>\n<p>Apart from model predictions we had following features in stack: </p>\n<pre><code>word_overlap_count\nbigram_overlap_count \nbigram_overlap_ratio \ntrigram_overlap_count\ntrigram_overlap_ratio\n\n- Text stat features\nOsman\nGutierrez_polini\nDale_chall_readability_score\nflesch_kincaid_grade\n</code></pre>\n<h3>Model Description</h3>\n<p>Here we describe each of the models : </p>\n<p><strong>(A)</strong> <strong>Deberta v3 large - full prompt text psuedo labeled model</strong>  [ar3]<br>\nThis model had best cv (0.4721) in stack - This was trained with max len 1790, attention head on top. This was also using back translated pseudo labeled dataset. Every sample was translated to german and then back to english. We randomly selected 50% of this data for training. So every training fold had different ~3100 samples that were pseudo labeled , validation set had no psuedo labeled samples.  <br>\nLoss function for this model was combination of SmoothL1Loss, RMSE Loss and RankLoss - <a href=\"https://www.kaggle.com/fightingmuscle\" target=\"_blank\">@fightingmuscle</a> described the loss function <a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/discussion/446554\" target=\"_blank\">here</a><br>\nInput for this model - <code>[ANSWER_START] + summary_text + [ANSWER_END] + [PROMPT_START] + prompt_text [PROMPT_END] + [QUESTION_START] + prompt_question + [QUESTION_END]</code><br>\nInference maxlen = 1024</p>\n<hr>\n<p><strong>(B)</strong> </p>\n<ul>\n<li>Deberta V3 Large [MK 43]  - MeanPooling</li>\n<li>Deberta V3 Large [MK 45]  - MeanPooling</li>\n</ul>\n<p>These were the same models with different seeds and mean pooled, input to these were summary_text + prompt_question, RMSE loss, validation end of epoch. </p>\n<hr>\n<p><strong>(C)</strong> </p>\n<ul>\n<li>Deberta V3 Large [r3] - CLS </li>\n<li>Deberta V3 Large [r4] - CLS</li>\n<li>Deberta V3 Large [r5] - CLS </li>\n</ul>\n<p>These were the same models with different seeds and with CLS token, input to these were summary_text + prompt_question, MSE Loss,validation end of epoch. I added extra text “Summarize:” to prompt question , if we look 👀 at the data 🔎carefully, notice that there are prompts with \"cite evidence\" and these have much longer summary texts and it doesn't say summarize. After reading other solutions, should have tried some more variations to this. </p>\n<hr>\n<p><strong>(D)</strong> </p>\n<ul>\n<li>Bart Large  -  Attention Head (Distilled)</li>\n<li>Electra Large - Attention Head (Distilled)</li>\n<li>Funnel Large - Mean pooling (Distilled)</li>\n</ul>\n<p>All these models were distilled - 50% oof labels and 50% true labels, with AWP added - only summary_text as input, validated multiple times during epoch. </p>\n<hr>\n<p><strong>(E)</strong></p>\n<ul>\n<li>Deberta v3 large [ar2] -  CLS Token  </li>\n<li>Deberta v3 base [ar4] -  CLS Token - Distilled model  </li>\n<li>Deberta v3 XSmall [ar5]  -  CLS Token - Distilled model   </li>\n<li>Deberta v3 XSmall [ar7] -   Distilled model - Bigram Signal </li>\n</ul>\n<hr>\n<p>Deberta v3 large [ar2] - Order of input to this model was different than the remaining models - <code>text + SEP + prompt_question</code> </p>\n<p>Deberta v3 Base and XSmall models [ar4, ar5, ar7] - These were distilled models. We utilized oof labels from a previous stack. These models were trained using oof labels where as validation set remained as true labels. </p>\n<p>Bigram Signal - </p>\n<pre><code>\noutputs = .model(input_ids, attention_mask, token_type_ids)\nbigram_signal = outputs.last_hidden_state[, , ] * outputs.last_hidden_state[, , ]\nfeature = bigram_signal[, , ]\n feature\n</code></pre>\n<p><strong>(F)</strong>  <strong>Deberta v3 large - Classification - Attention Head , Mean Pooling - (4x)</strong> [ar6]<br>\nAfter analyzing data, we noticed there were 1134 distinct categories of content and wording, so we added a classification model with <code>BCEWithLogitsLoss</code>.  We trained 4 different models with different heads, averaged them together and then added to the stack. </p>\n<h4>Other</h4>\n<p>We haven't understood how or why the splits for training/public lb/private lb were created. The distribution of prompts for training and public lb is very different than private lb. Very long prompt text in public and training set but not in private lb. Also number of summary text per prompt is very different for training/public LB and private LB, unfortunately these resulted in shake down for many many teams. </p>\n<p><em>Many other things tried but were not part of selected submission</em></p>\n<ul>\n<li>MLM based on this dataset shared  <a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/discussion/441202\" target=\"_blank\">here</a> </li>\n<li>RAG (Similar to what was shared in LLM )</li>\n<li>Many different architectures , heads, hyperparameters, loss functions </li>\n<li>2x T4 Inference </li>\n<li>Large Distilled models </li>\n<li>Adding more features to LGBM</li>\n<li>Catboost, XGBoost, NN alongwith LGBM</li>\n<li>Generating data from GPT3.5</li>\n<li>I'm glad we didn't spend much time on sliding window approach because the maxlen of prompts in private lb is less than or equal to public lb. </li>\n</ul>\n<p><strong>Acknowledgements</strong><br>\nThank you <a href=\"https://www.kaggle.com/kononenko\" target=\"_blank\">@kononenko</a>  for <a href=\"https://www.kaggle.com/code/kononenko/pip-install-nlp-mit?scriptVersionId=142526877\" target=\"_blank\">this</a> compliant textstat kernel </p>\n<p>Thank you <a href=\"https://www.kaggle.com/tsunotsuno\" target=\"_blank\">@tsunotsuno</a> for <a href=\"https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect\" target=\"_blank\">LGBM features</a> </p>\n<hr>\n<p>🙏 Thank you to my amazing teammates, grateful to have worked together on this with you all. </p>\n<ul>\n<li><a href=\"https://www.kaggle.com/aman1391\" target=\"_blank\">@aman1391</a> </li>\n<li><a href=\"https://www.kaggle.com/phoenix9032\" target=\"_blank\">@phoenix9032</a> </li>\n<li><a href=\"https://www.kaggle.com/ragnar123\" target=\"_blank\">@ragnar123</a> </li>\n<li><a href=\"https://www.kaggle.com/fightingmuscle\" target=\"_blank\">@fightingmuscle</a> </li>\n</ul>",
  "comments": [
    {
      "id": 2492404,
      "author_name": "Yusuke Nakayama",
      "author_url": "",
      "post_date": "2023-10-22T13:39:25.113000",
      "content": "<p>Congratulations on your results!! Thank you for sharing your solution.</p>\n<blockquote>\n  <p>This was also using back translated pseudo labeled dataset. Every sample was translated to german and then back to english. </p>\n</blockquote>\n<p>Does this mean that you translated every summary text to German and then back to English, and you assigned pseudo labels to the data using a model trained previously? In short, you did not use the original labels of the summary texts that were back-translated?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 2492722,
          "author_name": "RB",
          "author_url": "",
          "post_date": "2023-10-22T20:04:01.697000",
          "content": "<p>Thank you for your question, This model had all 7165 samples provided in the competition + back translated  pseudo labeled  samples. <br>\nSo every fold had ~9000 training samples (~6000 provided by the competition + ~3000 back translated samples ) </p>",
          "votes": 1,
          "replies": [
            {
              "id": 2493353,
              "author_name": "Yusuke Nakayama",
              "author_url": "",
              "post_date": "2023-10-23T10:56:32.290000",
              "content": "<p>Thank you for the information. Just to clarify, when you mention 'back translated pseudo labeled samples,' did you use pseudo labels for these samples, or were the original labels used for the back-translated samples? In other words, were the labels assigned based on the original data or through a pseudo labeling process?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 2493440,
              "author_name": "RB",
              "author_url": "",
              "post_date": "2023-10-23T12:14:44.707000",
              "content": "<p>back translated samples were pseudo labeled </p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 2493596,
              "author_name": "Yusuke Nakayama",
              "author_url": "",
              "post_date": "2023-10-23T13:49:49.010000",
              "content": "<p>Thank you. I assigned the original labels to the back-translated samples, but this was not effective. I appreciate the insight!</p>",
              "votes": 2,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "comment_count": 5,
  "messages": [
    {
      "id": 2479927,
      "postDate": "2023-10-13T02:25:46.567Z",
      "content": "<p>Thank you Learning Agency Lab and Kaggle for hosting this competition. We are relieved 😌 to survive the shake up. </p>\n<p><strong>Context:</strong> <a href=\"http://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview/description\" target=\"_blank\">www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview/description</a></p>\n<p><strong>Data:</strong> <a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data\" target=\"_blank\">https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data</a></p>\n<h3>Overview of the approach</h3>\n<p>Our selected submission had 17 diverse models. We used stacking with LGBM.  </p>\n<p>We used one prompt per fold cv strategy. All our models had collate function which speeds up training as well as inference. Lower batch sizes were helpful as well. Most models had evaluation at the end of epoch, few models had evaluation multiple times during epoch. Many of the diverse and smaller models were distilled (described below). </p>\n<p>All of us were able to contribute models to the stack, some of us never checked individual models scores because public LB seemed unstable. Our stack seemed more stable than individual models. </p>\n<p>Apart from model predictions we had following features in stack: </p>\n<pre><code>word_overlap_count\nbigram_overlap_count \nbigram_overlap_ratio \ntrigram_overlap_count\ntrigram_overlap_ratio\n\n- Text stat features\nOsman\nGutierrez_polini\nDale_chall_readability_score\nflesch_kincaid_grade\n</code></pre>\n<h3>Model Description</h3>\n<p>Here we describe each of the models : </p>\n<p><strong>(A)</strong> <strong>Deberta v3 large - full prompt text psuedo labeled model</strong>  [ar3]<br>\nThis model had best cv (0.4721) in stack - This was trained with max len 1790, attention head on top. This was also using back translated pseudo labeled dataset. Every sample was translated to german and then back to english. We randomly selected 50% of this data for training. So every training fold had different ~3100 samples that were pseudo labeled , validation set had no psuedo labeled samples.  <br>\nLoss function for this model was combination of SmoothL1Loss, RMSE Loss and RankLoss - <a href=\"https://www.kaggle.com/fightingmuscle\" target=\"_blank\">@fightingmuscle</a> described the loss function <a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/discussion/446554\" target=\"_blank\">here</a><br>\nInput for this model - <code>[ANSWER_START] + summary_text + [ANSWER_END] + [PROMPT_START] + prompt_text [PROMPT_END] + [QUESTION_START] + prompt_question + [QUESTION_END]</code><br>\nInference maxlen = 1024</p>\n<hr>\n<p><strong>(B)</strong> </p>\n<ul>\n<li>Deberta V3 Large [MK 43]  - MeanPooling</li>\n<li>Deberta V3 Large [MK 45]  - MeanPooling</li>\n</ul>\n<p>These were the same models with different seeds and mean pooled, input to these were summary_text + prompt_question, RMSE loss, validation end of epoch. </p>\n<hr>\n<p><strong>(C)</strong> </p>\n<ul>\n<li>Deberta V3 Large [r3] - CLS </li>\n<li>Deberta V3 Large [r4] - CLS</li>\n<li>Deberta V3 Large [r5] - CLS </li>\n</ul>\n<p>These were the same models with different seeds and with CLS token, input to these were summary_text + prompt_question, MSE Loss,validation end of epoch. I added extra text “Summarize:” to prompt question , if we look 👀 at the data 🔎carefully, notice that there are prompts with \"cite evidence\" and these have much longer summary texts and it doesn't say summarize. After reading other solutions, should have tried some more variations to this. </p>\n<hr>\n<p><strong>(D)</strong> </p>\n<ul>\n<li>Bart Large  -  Attention Head (Distilled)</li>\n<li>Electra Large - Attention Head (Distilled)</li>\n<li>Funnel Large - Mean pooling (Distilled)</li>\n</ul>\n<p>All these models were distilled - 50% oof labels and 50% true labels, with AWP added - only summary_text as input, validated multiple times during epoch. </p>\n<hr>\n<p><strong>(E)</strong></p>\n<ul>\n<li>Deberta v3 large [ar2] -  CLS Token  </li>\n<li>Deberta v3 base [ar4] -  CLS Token - Distilled model  </li>\n<li>Deberta v3 XSmall [ar5]  -  CLS Token - Distilled model   </li>\n<li>Deberta v3 XSmall [ar7] -   Distilled model - Bigram Signal </li>\n</ul>\n<hr>\n<p>Deberta v3 large [ar2] - Order of input to this model was different than the remaining models - <code>text + SEP + prompt_question</code> </p>\n<p>Deberta v3 Base and XSmall models [ar4, ar5, ar7] - These were distilled models. We utilized oof labels from a previous stack. These models were trained using oof labels where as validation set remained as true labels. </p>\n<p>Bigram Signal - </p>\n<pre><code>\noutputs = .model(input_ids, attention_mask, token_type_ids)\nbigram_signal = outputs.last_hidden_state[, , ] * outputs.last_hidden_state[, , ]\nfeature = bigram_signal[, , ]\n feature\n</code></pre>\n<p><strong>(F)</strong>  <strong>Deberta v3 large - Classification - Attention Head , Mean Pooling - (4x)</strong> [ar6]<br>\nAfter analyzing data, we noticed there were 1134 distinct categories of content and wording, so we added a classification model with <code>BCEWithLogitsLoss</code>.  We trained 4 different models with different heads, averaged them together and then added to the stack. </p>\n<h4>Other</h4>\n<p>We haven't understood how or why the splits for training/public lb/private lb were created. The distribution of prompts for training and public lb is very different than private lb. Very long prompt text in public and training set but not in private lb. Also number of summary text per prompt is very different for training/public LB and private LB, unfortunately these resulted in shake down for many many teams. </p>\n<p><em>Many other things tried but were not part of selected submission</em></p>\n<ul>\n<li>MLM based on this dataset shared  <a href=\"https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/discussion/441202\" target=\"_blank\">here</a> </li>\n<li>RAG (Similar to what was shared in LLM )</li>\n<li>Many different architectures , heads, hyperparameters, loss functions </li>\n<li>2x T4 Inference </li>\n<li>Large Distilled models </li>\n<li>Adding more features to LGBM</li>\n<li>Catboost, XGBoost, NN alongwith LGBM</li>\n<li>Generating data from GPT3.5</li>\n<li>I'm glad we didn't spend much time on sliding window approach because the maxlen of prompts in private lb is less than or equal to public lb. </li>\n</ul>\n<p><strong>Acknowledgements</strong><br>\nThank you <a href=\"https://www.kaggle.com/kononenko\" target=\"_blank\">@kononenko</a>  for <a href=\"https://www.kaggle.com/code/kononenko/pip-install-nlp-mit?scriptVersionId=142526877\" target=\"_blank\">this</a> compliant textstat kernel </p>\n<p>Thank you <a href=\"https://www.kaggle.com/tsunotsuno\" target=\"_blank\">@tsunotsuno</a> for <a href=\"https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect\" target=\"_blank\">LGBM features</a> </p>\n<hr>\n<p>🙏 Thank you to my amazing teammates, grateful to have worked together on this with you all. </p>\n<ul>\n<li><a href=\"https://www.kaggle.com/aman1391\" target=\"_blank\">@aman1391</a> </li>\n<li><a href=\"https://www.kaggle.com/phoenix9032\" target=\"_blank\">@phoenix9032</a> </li>\n<li><a href=\"https://www.kaggle.com/ragnar123\" target=\"_blank\">@ragnar123</a> </li>\n<li><a href=\"https://www.kaggle.com/fightingmuscle\" target=\"_blank\">@fightingmuscle</a> </li>\n</ul>",
      "rawMarkdown": "Thank you Learning Agency Lab and Kaggle for hosting this competition. We are relieved 😌 to survive the shake up. \n\n**Context:** www.kaggle.com/competitions/commonlit-evaluate-student-summaries/overview/description\n\n**Data:** https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/data\n\n### Overview of the approach\n\nOur selected submission had 17 diverse models. We used stacking with LGBM.  \n\nWe used one prompt per fold cv strategy. All our models had collate function which speeds up training as well as inference. Lower batch sizes were helpful as well. Most models had evaluation at the end of epoch, few models had evaluation multiple times during epoch. Many of the diverse and smaller models were distilled (described below). \n\nAll of us were able to contribute models to the stack, some of us never checked individual models scores because public LB seemed unstable. Our stack seemed more stable than individual models. \n\nApart from model predictions we had following features in stack: \n```python\n\nword_overlap_count\nbigram_overlap_count \nbigram_overlap_ratio \ntrigram_overlap_count\ntrigram_overlap_ratio\n        \n- Text stat features\nOsman\nGutierrez_polini\nDale_chall_readability_score\nflesch_kincaid_grade\n\n```\n\n### Model Description\n\nHere we describe each of the models : \n\n\n**(A)** **Deberta v3 large - full prompt text psuedo labeled model**  [ar3]\nThis model had best cv (0.4721) in stack - This was trained with max len 1790, attention head on top. This was also using back translated pseudo labeled dataset. Every sample was translated to german and then back to english. We randomly selected 50% of this data for training. So every training fold had different ~3100 samples that were pseudo labeled , validation set had no psuedo labeled samples.  \nLoss function for this model was combination of SmoothL1Loss, RMSE Loss and RankLoss - @fightingmuscle described the loss function [here](https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/discussion/446554)\nInput for this model - `[ANSWER_START] + summary_text + [ANSWER_END] + [PROMPT_START] + prompt_text [PROMPT_END] + [QUESTION_START] + prompt_question + [QUESTION_END]`\nInference maxlen = 1024\n\n---\n**(B)** \n\n- Deberta V3 Large [MK 43]  - MeanPooling\n- Deberta V3 Large [MK 45]  - MeanPooling\n\n\nThese were the same models with different seeds and mean pooled, input to these were summary_text + prompt_question, RMSE loss, validation end of epoch. \n\n\n----\n\n**(C)** \n\n-  Deberta V3 Large [r3] - CLS \n-  Deberta V3 Large [r4] - CLS\n-  Deberta V3 Large [r5] - CLS \n\n\nThese were the same models with different seeds and with CLS token, input to these were summary_text + prompt_question, MSE Loss,validation end of epoch. I added extra text “Summarize:” to prompt question , if we look 👀 at the data 🔎carefully, notice that there are prompts with \"cite evidence\" and these have much longer summary texts and it doesn't say summarize. After reading other solutions, should have tried some more variations to this. \n\n----\n\n**(D)** \n\n- Bart Large  -  Attention Head (Distilled)\n- Electra Large - Attention Head (Distilled)\n- Funnel Large - Mean pooling (Distilled)\n\nAll these models were distilled - 50% oof labels and 50% true labels, with AWP added - only summary_text as input, validated multiple times during epoch. \n\n----\n\n**(E)**\n \n- Deberta v3 large [ar2] -  CLS Token  \n- Deberta v3 base [ar4] -  CLS Token - Distilled model  \n- Deberta v3 XSmall [ar5]  -  CLS Token - Distilled model   \n- Deberta v3 XSmall [ar7] -   Distilled model - Bigram Signal \n\n---\nDeberta v3 large [ar2] - Order of input to this model was different than the remaining models - `text + SEP + prompt_question` \n\nDeberta v3 Base and XSmall models [ar4, ar5, ar7] - These were distilled models. We utilized oof labels from a previous stack. These models were trained using oof labels where as validation set remained as true labels. \n\nBigram Signal - \n\n```\n# Thanks to @aman1391 and Google Bard for this one\noutputs = self.model(input_ids, attention_mask, token_type_ids)\nbigram_signal = outputs.last_hidden_state[:, 1:, :] * outputs.last_hidden_state[:, :-1, :]\nfeature = bigram_signal[:, 0, :]\nreturn feature\n```\n\n**(F)**  **Deberta v3 large - Classification - Attention Head , Mean Pooling - (4x)** [ar6]\nAfter analyzing data, we noticed there were 1134 distinct categories of content and wording, so we added a classification model with `BCEWithLogitsLoss`.  We trained 4 different models with different heads, averaged them together and then added to the stack. \n\n\n\n#### Other\nWe haven't understood how or why the splits for training/public lb/private lb were created. The distribution of prompts for training and public lb is very different than private lb. Very long prompt text in public and training set but not in private lb. Also number of summary text per prompt is very different for training/public LB and private LB, unfortunately these resulted in shake down for many many teams. \n\n\n*Many other things tried but were not part of selected submission*\n- MLM based on this dataset shared  [here](https://www.kaggle.com/competitions/commonlit-evaluate-student-summaries/discussion/441202) \n- RAG (Similar to what was shared in LLM )\n- Many different architectures , heads, hyperparameters, loss functions \n- 2x T4 Inference \n- Large Distilled models \n- Adding more features to LGBM\n- Catboost, XGBoost, NN alongwith LGBM\n- Generating data from GPT3.5\n- I'm glad we didn't spend much time on sliding window approach because the maxlen of prompts in private lb is less than or equal to public lb. \n\n\n\n**Acknowledgements**\nThank you @kononenko  for [this](https://www.kaggle.com/code/kononenko/pip-install-nlp-mit?scriptVersionId=142526877) compliant textstat kernel \n\nThank you @tsunotsuno for [LGBM features](https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect) \n\n--- \n\n🙏 Thank you to my amazing teammates, grateful to have worked together on this with you all. \n- @aman1391 \n- @phoenix9032 \n- @ragnar123 \n- @fightingmuscle \n\n",
      "votes": 28
    },
    {
      "id": 2492404,
      "postDate": "2023-10-22T13:39:25.113Z",
      "content": "<p>Congratulations on your results!! Thank you for sharing your solution.</p>\n<blockquote>\n  <p>This was also using back translated pseudo labeled dataset. Every sample was translated to german and then back to english. </p>\n</blockquote>\n<p>Does this mean that you translated every summary text to German and then back to English, and you assigned pseudo labels to the data using a model trained previously? In short, you did not use the original labels of the summary texts that were back-translated?</p>",
      "rawMarkdown": "Congratulations on your results!! Thank you for sharing your solution.\n\n>This was also using back translated pseudo labeled dataset. Every sample was translated to german and then back to english. \n\nDoes this mean that you translated every summary text to German and then back to English, and you assigned pseudo labels to the data using a model trained previously? In short, you did not use the original labels of the summary texts that were back-translated?\n",
      "votes": 1,
      "replies": [
        {
          "id": 2492722,
          "postDate": "2023-10-22T20:04:01.697Z",
          "content": "<p>Thank you for your question, This model had all 7165 samples provided in the competition + back translated  pseudo labeled  samples. <br>\nSo every fold had ~9000 training samples (~6000 provided by the competition + ~3000 back translated samples ) </p>",
          "rawMarkdown": "Thank you for your question, This model had all 7165 samples provided in the competition + back translated  pseudo labeled  samples. \nSo every fold had ~9000 training samples (~6000 provided by the competition + ~3000 back translated samples ) ",
          "votes": 1,
          "replies": [
            {
              "id": 2493353,
              "postDate": "2023-10-23T10:56:32.290Z",
              "content": "<p>Thank you for the information. Just to clarify, when you mention 'back translated pseudo labeled samples,' did you use pseudo labels for these samples, or were the original labels used for the back-translated samples? In other words, were the labels assigned based on the original data or through a pseudo labeling process?</p>",
              "rawMarkdown": "Thank you for the information. Just to clarify, when you mention 'back translated pseudo labeled samples,' did you use pseudo labels for these samples, or were the original labels used for the back-translated samples? In other words, were the labels assigned based on the original data or through a pseudo labeling process?"
            },
            {
              "id": 2493440,
              "postDate": "2023-10-23T12:14:44.707Z",
              "content": "<p>back translated samples were pseudo labeled </p>",
              "rawMarkdown": "back translated samples were pseudo labeled ",
              "votes": 1
            },
            {
              "id": 2493596,
              "postDate": "2023-10-23T13:49:49.010Z",
              "content": "<p>Thank you. I assigned the original labels to the back-translated samples, but this was not effective. I appreciate the insight!</p>",
              "rawMarkdown": "Thank you. I assigned the original labels to the back-translated samples, but this was not effective. I appreciate the insight!",
              "votes": 2
            }
          ]
        }
      ]
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T23:04:59Z",
  "competition_id": 53482,
  "competition_slug": "commonlit-evaluate-student-summaries",
  "team_id": 10796316,
  "solution_url": "/competitions/commonlit-evaluate-student-summaries/writeups/barton-fink-11th-place-solution"
}