Qwen3-4B-SC-CodeAgent-200Steps

่ฟ™ๆ˜ฏๅŸบไบŽ Qwen/Qwen3-4B ๅŽŸๅง‹็‰ˆๆœฌ่ฎญ็ปƒ็š„ๆŽข็ดขๆ€งๆฃ€ๆŸฅ็‚น๏ผŒไฝฟ็”จ Score Centering๏ผˆSC๏ผ‰ๅ’Œ่‡ช็„ถๅผ‚ๆญฅ rollout๏ผŒๅœจไธ€ไธช็ป่ฟ‡็ญ›้€‰็š„ TACO ๅญ้›†ไธŠๅฎŒๆˆไบ† 200 ไธช่ฎญ็ปƒๆญฅใ€‚ๅฎƒไธๆ˜ฏ Qwen3-4B ็š„ 2507 ็‰ˆๆœฌ๏ผŒไนŸไธๆ˜ฏ็ป่ฟ‡้ชŒ่ฏ็š„้€š็”จไปฃ็  agentใ€‚

ๆœ€็ปˆๅœจๅ›บๅฎš็š„ 256 ้ข˜ TACO ๅผ€ๅ‘้›†ไธŠ๏ผŒ130 ้ข˜้€š่ฟ‡่ฏฅๅฎž้ชŒไฟๅญ˜็š„ๅ…จ้ƒจๆต‹่ฏ•๏ผŒๅ‡†็กฎ็އไธบ 50.78%ใ€‚ไฝ†ๅทฅๅ…ทไฝฟ็”จ้žๅธธๅฐ‘๏ผŒไธ”ๅคง้‡่ฝจ่ฟน่พพๅˆฐ้•ฟๅบฆไธŠ้™ๅŽๆฒกๆœ‰ๅฏๅˆค้ข˜็š„ๅฎŒๆ•ดๆไบคใ€‚ๆœฌๆฌกๅ‘ๅธƒไธป่ฆ็”จไบŽ่ฎฐๅฝ•ๅฎž้ชŒใ€ๅˆ†ๆž่ฎญ็ปƒ่กŒไธบๅ’Œๅผ€ๅฑ•ๅŽ็ปญๅฏน็…ง๏ผŒไธๆฎๆญคๅฎฃ็งฐ SC ไผ˜ไบŽๅ…ถไป–็ฎ—ๆณ•๏ผŒๆˆ– agent ่ƒฝๅŠ›ๅพ—ๅˆฐๆๅ‡ใ€‚

ๅฎž้ชŒ็ป“ๆžœ

200 ๆญฅ่ฎญ็ปƒไธŽๅผ€ๅ‘้›†้ชŒ่ฏๆŒ‡ๆ ‡

ๆฏ 25 ๆญฅๅœจๅŒไธ€ๅ›บๅฎšๅผ€ๅ‘้›†ไธŠ้ชŒ่ฏไธ€ๆฌก๏ผŒๆฏ้ข˜้‡‡ๆ ทไธ€ไธชๅ›ž็ญ”ใ€‚ไธ‹่กจๅˆ—ๅ‡บๅ…จ้ƒจ 8 ๆฌก็ป“ๆžœ๏ผŒๆœช็œ็•ฅๅ›ž่ฝ็‚นใ€‚

่ฎญ็ปƒๆญฅ ๅ…จๆต‹่ฏ•้€š่ฟ‡้ข˜ๆ•ฐ / 256 ้ข˜็›ฎๅ‡†็กฎ็އ ้€้ข˜ๆต‹่ฏ•้€š่ฟ‡็އๅ‡ๅ€ผ ๆœ‰ๅฏๆๅ–ไปฃ็ ็š„ๆฏ”ไพ‹ ๅฎž้™…ไฝฟ็”จๅทฅๅ…ท็š„้ข˜ๆ•ฐ
25 94 36.72% 37.08% 38.28% 3
50 93 36.33% 38.10% 39.84% 2
75 104 40.63% 43.27% 45.70% 0
100 114 44.53% 47.56% 50.78% 0
125 118 46.09% 51.60% 55.08% 0
150 117 45.70% 51.54% 56.64% 0
175 123 48.05% 53.50% 56.64% 0
200 130 50.78% 56.11% 61.33% 0

ๆŒ‡ๆ ‡ๅซไน‰๏ผš

  • **้ข˜็›ฎๅ‡†็กฎ็އ acc**๏ผšๆœ€็ปˆๆไบค้€š่ฟ‡่ฏฅ้ข˜ๅ…จ้ƒจไฟๅญ˜ๆต‹่ฏ•ๆ—ถ่ฎฐไธบ 1๏ผŒๅฆๅˆ™ไธบ 0ใ€‚
  • **้€้ข˜ๆต‹่ฏ•้€š่ฟ‡็އๅ‡ๅ€ผ pass_rate**๏ผšๅ…ˆ่ฎก็ฎ—ๆฏ้ข˜้€š่ฟ‡ๆต‹่ฏ•็š„ๆฏ”ไพ‹๏ผŒๅ†ๅฏน้ข˜็›ฎๅ–ๅนณๅ‡๏ผ›ไธๆ˜ฏๆŠŠๆ‰€ๆœ‰้ข˜็š„ๆต‹่ฏ•ๆททๅœจไธ€่ตท่ฎก็ฎ—้€š่ฟ‡็އใ€‚ๆฒกๆœ‰ๅฏๅˆค้ข˜ๆไบค็š„้ข˜็›ฎ่ฎฐไธบ 0ใ€‚
  • **ๆœ‰ๅฏๆๅ–ไปฃ็  format_ok**๏ผšๅˆค้ข˜ๅ™จ่ƒฝๅคŸไปŽๆœซๆฌกๅŠฉๆ‰‹ๅ›ž็ญ”ไธญๆๅ–้—ญๅˆไปฃ็ ๅ—ใ€‚่ฟ™ไธไฟ่ฏไปฃ็ ๆญฃ็กฎ๏ผŒไนŸไธๅผบๅˆถ่ฆๆฑ‚ <answer> ๆ ‡็ญพใ€‚
  • ๅฎž้™…ไฝฟ็”จๅทฅๅ…ท๏ผš้š”็ฆปๆ‰ง่กŒๅ™จ็กฎๅฎžๅฏๅŠจไบ† Python ่ฟ›็จ‹๏ผ›ๅช็”Ÿๆˆ่ฐƒ็”จๆ่ฟฐๆˆ–ๆ— ๆ•ˆๅ‚ๆ•ฐไธ่ฎกไธบๅฎž้™…ๆ‰ง่กŒ๏ผ›็จ‹ๅบๅฏๅŠจๅŽๆŠฅ้”™ๅˆ™ไป็ฎ—ไฝฟ็”จ่ฟ‡ๅทฅๅ…ทใ€‚

็ฌฌ 200 ๆญฅ็š„ๅผ€ๅ‘้›†็ป“ๆžœๅฏ่ฟ›ไธ€ๆญฅๅˆ†ไธบ๏ผš157/256 ้ข˜ๆœ‰ๅฏๆๅ–ไปฃ็ ๏ผŒ99/256 ้ข˜ๆฒกๆœ‰ๅฏๅˆค้ข˜ๆไบค๏ผ›ๆœ‰ๆไบค็š„ 157 ้ข˜ไธญ๏ผŒ130 ้ข˜ๅ…จ้€š่ฟ‡ใ€‚ๅŽไธ€ไธชๆกไปถๆฏ”ไพ‹ไธ่ƒฝๆ›ฟไปฃๅฎŒๆ•ดๅผ€ๅ‘้›†ๅ‡†็กฎ็އใ€‚ๅฆๆœ‰ 4 ้ข˜ๅ‡บ็Žฐ็จ‹ๅบๆ‰ง่กŒ้”™่ฏฏๆˆ–่ถ…ๆ—ถ๏ผŒๅ…ฑๆถ‰ๅŠ 123 ไธชๆต‹่ฏ•็”จไพ‹๏ผ›่ฟ™ไธๆ˜ฏโ€œ123 ้“้ข˜ๅ‡บ้”™โ€ใ€‚ๆœชๅ‡บ็Žฐๅˆค้ข˜็ดฏ่ฎกๆ‰ง่กŒ้ข„็ฎ—่€—ๅฐฝใ€‚

SCใ€ๆขฏๅบฆๅ’Œๅฎž้™…ๆปžๅŽ่ฏŠๆ–ญ

ไธŠๅ›พๆ˜พ็คบ SC ไฟฎๆญฃ้กนใ€ๆขฏๅบฆ่Œƒๆ•ฐใ€top-128 ๆœช่ฆ†็›–็š„ๆฆ‚็އ่ดจ้‡๏ผŒไปฅๅŠๅฎž้™…้‡‡ๆ ท็‰ˆๆœฌๆปžๅŽใ€‚ๆฆ‚็އ่ฆ†็›–็އ้ซ˜ไธ็ญ‰ไบŽ็ฎ—ๆณ•ไผ˜ไบŽๅ…ถไป–ๆ–นๆณ•ใ€‚

้€ๆญฅๆ•ฐๅ€ผ่งๅŽŸๅง‹ๆŒ‡ๆ ‡ๆ–‡ไปถใ€็ป“ๆžœๆ‘˜่ฆ๏ผ›ๅฎž้ชŒ่ฎพ็ฝฎ่ง่ฎญ็ปƒ้…็ฝฎใ€‚

ๅทฅๅ…ท่กŒไธบไธŽๆˆชๆ–ญ

่ฎญ็ปƒๆ—ฅๅฟ—ๅ…ฑ่ฎฐๅฝ• 12,800 ๆก่ฝจ่ฟน๏ผŒๅ…ถไธญๅชๆœ‰ 40 ๆก๏ผˆ0.3125%๏ผ‰ๅฎž้™…ๆ‰ง่กŒ่ฟ‡ๅทฅๅ…ทใ€‚ๆœ€ๅŽ 50 ไธช่ฎญ็ปƒๆญฅ็š„ๅทฅๅ…ทไฝฟ็”จ็އไธบ 0๏ผ›ๆœ€็ปˆๅผ€ๅ‘้›†็š„ 256 ๆก่ฝจ่ฟนไนŸๅ‡ๆœช่ฐƒ็”จๅทฅๅ…ทใ€‚

