Skip to content

use local llm train ,acc is 0 #28

Closed

Description

"When running train.py with both local models and Alibaba Cloud models, no real training is taking place."
Image

Activity

  1. qq594495953 commented on Jun 1, 2026

    @qq594495953

    我也是,不确定是不是API调用的问题

  2. raytrun commented on Jun 1, 2026

    @raytrun
    Contributor

    Thanks for bringing this to our attention!

    An acc=0.000 across all rollouts typically suggests an infrastructure or format parsing mismatch rather than the model completely lacking the capability to solve the tasks.

    To help us narrow down the root cause, could you provide a bit more context?

    1. Information Needed

    • Your Training Config: Please share the YAML file passed to train.py.
    • Benchmark & Data: Which benchmark are you evaluating??
    • Raw Model Outputs: A snippet of the raw trajectory logs (under outputs/ or via --verbose) showing exactly what the target model generated for a few cn_item_* tasks.

    2. Common Pitfalls with Local/Qwen Models

    If you are running a local model deployment, this issue usually stems from one of the following:

    1. Prompt/Chat Template Mismatch: The evaluator might expect a strict format (e.g., JSON or specific delimiters). Local wrappers or chat templates sometimes append extra tokens or free-form reasoning text that breaks the parser.
    2. API Response Schema: If using an OpenAI-compatible endpoint (e.g., vLLM, Ollama, Xinference), ensure the returned JSON payload strictly adheres to the standard choices[0].message.content format expected by SkillOpt's backend.
  3. lemon-ya-ha commented on Jun 2, 2026

    @lemon-ya-ha
    Author
    1. path: configs/searchqa/default.yaml
      default.yaml

    2. benchmark: searchqa
      data images show

    Image

    train.json

    test.json

    sel.json

    3.outputs

    skillopt_searchqa_Qwen-Qwen35-27B_20260602_085947.zip

    1. local llm config
      export QWEN_CHAT_BASE_URL=http://192.168.2.24:9999/v1/chat/completions
      export QWEN_CHAT_MODEL=Qwen/Qwen35-27B
    Image
    1. run train.py

    python scripts/train.py
    --config configs/searchqa/default.yaml
    --split_dir *******/SkillOpt/data/searchqa_text
    --qwen_chat_base_url http://192.168.2.24:9999/v1/chat/completions
    --optimizer_model Qwen/Qwen35-27B
    --target_model Qwen/Qwen35-27B

  4. lemon-ya-ha commented on Jun 3, 2026

    @lemon-ya-ha
    Author

    Thanks for bringing this to our attention!

    An acc=0.000 across all rollouts typically suggests an infrastructure or format parsing mismatch rather than the model completely lacking the capability to solve the tasks.

    To help us narrow down the root cause, could you provide a bit more context?

    1. Information Needed

    • Your Training Config: Please share the YAML file passed to train.py.
    • Benchmark & Data: Which benchmark are you evaluating??
    • Raw Model Outputs: A snippet of the raw trajectory logs (under outputs/ or via --verbose) showing exactly what the target model generated for a few cn_item_* tasks.

    2. Common Pitfalls with Local/Qwen Models

    If you are running a local model deployment, this issue usually stems from one of the following:

    1. Prompt/Chat Template Mismatch: The evaluator might expect a strict format (e.g., JSON or specific delimiters). Local wrappers or chat templates sometimes append extra tokens or free-form reasoning text that breaks the parser.
    2. API Response Schema: If using an OpenAI-compatible endpoint (e.g., vLLM, Ollama, Xinference), ensure the returned JSON payload strictly adheres to the standard choices[0].message.content format expected by SkillOpt's backend.

    I have submitted the relevant attachments.

  5. mvanhorn commented on Jun 7, 2026

    @mvanhorn
    Contributor

    Opened #40 for the acc=0 case on local vLLM targets: the router wasn't forwarding timeout to the Qwen backend, and enable_thinking was injected unconditionally (non-Qwen servers then emit <think> output with no <answer> tag). The PR forwards the timeout and only sets enable_thinking when enabled.

  6. added a commit that references this issue on Jun 7, 2026
    c31c50b
  7. added a commit that references this issue on Aug 20, 2026
    601f5f7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions