{
  "id": 572760,
  "title": "7th place solution (pure luck)",
  "content": "<p>I was surprised that my \"just give it a try\" submission made within a week ended up in the gold zone for this competition. Though this is pure luck (public 23 -&gt; private 29), I would like to share what I learned from this competition.</p>\n<h2>The task and GPU resources</h2>\n<p>In this competition, we were given L4x4 GPUs for inference. The good is we didn’t have to suffer with the ancient T4s in 2025. The bad is L4s aren't ideal for LLM decoding either—they only provide 300GB/s on paper memory bandwidth each, totaling 1200GB/s with 4 GPUs.</p>\n<p>Long-context decoding (for reasoning) and batched decoding (for majority voting) were both important for this task. Under this kind of inference settings, as context length grows, KV cache can become the main bottleneck (larger than the model weights), further increasing the demand on GPU bandwidth.</p>\n<h2>Inference engines</h2>\n<p>I tested the inference speeds of LMDeploy, SGLang, and vLLM. With 4-bit quantized weights and fp16 KV cache, the speed ranking was: LMDeploy &gt; SGLang &gt; vLLM v1 &gt;&gt; vLLM.<br>\nLMDeploy supports int8/int4 KV cache quantization, while SGLang and vLLM offer FP8 KV cache quantization. Using KV cache quantization enables larger decoding batch size within the same time budget.<br>\nUnfortunately, int4 KV cache quantization caused too much accuracy loss, so I ended up choosing LMDeploy with int8 KV cache quantization for inference.</p>\n<h2>Submission strategy</h2>\n<p>Before submission, I profiled inference time of decoding to 16k tokens (worst case scenario) under different batch sizes. During the actual submission, I tracked the actual inference time for each question, then add <code>planned time - actual time</code> into the time budget for the next question. Batch size for the next question was selected on that new time budget and my earlier profiling results.</p>\n<p>This is a fairly conservative strategy, using smaller batch sizes for first received questions. And I didn’t profile for longer max decoding lengths, so there’s room for improvement.</p>\n<p>The inference notebook is public <a href=\"https://www.kaggle.com/code/tascj0/aimo2-submit?scriptVersionId=231101822\" target=\"_blank\">here</a>. Simply a rushed implementation using <code>casperhansen/deepseek-r1-distill-qwen-14b-awq</code> and my submission strategy. I haven’t done enough testing so there might be bugs.</p>",
  "comments": [
    {
      "id": 3181633,
      "author_name": "submodular",
      "author_url": "",
      "post_date": "2025-04-18T06:14:23.243000",
      "content": "<p>Gz! Your submission strategy, dynamically adjusting batch size based on real-time inference performance and remaining time budget, is quite clever and resource-conscious. It's a practical approach to maximize throughput within the competition's constraints.</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3176417,
      "author_name": "Tong Hui Kang",
      "author_url": "",
      "post_date": "2025-04-11T10:23:12.353000",
      "content": "<p>Apparently you only had 1 public LB submission?</p>\n<p><a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-2/discussion/572784\" target=\"_blank\">https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-2/discussion/572784</a></p>",
      "votes": 1,
      "replies": [
        {
          "id": 3176423,
          "author_name": "Wanderer",
          "author_url": "",
          "post_date": "2025-04-11T10:28:17.673000",
          "content": "<p>This is what he does.😂 He often joins competitions near the deadline, submits only a few times, and then ranks very high on the private leaderboard.</p>",
          "votes": 3,
          "replies": []
        },
        {
          "id": 3176436,
          "author_name": "john",
          "author_url": "",
          "post_date": "2025-04-11T10:49:01.060000",
          "content": "<p>Take a look at  eedi 72nd place.  I also joined eedi, so i remember this. Habit? 😀 <br>\n<a href=\"https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/leaderboard\" target=\"_blank\">https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/leaderboard</a></p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 3176347,
      "author_name": "C R Suthikshn Kumar",
      "author_url": "",
      "post_date": "2025-04-11T09:18:18.040000",
      "content": "<p>Congratulations on 7th place in this competition.<br>\n I also tried 14b model couple of times  with vLLM, however, I got Notebook Timeout.<br>\nWhats your opinion for  the model  update  from 7b to 14b. </p>",
      "votes": 1,
      "replies": [
        {
          "id": 3176397,
          "author_name": "tascj",
          "author_url": "",
          "post_date": "2025-04-11T10:02:21.780000",
          "content": "<p>I think validation should be done like this:</p>\n<ol>\n<li>Prepare a sufficiently reliable dataset (which is quite difficult in this competition).</li>\n<li>For each question, sample multiple responses (e.g., 128).</li>\n<li>Check <code>any</code>, <code>majority</code>, and <code>average</code> correct.</li>\n<li>Randomly sample N responses (based on what's possible for submission) from the set and check <code>any</code>, <code>majority</code>, and <code>average</code> correct. Repeat this process many times and check the stats.</li>\n</ol>\n<p>The 7B model might perform not bad on <code>any</code>, but the 14B model have much better <code>majority</code> and <code>average</code>. The 7B model has a higher risk of overfitting to the public leaderboard.</p>",
          "votes": 5,
          "replies": []
        }
      ]
    },
    {
      "id": 3176344,
      "author_name": "john",
      "author_url": "",
      "post_date": "2025-04-11T09:10:07.803000",
      "content": "<p>With 4-bit quantized weights and fp16 KV cache, the speed ranking was: LMDeploy &gt; SGLang &gt; vLLM v1 &gt;&gt; vLLM.<br>\nCan you show us the comparison results?</p>",
      "votes": 1,
      "replies": []
    },
    {
      "id": 3178060,
      "author_name": "corochann",
      "author_url": "",
      "post_date": "2025-04-13T17:19:30.817000",
      "content": "<p>Congrats and thank you for sharing!<br>\nNow not only the training optimization, but the inference speed optimization becomes more important.</p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 3176893,
      "author_name": "xz",
      "author_url": "",
      "post_date": "2025-04-11T21:42:57.330000",
      "content": "<p>Congrats! I tried 14b with lmdeploy and int8 kv quant once and got 26 on the public LB. The performance degradation seem to be minimal. vLLM's fp8 kv quant on the other hand gave me gibberish (could have been a bug in the version I installed). </p>",
      "votes": 2,
      "replies": []
    },
    {
      "id": 3182950,
      "author_name": "Sarah Arshad",
      "author_url": "",
      "post_date": "2025-04-20T06:40:10.260000",
      "content": "<p>Congratulations on your well-deserved success…. Thanks for inspiring us with your hard work and dedication.</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3176323,
      "author_name": "Optimo",
      "author_url": "",
      "post_date": "2025-04-11T08:39:08.860000",
      "content": "<p>Amazingly simple! Congrats!</p>\n<p>What was your public score ?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 3176387,
          "author_name": "tascj",
          "author_url": "",
          "post_date": "2025-04-11T09:52:39.547000",
          "content": "<p>It was 23. That's why I call it pure luck.</p>",
          "votes": 1,
          "replies": [
            {
              "id": 3176481,
              "author_name": "Optimo",
              "author_url": "",
              "post_date": "2025-04-11T11:52:17.590000",
              "content": "<p>The private LB did not seem too random to me, you had a strong solution! Congrats!</p>",
              "votes": -2,
              "replies": []
            },
            {
              "id": 3176869,
              "author_name": "Man of the year",
              "author_url": "",
              "post_date": "2025-04-11T20:22:45.220000",
              "content": "<p>I've seen that you usually win medals with just 1-2 submissions. Could you please share any tips about your strategy or advice? How do you do this? </p>\n<p>Personally, I cannot really call it \"luck\", when you were able to repeat this so many times.</p>",
              "votes": 2,
              "replies": []
            },
            {
              "id": 3178643,
              "author_name": "tascj",
              "author_url": "",
              "post_date": "2025-04-14T12:30:12.200000",
              "content": "<p>\"Luck\" is specifically referring to this competition.</p>\n<p>For me, making fewer submissions helps me better balance work-Kaggle-life. I enjoy problem solving but don't enjoy leaderboard climbing much. I usually have a first-day plan, and even without submitting, there are many interesting things to experiment with. Regardless of the leaderboard score, 'executing the plan'' has been very rewarding for me. </p>\n<p>The strategy of 'only submitting in the final days' has led to many failures for me in past competitions. If you're concerned about final ranking, making more submissions is the better approach.</p>",
              "votes": 7,
              "replies": []
            },
            {
              "id": 3178917,
              "author_name": "Man of the year",
              "author_url": "",
              "post_date": "2025-04-14T19:22:35.803000",
              "content": "<p>Thank you very much, your approach is very cool. I also wanted to ask you about your general validation strategy. As I understood, during your experiments you rely on your validation score. How do you create your validation set? Sometimes, local validation might not correlate well with the public leaderboard and some competitions have this domain shift. How do you deal with such competitions?</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3180152,
              "author_name": "Chan Kha Vu",
              "author_url": "",
              "post_date": "2025-04-16T08:08:35.643000",
              "content": "<p>Exactly, whenever I see <a href=\"https://www.kaggle.com/tascj0\" target=\"_blank\">@tascj0</a> in the gold zone solo, they usually have less than 10 subs</p>",
              "votes": 0,
              "replies": []
            },
            {
              "id": 3181581,
              "author_name": "tascj",
              "author_url": "",
              "post_date": "2025-04-18T04:21:05.223000",
              "content": "<p><a href=\"https://www.kaggle.com/manwithaflower\" target=\"_blank\">@manwithaflower</a> <br>\nI don't have any special validation strategies. I fail in trust LB competitions.</p>\n<p>As long as local validation enough for the my planned experiments, I'm comfortable with it. What I planned to do through a competition might not even be related to LB.</p>",
              "votes": 3,
              "replies": []
            }
          ]
        }
      ]
    },
    {
      "id": 3176320,
      "author_name": "Quickpanda",
      "author_url": "",
      "post_date": "2025-04-11T08:37:07.573000",
      "content": "<p>Thanks for sharing — your solution looks very clean, and the budget planning seems well thought out!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3178146,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-04-13T19:27:49.460000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3176364,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-04-11T09:32:06.237000",
      "content": "",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3180408,
      "author_name": "Palvinder",
      "author_url": "",
      "post_date": "2025-04-16T15:29:02.453000",
      "content": "<p>Congratulations! Thank you for sharing!</p>",
      "votes": 0,
      "replies": []
    },
    {
      "id": 3179711,
      "author_name": "",
      "author_url": "",
      "post_date": "2025-04-15T16:02:41.577000",
      "content": "<p>Thanks for wonderful solutions</p>",
      "votes": 0,
      "replies": []
    }
  ],
  "comment_count": 23,
  "messages": [
    {
      "id": 3176314,
      "postDate": "2025-04-11T08:24:01.080Z",
      "content": "<p>I was surprised that my \"just give it a try\" submission made within a week ended up in the gold zone for this competition. Though this is pure luck (public 23 -&gt; private 29), I would like to share what I learned from this competition.</p>\n<h2>The task and GPU resources</h2>\n<p>In this competition, we were given L4x4 GPUs for inference. The good is we didn’t have to suffer with the ancient T4s in 2025. The bad is L4s aren't ideal for LLM decoding either—they only provide 300GB/s on paper memory bandwidth each, totaling 1200GB/s with 4 GPUs.</p>\n<p>Long-context decoding (for reasoning) and batched decoding (for majority voting) were both important for this task. Under this kind of inference settings, as context length grows, KV cache can become the main bottleneck (larger than the model weights), further increasing the demand on GPU bandwidth.</p>\n<h2>Inference engines</h2>\n<p>I tested the inference speeds of LMDeploy, SGLang, and vLLM. With 4-bit quantized weights and fp16 KV cache, the speed ranking was: LMDeploy &gt; SGLang &gt; vLLM v1 &gt;&gt; vLLM.<br>\nLMDeploy supports int8/int4 KV cache quantization, while SGLang and vLLM offer FP8 KV cache quantization. Using KV cache quantization enables larger decoding batch size within the same time budget.<br>\nUnfortunately, int4 KV cache quantization caused too much accuracy loss, so I ended up choosing LMDeploy with int8 KV cache quantization for inference.</p>\n<h2>Submission strategy</h2>\n<p>Before submission, I profiled inference time of decoding to 16k tokens (worst case scenario) under different batch sizes. During the actual submission, I tracked the actual inference time for each question, then add <code>planned time - actual time</code> into the time budget for the next question. Batch size for the next question was selected on that new time budget and my earlier profiling results.</p>\n<p>This is a fairly conservative strategy, using smaller batch sizes for first received questions. And I didn’t profile for longer max decoding lengths, so there’s room for improvement.</p>\n<p>The inference notebook is public <a href=\"https://www.kaggle.com/code/tascj0/aimo2-submit?scriptVersionId=231101822\" target=\"_blank\">here</a>. Simply a rushed implementation using <code>casperhansen/deepseek-r1-distill-qwen-14b-awq</code> and my submission strategy. I haven’t done enough testing so there might be bugs.</p>",
      "rawMarkdown": "I was surprised that my \"just give it a try\" submission made within a week ended up in the gold zone for this competition. Though this is pure luck (public 23 -> private 29), I would like to share what I learned from this competition.\n\n\n## The task and GPU resources\n\nIn this competition, we were given L4x4 GPUs for inference. The good is we didn’t have to suffer with the ancient T4s in 2025. The bad is L4s aren't ideal for LLM decoding either—they only provide 300GB/s on paper memory bandwidth each, totaling 1200GB/s with 4 GPUs.\n\nLong-context decoding (for reasoning) and batched decoding (for majority voting) were both important for this task. Under this kind of inference settings, as context length grows, KV cache can become the main bottleneck (larger than the model weights), further increasing the demand on GPU bandwidth.\n\n## Inference engines\n\nI tested the inference speeds of LMDeploy, SGLang, and vLLM. With 4-bit quantized weights and fp16 KV cache, the speed ranking was: LMDeploy > SGLang > vLLM v1 >> vLLM.\nLMDeploy supports int8/int4 KV cache quantization, while SGLang and vLLM offer FP8 KV cache quantization. Using KV cache quantization enables larger decoding batch size within the same time budget.\nUnfortunately, int4 KV cache quantization caused too much accuracy loss, so I ended up choosing LMDeploy with int8 KV cache quantization for inference.\n\n## Submission strategy\n\nBefore submission, I profiled inference time of decoding to 16k tokens (worst case scenario) under different batch sizes. During the actual submission, I tracked the actual inference time for each question, then add `planned time - actual time` into the time budget for the next question. Batch size for the next question was selected on that new time budget and my earlier profiling results.\n\nThis is a fairly conservative strategy, using smaller batch sizes for first received questions. And I didn’t profile for longer max decoding lengths, so there’s room for improvement.\n\nThe inference notebook is public [here](https://www.kaggle.com/code/tascj0/aimo2-submit?scriptVersionId=231101822). Simply a rushed implementation using `casperhansen/deepseek-r1-distill-qwen-14b-awq` and my submission strategy. I haven’t done enough testing so there might be bugs.",
      "votes": 46
    },
    {
      "id": 3181633,
      "postDate": "2025-04-18T06:14:23.243Z",
      "content": "<p>Gz! Your submission strategy, dynamically adjusting batch size based on real-time inference performance and remaining time budget, is quite clever and resource-conscious. It's a practical approach to maximize throughput within the competition's constraints.</p>",
      "rawMarkdown": "Gz! Your submission strategy, dynamically adjusting batch size based on real-time inference performance and remaining time budget, is quite clever and resource-conscious. It's a practical approach to maximize throughput within the competition's constraints.",
      "votes": 1
    },
    {
      "id": 3176417,
      "postDate": "2025-04-11T10:23:12.353Z",
      "content": "<p>Apparently you only had 1 public LB submission?</p>\n<p><a href=\"https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-2/discussion/572784\" target=\"_blank\">https://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-2/discussion/572784</a></p>",
      "rawMarkdown": "Apparently you only had 1 public LB submission?\n\nhttps://www.kaggle.com/competitions/ai-mathematical-olympiad-progress-prize-2/discussion/572784",
      "votes": 1,
      "replies": [
        {
          "id": 3176423,
          "postDate": "2025-04-11T10:28:17.673Z",
          "content": "<p>This is what he does.😂 He often joins competitions near the deadline, submits only a few times, and then ranks very high on the private leaderboard.</p>",
          "rawMarkdown": "This is what he does.😂 He often joins competitions near the deadline, submits only a few times, and then ranks very high on the private leaderboard.",
          "votes": 3
        },
        {
          "id": 3176436,
          "postDate": "2025-04-11T10:49:01.060Z",
          "content": "<p>Take a look at  eedi 72nd place.  I also joined eedi, so i remember this. Habit? 😀 <br>\n<a href=\"https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/leaderboard\" target=\"_blank\">https://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/leaderboard</a></p>",
          "rawMarkdown": "Take a look at  eedi 72nd place.  I also joined eedi, so i remember this. Habit? 😀 \nhttps://www.kaggle.com/competitions/eedi-mining-misconceptions-in-mathematics/leaderboard"
        }
      ]
    },
    {
      "id": 3176347,
      "postDate": "2025-04-11T09:18:18.040Z",
      "content": "<p>Congratulations on 7th place in this competition.<br>\n I also tried 14b model couple of times  with vLLM, however, I got Notebook Timeout.<br>\nWhats your opinion for  the model  update  from 7b to 14b. </p>",
      "rawMarkdown": "Congratulations on 7th place in this competition.\n I also tried 14b model couple of times  with vLLM, however, I got Notebook Timeout.\nWhats your opinion for  the model  update  from 7b to 14b. ",
      "votes": 1,
      "replies": [
        {
          "id": 3176397,
          "postDate": "2025-04-11T10:02:21.780Z",
          "content": "<p>I think validation should be done like this:</p>\n<ol>\n<li>Prepare a sufficiently reliable dataset (which is quite difficult in this competition).</li>\n<li>For each question, sample multiple responses (e.g., 128).</li>\n<li>Check <code>any</code>, <code>majority</code>, and <code>average</code> correct.</li>\n<li>Randomly sample N responses (based on what's possible for submission) from the set and check <code>any</code>, <code>majority</code>, and <code>average</code> correct. Repeat this process many times and check the stats.</li>\n</ol>\n<p>The 7B model might perform not bad on <code>any</code>, but the 14B model have much better <code>majority</code> and <code>average</code>. The 7B model has a higher risk of overfitting to the public leaderboard.</p>",
          "rawMarkdown": "I think validation should be done like this:\n\n1. Prepare a sufficiently reliable dataset (which is quite difficult in this competition).\n2. For each question, sample multiple responses (e.g., 128).\n3. Check `any`, `majority`, and `average` correct.\n4. Randomly sample N responses (based on what's possible for submission) from the set and check `any`, `majority`, and `average` correct. Repeat this process many times and check the stats.\n\nThe 7B model might perform not bad on `any`, but the 14B model have much better `majority` and `average`. The 7B model has a higher risk of overfitting to the public leaderboard.",
          "votes": 5
        }
      ]
    },
    {
      "id": 3176344,
      "postDate": "2025-04-11T09:10:07.803Z",
      "content": "<p>With 4-bit quantized weights and fp16 KV cache, the speed ranking was: LMDeploy &gt; SGLang &gt; vLLM v1 &gt;&gt; vLLM.<br>\nCan you show us the comparison results?</p>",
      "rawMarkdown": "With 4-bit quantized weights and fp16 KV cache, the speed ranking was: LMDeploy > SGLang > vLLM v1 >> vLLM.\nCan you show us the comparison results?",
      "votes": 1
    },
    {
      "id": 3178060,
      "postDate": "2025-04-13T17:19:30.817Z",
      "content": "<p>Congrats and thank you for sharing!<br>\nNow not only the training optimization, but the inference speed optimization becomes more important.</p>",
      "rawMarkdown": "Congrats and thank you for sharing!\nNow not only the training optimization, but the inference speed optimization becomes more important.",
      "votes": 2
    },
    {
      "id": 3176893,
      "postDate": "2025-04-11T21:42:57.330Z",
      "content": "<p>Congrats! I tried 14b with lmdeploy and int8 kv quant once and got 26 on the public LB. The performance degradation seem to be minimal. vLLM's fp8 kv quant on the other hand gave me gibberish (could have been a bug in the version I installed). </p>",
      "rawMarkdown": "Congrats! I tried 14b with lmdeploy and int8 kv quant once and got 26 on the public LB. The performance degradation seem to be minimal. vLLM's fp8 kv quant on the other hand gave me gibberish (could have been a bug in the version I installed). ",
      "votes": 2
    },
    {
      "id": 3182950,
      "postDate": "2025-04-20T06:40:10.260Z",
      "content": "<p>Congratulations on your well-deserved success…. Thanks for inspiring us with your hard work and dedication.</p>",
      "rawMarkdown": "Congratulations on your well-deserved success.... Thanks for inspiring us with your hard work and dedication."
    },
    {
      "id": 3176323,
      "postDate": "2025-04-11T08:39:08.860Z",
      "content": "<p>Amazingly simple! Congrats!</p>\n<p>What was your public score ?</p>",
      "rawMarkdown": "Amazingly simple! Congrats!\n\nWhat was your public score ?",
      "replies": [
        {
          "id": 3176387,
          "postDate": "2025-04-11T09:52:39.547Z",
          "content": "<p>It was 23. That's why I call it pure luck.</p>",
          "rawMarkdown": "It was 23. That's why I call it pure luck.",
          "votes": 1,
          "replies": [
            {
              "id": 3176481,
              "postDate": "2025-04-11T11:52:17.590Z",
              "content": "<p>The private LB did not seem too random to me, you had a strong solution! Congrats!</p>",
              "rawMarkdown": "The private LB did not seem too random to me, you had a strong solution! Congrats!",
              "votes": -2
            },
            {
              "id": 3176869,
              "postDate": "2025-04-11T20:22:45.220Z",
              "content": "<p>I've seen that you usually win medals with just 1-2 submissions. Could you please share any tips about your strategy or advice? How do you do this? </p>\n<p>Personally, I cannot really call it \"luck\", when you were able to repeat this so many times.</p>",
              "rawMarkdown": "I've seen that you usually win medals with just 1-2 submissions. Could you please share any tips about your strategy or advice? How do you do this? \n\nPersonally, I cannot really call it \"luck\", when you were able to repeat this so many times.",
              "votes": 2
            },
            {
              "id": 3178643,
              "postDate": "2025-04-14T12:30:12.200Z",
              "content": "<p>\"Luck\" is specifically referring to this competition.</p>\n<p>For me, making fewer submissions helps me better balance work-Kaggle-life. I enjoy problem solving but don't enjoy leaderboard climbing much. I usually have a first-day plan, and even without submitting, there are many interesting things to experiment with. Regardless of the leaderboard score, 'executing the plan'' has been very rewarding for me. </p>\n<p>The strategy of 'only submitting in the final days' has led to many failures for me in past competitions. If you're concerned about final ranking, making more submissions is the better approach.</p>",
              "rawMarkdown": "\"Luck\" is specifically referring to this competition.\n\nFor me, making fewer submissions helps me better balance work-Kaggle-life. I enjoy problem solving but don't enjoy leaderboard climbing much. I usually have a first-day plan, and even without submitting, there are many interesting things to experiment with. Regardless of the leaderboard score, 'executing the plan'' has been very rewarding for me. \n\nThe strategy of 'only submitting in the final days' has led to many failures for me in past competitions. If you're concerned about final ranking, making more submissions is the better approach.",
              "votes": 7
            },
            {
              "id": 3178917,
              "postDate": "2025-04-14T19:22:35.803Z",
              "content": "<p>Thank you very much, your approach is very cool. I also wanted to ask you about your general validation strategy. As I understood, during your experiments you rely on your validation score. How do you create your validation set? Sometimes, local validation might not correlate well with the public leaderboard and some competitions have this domain shift. How do you deal with such competitions?</p>",
              "rawMarkdown": "Thank you very much, your approach is very cool. I also wanted to ask you about your general validation strategy. As I understood, during your experiments you rely on your validation score. How do you create your validation set? Sometimes, local validation might not correlate well with the public leaderboard and some competitions have this domain shift. How do you deal with such competitions?"
            },
            {
              "id": 3180152,
              "postDate": "2025-04-16T08:08:35.643Z",
              "content": "<p>Exactly, whenever I see <a href=\"https://www.kaggle.com/tascj0\" target=\"_blank\">@tascj0</a> in the gold zone solo, they usually have less than 10 subs</p>",
              "rawMarkdown": "Exactly, whenever I see @tascj0 in the gold zone solo, they usually have less than 10 subs"
            },
            {
              "id": 3181581,
              "postDate": "2025-04-18T04:21:05.223Z",
              "content": "<p><a href=\"https://www.kaggle.com/manwithaflower\" target=\"_blank\">@manwithaflower</a> <br>\nI don't have any special validation strategies. I fail in trust LB competitions.</p>\n<p>As long as local validation enough for the my planned experiments, I'm comfortable with it. What I planned to do through a competition might not even be related to LB.</p>",
              "rawMarkdown": "@manwithaflower \nI don't have any special validation strategies. I fail in trust LB competitions.\n\nAs long as local validation enough for the my planned experiments, I'm comfortable with it. What I planned to do through a competition might not even be related to LB.",
              "votes": 3
            }
          ]
        }
      ]
    },
    {
      "id": 3176320,
      "postDate": "2025-04-11T08:37:07.573Z",
      "content": "<p>Thanks for sharing — your solution looks very clean, and the budget planning seems well thought out!</p>",
      "rawMarkdown": "Thanks for sharing — your solution looks very clean, and the budget planning seems well thought out!"
    },
    {
      "id": 3178146,
      "postDate": "2025-04-13T19:27:49.460Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 3176364,
      "postDate": "2025-04-11T09:32:06.237Z",
      "rawMarkdown": "",
      "isDeleted": true
    },
    {
      "id": 3180408,
      "postDate": "2025-04-16T15:29:02.453Z",
      "content": "<p>Congratulations! Thank you for sharing!</p>",
      "rawMarkdown": "Congratulations! Thank you for sharing!"
    },
    {
      "id": 3179711,
      "postDate": "2025-04-15T16:02:41.577Z",
      "content": "<p>Thanks for wonderful solutions</p>",
      "rawMarkdown": "Thanks for wonderful solutions"
    }
  ],
  "complete": true,
  "source": "live",
  "fetched_at": "2026-10-20T06:43:46Z",
  "competition_id": 86023,
  "competition_slug": "ai-mathematical-olympiad-progress-prize-2",
  "team_id": 13549099,
  "solution_url": "/competitions/ai-mathematical-olympiad-progress-prize-2/writeups/tascj-7th-place-solution-pure-luck"
}