้•ฟๅบฆไธŠ้™ไปๆ˜ฏๆ˜Žๆ˜พ้™ๅˆถใ€‚ๆœ€ๅŽ 50 ๆญฅ็š„่ฎญ็ปƒ่ฝจ่ฟน่พพๅˆฐๅ“ๅบ”้•ฟๅบฆไธŠ้™็š„ๆฏ”ไพ‹ๅนณๅ‡ไธบ **40.81%**๏ผ›ๆœ€ๅŽไธ€ๆ‰น 64 ๆกไธญ๏ผŒ34 ๆก่พพๅˆฐ 8,192 tokens๏ผŒ32 ๆกๆฒกๆœ‰ๅฏๅˆค้ข˜ๆไบค๏ผŒไธ”่ฟ™ 32 ๆกๅ…จ้ƒจ่พพๅˆฐ้•ฟๅบฆไธŠ้™ใ€‚ๆŠฝๆŸฅๅฏ่งๅฐšๆœช็ป“ๆŸ็š„ๆŽจ็†ๅ’Œๆœชๅ†™ๅฎŒ็š„ไปฃ็ ใ€‚่ฟ™ไบ›ๆ˜ฏ่ฎญ็ปƒ่ฝจ่ฟน็š„็ปŸ่ฎก๏ผŒไธ่ƒฝ็›ดๆŽฅๅฝ“ไฝœๆœ€็ปˆๅผ€ๅ‘้›†็š„ๆˆชๆ–ญๆฏ”ไพ‹ใ€‚

ๅ› ๆญค๏ผŒ่ฟ™ไธชๆฃ€ๆŸฅ็‚น็š„ๅทฒ่ง‚ๆต‹่กŒไธบไธป่ฆๆ˜ฏ็›ดๆŽฅ็”Ÿๆˆไปฃ็ ๏ผŒๅฐšๆœชๅฑ•็คบ็จณๅฎš็š„โ€œ่ฐƒ็”จๅทฅๅ…ทโ€”้˜…่ฏปๅ้ฆˆโ€”ไฟฎๆ”นๆ–นๆกˆโ€่ƒฝๅŠ›ใ€‚ๅทฅๅ…ท่ฐƒ็”จ็จ€ๅฐ‘ไนŸไธ่ƒฝๅ•็‹ฌ่ฏๆ˜Ž SC ๆ— ๆ•ˆ๏ผšๆœฌๆฌกๆฒกๆœ‰ๅŒน้…็š„็ฎ—ๆณ•ๅฏน็…ง๏ผŒไบฆๆœช้š”็ฆปไปปๅŠกใ€ๆ็คบใ€้•ฟๅบฆ้ข„็ฎ—ๅ’Œไผ˜ๅŒ–็›ฎๆ ‡ๅ„่‡ช็š„ๅฝฑๅ“ใ€‚

่ฎญ็ปƒๆ–นๆณ•ไธŽ้…็ฝฎ

่ฎญ็ปƒ้‡‡็”จ verl ๅŽŸ็”Ÿ ToolAgentLoop ๅŠ ่‡ชๅฎšไน‰ run_python ๅทฅๅ…ท๏ผŒrollout ไธŽ่ฎญ็ปƒไฝฟ็”จ็‹ฌ็ซ‹ GPU ๆฑ ๅนถ่กŒ่ฟ›่กŒใ€‚ๆœฌๅฎž้ชŒๆฒกๆœ‰ไฝฟ็”จ Harborใ€Terminal-Bench ๆˆ– SWE ็Žฏๅขƒ๏ผ›ๅฎƒๆ˜ฏๅธฆๅฏ้€‰ Python ่‡ชๆต‹ๅทฅๅ…ท็š„ๆ ‡ๅ‡†่พ“ๅ…ฅ/่พ“ๅ‡บ็ผ–็จ‹ไปปๅŠก๏ผŒๅทฅๅ…ท่ฐƒ็”จไน‹้—ดๆฒกๆœ‰ๆŒไน…ๆ–‡ไปถ็ณป็ปŸ็Šถๆ€ใ€‚

SC ้€š่ฟ‡ไธญๅฟƒๅŒ–็ญ–็•ฅ็š„ score ๆฅๆŠ‘ๅˆถ่ฎญ็ปƒไธŽ้‡‡ๆ ทๅˆ†ๅธƒไธไธ€่‡ดๆ—ถ็š„ๆผ‚็งปใ€‚ๆœฌๅฎž้ชŒไฝฟ็”จ้‡‡ๆ ท็ซฏๆฏไธช็”Ÿๆˆ token ็š„ top-128 ๆฆ‚็އๆž„้€ ่ฟ‘ไผผไธญๅฟƒๅŒ–้กน๏ผŒๅนถๆ‰ฉๅฑ•ไบ†ๅคš่ฝฎๅทฅๅ…ท่ฝจ่ฟน็š„ๅ…ƒๆ•ฐๆฎๅฏน้ฝใ€‚ๅทฅๅ…ท่ง‚ๅฏŸๅ’Œๅ…ถไป–้žๆจกๅž‹็”Ÿๆˆๅ†…ๅฎนไธๅ‚ไธŽ็ญ–็•ฅๆŸๅคฑใ€‚

