modelscope / modelscope/ms-swift
Lora微调Qwen3-0.8B后使用swift deploy部署报错
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 1.7k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 136
Description
Checklist / 检查清单
- I have searched existing issues, and this is a new bug report. / 我已经搜索过现有的 issues,确认这是一个新的 bug report。
Bug Description / Bug 描述
使用以下命令启动服务,调用lora模型报错:
export CUDA_VISIBLE_DEVICES=0,1
swift deploy --port 8000 --served_model_name Qwen3.5 --adapters smoking=/data/train/models/Qwen/Qwen3.5-0.8B-Lora/smoking/v18-20260310-111827/checkpoint-30 --infer_backend transformers --temperature 0 --max_new_tokens 4096 --stream false --enable_thinking false
报错信息:
Exception in thread Thread-3 (_infer_worker):
Traceback (most recent call last):
File "/data/tools/anaconda3/envs/swift/lib/python3.12/threading.py", line 1075, in _bootstrap_inner
self.run()
File "/data/tools/anaconda3/envs/swift/lib/python3.12/threading.py", line 1012, in run
self._target(*self._args, **self._kwargs)
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/swift/infer_engine/transformers_engine.py", line 154, in _infer_worker
res_list_or_gen = self._infer(**kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 124, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/swift/infer_engine/transformers_engine.py", line 546, in _infer
res = infer_func(**kwargs)
^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/swift/infer_engine/transformers_engine.py", line 397, in _infer_full
output = dict(self.template.generate(self.model, **generate_kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/swift/template/base.py", line 666, in generate
return model.generate(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/peft/peft_model.py", line 2048, in generate
outputs = self.base_model.generate(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/utils/_contextlib.py", line 124, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/generation/utils.py", line 2668, in generate
result = decoding_method(
^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/generation/utils.py", line 2863, in _sample
outputs = self._prefill(input_ids, generation_config, model_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/generation/utils.py", line 3857, in _prefill
return self(**model_inputs, return_dict=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/accelerate/hooks.py", line 192, in new_forward
output = module._old_forward(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/utils/generic.py", line 841, in wrapper
output = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/models/qwen3_5/modeling_qwen3_5.py", line 1938, in forward
outputs = self.model(
^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/utils/generic.py", line 841, in wrapper
output = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/models/qwen3_5/modeling_qwen3_5.py", line 1663, in forward
image_outputs: BaseModelOutputWithPooling = self.get_image_features(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/utils/generic.py", line 841, in wrapper
output = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/models/qwen3_5/modeling_qwen3_5.py", line 1546, in get_image_features
vision_output: BaseModelOutputWithPooling = self.visual(
^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/accelerate/hooks.py", line 192, in new_forward
output = module._old_forward(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/utils/generic.py", line 915, in wrapper
output = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/utils/output_capturing.py", line 253, in wrapper
outputs = func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/models/qwen3_5/modeling_qwen3_5.py", line 1268, in forward
merged_hidden_states = self.merger(hidden_states)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1787, in _call_impl
return forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/accelerate/hooks.py", line 192, in new_forward
output = module._old_forward(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/transformers/models/qwen3_5/modeling_qwen3_5.py", line 959, in forward
x = self.linear_fc2(self.act_fn(self.linear_fc1(x)))
^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1776, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1882, in _call_impl
return inner()
^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/torch/nn/modules/module.py", line 1830, in inner
result = forward_call(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/peft/tuners/lora/layer.py", line 780, in forward
self._check_forward_args(x, *args, **kwargs)
File "/data/tools/anaconda3/envs/swift/lib/python3.12/site-packages/peft/tuners/lora/layer.py", line 526, in _check_forward_args
raise ValueError(msg)
ValueError: Length of adapter_names should be the same as the number of inputs, but got 1 and 368 respectively.
How to Reproduce / 如何复现
export CUDA_VISIBLE_DEVICES=0,1
swift deploy --port 8000 --served_model_name Qwen3.5 --adapters smoking=/data/train/models/Qwen/Qwen3.5-0.8B-Lora/smoking/v18-20260310-111827/checkpoint-30 --infer_backend transformers --temperature 0 --max_new_tokens 4096 --stream false --enable_thinking false
Additional Information / 补充信息
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with swift/infer_engine/transformers_engine.py, especially _infer_worker and _infer_full, then inspect the PEFT adapter_names error in the traceback. Re-run the supplied swift deploy command with the Qwen3.5 LoRA adapter; done means deployment can serve requests without the adapter_names length exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, pytorch
- Domain
- backend, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100