{
  "id": 448063,
  "title": "61th Place Solution",
  "content": "<h1>My First Kaggle Competition</h1>\n<p>I would like to express my gratitude to the Kaggle staff and competition hosts for organizing this event. This document outlines the tactics that were successful, and those that weren't as effective in my experiments. Without the remarkable notebook at <a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect</a> and various insights from numerous discussions, my work wouldn't have been as comprehensive. Credit goes to all those contributors who I, unfortunately, do not recall by name.</p>\n<p>My solution involved an ensemble of 17 models; 11 deberta-v3-large models and 6 deberta-v3-base models, each with different learning rates. All of this work was conducted on a workstation with an i9-12900k and a 3090 24G system.</p>\n<h1>What Worked</h1>\n<ol>\n<li><p>Setting hidden_dropout_prob=0 [High Impact]<br>\nGiven that this is a regression problem, using dropout creates a discrepancy between the output scales during inference and training.</p></li>\n<li><p>Using a fusion model for wording and content predictions [Decreases training and inference time without impacting performance]<br>\nThe original notebook used separate models for these tasks, which extends training time without any significant improvement in inference performance.</p></li>\n<li><p>Leveraging the LightGBM model with enhanced feature engineering [High Impact]<br>\nI put more emphasis on feature engineering, as illustrated in this notebook: <a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/wchan757/achieving-lb-0-47-with-just-lightgbm-detail.</a></p></li>\n<li><p>Using an ensemble of deberta-v3-large and deberta-v3-base models with varying learning rates [High Impact]<br>\nA lower learning rate (~ 8e10-6) works better for deberta-v3-large models, while a higher one (~ 2e10-5) is more effective for deberta-v3-base models.</p></li>\n<li><p>Maintaining uniform ensemble weights [High Impact]<br>\nOptimizing the model weights using Optuna tends to overfit the ensemble model.</p></li>\n</ol>\n<h1>What Didn't Work</h1>\n<ol>\n<li><p>Using different weights for different models with Optuna<br>\nWhile this improves CV scores, it leads to overfitting in the LB and PB tests.</p></li>\n<li><p>Cleaning the text<br>\nI attempted this late in the process, and it led to overfitting in both the PB and LB tests. I'm unsure why this happened and appreciate anyone willing to share their successful experiences with text cleaning.</p></li>\n<li><p>Setting attention_probs_dropout_prob = 0<br>\nThis ended up deteriorating the model's scores.</p></li>\n</ol>\n<h1>Some note and tips</h1>\n<ol>\n<li>read through discussion session and other similar competition. I find my most idea and figure out what work and don’t work in here</li>\n<li>Versioning and documents experiment through for tracking what work</li>\n<li>Don’t ensemble model too soon because if you want to change architecture will require change all the ensemble model </li>\n<li>It will fine if you stuck a few day. Just take a rest and try again.</li>\n</ol>\n<p>I am very lucky that my best notebook for LB is best notebook for PB.</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>LB</th>\n<th>PB</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>deberta-v3-base 4-fold ( only change hidden dropout =0)</td>\n<td>0.44565</td>\n<td>0.48406</td>\n</tr>\n<tr>\n<td>Ensemble deberta-v3-large 4-fold with 2 base</td>\n<td>0.44073</td>\n<td>0.48301</td>\n</tr>\n<tr>\n<td>Ensemble model ( 17 model find tune weight with optuna)</td>\n<td>0.43694</td>\n<td>0.47308</td>\n</tr>\n<tr>\n<td>Ensemble model ( 17 model with more feature engineer)</td>\n<td><strong>0.43551</strong></td>\n<td><strong>0.47284</strong></td>\n</tr>\n</tbody>\n</table>",
  "comments": [],
  "comment_count": 0,
  "messages": [
    {
      "id": 2486982,
      "postDate": "2023-10-18T09:24:40.193Z",
      "content": "<h1>My First Kaggle Competition</h1>\n<p>I would like to express my gratitude to the Kaggle staff and competition hosts for organizing this event. This document outlines the tactics that were successful, and those that weren't as effective in my experiments. Without the remarkable notebook at <a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect</a> and various insights from numerous discussions, my work wouldn't have been as comprehensive. Credit goes to all those contributors who I, unfortunately, do not recall by name.</p>\n<p>My solution involved an ensemble of 17 models; 11 deberta-v3-large models and 6 deberta-v3-base models, each with different learning rates. All of this work was conducted on a workstation with an i9-12900k and a 3090 24G system.</p>\n<h1>What Worked</h1>\n<ol>\n<li><p>Setting hidden_dropout_prob=0 [High Impact]<br>\nGiven that this is a regression problem, using dropout creates a discrepancy between the output scales during inference and training.</p></li>\n<li><p>Using a fusion model for wording and content predictions [Decreases training and inference time without impacting performance]<br>\nThe original notebook used separate models for these tasks, which extends training time without any significant improvement in inference performance.</p></li>\n<li><p>Leveraging the LightGBM model with enhanced feature engineering [High Impact]<br>\nI put more emphasis on feature engineering, as illustrated in this notebook: <a href=\"url\" target=\"_blank\">https://www.kaggle.com/code/wchan757/achieving-lb-0-47-with-just-lightgbm-detail.</a></p></li>\n<li><p>Using an ensemble of deberta-v3-large and deberta-v3-base models with varying learning rates [High Impact]<br>\nA lower learning rate (~ 8e10-6) works better for deberta-v3-large models, while a higher one (~ 2e10-5) is more effective for deberta-v3-base models.</p></li>\n<li><p>Maintaining uniform ensemble weights [High Impact]<br>\nOptimizing the model weights using Optuna tends to overfit the ensemble model.</p></li>\n</ol>\n<h1>What Didn't Work</h1>\n<ol>\n<li><p>Using different weights for different models with Optuna<br>\nWhile this improves CV scores, it leads to overfitting in the LB and PB tests.</p></li>\n<li><p>Cleaning the text<br>\nI attempted this late in the process, and it led to overfitting in both the PB and LB tests. I'm unsure why this happened and appreciate anyone willing to share their successful experiences with text cleaning.</p></li>\n<li><p>Setting attention_probs_dropout_prob = 0<br>\nThis ended up deteriorating the model's scores.</p></li>\n</ol>\n<h1>Some note and tips</h1>\n<ol>\n<li>read through discussion session and other similar competition. I find my most idea and figure out what work and don’t work in here</li>\n<li>Versioning and documents experiment through for tracking what work</li>\n<li>Don’t ensemble model too soon because if you want to change architecture will require change all the ensemble model </li>\n<li>It will fine if you stuck a few day. Just take a rest and try again.</li>\n</ol>\n<p>I am very lucky that my best notebook for LB is best notebook for PB.</p>\n<table>\n<thead>\n<tr>\n<th>Model</th>\n<th>LB</th>\n<th>PB</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>deberta-v3-base 4-fold ( only change hidden dropout =0)</td>\n<td>0.44565</td>\n<td>0.48406</td>\n</tr>\n<tr>\n<td>Ensemble deberta-v3-large 4-fold with 2 base</td>\n<td>0.44073</td>\n<td>0.48301</td>\n</tr>\n<tr>\n<td>Ensemble model ( 17 model find tune weight with optuna)</td>\n<td>0.43694</td>\n<td>0.47308</td>\n</tr>\n<tr>\n<td>Ensemble model ( 17 model with more feature engineer)</td>\n<td><strong>0.43551</strong></td>\n<td><strong>0.47284</strong></td>\n</tr>\n</tbody>\n</table>",
      "rawMarkdown": "# My First Kaggle Competition\n\nI would like to express my gratitude to the Kaggle staff and competition hosts for organizing this event. This document outlines the tactics that were successful, and those that weren't as effective in my experiments. Without the remarkable notebook at [https://www.kaggle.com/code/tsunotsuno/updated-debertav3-lgbm-with-spell-autocorrect](url) and various insights from numerous discussions, my work wouldn't have been as comprehensive. Credit goes to all those contributors who I, unfortunately, do not recall by name.\n\nMy solution involved an ensemble of 17 models; 11 deberta-v3-large models and 6 deberta-v3-base models, each with different learning rates. All of this work was conducted on a workstation with an i9-12900k and a 3090 24G system.\n\n# What Worked\n\n1. Setting hidden_dropout_prob=0 [High Impact]\nGiven that this is a regression problem, using dropout creates a discrepancy between the output scales during inference and training.\n\n2. Using a fusion model for wording and content predictions [Decreases training and inference time without impacting performance]\nThe original notebook used separate models for these tasks, which extends training time without any significant improvement in inference performance.\n\n3. Leveraging the LightGBM model with enhanced feature engineering [High Impact]\nI put more emphasis on feature engineering, as illustrated in this notebook: [https://www.kaggle.com/code/wchan757/achieving-lb-0-47-with-just-lightgbm-detail.](url)\n\n4. Using an ensemble of deberta-v3-large and deberta-v3-base models with varying learning rates [High Impact]\nA lower learning rate (~ 8e10-6) works better for deberta-v3-large models, while a higher one (~ 2e10-5) is more effective for deberta-v3-base models.\n\n5. Maintaining uniform ensemble weights [High Impact]\nOptimizing the model weights using Optuna tends to overfit the ensemble model.\n\n# What Didn't Work\n\n1. Using different weights for different models with Optuna\nWhile this improves CV scores, it leads to overfitting in the LB and PB tests.\n\n2. Cleaning the text\nI attempted this late in the process, and it led to overfitting in both the PB and LB tests. I'm unsure why this happened and appreciate anyone willing to share their successful experiences with text cleaning.\n\n3. Setting attention_probs_dropout_prob = 0\nThis ended up deteriorating the model's scores.\n# Some note and tips\n\n1. read through discussion session and other similar competition. I find my most idea and figure out what work and don’t work in here\n2. Versioning and documents experiment through for tracking what work\n3. Don’t ensemble model too soon because if you want to change architecture will require change all the ensemble model \n4. It will fine if you stuck a few day. Just take a rest and try again.\n\nI am very lucky that my best notebook for LB is best notebook for PB.\n\n\n\n\n| Model  | LB | PB |\n| --- | --- | --- |\n| deberta-v3-base 4-fold ( only change hidden dropout =0) | 0.44565 | 0.48406 |\n| Ensemble deberta-v3-large 4-fold with 2 base  | 0.44073 | 0.48301 |\n| Ensemble model ( 17 model find tune weight with optuna) | 0.43694 | 0.47308 |\n| Ensemble model ( 17 model with more feature engineer) | **0.43551** | **0.47284** |",
      "votes": 2
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T23:07:39Z",
  "competition_id": 53482,
  "competition_slug": "commonlit-evaluate-student-summaries",
  "team_id": 10974962,
  "solution_url": "/competitions/commonlit-evaluate-student-summaries/writeups/phnghiapro-61th-place-solution"
}