้กน็›ฎ ้…็ฝฎ
ๅˆๅง‹ๅŒ– ๅŽŸๅง‹ Qwen/Qwen3-4B๏ผŒthinking ๆจกๅผๅผ€ๅฏ
่ฎญ็ปƒๆก†ๆžถ verl๏ผŒๅŸบไบŽ upstream 8718ca30a3f002f93b7c4fd99b9b2506718681bc๏ผŒๅŠ ๆœฌๅฎž้ชŒไฟฎๆ”น
็กฌไปถ 8 ร— NVIDIA A100 80GB๏ผ›4 ๅผ ่ฎญ็ปƒ๏ผŒ4 ๅผ ็‹ฌ็ซ‹ rollout
่ฎญ็ปƒ / ๆŽจ็†ๅŽ็ซฏ FSDP2 / vLLM๏ผŒrollout TP=1
ๆ•ฐๅ€ผ็ฒพๅบฆ BF16 ่ฎก็ฎ—๏ผŒFP32 ไธปๅ‚ๆ•ฐ
ๆœฌไป“ๅบ“ๅ‘ๅธƒๆƒ้‡ ไปŽ่ฎญ็ปƒๆฃ€ๆŸฅ็‚นๅฏผๅ‡บไธบ BF16๏ผŒไพ›ๆŽจ็†ไฝฟ็”จ
ๆ›ดๆ–ฐ็›ฎๆ ‡ REINFORCE ๅฝขๅผ็š„็ญ–็•ฅๆŸๅคฑ + SC๏ผ›bypass_mode=True
ไผ˜ๅŠฟไผฐ่ฎก ๆฏ้ข˜ 4 ๆกๅ›ž็ญ”๏ผŒๅ‡ๅŽป็ป„ๅ†…ๅนณๅ‡ๅฅ–ๅŠฑ๏ผŒไธๆŒ‰็ป„ๅ†…ๆ ‡ๅ‡†ๅทฎๅฝ’ไธ€ๅŒ–
ๅ…ถไป–ไฟฎๆญฃ ไธไฝฟ็”จ TISใ€RS ๆˆ– PPO clipping๏ผ›ไธไฝฟ็”จ criticใ€KL ๆƒฉ็ฝšๆˆ–็†ตๅฅ–ๅŠฑ
SC ๆฆ‚็އ่ฎฐๅฝ• top-128๏ผ›่ฟ™ๆ˜ฏๆฆ‚็އ่ฎฐๅฝ•ๅฎฝๅบฆ๏ผŒไธๆ˜ฏ็”Ÿๆˆๆ—ถ็š„ top-k ๆˆชๆ–ญ
ไผ˜ๅŒ–ๅ™จ AdamW๏ผŒๅญฆไน ็އ 1e-6๏ผŒๆ’ๅฎšๅญฆไน ็އ๏ผŒๆ—  warmup๏ผŒweight decay=0
ๆขฏๅบฆ่ฃๅ‰ช ๅ…จๅฑ€่Œƒๆ•ฐไธŠ้™ 1.0
ๆ‰นๆฌก ๆฏ่ฎญ็ปƒๆญฅ 16 ้ข˜ ร— 4 ๅ›ž็ญ”๏ผŒๅ…ฑ 64 ๆก่ฝจ่ฟน๏ผ›ppo_epochs=1
่ฎญ็ปƒ้•ฟๅบฆ 200 ไธช trainer steps๏ผ›ๆฏ 25 ๆญฅ้ชŒ่ฏใ€ๆฏ 50 ๆญฅไฟๅญ˜ๆฃ€ๆŸฅ็‚น
ๅผ‚ๆญฅ่ฎพ็ฝฎ separate_async๏ผŒๆฏไธช่ฎญ็ปƒๆญฅๅŒๆญฅๆƒ้‡๏ผŒ้ข„ๅกซๅ…… 2 ๆ‰น
ๆปžๅŽๆŽงๅˆถ max_off_policy_threshold=4๏ผŒ่ถ…ๅ‡บ้™ๅˆถไฝฟ็”จ drop ็ญ–็•ฅ
ไธŠไธ‹ๆ–‡้ข„็ฎ— prompt ๆœ€้•ฟ 4,096๏ผ›ๅ“ๅบ”ๆœ€้•ฟ 8,192๏ผ›ๆ€ป้•ฟๅบฆไธŠ้™ 12,288 tokens
ๅคš่ฝฎ้ข„็ฎ— ๆœ€ๅคš 6 ไธชๅŠฉๆ‰‹่ฝฎๆฌก๏ผŒๆฏ่ฝฎๆœ€ๅคš 1 ไธชๅนถ่กŒๅทฅๅ…ท่ฐƒ็”จ
่ฎญ็ปƒ้‡‡ๆ ท temperature=1.0๏ผŒtop-p=1.0๏ผŒไธๅฏ็”จ็”Ÿๆˆ top-k ๆˆชๆ–ญ
ๅผ€ๅ‘้›†้‡‡ๆ ท ๆฏ้ข˜ 1 ๆก๏ผŒtemperature=0.6๏ผŒtop-p=1.0๏ผŒไธๅฏ็”จ็”Ÿๆˆ top-k ๆˆชๆ–ญ
้šๆœบๆ€ง ๅ•ๆฌก่ฟ่กŒ๏ผŒๆ•ฐๆฎ็งๅญ 42๏ผ›ๆฒกๆœ‰ๅคš็งๅญ้‡ๅคๅฎž้ชŒ

