modelscope / modelscope/ms-swift

sft微调qwen3.5 构造自己的VQA数据集jsonl ,报错An error occurred while generating the dataset

Open
#8,326 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug stale
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 描述
Image Image
[INFO:swift] default_system: None
[INFO:swift] max_length: 2048
[INFO:swift] response_prefix: '<think>\n'
[INFO:swift] agent_template: qwen3_5
[INFO:swift] norm_bbox: norm1000
[INFO:swift] Setting ROOT_IMAGE_DIR: None. You can adjust this hyperparameter through the environment variable: `ROOT_IMAGE_DIR`.
[INFO:swift] Setting QWENVL_BBOX_FORMAT: legacy. You can adjust this hyperparameter through the environment variable: `QWENVL_BBOX_FORMAT`.
[INFO:swift] Start time of running main: 2026-03-13 17:15:58.510713
[INFO:swift] swift.__version__: 4.1.0.dev0
[INFO:swift] SelfCognitionPreprocessor has been successfully configured with name: ('swift-robot', 'swift-robot'), author: ('swift', 'swift').
Setting num_proc from 4 back to 1 for the train split to disable multiprocessing as it only contains one shard.

Generating train split: 0 examples [00:00, ? examples/s]Failed to load JSON from file '/appdata/zhangkailin/Qwen2.5-VL/data_process_genn/process/result/safety_vqa_data_v6_1223_50.json_swift0313.jsonl' with error <class 'pyarrow.lib.ArrowInvalid'>: JSON parse error: Column(/messages/[]/content) changed from string to object in row 0

Generating train split: 0 examples [00:00, ? examples/s]
[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/packaged_modules/json/json.py", line 160, in _generate_tables
[rank0]:     df = pandas_read_json(f)
[rank0]:          ^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/packaged_modules/json/json.py", line 38, in pandas_read_json
[rank0]:     return pd.read_json(path_or_buf, **kwargs)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/pandas/io/json/_json.py", line 815, in read_json
[rank0]:     return json_reader.read()
[rank0]:            ^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/pandas/io/json/_json.py", line 1014, in read
[rank0]:     obj = self._get_object_parser(self.data)
[rank0]:           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/pandas/io/json/_json.py", line 1040, in _get_object_parser
[rank0]:     obj = FrameParser(json, **kwargs).parse()
[rank0]:           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/pandas/io/json/_json.py", line 1176, in parse
[rank0]:     self._parse()
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/pandas/io/json/_json.py", line 1392, in _parse
[rank0]:     ujson_loads(json, precise_float=self.precise_float), dtype=None
[rank0]:     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]: ValueError: Trailing data

[rank0]: During handling of the above exception, another exception occurred:

[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/builder.py", line 1855, in _prepare_split_single
[rank0]:     for _, table in generator:
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/packaged_modules/json/json.py", line 163, in _generate_tables
[rank0]:     raise e
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/packaged_modules/json/json.py", line 137, in _generate_tables
[rank0]:     pa_table = paj.read_json(
[rank0]:                ^^^^^^^^^^^^^^
[rank0]:   File "pyarrow/_json.pyx", line 342, in pyarrow._json.read_json
[rank0]:   File "pyarrow/error.pxi", line 155, in pyarrow.lib.pyarrow_internal_check_status
[rank0]:   File "pyarrow/error.pxi", line 92, in pyarrow.lib.check_status
[rank0]: pyarrow.lib.ArrowInvalid: JSON parse error: Column(/messages/[]/content) changed from string to object in row 0

[rank0]: The above exception was the direct cause of the following exception:

[rank0]: Traceback (most recent call last):
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/cli/sft.py", line 20, in <module>
[rank0]:     sft_main()
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/pipelines/train/sft.py", line 354, in sft_main
[rank0]:     return SwiftSft(args).main()
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/pipelines/base.py", line 52, in main
[rank0]:     result = self.run()
[rank0]:              ^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/ray/base.py", line 168, in wrapper
[rank0]:     return func(self, *args, **kwargs)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/pipelines/train/sft.py", line 174, in run
[rank0]:     train_dataset, val_dataset = self._prepare_dataset()
[rank0]:                                  ^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/ray/base.py", line 168, in wrapper
[rank0]:     return func(self, *args, **kwargs)
[rank0]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/pipelines/train/sft.py", line 120, in _prepare_dataset
[rank0]:     train_dataset, val_dataset = self._get_dataset()
[rank0]:                                  ^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/pipelines/train/sft.py", line 84, in _get_dataset
[rank0]:     train_dataset, val_dataset = load_dataset(
[rank0]:                                  ^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/dataset/loader.py", line 327, in load_dataset
[rank0]:     train_dataset = loader.load(dataset_syntax, dataset_meta, use_hf=use_hf)
[rank0]:                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/dataset/loader.py", line 159, in load
[rank0]:     dataset = self._load_dataset_path(
[rank0]:               ^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/appdata/zhangkailin/ms-swift-new/swift/dataset/loader.py", line 55, in _load_dataset_path
[rank0]:     dataset = hf_load_dataset(file_type, data_files=dataset_path, **kwargs)
[rank0]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/load.py", line 2084, in load_dataset
[rank0]:     builder_instance.download_and_prepare(
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/builder.py", line 925, in download_and_prepare
[rank0]:     self._download_and_prepare(
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/builder.py", line 1001, in _download_and_prepare
[rank0]:     self._prepare_split(split_generator, **prepare_split_kwargs)
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/builder.py", line 1742, in _prepare_split
[rank0]:     for job_id, done, content in self._prepare_split_single(
[rank0]:   File "/home/zhangkailin/.conda/envs/swift3/lib/python3.12/site-packages/datasets/builder.py", line 1898, in _prepare_split_single
[rank0]:     raise DatasetGenerationError("An error occurred while generating the dataset") from e
[rank0]: datasets.exceptions.DatasetGenerationError: An error occurred while generating the dataset
[rank0]:[W313 17:16:00.670177029 ProcessGroupNCCL.cpp:1553] Warning: WARNING: destroy_process_group() was not called before program exit, which can leak resources. For more info, please see https://pytorch.org/docs/stable/distributed.html#shutdown (function operator())

How to Reproduce / 如何复现

latex-ocr 开源数据集没问题,自己构造的vqa报错,参考https://swift.readthedocs.io/zh-cn/latest/Customization/Custom-dataset.html

Additional Information / 补充信息

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the custom JSONL file and compare its messages/content structure with the Custom dataset documentation. Then trace dataset loading through swift/dataset/loader.py and the sft.py entry point, using the reported ArrowInvalid error as the first check. Done means the supplied VQA JSONL loads as a train split without DatasetGenerationError.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data, machine-learning
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.