Views
No views yet
git clone https://github.com/zjunlp/DataMind.gitcd DataMind/evalAnaconda.1conda create -n DataMind python=3.10
2conda activate DataMindpip install -r requirements.txttrain/datamind-da-dataset.jsondatamind_sft.yaml).1### model
2model_name_or_path: Qwen/Qwen2.5-7B-Instruct # Or Qwen/Qwen2.5-14B-Instruct
3
4### method
5stage: sft
6do_train: true
7finetuning_type: full
8deepspeed: examples/deepspeed/ds_z3_config.json
9flash_attn: fa2
10
11
12### dataset
13dataset: datamind-da-dataset
14template: qwen
15cutoff_len: 8192
16overwrite_cache: true
17preprocessing_num_workers: 16
18
19### output
20output_dir: checkpoints/your-model-name
21logging_steps: 1
22save_strategy: epoch
23plot_loss: true
24overwrite_output_dir: true
25report_to: none
26
27### train
28per_device_train_batch_size: 1
29gradient_accumulation_steps: 4
30learning_rate: 1.0e-5
31num_train_epochs: 3.0
32lr_scheduler_type: cosine
33warmup_ratio: 0.1
34bf16: true
35ddp_timeout: 180000000CUDA_VISIBLE_DEVICES=0,1,2,3 llama-factory-cli train datamind_sft.yamlNote:
- Ensure that your working directory is set to the
evalfolder in a virtual environment.- If you have more questions, feel free to open an issue with us.
- If you need to use local model, you need to deploy it according to (Optional)
local_model.sh.
data/QRData/benchmark/data/*.csv and data/DiscoveryBench/*.csv.bash script to download the dataset:bash download_eval_data.shconfig.yaml1api_key: your_api_key # your API key for the model with API service. No need for open-source models.
2data_root: /path/to/your/project/DataMind/eval/data # Root directory for data. (absolute path !!!)run_eval.sh1python do_generate.py \
2 --model_name DataMind-Qwen2.5-7B \ # Model name to use.
3 --check_model gpt-4o-mini \ # Check model to use.
4 --output results \ # Output directory path.
5 --dataset_name QRData \ # Dataset name to use, chosen from QRData, DiscoveryBench.
6 --max_round 25 \ # Maximum number of steps.
7 --api_port 8000 \ # API port number, it is necessary if the local model is used.
8 --bidx 0 \ # Begin index (inclusive), `None` indicates that there is no restriction.
9 --eidx None \ # End index (exclusive), `None` indicates that there is no restriction.
10 --temperature 0.0 \ # Temperature for sampling.
11 --top_p 1 \ # Top p for sampling.
12 --add_random False \ # Whether to add random files.local_model.sh1CUDA_VISIBLE_DEVICES=$i python -m vllm.entrypoints.openai.api_server \
2 --model $MODEL_PATH \ # Local model path.
3 --served-model-name $MODEL_NAME \ # The model name specified by you.
4 --tensor-parallel-size $i \ # Set the size of tensor parallel processing.
5 --port $port # API port number, which is consistent with the `api_port` above.bash local_model.shbash run_eval.sh1@article{zhu2025open,
2 title={Why Do Open-Source LLMs Struggle with Data Analysis? A Systematic Empirical Study},
3 author={Zhu, Yuqi and Zhong, Yi and Zhang, Jintian and Zhang, Ziheng and Qiao, Shuofei and Luo, Yujie and Du, Lun and Zheng, Da and Chen, Huajun and Zhang, Ningyu},
4 journal={arXiv preprint arXiv:2506.19794},
5 year={2025}
6}