่ฟ™้‡Œ็š„ๆปžๅŽๆฅ่‡ช็œŸๅฎž็š„็”Ÿๆˆใ€้˜Ÿๅˆ—ๅ’Œ่ฎญ็ปƒๅนถ่กŒ๏ผŒๆœชไบบไธบ็ป™ๆฏๆก่ฝจ่ฟนๅ›บๅฎšๅขžๅŠ  4 ๆญฅๅปถ่ฟŸใ€‚ๆฏๆญฅๅŒๆญฅไนŸไธไผšไฝฟๅทฒ็ป็”Ÿๆˆ็š„ๆ•ฐๆฎ้‡ๆ–ฐๅ˜ๆˆๅฝ“ๅ‰็ญ–็•ฅๆ ทๆœฌใ€‚ๆ—ฅๅฟ—ไธญ่ฎฐๅฝ•ๅˆฐ็š„ๆœ€ๅคง่ฝจ่ฟน็‰ˆๆœฌ่ทจๅบฆไธบ 4ใ€‚

ๅฅ–ๅŠฑไฝฟ็”จๆœ€็ปˆไปฃ็ ็š„ๆต‹่ฏ•้€š่ฟ‡ๆฏ”ไพ‹๏ผŒ่Œƒๅ›ดไธบ [0, 1]๏ผŒๆฒกๆœ‰ๅทฅๅ…ทไฝฟ็”จๅฅ–ๅŠฑใ€‚ๆจกๅž‹ๅฏไปฅ็”จ้ข˜้ขๆ ทไพ‹ๆˆ–่‡ชๅทฑๆž„้€ ็š„ stdin ่ฐƒ็”จๅทฅๅ…ท๏ผŒไฝ†ไธ่ƒฝ้€š่ฟ‡ๅทฅๅ…ทๆŸฅ่ฏข้š่—ๆต‹่ฏ•๏ผ›้š่—ๆต‹่ฏ•ไป…็”ฑๆœ€็ปˆๅˆค้ข˜ๅ™จไฝฟ็”จใ€‚

ๆ•ฐๆฎไธŽๅˆ’ๅˆ†

ๆ•ฐๆฎๆฅ่‡ช BAAI/TACO๏ผŒๅ›บๅฎš revision ไธบ d593ed0a2becbbc952230bb89be09189bf1056dcใ€‚ไธบๆŽงๅˆถ้ฆ–ๆฌกๅฎž้ชŒ็š„ๆ•ฐๆฎๅ‡†ๅค‡ๆˆๆœฌ๏ผŒไฝฟ็”จ ALL ้…็ฝฎไธญ็š„่ฎญ็ปƒๅˆ†็‰‡ 02ใ€03ใ€04๏ผŒๅ†่ฟ›่กŒ็ญ›้€‰ใ€‚่ฟ™ไธๆ˜ฏๅฏนๆ•ดไธช TACO ็š„้šๆœบๆŠฝๆ ท๏ผŒไนŸไธๆ˜ฏๅฎ˜ๆ–น TACO ๆต‹่ฏ•้›†็ป“ๆžœใ€‚

็ญ›้€‰ไฟ็•™ๆ ‡ๅ‡†่พ“ๅ…ฅ/่พ“ๅ‡บใ€Python ๆ ‡ๅ‡†ๅบ“ๅฏๆ‰ง่กŒไปปๅŠก๏ผŒๆฃ€ๆŸฅ้ข˜็›ฎไธŽๆต‹่ฏ•็ป“ๆž„ใ€ๅŒ…ๅซๅทฅๅ…ท schema ๅŽ็š„ prompt ้•ฟๅบฆ๏ผŒๆŽ’้™คๅ›พๅƒไพ่ต–ๅŠ็–‘ไผผ special-judge ไปปๅŠก๏ผŒๅนถๆŒ‰่ง„่ŒƒๅŒ–ๆ–‡ๆœฌใ€URL ๅ’Œๅนณๅฐ้ข˜ๅทๅŽป้‡ใ€‚ๆฏ้“ๅ…ฅ้€‰้ข˜่‡ณๅฐ‘ๆœ‰ไธ€ไปฝไธŠๆธธๅ‚่€ƒ่งฃๅœจ็›ธๅŒ้š”็ฆปๅˆค้ข˜ๅ™จไธ‹้€š่ฟ‡ๅ…จ้ƒจไฟๅญ˜ๆต‹่ฏ•ใ€‚้€š่ฟ‡ๅ‚่€ƒ่งฃๆ ก้ชŒไธ็ญ‰ไบŽ่ฏๆ˜Ž้ข˜็›ฎๆˆ–ๆ ‡็ญพ็ปๅฏนๆญฃ็กฎ๏ผŒspecial-judge ๆŽ’้™คไบฆๆ˜ฏไฟๅฎˆๅฏๅ‘ๅผใ€‚

