Closed
Description
我想使用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
Labels
No labels