{
  "id": 369691,
  "title": "26th Place solution - Record the first kaggle competition ,failed to gold (unlucky)",
  "content": "<p>First of all, thanks to the host for an interesting competition and congratulations to all the winners!<br>\nSince I am Chinese and not very good at English, there may be some inappropriate words, please bear with me</p>\n<h1><strong>Overview</strong></h1>\n<p>The experiment is divided into two parts, one is the debugging of the basic model (adding various tricks), and the other is to distill the knowledge of the better ensmble model and then go to the original data to continue training and fine-tuning.</p>\n<h1><strong>Base model</strong></h1>\n<table>\n<thead>\n<tr>\n<th>Experiment Number</th>\n<th>model type</th>\n<th>max_length</th>\n<th>fold</th>\n<th>cv score</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>deberta-v3-base</td>\n<td>768</td>\n<td>10</td>\n<td>0.4521</td>\n</tr>\n<tr>\n<td>2</td>\n<td>deberta-v3-base</td>\n<td>768</td>\n<td>5</td>\n<td>0.4519</td>\n</tr>\n<tr>\n<td>5</td>\n<td>deberta-large</td>\n<td>512</td>\n<td>5</td>\n<td>0.4516</td>\n</tr>\n<tr>\n<td>6</td>\n<td>deberta-xlarge</td>\n<td>512</td>\n<td>5</td>\n<td>0.4536</td>\n</tr>\n<tr>\n<td>10</td>\n<td>deberta-v3-base</td>\n<td>512</td>\n<td>5</td>\n<td>0.4502</td>\n</tr>\n<tr>\n<td>13</td>\n<td>deberta-v3-large</td>\n<td>512</td>\n<td>5</td>\n<td>0.4512</td>\n</tr>\n<tr>\n<td>15</td>\n<td>deberta-v3-large</td>\n<td>1024</td>\n<td>5</td>\n<td>0.4506</td>\n</tr>\n<tr>\n<td>17</td>\n<td>deberta-v2-xlarge</td>\n<td>1024</td>\n<td>5</td>\n<td>0.4546</td>\n</tr>\n</tbody>\n</table>\n<h2><strong>what worked</strong></h2>\n<p><strong>● [Worked] FGM</strong></p>\n<p>○ Result: cv +0.001-0.002</p>\n<p>○ Reasoning and context: Starting from epoch 0 with epsilon=0.25 for confrontation attack, too low or too high will not work well (joining fgm confrontation learning means that your training time will basically double)</p>\n<p><strong>● [Worked] layernorm</strong></p>\n<p>○ Result: cv +0.0005-0.001</p>\n<p>○ Reasoning and context: Adding a layernorm layer in front of fc can also make the effect better.</p>\n<p><strong>● [Worked] Attention Head</strong></p>\n<p>○ Result: cv +0.0005</p>\n<p>○ Reasoning and context: Comparing [CLS], mean pooling and attention head, there is basically no difference in the effect of the former two, mean pooling may be better, and the best effect is the attention head.</p>\n<p><strong>● [Worked] Multi-sample Dropout</strong></p>\n<p>○ Result: cv+0.0001</p>\n<p>○ Reasoning and context: The effect of Multi-sample Dropout on the base is not very good, causing the training loss to oscillate, but the effect on the v3-large model is good, and it can prevent the large model from overfitting.</p>\n<p><strong>● [Worked] LLRD</strong></p>\n<p>○ Result: cv+0.001</p>\n<p>○ Reasoning and context: After comparing the learning rate of 0.8-0.9 for each layer, and setting the learning rate by dividing the number of layers into blocks (it is better to divide 3 or 4 layers into a group), the latter brings me a greater improvement in cv .</p>\n<h2><strong>What Didn't Worked</strong></h2>\n<p><strong>● [Didn't Work] AWP</strong></p>\n<p><strong>● [Didn't Work] other heads</strong>(maxmeanpool、weight pool、contact different layers, etc.)</p>\n<p><strong>● [Didn't Work] MLM</strong> (pre-training does not work well on fb3 and fb2)</p>\n<p><strong>The ensmble of the basic model uses the simplest optuna method to adjust the weights of different models (at that time, I thought about using the second-stage ensmble model after knowledge distillation, such as: svr, lasso, linear, gbdt, etc.)</strong></p>\n<h1><strong>Knowledge distillation and continued fine-tuning:</strong></h1>\n<p>● dataset:Data after FB1 removes FB3</p>\n<p><strong>● stage 1</strong></p>\n<p>○ Label the FB1 data predicted by the previous ensmble model.</p>\n<p>○ Use the pipeline training of the previous better model</p>\n<p>○ Increase epoch (10 I set)</p>\n<p>○ Use fb3 as the verification set to save the best model</p>\n<p><strong>● stage 2</strong></p>\n<p>○ Continue to fine-tune the trained single model on the data on fb3 (5fold)</p>\n<p>○ Low learning rate (5e-6)</p>\n<table>\n<thead>\n<tr>\n<th>Experiment Number</th>\n<th>model type</th>\n<th>max_length</th>\n<th>cv score</th>\n<th>pr score</th>\n<th>lb score</th>\n<th>head</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>exp0050</td>\n<td>deberta-large</td>\n<td>512</td>\n<td>0.4396</td>\n<td>0.436596</td>\n<td>0.440218</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0051</td>\n<td>deberta-xlarge</td>\n<td>512</td>\n<td>0.439</td>\n<td>0.436895</td>\n<td>0.437808</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0058</td>\n<td>deberta-xlarge</td>\n<td>512</td>\n<td>0.4384</td>\n<td>0.436683</td>\n<td>0.436752</td>\n<td>attention</td>\n</tr>\n<tr>\n<td>exp0065</td>\n<td>deberta-v3-large</td>\n<td>1024</td>\n<td>0.4387</td>\n<td>0.436483</td>\n<td>0.43784</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0068</td>\n<td>deberta-v3-large</td>\n<td>1024</td>\n<td>0.4385</td>\n<td>0.436954</td>\n<td>0.437924</td>\n<td>attention</td>\n</tr>\n<tr>\n<td>exp0071</td>\n<td>deberta-v3-large-squad2</td>\n<td>1024</td>\n<td>0.4395</td>\n<td>0.436845</td>\n<td>0.439193</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0074</td>\n<td>deberta-xlarge-mnli</td>\n<td>512</td>\n<td>0.4394</td>\n<td>0.436168</td>\n<td>0.438751</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0072</td>\n<td>deberta-xlarge-mnli</td>\n<td>1024</td>\n<td>0.4398</td>\n<td>0.435758</td>\n<td>0.438707</td>\n<td>attention</td>\n</tr>\n</tbody>\n</table>\n<p>It's a pity that I didn't choose the model with the best pr performance in the end. I only chose (58, 51, 65, 68), and was deceived by LB, because the method itself has leaks, so I didn't believe in cv very much, but Choose the case where the cv is as low as possible, and the lb performance is also good.<br>\nThe final model ensmble tried different stack technologies (svr, lasso, linear, gbdt), and finally chose optuna with the best effect, only adjusting the weights of different models (I also feel very strange at this point, the conventional ensmble technology doesn't work)</p>\n<h1><strong>Important Citations:</strong></h1>\n<p><a href=\"https://www.kaggle.com/competitions/commonlitreadabilityprize/discussion/257844\" target=\"_blank\">CommonLiit Readability Prize 1st place solution</a><br>\n<a href=\"https://www.kaggle.com/code/yasufuminakama/fb3-deberta-v3-base-baseline-train\" target=\"_blank\">FB3 / Deberta-v3-base baseline [train]</a></p>\n<h1><strong>Team Members:</strong></h1>\n<p><a href=\"https://www.kaggle.com/djchenggosolo\" target=\"_blank\">@DJcheng_gosolo</a><br>\n<a href=\"https://www.kaggle.com/koukinn\" target=\"_blank\">@paradoxg</a><br>\n<a href=\"https://www.kaggle.com/tiandaye\" target=\"_blank\">@Tian</a></p>",
  "comments": [
    {
      "id": 2051434,
      "author_name": "Tian",
      "author_url": "",
      "post_date": "2022-12-01T12:10:05.393000",
      "content": "<p>干的漂亮。<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F684758%2F46d0a59a51381c9283d00b1f651158b1%2FIMG_0655.JPG?generation=1669896596396522&amp;alt=media\" alt=\"\"></p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 2051166,
      "author_name": "Ravi Ramakrishnan",
      "author_url": "",
      "post_date": "2022-12-01T09:03:29.607000",
      "content": "<p>Great result <a href=\"https://www.kaggle.com/njuxuetianci\" target=\"_blank\">@njuxuetianci</a>, <a href=\"https://www.kaggle.com/djchenggosolo\" target=\"_blank\">@djchenggosolo</a>, <a href=\"https://www.kaggle.com/paradoxg\" target=\"_blank\">@paradoxg</a>, <a href=\"https://www.kaggle.com/Tian\" target=\"_blank\">@Tian</a>, this is a great achievement! Congratulations and best regards!</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2051638,
          "author_name": "nju_xuetianci",
          "author_url": "",
          "post_date": "2022-12-01T14:38:32.843000",
          "content": "<p>thank you !</p>",
          "votes": 0,
          "replies": []
        }
      ]
    }
  ],
  "comment_count": 3,
  "messages": [
    {
      "id": 2050852,
      "postDate": "2022-12-01T03:30:02.567Z",
      "content": "<p>First of all, thanks to the host for an interesting competition and congratulations to all the winners!<br>\nSince I am Chinese and not very good at English, there may be some inappropriate words, please bear with me</p>\n<h1><strong>Overview</strong></h1>\n<p>The experiment is divided into two parts, one is the debugging of the basic model (adding various tricks), and the other is to distill the knowledge of the better ensmble model and then go to the original data to continue training and fine-tuning.</p>\n<h1><strong>Base model</strong></h1>\n<table>\n<thead>\n<tr>\n<th>Experiment Number</th>\n<th>model type</th>\n<th>max_length</th>\n<th>fold</th>\n<th>cv score</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td>deberta-v3-base</td>\n<td>768</td>\n<td>10</td>\n<td>0.4521</td>\n</tr>\n<tr>\n<td>2</td>\n<td>deberta-v3-base</td>\n<td>768</td>\n<td>5</td>\n<td>0.4519</td>\n</tr>\n<tr>\n<td>5</td>\n<td>deberta-large</td>\n<td>512</td>\n<td>5</td>\n<td>0.4516</td>\n</tr>\n<tr>\n<td>6</td>\n<td>deberta-xlarge</td>\n<td>512</td>\n<td>5</td>\n<td>0.4536</td>\n</tr>\n<tr>\n<td>10</td>\n<td>deberta-v3-base</td>\n<td>512</td>\n<td>5</td>\n<td>0.4502</td>\n</tr>\n<tr>\n<td>13</td>\n<td>deberta-v3-large</td>\n<td>512</td>\n<td>5</td>\n<td>0.4512</td>\n</tr>\n<tr>\n<td>15</td>\n<td>deberta-v3-large</td>\n<td>1024</td>\n<td>5</td>\n<td>0.4506</td>\n</tr>\n<tr>\n<td>17</td>\n<td>deberta-v2-xlarge</td>\n<td>1024</td>\n<td>5</td>\n<td>0.4546</td>\n</tr>\n</tbody>\n</table>\n<h2><strong>what worked</strong></h2>\n<p><strong>● [Worked] FGM</strong></p>\n<p>○ Result: cv +0.001-0.002</p>\n<p>○ Reasoning and context: Starting from epoch 0 with epsilon=0.25 for confrontation attack, too low or too high will not work well (joining fgm confrontation learning means that your training time will basically double)</p>\n<p><strong>● [Worked] layernorm</strong></p>\n<p>○ Result: cv +0.0005-0.001</p>\n<p>○ Reasoning and context: Adding a layernorm layer in front of fc can also make the effect better.</p>\n<p><strong>● [Worked] Attention Head</strong></p>\n<p>○ Result: cv +0.0005</p>\n<p>○ Reasoning and context: Comparing [CLS], mean pooling and attention head, there is basically no difference in the effect of the former two, mean pooling may be better, and the best effect is the attention head.</p>\n<p><strong>● [Worked] Multi-sample Dropout</strong></p>\n<p>○ Result: cv+0.0001</p>\n<p>○ Reasoning and context: The effect of Multi-sample Dropout on the base is not very good, causing the training loss to oscillate, but the effect on the v3-large model is good, and it can prevent the large model from overfitting.</p>\n<p><strong>● [Worked] LLRD</strong></p>\n<p>○ Result: cv+0.001</p>\n<p>○ Reasoning and context: After comparing the learning rate of 0.8-0.9 for each layer, and setting the learning rate by dividing the number of layers into blocks (it is better to divide 3 or 4 layers into a group), the latter brings me a greater improvement in cv .</p>\n<h2><strong>What Didn't Worked</strong></h2>\n<p><strong>● [Didn't Work] AWP</strong></p>\n<p><strong>● [Didn't Work] other heads</strong>(maxmeanpool、weight pool、contact different layers, etc.)</p>\n<p><strong>● [Didn't Work] MLM</strong> (pre-training does not work well on fb3 and fb2)</p>\n<p><strong>The ensmble of the basic model uses the simplest optuna method to adjust the weights of different models (at that time, I thought about using the second-stage ensmble model after knowledge distillation, such as: svr, lasso, linear, gbdt, etc.)</strong></p>\n<h1><strong>Knowledge distillation and continued fine-tuning:</strong></h1>\n<p>● dataset:Data after FB1 removes FB3</p>\n<p><strong>● stage 1</strong></p>\n<p>○ Label the FB1 data predicted by the previous ensmble model.</p>\n<p>○ Use the pipeline training of the previous better model</p>\n<p>○ Increase epoch (10 I set)</p>\n<p>○ Use fb3 as the verification set to save the best model</p>\n<p><strong>● stage 2</strong></p>\n<p>○ Continue to fine-tune the trained single model on the data on fb3 (5fold)</p>\n<p>○ Low learning rate (5e-6)</p>\n<table>\n<thead>\n<tr>\n<th>Experiment Number</th>\n<th>model type</th>\n<th>max_length</th>\n<th>cv score</th>\n<th>pr score</th>\n<th>lb score</th>\n<th>head</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>exp0050</td>\n<td>deberta-large</td>\n<td>512</td>\n<td>0.4396</td>\n<td>0.436596</td>\n<td>0.440218</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0051</td>\n<td>deberta-xlarge</td>\n<td>512</td>\n<td>0.439</td>\n<td>0.436895</td>\n<td>0.437808</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0058</td>\n<td>deberta-xlarge</td>\n<td>512</td>\n<td>0.4384</td>\n<td>0.436683</td>\n<td>0.436752</td>\n<td>attention</td>\n</tr>\n<tr>\n<td>exp0065</td>\n<td>deberta-v3-large</td>\n<td>1024</td>\n<td>0.4387</td>\n<td>0.436483</td>\n<td>0.43784</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0068</td>\n<td>deberta-v3-large</td>\n<td>1024</td>\n<td>0.4385</td>\n<td>0.436954</td>\n<td>0.437924</td>\n<td>attention</td>\n</tr>\n<tr>\n<td>exp0071</td>\n<td>deberta-v3-large-squad2</td>\n<td>1024</td>\n<td>0.4395</td>\n<td>0.436845</td>\n<td>0.439193</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0074</td>\n<td>deberta-xlarge-mnli</td>\n<td>512</td>\n<td>0.4394</td>\n<td>0.436168</td>\n<td>0.438751</td>\n<td>mean</td>\n</tr>\n<tr>\n<td>exp0072</td>\n<td>deberta-xlarge-mnli</td>\n<td>1024</td>\n<td>0.4398</td>\n<td>0.435758</td>\n<td>0.438707</td>\n<td>attention</td>\n</tr>\n</tbody>\n</table>\n<p>It's a pity that I didn't choose the model with the best pr performance in the end. I only chose (58, 51, 65, 68), and was deceived by LB, because the method itself has leaks, so I didn't believe in cv very much, but Choose the case where the cv is as low as possible, and the lb performance is also good.<br>\nThe final model ensmble tried different stack technologies (svr, lasso, linear, gbdt), and finally chose optuna with the best effect, only adjusting the weights of different models (I also feel very strange at this point, the conventional ensmble technology doesn't work)</p>\n<h1><strong>Important Citations:</strong></h1>\n<p><a href=\"https://www.kaggle.com/competitions/commonlitreadabilityprize/discussion/257844\" target=\"_blank\">CommonLiit Readability Prize 1st place solution</a><br>\n<a href=\"https://www.kaggle.com/code/yasufuminakama/fb3-deberta-v3-base-baseline-train\" target=\"_blank\">FB3 / Deberta-v3-base baseline [train]</a></p>\n<h1><strong>Team Members:</strong></h1>\n<p><a href=\"https://www.kaggle.com/djchenggosolo\" target=\"_blank\">@DJcheng_gosolo</a><br>\n<a href=\"https://www.kaggle.com/koukinn\" target=\"_blank\">@paradoxg</a><br>\n<a href=\"https://www.kaggle.com/tiandaye\" target=\"_blank\">@Tian</a></p>",
      "rawMarkdown": "First of all, thanks to the host for an interesting competition and congratulations to all the winners!\nSince I am Chinese and not very good at English, there may be some inappropriate words, please bear with me\n# **Overview**\nThe experiment is divided into two parts, one is the debugging of the basic model (adding various tricks), and the other is to distill the knowledge of the better ensmble model and then go to the original data to continue training and fine-tuning.\n# **Base model**\n|Experiment Number| model type|  max_length    |  fold  |  cv score  |\n| --- | ---|\n1 |    deberta-v3-base\t|768\t      |10\t    |0.4521\n2|\tdeberta-v3-base\t|768\t      |5\t|0.4519\n5|\tdeberta-large\t        |512\t      |5\t|0.4516\n6|\tdeberta-xlarge\t|512\t      |5\t|0.4536\n10|\tdeberta-v3-base\t|512\t      |5\t|0.4502\n13|\tdeberta-v3-large\t|512\t      |5\t|0.4512\n15|\tdeberta-v3-large\t|1024     |5\t|0.4506\n17|\tdeberta-v2-xlarge\t|1024     |5\t|0.4546\n## **what worked**\n**● [Worked] FGM**\n\n○ Result: cv +0.001-0.002\n\n○ Reasoning and context: Starting from epoch 0 with epsilon=0.25 for confrontation attack, too low or too high will not work well (joining fgm confrontation learning means that your training time will basically double)\n\n**● [Worked] layernorm**\n\n○ Result: cv +0.0005-0.001\n\n○ Reasoning and context: Adding a layernorm layer in front of fc can also make the effect better.\n\n**● [Worked] Attention Head**\n\n○ Result: cv +0.0005\n\n○ Reasoning and context: Comparing [CLS], mean pooling and attention head, there is basically no difference in the effect of the former two, mean pooling may be better, and the best effect is the attention head.\n\n**● [Worked] Multi-sample Dropout**\n\n○ Result: cv+0.0001\n\n○ Reasoning and context: The effect of Multi-sample Dropout on the base is not very good, causing the training loss to oscillate, but the effect on the v3-large model is good, and it can prevent the large model from overfitting.\n\n**● [Worked] LLRD**\n\n○ Result: cv+0.001\n\n○ Reasoning and context: After comparing the learning rate of 0.8-0.9 for each layer, and setting the learning rate by dividing the number of layers into blocks (it is better to divide 3 or 4 layers into a group), the latter brings me a greater improvement in cv .\n\n## **What Didn't Worked**\n\n**● [Didn't Work] AWP**\n\n**● [Didn't Work] other heads**(maxmeanpool、weight pool、contact different layers, etc.)\n\n**● [Didn't Work] MLM** (pre-training does not work well on fb3 and fb2)\n\n**The ensmble of the basic model uses the simplest optuna method to adjust the weights of different models (at that time, I thought about using the second-stage ensmble model after knowledge distillation, such as: svr, lasso, linear, gbdt, etc.)**\n# **Knowledge distillation and continued fine-tuning:**\n● dataset:Data after FB1 removes FB3\n\n**● stage 1**\n\n○ Label the FB1 data predicted by the previous ensmble model.\n\n○ Use the pipeline training of the previous better model\n\n○ Increase epoch (10 I set)\n\n○ Use fb3 as the verification set to save the best model\n\n**● stage 2**\n\n○ Continue to fine-tune the trained single model on the data on fb3 (5fold)\n\n○ Low learning rate (5e-6)\n|Experiment Number\t|model type\t|max_length\t|cv score\t|pr score\t|lb score\t|head\n| --- | --- |\n|exp0050\t|deberta-large\t|512\t|0.4396\t|0.436596\t|0.440218\t|mean\n|exp0051\t|deberta-xlarge\t|512\t|0.439\t|0.436895\t|0.437808\t|mean\n|exp0058\t|deberta-xlarge\t|512\t|0.4384\t|0.436683\t|0.436752\t|attention\n|exp0065\t|deberta-v3-large\t|1024\t|0.4387\t|0.436483\t|0.43784\t|mean\n|exp0068\t|deberta-v3-large\t|1024\t|0.4385\t|0.436954\t|0.437924\t|attention\n|exp0071\t|deberta-v3-large-squad2\t|1024\t|0.4395\t|0.436845\t|0.439193\t|mean\n|exp0074\t|deberta-xlarge-mnli\t|512\t|0.4394\t|0.436168\t|0.438751\t|mean\n|exp0072\t|deberta-xlarge-mnli\t|1024\t|0.4398\t|0.435758\t|0.438707|attention\n\nIt's a pity that I didn't choose the model with the best pr performance in the end. I only chose (58, 51, 65, 68), and was deceived by LB, because the method itself has leaks, so I didn't believe in cv very much, but Choose the case where the cv is as low as possible, and the lb performance is also good.\nThe final model ensmble tried different stack technologies (svr, lasso, linear, gbdt), and finally chose optuna with the best effect, only adjusting the weights of different models (I also feel very strange at this point, the conventional ensmble technology doesn't work)\n\n# **Important Citations:**\n[CommonLiit Readability Prize 1st place solution](https://www.kaggle.com/competitions/commonlitreadabilityprize/discussion/257844)\n[FB3 / Deberta-v3-base baseline [train]](https://www.kaggle.com/code/yasufuminakama/fb3-deberta-v3-base-baseline-train)\n# **Team Members:**\n[@DJcheng_gosolo](https://www.kaggle.com/djchenggosolo)\n[@paradoxg](https://www.kaggle.com/koukinn)\n[@Tian](https://www.kaggle.com/tiandaye)",
      "votes": 18
    },
    {
      "id": 2051434,
      "postDate": "2022-12-01T12:10:05.393Z",
      "content": "<p>干的漂亮。<br>\n<img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F684758%2F46d0a59a51381c9283d00b1f651158b1%2FIMG_0655.JPG?generation=1669896596396522&amp;alt=media\" alt=\"\"></p>",
      "rawMarkdown": "干的漂亮。\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F684758%2F46d0a59a51381c9283d00b1f651158b1%2FIMG_0655.JPG?generation=1669896596396522&alt=media)"
    },
    {
      "id": 2051166,
      "postDate": "2022-12-01T09:03:29.607Z",
      "content": "<p>Great result <a href=\"https://www.kaggle.com/njuxuetianci\" target=\"_blank\">@njuxuetianci</a>, <a href=\"https://www.kaggle.com/djchenggosolo\" target=\"_blank\">@djchenggosolo</a>, <a href=\"https://www.kaggle.com/paradoxg\" target=\"_blank\">@paradoxg</a>, <a href=\"https://www.kaggle.com/Tian\" target=\"_blank\">@Tian</a>, this is a great achievement! Congratulations and best regards!</p>",
      "rawMarkdown": "Great result @njuxuetianci, @djchenggosolo, @paradoxg, @Tian, this is a great achievement! Congratulations and best regards!",
      "replies": [
        {
          "id": 2051638,
          "postDate": "2022-12-01T14:38:32.843Z",
          "content": "<p>thank you !</p>",
          "rawMarkdown": "thank you !"
        }
      ]
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-19T20:03:22Z",
  "competition_id": 38321,
  "competition_slug": "feedback-prize-english-language-learning",
  "team_id": 9103970,
  "solution_url": "/competitions/feedback-prize-english-language-learning/writeups/not-lucky-to-gold-26th-place-solution-record-the-f"
}