ๆœ€็ปˆๆŒ‰ๅ›บๅฎš่ง„ๅˆ™ๅˆ’ๅˆ† 2,000 ้ข˜่ฎญ็ปƒ้›† + 256 ้ข˜ๅผ€ๅ‘้›†๏ผŒไธค่€…ๅœจไธŠ่ฟฐ่บซไปฝ้”ฎไธ‹ๆ— ้‡ๅ ใ€‚ๅ‚่€ƒ่งฃๅ’Œ้š่—ๆต‹่ฏ•ไธ่ฟ›ๅ…ฅๆจกๅž‹ๆ็คบใ€‚ๅผ€ๅ‘้›†่ขซๅๅค็”จไบŽ่ฎญ็ปƒๆœŸ้—ด้ชŒ่ฏ๏ผŒๅ› ๆญคๆœฌๅกๅฐ†ๅ…ถ็งฐไธบ dev๏ผŒ่€Œ้žๆœช่งฆ็ขฐ็š„ๆœ€็ปˆๆต‹่ฏ•้›†ใ€‚

ๅฆๅทฒๅ‡†ๅค‡ๅฎ˜ๆ–น LiveCodeBench release_v6 ็š„ public/private tests๏ผŒๅนถ็”จไบŽๅทฒ็Ÿฅ้ข˜็›ฎ่บซไปฝ็š„ไบคๅ‰ๆŽ’้™ค๏ผ›ๆœฌๆฃ€ๆŸฅ็‚นๅฐšๆœชๅœจ LiveCodeBench ไธŠ่ฏ„ๆต‹๏ผŒๆฒกๆœ‰ๅฏๆŠฅๅ‘Š็š„ LCB ๅˆ†ๆ•ฐใ€‚ๅŽป้‡ไธ่ƒฝ่ฏๆ˜ŽๅŸบ็ก€ๆจกๅž‹้ข„่ฎญ็ปƒๆ•ฐๆฎไธญไธๅญ˜ๅœจๆฑกๆŸ“ใ€‚

ๆ‰ง่กŒไธŽๅˆค้ข˜่พน็•Œ

run_python ๆฏๆฌก่ฟ่กŒไธ€ไธช็‹ฌ็ซ‹ Python 3.12 ่ฟ›็จ‹๏ผŒไฝฟ็”จ Linux Landlock ๆ–‡ไปถ่ฎฟ้—ฎ้™ๅˆถไธŽ seccomp ็ณป็ปŸ่ฐƒ็”จ็™ฝๅๅ•ใ€‚็ฝ‘็ปœใ€GPUใ€็”จๆˆท็›ฎๅฝ•่ฏปๅ–ใ€ๅญ่ฟ›็จ‹ๅ’Œๆ–‡ไปถๅ†™ๅ…ฅ่ขซ็ฆๆญข๏ผŒๅชๆไพ›่งฃ้‡Šๅ™จใ€ๆ ‡ๅ‡†ๅบ“ใ€ๅฟ…่ฆ็ณป็ปŸๅบ“ไปฅๅŠๅฝ“ๅ‰็จ‹ๅบใ€‚ๅฎƒๆ˜ฏ่ฎฟ้—ฎ้š”็ฆป๏ผŒไธๆ˜ฏๅฎŒๆ•ด่™šๆ‹Ÿๆœบ๏ผ›้ƒจๅˆ†่ทฏๅพ„ๅ…ƒๆ•ฐๆฎไปๅฏ่ƒฝๅฏ่งใ€‚

ๅ•ๆฌกๆ‰ง่กŒไธŠ้™ไธบ 3 ็ง’ใ€1 GiB ๅœฐๅ€็ฉบ้—ด๏ผŒๆฏไธช่พ“ๅ‡บๆตๆœ€ๅคš 1 MiBใ€‚ๅˆค้ข˜็ดฏ่ฎกๆ‰ง่กŒ้ข„็ฎ—ไธบ 90 ็ง’๏ผŒๆŽ’้˜Ÿ่€—ๆ—ถๅ•็‹ฌ่ฎฐๅฝ•๏ผŒไธ่ฎกๅ…ฅ่ฏฅ้ข„็ฎ—ใ€‚ๅฏๅŠจๅคฑ่ดฅ้€š่ฟ‡็”จๆˆท็จ‹ๅบๆ— ๆณ•็ปงๆ‰ฟ็š„ไธ“็”จ็Šถๆ€็ฎก้“ๆŠฅๅ‘Š๏ผŒไธๆŠŠๅŸบ็ก€่ฎพๆ–ฝๆ•…้šœๅฝ“ๆˆๆ™ฎ้€š้”™่ฏฏ็ญ”ๆกˆใ€‚

