{
  "id": 258497,
  "title": "18th place solution",
  "content": "<p>Thank you to Kaggle and Commonlit for providing this opportunity. </p>\n<p>Also thanks to <a href=\"https://www.kaggle.com/rhtsingh\" target=\"_blank\">@rhtsingh</a> and <a href=\"https://www.kaggle.com/andretugan\" target=\"_blank\">@andretugan</a> for sharing excellent kernels. </p>\n<p>We had 24 large models and 3 base models, utilized full 3 hours of runtime. We stacked using SGD Regressor and TF-IDF features.  Models in our stack described below : </p>\n<p><strong>Cross Validation</strong> - All models trained with 5 folds using kincaid readability feature. All our models were using 3 seeds (42, 77, 2021). Even with 3 seeds we noticed a LB difference of ~0.005 but 3 seeds were the max we could do. Nothing specific for each fold - all folds were trained with the same head/parameters. </p>\n<p><strong>Roberta Large</strong>  (3 Roberta large with 3 seeds each - total 9 models)-   All Roberta models were using pretrained model  using Competition data, Kids frontiers data and <a href=\"https://github.com/LGDoor/Dump-of-Simple-English-Wiki\" target=\"_blank\">Simple wiki</a>. </p>\n<ul>\n<li>Attention head - along with TF-IDF features with TabNet - differential learning rates </li>\n<li>weighted layer pooling - multisample dropouts, No differential learning rates </li>\n</ul>\n<p><strong>Deberta Large</strong>   (3 Deberta large with 3 seeds each - total 9 models) <br>\nAll Deberta models were trained for 25 epochs with validation at the end. No pretraining. </p>\n<ul>\n<li>Deberta Large with pseudo labeling on <a href=\"https://cs.pomona.edu/~dkauchak/simplification/\" target=\"_blank\">Text Simplification dataset</a> </li>\n<li>Deberta large with pooled output, attention head and multisample dropouts along with TabNet for TF-IDF features. <br>\nFor the multi-sample dropout architecture, the model outputs 5 values, the mean of which correspond to our targets and their standard deviation to the standard error. Thus, both the quantities are used for training.</li>\n</ul>\n<p><strong>Electra Large</strong> - Attention head - along with TF-IDF features with TabNet</p>\n<p><strong>Ernie</strong> - Attention head - along with TF-IDF features with TabNet. </p>\n<p><strong>Roberta Base</strong> - (Pretraining on competition data) This model was almost same as <a href=\"https://www.kaggle.com/andretugan/pre-trained-roberta-solution-in-pytorch\" target=\"_blank\">public kernel</a>, we added predictions from LGBM and Ridge to this model</p>\n<p>Our best model was Roberta Large with public LB score 0.461 (CV: 0.473) and everything else was between 0.461 and 0.473.  TF-IDF features gave us a boost of ~0.002 in every model. </p>\n<p>Things that didn’t work - <br>\n-Pretraining with other datasets for Roberta Large - we tried pretraining with many many other datasets <br>\n-Pseudo label with Roberta Large - It worked on private LB but it was not in our stack. <br>\n-Pretraining for Ernie <br>\n-Many many different architectures and combinations of different architectures. </p>\n<p>Disappointed that we missed gold zone by one rank, it was a pleasure collaborating with the team <a href=\"https://www.kaggle.com/kpriyanshu256\" target=\"_blank\">@kpriyanshu256</a> <a href=\"https://www.kaggle.com/aman1391\" target=\"_blank\">@aman1391</a> <a href=\"https://www.kaggle.com/gyanendradas\" target=\"_blank\">@gyanendradas</a> and Adarash S -  Thank you. </p>",
  "comments": [
    {
      "id": 1445478,
      "author_name": "KhanhVD",
      "author_url": "",
      "post_date": "2021-08-04T09:03:15.683000",
      "content": "<p>Congrats on results and thanks for sharing solution <a href=\"https://www.kaggle.com/rashmibanthia\" target=\"_blank\">@rashmibanthia</a> and team.</p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1431496,
      "author_name": "AK",
      "author_url": "",
      "post_date": "2021-08-03T12:33:36.797000",
      "content": "<p>Thank you <a href=\"https://www.kaggle.com/rashmibanthia\" target=\"_blank\">@rashmibanthia</a>  for the write up .. it is always an amazing experience working and collabrating with you .  Always looking forward to work with you all again!!</p>\n<p>PS : Gold is long overdue 😜 </p>",
      "votes": 3,
      "replies": []
    },
    {
      "id": 1429515,
      "author_name": "Priyanshu Kumar",
      "author_url": "",
      "post_date": "2021-08-03T10:45:03.123000",
      "content": "<p>Thank you <a href=\"https://www.kaggle.com/rashmibanthia\" target=\"_blank\">@rashmibanthia</a> for the write up. It was a great learning experience working with you all. Looking forward to working with you all again!!</p>",
      "votes": 3,
      "replies": [
        {
          "id": 1430071,
          "author_name": "RB",
          "author_url": "",
          "post_date": "2021-08-03T11:16:15.610000",
          "content": "<p>Likewise, Thank you !</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 1454172,
      "author_name": "Allohvk",
      "author_url": "",
      "post_date": "2021-08-06T05:49:18.980000",
      "content": "<p>Good job and congratulations!</p>\n<pre><code>Disappointed that we missed gold zone by one rank\n</code></pre>\n<p>scoreboard is not finalized yet. Keep your fingers crossed :)</p>",
      "votes": 4,
      "replies": [
        {
          "id": 1454198,
          "author_name": "AK",
          "author_url": "",
          "post_date": "2021-08-06T06:00:37.643000",
          "content": "<p>Thanks for the optimistic reply , this is what our team need the most post competition 😀</p>",
          "votes": 3,
          "replies": []
        }
      ]
    },
    {
      "id": 1449739,
      "author_name": "HinePo",
      "author_url": "",
      "post_date": "2021-08-05T00:26:55.740000",
      "content": "<p>Interesting that you used TabNetRegressor. I tried this in the 2nd month of the competition, with both roberta-base and roberta-large. The results were terrible and I soon abandoned this idea 😅. I guess I should have spent more time tuning it or trying with embeddings from other models… it never occurred to me using TF-IDF though</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1449805,
          "author_name": "RB",
          "author_url": "",
          "post_date": "2021-08-05T00:53:44.733000",
          "content": "<p>We put TF-IDF in stacking also and that gave us ~0.001 improvement. </p>",
          "votes": 1,
          "replies": []
        }
      ]
    },
    {
      "id": 1446913,
      "author_name": "Optimo",
      "author_url": "",
      "post_date": "2021-08-04T13:29:14.170000",
      "content": "<p>Hello,</p>\n<p>Congrats, keep going!</p>\n<p>I'm just wondering what do you mean by <code>along with TF-IDF features with TabNet</code> ?</p>\n<p>Could you explain a bit more please?</p>",
      "votes": 1,
      "replies": [
        {
          "id": 1447245,
          "author_name": "RB",
          "author_url": "",
          "post_date": "2021-08-04T14:28:04.160000",
          "content": "<p>We first created TF-IDF features  (along with other readability features). Then instead of using a linear layer we used <a href=\"https://github.com/dreamquark-ai/tabnet\" target=\"_blank\">Tabnet</a>. <br>\nThis was in our <code>__init__(...)</code> model. </p>\n<pre><code>self.tabnet = TabNet(**{\n                            'n_d': 4,\n                            'n_a': 4,\n                            'n_steps': 2,\n                            'input_dim': feature_len,\n                            'output_dim': feature_hidden_size\n                            }\n                    )\n</code></pre>",
          "votes": 4,
          "replies": []
        },
        {
          "id": 1447666,
          "author_name": "Optimo",
          "author_url": "",
          "post_date": "2021-08-04T15:35:23.510000",
          "content": "<p>Interesting, so the boost of 0.002 you are talking about is comparing TF-IDF with an MLP+Bert vs TabNet+Bert? </p>",
          "votes": 1,
          "replies": []
        },
        {
          "id": 1448018,
          "author_name": "Priyanshu Kumar",
          "author_url": "",
          "post_date": "2021-08-04T16:31:53.950000",
          "content": "<p>We had experimented with features and 100 TF-IDF features first with Deberta-Large and an MLP for the features. The features in themselves provide a boost. We observed extra boost when we replaced the MLP with TabNet. Later, we observed the boost in all the models with this sort of architecture.</p>",
          "votes": 3,
          "replies": []
        }
      ]
    }
  ],
  "comment_count": 12,
  "messages": [
    {
      "id": 1429297,
      "postDate": "2021-08-03T10:31:06.420Z",
      "content": "<p>Thank you to Kaggle and Commonlit for providing this opportunity. </p>\n<p>Also thanks to <a href=\"https://www.kaggle.com/rhtsingh\" target=\"_blank\">@rhtsingh</a> and <a href=\"https://www.kaggle.com/andretugan\" target=\"_blank\">@andretugan</a> for sharing excellent kernels. </p>\n<p>We had 24 large models and 3 base models, utilized full 3 hours of runtime. We stacked using SGD Regressor and TF-IDF features.  Models in our stack described below : </p>\n<p><strong>Cross Validation</strong> - All models trained with 5 folds using kincaid readability feature. All our models were using 3 seeds (42, 77, 2021). Even with 3 seeds we noticed a LB difference of ~0.005 but 3 seeds were the max we could do. Nothing specific for each fold - all folds were trained with the same head/parameters. </p>\n<p><strong>Roberta Large</strong>  (3 Roberta large with 3 seeds each - total 9 models)-   All Roberta models were using pretrained model  using Competition data, Kids frontiers data and <a href=\"https://github.com/LGDoor/Dump-of-Simple-English-Wiki\" target=\"_blank\">Simple wiki</a>. </p>\n<ul>\n<li>Attention head - along with TF-IDF features with TabNet - differential learning rates </li>\n<li>weighted layer pooling - multisample dropouts, No differential learning rates </li>\n</ul>\n<p><strong>Deberta Large</strong>   (3 Deberta large with 3 seeds each - total 9 models) <br>\nAll Deberta models were trained for 25 epochs with validation at the end. No pretraining. </p>\n<ul>\n<li>Deberta Large with pseudo labeling on <a href=\"https://cs.pomona.edu/~dkauchak/simplification/\" target=\"_blank\">Text Simplification dataset</a> </li>\n<li>Deberta large with pooled output, attention head and multisample dropouts along with TabNet for TF-IDF features. <br>\nFor the multi-sample dropout architecture, the model outputs 5 values, the mean of which correspond to our targets and their standard deviation to the standard error. Thus, both the quantities are used for training.</li>\n</ul>\n<p><strong>Electra Large</strong> - Attention head - along with TF-IDF features with TabNet</p>\n<p><strong>Ernie</strong> - Attention head - along with TF-IDF features with TabNet. </p>\n<p><strong>Roberta Base</strong> - (Pretraining on competition data) This model was almost same as <a href=\"https://www.kaggle.com/andretugan/pre-trained-roberta-solution-in-pytorch\" target=\"_blank\">public kernel</a>, we added predictions from LGBM and Ridge to this model</p>\n<p>Our best model was Roberta Large with public LB score 0.461 (CV: 0.473) and everything else was between 0.461 and 0.473.  TF-IDF features gave us a boost of ~0.002 in every model. </p>\n<p>Things that didn’t work - <br>\n-Pretraining with other datasets for Roberta Large - we tried pretraining with many many other datasets <br>\n-Pseudo label with Roberta Large - It worked on private LB but it was not in our stack. <br>\n-Pretraining for Ernie <br>\n-Many many different architectures and combinations of different architectures. </p>\n<p>Disappointed that we missed gold zone by one rank, it was a pleasure collaborating with the team <a href=\"https://www.kaggle.com/kpriyanshu256\" target=\"_blank\">@kpriyanshu256</a> <a href=\"https://www.kaggle.com/aman1391\" target=\"_blank\">@aman1391</a> <a href=\"https://www.kaggle.com/gyanendradas\" target=\"_blank\">@gyanendradas</a> and Adarash S -  Thank you. </p>",
      "rawMarkdown": "Thank you to Kaggle and Commonlit for providing this opportunity. \n\nAlso thanks to @rhtsingh and @andretugan for sharing excellent kernels. \n\nWe had 24 large models and 3 base models, utilized full 3 hours of runtime. We stacked using SGD Regressor and TF-IDF features.  Models in our stack described below : \n\n**Cross Validation** - All models trained with 5 folds using kincaid readability feature. All our models were using 3 seeds (42, 77, 2021). Even with 3 seeds we noticed a LB difference of ~0.005 but 3 seeds were the max we could do. Nothing specific for each fold - all folds were trained with the same head/parameters. \n\n**Roberta Large**  (3 Roberta large with 3 seeds each - total 9 models)-   All Roberta models were using pretrained model  using Competition data, Kids frontiers data and [Simple wiki](https://github.com/LGDoor/Dump-of-Simple-English-Wiki). \n- Attention head - along with TF-IDF features with TabNet - differential learning rates \n- weighted layer pooling - multisample dropouts, No differential learning rates \n\n**Deberta Large**   (3 Deberta large with 3 seeds each - total 9 models) \nAll Deberta models were trained for 25 epochs with validation at the end. No pretraining. \n- Deberta Large with pseudo labeling on [Text Simplification dataset](https://cs.pomona.edu/~dkauchak/simplification/) \n- Deberta large with pooled output, attention head and multisample dropouts along with TabNet for TF-IDF features. \n\tFor the multi-sample dropout architecture, the model outputs 5 values, the mean of which correspond to our targets and their standard deviation to the standard error. Thus, both the quantities are used for training.\n\n**Electra Large** - Attention head - along with TF-IDF features with TabNet\n\n**Ernie** - Attention head - along with TF-IDF features with TabNet. \n\n**Roberta Base** - (Pretraining on competition data) This model was almost same as [public kernel](https://www.kaggle.com/andretugan/pre-trained-roberta-solution-in-pytorch), we added predictions from LGBM and Ridge to this model\n\nOur best model was Roberta Large with public LB score 0.461 (CV: 0.473) and everything else was between 0.461 and 0.473.  TF-IDF features gave us a boost of ~0.002 in every model. \n\nThings that didn’t work - \n-Pretraining with other datasets for Roberta Large - we tried pretraining with many many other datasets \n-Pseudo label with Roberta Large - It worked on private LB but it was not in our stack. \n-Pretraining for Ernie \n-Many many different architectures and combinations of different architectures. \n\nDisappointed that we missed gold zone by one rank, it was a pleasure collaborating with the team @kpriyanshu256 @aman1391 @gyanendradas and Adarash S -  Thank you. ",
      "votes": 17
    },
    {
      "id": 1445478,
      "postDate": "2021-08-04T09:03:15.683Z",
      "content": "<p>Congrats on results and thanks for sharing solution <a href=\"https://www.kaggle.com/rashmibanthia\" target=\"_blank\">@rashmibanthia</a> and team.</p>",
      "rawMarkdown": "Congrats on results and thanks for sharing solution @rashmibanthia and team.",
      "votes": 3
    },
    {
      "id": 1431496,
      "postDate": "2021-08-03T12:33:36.797Z",
      "content": "<p>Thank you <a href=\"https://www.kaggle.com/rashmibanthia\" target=\"_blank\">@rashmibanthia</a>  for the write up .. it is always an amazing experience working and collabrating with you .  Always looking forward to work with you all again!!</p>\n<p>PS : Gold is long overdue 😜 </p>",
      "rawMarkdown": "Thank you @rashmibanthia  for the write up .. it is always an amazing experience working and collabrating with you .  Always looking forward to work with you all again!!\n\nPS : Gold is long overdue 😜 ",
      "votes": 3
    },
    {
      "id": 1429515,
      "postDate": "2021-08-03T10:45:03.123Z",
      "content": "<p>Thank you <a href=\"https://www.kaggle.com/rashmibanthia\" target=\"_blank\">@rashmibanthia</a> for the write up. It was a great learning experience working with you all. Looking forward to working with you all again!!</p>",
      "rawMarkdown": "Thank you @rashmibanthia for the write up. It was a great learning experience working with you all. Looking forward to working with you all again!!",
      "votes": 3,
      "replies": [
        {
          "id": 1430071,
          "postDate": "2021-08-03T11:16:15.610Z",
          "content": "<p>Likewise, Thank you !</p>",
          "rawMarkdown": "Likewise, Thank you !",
          "votes": 3
        }
      ]
    },
    {
      "id": 1454172,
      "postDate": "2021-08-06T05:49:18.980Z",
      "content": "<p>Good job and congratulations!</p>\n<pre><code>Disappointed that we missed gold zone by one rank\n</code></pre>\n<p>scoreboard is not finalized yet. Keep your fingers crossed :)</p>",
      "rawMarkdown": "Good job and congratulations!\n\n```\nDisappointed that we missed gold zone by one rank\n\n```\nscoreboard is not finalized yet. Keep your fingers crossed :)",
      "votes": 4,
      "replies": [
        {
          "id": 1454198,
          "postDate": "2021-08-06T06:00:37.643Z",
          "content": "<p>Thanks for the optimistic reply , this is what our team need the most post competition 😀</p>",
          "rawMarkdown": "Thanks for the optimistic reply , this is what our team need the most post competition 😀",
          "votes": 3
        }
      ]
    },
    {
      "id": 1449739,
      "postDate": "2021-08-05T00:26:55.740Z",
      "content": "<p>Interesting that you used TabNetRegressor. I tried this in the 2nd month of the competition, with both roberta-base and roberta-large. The results were terrible and I soon abandoned this idea 😅. I guess I should have spent more time tuning it or trying with embeddings from other models… it never occurred to me using TF-IDF though</p>",
      "rawMarkdown": "Interesting that you used TabNetRegressor. I tried this in the 2nd month of the competition, with both roberta-base and roberta-large. The results were terrible and I soon abandoned this idea 😅. I guess I should have spent more time tuning it or trying with embeddings from other models... it never occurred to me using TF-IDF though",
      "votes": 1,
      "replies": [
        {
          "id": 1449805,
          "postDate": "2021-08-05T00:53:44.733Z",
          "content": "<p>We put TF-IDF in stacking also and that gave us ~0.001 improvement. </p>",
          "rawMarkdown": "We put TF-IDF in stacking also and that gave us ~0.001 improvement. ",
          "votes": 1
        }
      ]
    },
    {
      "id": 1446913,
      "postDate": "2021-08-04T13:29:14.170Z",
      "content": "<p>Hello,</p>\n<p>Congrats, keep going!</p>\n<p>I'm just wondering what do you mean by <code>along with TF-IDF features with TabNet</code> ?</p>\n<p>Could you explain a bit more please?</p>",
      "rawMarkdown": "Hello,\n\nCongrats, keep going!\n\nI'm just wondering what do you mean by `along with TF-IDF features with TabNet` ?\n\nCould you explain a bit more please?",
      "votes": 1,
      "replies": [
        {
          "id": 1447245,
          "postDate": "2021-08-04T14:28:04.160Z",
          "content": "<p>We first created TF-IDF features  (along with other readability features). Then instead of using a linear layer we used <a href=\"https://github.com/dreamquark-ai/tabnet\" target=\"_blank\">Tabnet</a>. <br>\nThis was in our <code>__init__(...)</code> model. </p>\n<pre><code>self.tabnet = TabNet(**{\n                            'n_d': 4,\n                            'n_a': 4,\n                            'n_steps': 2,\n                            'input_dim': feature_len,\n                            'output_dim': feature_hidden_size\n                            }\n                    )\n</code></pre>",
          "rawMarkdown": "We first created TF-IDF features  (along with other readability features). Then instead of using a linear layer we used [Tabnet](https://github.com/dreamquark-ai/tabnet). \nThis was in our `__init__(...)` model. \n\n```\nself.tabnet = TabNet(**{\n                            'n_d': 4,\n                            'n_a': 4,\n                            'n_steps': 2,\n                            'input_dim': feature_len,\n                            'output_dim': feature_hidden_size\n                            }\n                    )\n```",
          "votes": 4
        },
        {
          "id": 1447666,
          "postDate": "2021-08-04T15:35:23.510Z",
          "content": "<p>Interesting, so the boost of 0.002 you are talking about is comparing TF-IDF with an MLP+Bert vs TabNet+Bert? </p>",
          "rawMarkdown": "Interesting, so the boost of 0.002 you are talking about is comparing TF-IDF with an MLP+Bert vs TabNet+Bert? ",
          "votes": 1
        },
        {
          "id": 1448018,
          "postDate": "2021-08-04T16:31:53.950Z",
          "content": "<p>We had experimented with features and 100 TF-IDF features first with Deberta-Large and an MLP for the features. The features in themselves provide a boost. We observed extra boost when we replaced the MLP with TabNet. Later, we observed the boost in all the models with this sort of architecture.</p>",
          "rawMarkdown": "We had experimented with features and 100 TF-IDF features first with Deberta-Large and an MLP for the features. The features in themselves provide a boost. We observed extra boost when we replaced the MLP with TabNet. Later, we observed the boost in all the models with this sort of architecture.",
          "votes": 3
        }
      ]
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T23:47:42Z",
  "competition_id": 25914,
  "competition_slug": "commonlitreadabilityprize",
  "team_id": 6874543,
  "solution_url": "/competitions/commonlitreadabilityprize/writeups/randomness-to-the-top-pikachu-18th-place-solution"
}