{
  "id": 456673,
  "title": "7th Place Solution Write-up",
  "url": "/competitions/predict-ai-model-runtime/writeups/lllll-7th-place-solution-write-up",
  "author_name": "",
  "post_date": "2023-11-21T07:56:35.119048800Z",
  "votes": 3,
  "comment_count": 1,
  "views": 0,
  "content": "<p>Thanks for hosting this fascinating competition, and congratulations to the winners! I really learned a lot through this competition.</p>\n<p><strong>Tile Part:</strong><br>\nMy approach to the Tile part was quite similar to the official code. I also check the public tile codes and find the validation score was already quite high , and ensembling them didn't lead to significant improvements, so I didn't invest too much time in this section.</p>\n<p><strong>Layout Part:</strong><br>\nFor the Layout part, I primarily referred to the gst code <a href=\"url\" target=\"_blank\">https://github.com/kaidic/GST</a>. However, I encountered some challenges in making it work efficiently due to GPU memory constraints. Eventually, I used a sampling method to reduce GPU usage. </p>\n<p><strong>Sampling Method:</strong><br>\nThe raw data consumed too much memory, so I decided to sample only 500 or 1000 configurations for each sample. This significantly reduced training time and GPU memory requirements.</p>\n<p><strong>Training Strategy:</strong></p>\n<ol>\n<li>Training them all.</li>\n<li>Training seperately based on the edge &amp; node shapes. While the test data didn't explicitly specify the model type, we could infer it based on the edge &amp; node shapes.</li>\n<li>Using different kinds of parameters, such as graph conv type, learning rate, batchsize, layers number and hidden size. </li>\n</ol>\n<p><strong>Ensembling</strong><br>\nEnsembling above models proved to be effective in improving the results. Every time I trained a new model, I found that ensembling it with existing models contributed to score improvements.</p>\n<p><strong>Regarding the Public Score:</strong><br>\nI did identify the fact mentioned in a post <a href=\"url\" target=\"_blank\">https://www.kaggle.com/competitions/predict-ai-model-runtime/discussion/456083</a> but couldn't fully understand why it worked. I exercised extreme caution in utilizing it during the private phase since I considered it very risky.</p>",
  "messages": [
    {
      "id": "2532640",
      "postDate": "11/21/2023 07:56:35",
      "content": "<p>Thanks for hosting this fascinating competition, and congratulations to the winners! I really learned a lot through this competition.</p>\n<p><strong>Tile Part:</strong><br>\nMy approach to the Tile part was quite similar to the official code. I also check the public tile codes and find the validation score was already quite high , and ensembling them didn't lead to significant improvements, so I didn't invest too much time in this section.</p>\n<p><strong>Layout Part:</strong><br>\nFor the Layout part, I primarily referred to the gst code <a href=\"url\" target=\"_blank\">https://github.com/kaidic/GST</a>. However, I encountered some challenges in making it work efficiently due to GPU memory constraints. Eventually, I used a sampling method to reduce GPU usage. </p>\n<p><strong>Sampling Method:</strong><br>\nThe raw data consumed too much memory, so I decided to sample only 500 or 1000 configurations for each sample. This significantly reduced training time and GPU memory requirements.</p>\n<p><strong>Training Strategy:</strong></p>\n<ol>\n<li>Training them all.</li>\n<li>Training seperately based on the edge &amp; node shapes. While the test data didn't explicitly specify the model type, we could infer it based on the edge &amp; node shapes.</li>\n<li>Using different kinds of parameters, such as graph conv type, learning rate, batchsize, layers number and hidden size. </li>\n</ol>\n<p><strong>Ensembling</strong><br>\nEnsembling above models proved to be effective in improving the results. Every time I trained a new model, I found that ensembling it with existing models contributed to score improvements.</p>\n<p><strong>Regarding the Public Score:</strong><br>\nI did identify the fact mentioned in a post <a href=\"url\" target=\"_blank\">https://www.kaggle.com/competitions/predict-ai-model-runtime/discussion/456083</a> but couldn't fully understand why it worked. I exercised extreme caution in utilizing it during the private phase since I considered it very risky.</p>",
      "rawMarkdown": "Thanks for hosting this fascinating competition, and congratulations to the winners! I really learned a lot through this competition.\n\n**Tile Part:**\nMy approach to the Tile part was quite similar to the official code. I also check the public tile codes and find the validation score was already quite high , and ensembling them didn't lead to significant improvements, so I didn't invest too much time in this section.\n\n**Layout Part:**\nFor the Layout part, I primarily referred to the gst code [https://github.com/kaidic/GST](url). However, I encountered some challenges in making it work efficiently due to GPU memory constraints. Eventually, I used a sampling method to reduce GPU usage. \n\n**Sampling Method:**\nThe raw data consumed too much memory, so I decided to sample only 500 or 1000 configurations for each sample. This significantly reduced training time and GPU memory requirements.\n\n**Training Strategy:**\n1. Training them all.\n2. Training seperately based on the edge & node shapes. While the test data didn't explicitly specify the model type, we could infer it based on the edge & node shapes.\n3. Using different kinds of parameters, such as graph conv type, learning rate, batchsize, layers number and hidden size. \n\n**Ensembling**\nEnsembling above models proved to be effective in improving the results. Every time I trained a new model, I found that ensembling it with existing models contributed to score improvements.\n\n**Regarding the Public Score:**\nI did identify the fact mentioned in a post [https://www.kaggle.com/competitions/predict-ai-model-runtime/discussion/456083](url) but couldn't fully understand why it worked. I exercised extreme caution in utilizing it during the private phase since I considered it very risky.",
      "votes": null
    },
    {
      "id": "2533159",
      "postDate": "11/21/2023 16:23:05",
      "content": "<p>Congratulations and thanks for sharing your solution and method Berserker408!</p>",
      "rawMarkdown": "Congratulations and thanks for sharing your solution and method Berserker408!",
      "votes": null
    }
  ],
  "comments": [
    {
      "id": 2533159,
      "author_name": "mpwolke",
      "author_url": "",
      "post_date": "11/21/2023 16:23:05",
      "content": "<p>Congratulations and thanks for sharing your solution and method Berserker408!</p>",
      "votes": null,
      "replies": []
    }
  ],
  "raw_markdown_by_id": {
    "2532640": "Thanks for hosting this fascinating competition, and congratulations to the winners! I really learned a lot through this competition.\n\n**Tile Part:**\nMy approach to the Tile part was quite similar to the official code. I also check the public tile codes and find the validation score was already quite high , and ensembling them didn't lead to significant improvements, so I didn't invest too much time in this section.\n\n**Layout Part:**\nFor the Layout part, I primarily referred to the gst code [https://github.com/kaidic/GST](url). However, I encountered some challenges in making it work efficiently due to GPU memory constraints. Eventually, I used a sampling method to reduce GPU usage. \n\n**Sampling Method:**\nThe raw data consumed too much memory, so I decided to sample only 500 or 1000 configurations for each sample. This significantly reduced training time and GPU memory requirements.\n\n**Training Strategy:**\n1. Training them all.\n2. Training seperately based on the edge & node shapes. While the test data didn't explicitly specify the model type, we could infer it based on the edge & node shapes.\n3. Using different kinds of parameters, such as graph conv type, learning rate, batchsize, layers number and hidden size. \n\n**Ensembling**\nEnsembling above models proved to be effective in improving the results. Every time I trained a new model, I found that ensembling it with existing models contributed to score improvements.\n\n**Regarding the Public Score:**\nI did identify the fact mentioned in a post [https://www.kaggle.com/competitions/predict-ai-model-runtime/discussion/456083](url) but couldn't fully understand why it worked. I exercised extreme caution in utilizing it during the private phase since I considered it very risky.",
    "2533159": "Congratulations and thanks for sharing your solution and method Berserker408!"
  },
  "source": "meta"
}