ๅˆค้ข˜ๅชไฝฟ็”จๆœ€ๅŽไธ€ไธชๅŠฉๆ‰‹็”Ÿๆˆๆฎตไธญ็š„ไปฃ็ ใ€‚่ถ…้•ฟๆ•ดๆ•ฐ่พ“ๅ‡บ้‡‡็”จ็ฒพ็กฎๅ่ฟ›ๅˆถๅญ—็ฌฆไธฒๆฏ”่พƒ๏ผŒ้ฟๅ… Python ๆ•ดๆ•ฐ่ฝฌๆขไฝๆ•ฐ้™ๅˆถ๏ผ›ๆตฎ็‚น่พ“ๅ‡บ้‡‡็”จๅฎนๅทฎๆฏ”่พƒใ€‚่ฟ™้‡Œไฝฟ็”จ็š„ๆ˜ฏๅฎž้ชŒ่‡ชๅฎšไน‰ๅˆค้ข˜ๅ™จ๏ผŒไธๅฃฐ็งฐไธŽๅฎ˜ๆ–น LiveCodeBench checker ๅฎŒๅ…จไธ€่‡ดใ€‚

ๅ‘ๅธƒๆ–‡ไปถไธŽๅฏผๅ‡บ้ชŒ่ฏ

ๆœฌไป“ๅบ“ๅ‘ๅธƒๆœ€็ปˆ็ฌฌ 200 ๆญฅ็š„ BF16 ๆŽจ็†ๆƒ้‡ใ€tokenizerใ€chat template ๅ’Œ generation config๏ผŒๅนถ้™„ๅธฆ่ฎญ็ปƒๆŒ‡ๆ ‡ไธŽ้…็ฝฎๆ‘˜่ฆใ€‚ๅฎƒไธๆ˜ฏๅธฆ optimizer ็Šถๆ€็š„่ฎญ็ปƒๆขๅคๅŒ…๏ผŒไนŸๆฒกๆœ‰ๆ‰“ๅŒ…ๅฎŒๆ•ด่ฎญ็ปƒ็Žฏๅขƒๆˆ–ๅทฅๅ…ท harnessใ€‚

ๅฎ˜ๆ–น verl ๅˆๅนถๅ™จๅฐ†ๅ››ไธช FP32 ่ฎญ็ปƒๅˆ†็‰‡่ฝฌๆขไธบ BF16ใ€‚ๅทฒๆฃ€ๆŸฅๅฏผๅ‡บ tensor ็š„ๅ็งฐใ€ๅฝข็Šถใ€ๆœ‰้™ๆ€งไปฅๅŠไธŽๆบๅˆ†็‰‡ BF16 ่ฝฌๆข็ป“ๆžœ็š„ไธ€่‡ดๆ€ง๏ผŒๅนถๅฎŒๆˆๆœฌๅœฐ tokenizer ไธŽ็Ÿญๅ‰ๅ‘ๅŠ ่ฝฝๆฃ€ๆŸฅ๏ผ›ๅฏผๅ‡บๅŽๆฒกๆœ‰้‡ๆ–ฐ่ฟ่กŒๅฎŒๆ•ดๅผ€ๅ‘้›†๏ผŒๅก็‰‡ๅˆ†ๆ•ฐๆฅ่‡ช่ฎญ็ปƒไปปๅŠกไธญ็š„ๅฏนๅบ” checkpointใ€‚ๅฏผๅ‡บ็ป†่Š‚่ง่ฝฌๆขๆธ…ๅ•ใ€‚

ไฝฟ็”จ

ไธ‹้ขๅฑ•็คบๆ™ฎ้€šๆ–‡ๆœฌ็”Ÿๆˆ๏ผŒ้‡‡็”จๅŸบ็ก€ๆจกๅž‹้ป˜่ฎค็š„ temperature=0.6ใ€top-p=0.95ใ€top-k=20ใ€‚่ฟ™ไธŽไธŠ่กจๅผ€ๅ‘้›†่ฏ„ๆต‹่ฎพ็ฝฎไธๅฎŒๅ…จ็›ธๅŒใ€‚ๆจกๅž‹็”Ÿๆˆ็š„ Python ไปฃ็ ไธไผš็”ฑๆญค็คบไพ‹่‡ชๅŠจๆ‰ง่กŒใ€‚

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "Palind/Qwen3-4B-SC-CodeAgent-200Steps"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    dtype=torch.bfloat16,
    device_map="auto",
)
messages = [
    {"role": "system", "content": "Solve the programming task in Python 3. Finish with a complete solution in a Python code block."},
    {"role": "user", "content": "Read two integers from standard input and print their sum."},
]
prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=True,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.inference_mode():
    output = model.generate(
        **inputs,
        do_sample=True,
        temperature=0.6,
        top_p=0.95,
        top_k=20,
        max_new_tokens=8192,
    )
print(tokenizer.decode(output[0, inputs.input_ids.shape[1]:], skip_special_tokens=False))

ๆจกๅž‹ๆƒ้‡ๅช็”Ÿๆˆๆ–‡ๆœฌ๏ผ›ๆœฌไป“ๅบ“ไธๆ˜ฏๅฏ็‹ฌ็ซ‹่ฟ่กŒ็š„ agent ไบงๅ“ใ€‚่ฆๅค็Žฐๅธฆๅทฅๅ…ท็š„่ฎพ็ฝฎ๏ผŒ่ฟ˜้œ€่ฆ็ป™ chat template ๆไพ› run_python(code, stdin) ็š„ๅ‡ฝๆ•ฐ schema๏ผŒๅนถ็”ฑๅค–้ƒจ harness ๆณจๅ†Œๅทฅๅ…ทใ€่งฃๆž่ฐƒ็”จใ€ๅœจ้š”็ฆปๆ‰ง่กŒๅ™จไธญ่ฟ่กŒใ€ๆŠŠๅทฅๅ…ทๅ“ๅบ”ไบคๅ›žๆจกๅž‹ใ€‚ๅ•็‹ฌ่ฐƒ็”จ generate() ไธไผš่‡ชๅŠจๅปบ็ซ‹ๅทฅๅ…ทๆ‰ง่กŒ็Žฏๅขƒ๏ผŒไนŸไธ็ญ‰ไปทไบŽๆœฌๅฎž้ชŒ็š„่ฏ„ๆต‹ๅ่ฎฎใ€‚

็›ฎๅ‰่ƒฝๆ”ฏๆŒ็š„็ป“่ฎบ

่ฟ™ๆฌก่ฟ่กŒ้ชŒ่ฏไบ† 4B ๆจกๅž‹ใ€8 ๅผ  A100 ไธŠ SC ไธŽ่‡ช็„ถๅผ‚ๆญฅไปฃ็ ไปปๅŠก้“พ่ทฏๅฏไปฅๅฎŒๆˆ 200 ๆญฅ่ฎญ็ปƒ๏ผŒๅนถ็•™ไธ‹ไบ†้€ๆญฅๆŒ‡ๆ ‡ใ€‚ๅทฒ่ฎฐๅฝ•ๅผ€ๅ‘้›†ๅ‡†็กฎ็އไปŽ็ฌฌ 25 ๆญฅ็š„ 36.72% ไธŠๅ‡่‡ณ็ฌฌ 200 ๆญฅ็š„ 50.78%ใ€‚็ฌฌ 25 ๆญฅไธๆ˜ฏๅˆๅง‹ๅŒ–ๅŸบ็บฟ๏ผšๆฒกๆœ‰ step-0 ่ฏ„ๆต‹๏ผŒๅ› ่€Œไธ่ƒฝๆฎๆญคๅฃฐ็งฐ็›ธๅฏนๅŸบ็ก€ๆจกๅž‹ๆๅ‡ไบ† 14.06 ไธช็™พๅˆ†็‚นใ€‚

ๆญคๅค–๏ผŒๆœฌๆฌกๆฒกๆœ‰ๅŒน้…่ฎก็ฎ—้ข„็ฎ—็š„ๆ—  SC ๅฏน็…งใ€ๆฒกๆœ‰ๅคš็งๅญ้‡ๅคใ€ๆฒกๆœ‰ๅค–้ƒจ benchmark ๆˆ็ปฉใ€‚ๅทฅๅ…ทไบคไบ’็จ€ๅฐ‘ไธ”ๅŽๆœŸๆถˆๅคฑ๏ผŒๅ“ๅบ”ๆˆชๆ–ญๆฏ”ไพ‹ไป้ซ˜ใ€‚่ฏฅๆฃ€ๆŸฅ็‚น้€‚ๅˆไฝœไธบๅŽ็ปญๅฏน็…งๅ’Œ่ฏŠๆ–ญ็š„่ตท็‚น๏ผŒๅฐšไธ่ถณไปฅๆ”ฏๆŒ็ฎ—ๆณ•ไผ˜ๅŠฟใ€้€š็”จ agent ่ƒฝๅŠ›ๆˆ–้•ฟ็จ‹่ฝฏไปถๅทฅ็จ‹่ƒฝๅŠ›็š„็ป“่ฎบใ€‚

็›ธๅ…ณๆฅๆบ

Downloads last month
32
Safetensors
Model size
4B params
Tensor type
BF16
ยท
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Palind/Qwen3-4B-SC-CodeAgent-200Steps

Finetuned
Qwen/Qwen3-4B
Finetuned
(1209)
this model

Dataset used to train Palind/Qwen3-4B-SC-CodeAgent-200Steps

Collection including Palind/Qwen3-4B-SC-CodeAgent-200Steps