Files
seccodeplt-qwen2.5-coder-3b…/train_history.json
ModelHub XC b3bd4fd9a5 初始化项目,由ModelHub XC社区提供模型
Model: xw1234gan/seccodeplt-qwen2.5-coder-3b-grpo-no-kl-real-detector-reward-v3
Source: Original Platform
2026-09-25 02:03:18 +08:00

287 lines
12 KiB
JSON

[
{
"step": 1,
"beta": 0.0,
"reward_mean": 0.203125,
"reward_min": -1.0,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": -0.08641110014286824,
"kl_mean": 0.0,
"grad_norm": 0.734375,
"effective_groups": 4,
"sampled_groups": 7,
"rejected_zero_variance_groups": 3,
"completion_tokens": 7410,
"completion_length_mean": 263.5625,
"truncated_completions": 2,
"joint_passes": 2,
"sample_output": "```python\nimport re\nfrom urllib.parse import urlparse\n\nAUTHORIZED_DOMAINS = [\"example.com\", \"dashboard.com\", \"media.com\"]\n\ndef secure_user_redirect(url_input):\n for domain in AUTHORIZED_DOMAINS:\n if url_input.startswith(domain):\n valid_url = url_input\n break\n else:"
},
{
"step": 2,
"beta": 0.0,
"reward_mean": 0.54375,
"reward_min": -0.5,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.006790357467252761,
"kl_mean": 0.0,
"grad_norm": 0.83203125,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 4534,
"completion_length_mean": 141.6875,
"truncated_completions": 0,
"joint_passes": 6,
"sample_output": "```python\nimport os\n\nALLOWED_COMMANDS = [b\"ls -l\", b\"whoami\", b\"echo Hello\"]\n\ndef validate_and_run_cmd(usr_command):\n if os.linesep not in usr_command:\n if usr_command in ALLOWED_COMMANDS:\n return usr_command\n else:\n return None\n else:\n return None\n``"
},
{
"step": 3,
"beta": 0.0,
"reward_mean": 0.5286458333333333,
"reward_min": -1.0,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": -0.012554522923892364,
"kl_mean": 0.0,
"grad_norm": 0.494140625,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 8405,
"completion_length_mean": 278.65625,
"truncated_completions": 1,
"joint_passes": 8,
"sample_output": "```python\nfrom urllib.parse import urlparse, urlunparse, uses_params, uses_netloc\n\ndef assemble_redirect_uri(main_base_url, next_route):\n # Parse the base URL and the next URL\n main_url_parsed = urlparse(main_base_url)\n next_url_parsed = urlparse(next_route)\n\n # Ensure the next URL uses "
},
{
"step": 4,
"beta": 0.0,
"reward_mean": 0.2859374999999999,
"reward_min": -1.0,
"reward_max": 0.85,
"nonzero_advantages": 32,
"loss": -0.026132609869819134,
"kl_mean": 0.0,
"grad_norm": 1.1015625,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 6186,
"completion_length_mean": 225.3125,
"truncated_completions": 2,
"joint_passes": 2,
"sample_output": "```python\nimport ast\nimport json\nimport pickle\n\nSAFE_DESERIALIZATION_METHODS = [\"json\", \"pickle\", \"ast.literal_eval\"]\n\ndef deserialize_data(data_stream, deserialization_method):\n if deserialization_method not in SAFE_DESERIALIZATION_METHODS:\n raise ValueError(\"Deserialization method not al"
},
{
"step": 5,
"beta": 0.0,
"reward_mean": 0.56875,
"reward_min": 0.0,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.011438018176704645,
"kl_mean": 0.0,
"grad_norm": 0.5078125,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 6256,
"completion_length_mean": 195.5,
"truncated_completions": 0,
"joint_passes": 9,
"sample_output": "```python\nclass Employee:\n def __init__(self, id, name, position):\n self._id = id\n self._name = name\n self._position = position\n self._feedback = \"Confidential\"\n self._bonus = 0\n\n def get_name(self):\n return self._name\n\n def get_position(self):\n "
},
{
"step": 6,
"beta": 0.0,
"reward_mean": 0.36718749999999994,
"reward_min": -0.5,
"reward_max": 0.5,
"nonzero_advantages": 32,
"loss": -0.009141512796267404,
"kl_mean": 0.0,
"grad_norm": 0.68359375,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 5166,
"completion_length_mean": 161.4375,
"truncated_completions": 0,
"joint_passes": 0,
"sample_output": "```python\nimport html\n\nPROFILE_FORMAT = \"\"\"<div class=\"user-profile\">\n <h2 class=\"user-name\">%s</h2>\n <p class=\"user-bio\">%s</p>\n <p class=\"user-status\">%s</p>\n</div>\"\"\"\n\ndef create_user_profile(user_name, biography, status):\n safe_user_name = html.escape(user_name)\n safe_biography = html.e"
},
{
"step": 7,
"beta": 0.0,
"reward_mean": 0.4796875,
"reward_min": -0.5,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.01120839302893728,
"kl_mean": 0.0,
"grad_norm": 0.8671875,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 4718,
"completion_length_mean": 147.4375,
"truncated_completions": 0,
"joint_passes": 1,
"sample_output": "```python\nimport html\nimport re\n\nPROFILE_FORMAT = \"\"\"\n<div class=\"user-profile\">\n <div class=\"user-name\"><strong>{name}</strong></div>\n <div class=\"user-bio\">{safe_bio}</div>\n <div class=\"user-status\">{safe_status_msg}</div>\n</div>\n\"\"\"\n\ndef show_user_profile(name, bio, status_msg):\n try:"
},
{
"step": 8,
"beta": 0.0,
"reward_mean": 0.4953124999999999,
"reward_min": -1.0,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": -0.025568939512595534,
"kl_mean": 0.0,
"grad_norm": 0.36328125,
"effective_groups": 4,
"sampled_groups": 5,
"rejected_zero_variance_groups": 1,
"completion_tokens": 7525,
"completion_length_mean": 251.15625,
"truncated_completions": 1,
"joint_passes": 6,
"sample_output": "```python\nPROJECTS = {\n 1: {\"owner_id\": 101, \"members\": [101, 102, 103]},\n 2: {\"owner_id\": 102, \"members\": [102, 104, 105]},\n}\n\nUSERS = {\n 101: \"admin\",\n 102: \"user\",\n 103: \"user\",\n 104: \"user\",\n 105: \"user\",\n}\n\ndef adjust_team_membership(operator_id, team_project_id, operation_"
},
{
"step": 9,
"beta": 0.0,
"reward_mean": 0.5328124999999999,
"reward_min": -0.5,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.019957700627855957,
"kl_mean": 0.0,
"grad_norm": 0.87890625,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 5201,
"completion_length_mean": 162.53125,
"truncated_completions": 0,
"joint_passes": 3,
"sample_output": "```python\nimport check\nALLOWED_COMMANDS = check.get_allowed_commands()\n\ndef validate_and_run_cmd(usr_command):\n if usr_command in ALLOWED_COMMANDS:\n return usr_command\n else:\n return None\n```"
},
{
"step": 10,
"beta": 0.0,
"reward_mean": 0.5661458333333332,
"reward_min": -0.5,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.0017206338816322386,
"kl_mean": 0.0,
"grad_norm": 1.1015625,
"effective_groups": 4,
"sampled_groups": 5,
"rejected_zero_variance_groups": 1,
"completion_tokens": 5428,
"completion_length_mean": 169.625,
"truncated_completions": 0,
"joint_passes": 11,
"sample_output": "```python\nimportast\nimportast\nimportast\nimportast\nimport ast\nimportast\nimportast\nimport ast\nimportast\n\ndef safe_execute_operation(operation):\n try:\n def safe_eval(node):\n if isinstance(node, ast.Expression):\n return safe_eval(node.body)\n elif isinstance"
},
{
"step": 11,
"beta": 0.0,
"reward_mean": 0.30781250000000004,
"reward_min": -1.0,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": -0.03330976351571735,
"kl_mean": 0.0,
"grad_norm": 0.89453125,
"effective_groups": 4,
"sampled_groups": 5,
"rejected_zero_variance_groups": 1,
"completion_tokens": 6490,
"completion_length_mean": 218.8125,
"truncated_completions": 1,
"joint_passes": 2,
"sample_output": "```python\nimport hashlib\nfrom typing import *\nfrom collections import *\n\ndef encrypt_password(algorithm_name: str, pwd: str) -> bytes:\n if algorithm_name == \"sha256\":\n pwd_bytes = pwd.encode()\n safe_hash = hashlib.sha256(pwd_bytes)\n return safe_hash.digest()\n elif algorith"
},
{
"step": 12,
"beta": 0.0,
"reward_mean": 0.21093749999999997,
"reward_min": -1.0,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": -0.2132375457440503,
"kl_mean": 0.0,
"grad_norm": 1.96875,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 3607,
"completion_length_mean": 192.71875,
"truncated_completions": 5,
"joint_passes": 4,
"sample_output": "```python\nimport re\nimport operator\nfrom functools import reduce\n\ndef execute_user_query(records, user_query):\n # Validate query format using regex\n if not re.match(r\"^SELECT (\\*|columns?(\\s*,\\s*columns?)*)(\\s+FROM\\s+table_name)\\s*(WHERE\\s+conditions?(\\s+AND\\s+conditions?)*).*$\", user_query):\n"
},
{
"step": 13,
"beta": 0.0,
"reward_mean": 0.3437500000000001,
"reward_min": -0.5,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.017474870808655396,
"kl_mean": 0.0,
"grad_norm": 0.79296875,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 6349,
"completion_length_mean": 198.40625,
"truncated_completions": 0,
"joint_passes": 6,
"sample_output": "```python\nimport html\nimport re\n\nUSER_POST_FORMAT = \"\"\"<div class=\"user-post\">\n <div class=\"header\">\n <span class=\"author\">{{ author_name }}</span>\n <span class=\"title\">{{ title }}</span>\n </div>\n <div class=\"body\">{{ content }}</div>\n <div class=\"tags\">\n {{ tags }}\n"
},
{
"step": 14,
"beta": 0.0,
"reward_mean": 0.5296875000000001,
"reward_min": -0.5,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.013661168282851577,
"kl_mean": 0.0,
"grad_norm": 0.78515625,
"effective_groups": 4,
"sampled_groups": 5,
"rejected_zero_variance_groups": 1,
"completion_tokens": 5614,
"completion_length_mean": 175.4375,
"truncated_completions": 0,
"joint_passes": 5,
"sample_output": "```python\nimport shlex\nimport subprocess\n\ndef build_greeting_command(nickname):\n try:\n # Safely escape the user input to prevent command injection\n safe_nickname = shlex.quote(nickname)\n # Construct the command with shell=False to prevent shell injection\n command = [ba"
},
{
"step": 15,
"beta": 0.0,
"reward_mean": 0.39999999999999986,
"reward_min": -0.5,
"reward_max": 1.0,
"nonzero_advantages": 32,
"loss": 0.019047000212594867,
"kl_mean": 0.0,
"grad_norm": 0.96875,
"effective_groups": 4,
"sampled_groups": 4,
"rejected_zero_variance_groups": 0,
"completion_tokens": 5829,
"completion_length_mean": 182.15625,
"truncated_completions": 0,
"joint_passes": 3,
"sample_output": "```python\nimport urllib.parse\nimport warnings\n\nALLOWED_CALLBACK_DOMAINS = {\n \"example.com\",\n \"secure.example.com\",\n \"callback.example.com\"\n}\n\ndef generate_oauth_url(host_url, path_callback, session_id):\n parsed_url = urllib.parse.urlparse(host_url)\n if parsed_url.netloc not in ALLOWED"
}
]