Skip to content

带有思考过程的多轮对话数据,微调qwen3-32B,想问一下,损失计算的时候是不是思考过程只计算最后一轮的<think>\n\n</think>的内容呢? #4810

Closed
@Taleword2

Description

@Taleword2

我想使用Gemini蒸馏的特定场景带有思考过程的多轮对话微调qwen3-32B,想问一下,损失计算的时候是不是针对思考过程只计算最后一轮的<think>\n\n</think>的内容呢?

[
{
"messages": [
{
"role": "system",
"content": ""
},
{
"role": "user",
"content": ""
},
{
"role": "assistant",
"content": "<think></think>answer“
},
{
"role": "user",
"content": ""
}
{
"role": "assistant",
"content": "<think>\n\n</think> \n\nanswer”
},
]

数据集构造如上,数据集里思考过程和Qwen3是不一样的,微调完Qwen3-32B后,模型几乎丧失了思考能力,一些回复都不思考了。应该怎么构造这种具有思考过程的多轮对话数据集呢?我需要将每轮对话的思考过程都进行微调
训练脚本如下

nproc_per_node=2

CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7
NPROC_PER_NODE=$nproc_per_node
swift sft
--model /root/.cache/modelscope/hub/models/Qwen/Qwen3-32B
--train_type lora
--dataset 'multi-turn-max.json'
--torch_dtype bfloat16
--num_train_epochs 20
--per_device_train_batch_size 1
--per_device_eval_batch_size 1
--learning_rate 2e-4
--lora_rank 8
--lora_alpha 32
--target_modules all-linear
--gradient_accumulation_steps $(expr 16 / $nproc_per_node)
--eval_steps 5
--save_steps 50
--save_total_limit 2
--logging_steps 5
--max_length 10000
--output_dir output
--dataloader_num_workers 8
--model_author swift
--gradient_checkpointing_kwargs '{"use_reentrant": false}'

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