RUCKBReasoning / codes

The source code of CodeS (SIGMOD 2024).
https://arxiv.org/abs/2402.16347
Apache License 2.0
140 stars 21 forks source link

codes-7b-bird 测试结果 #14

Closed dshwei closed 6 months ago

dshwei commented 7 months ago

您好,很感谢您的开源项目,使用您提供的seeklhy/codes-7b-bird, 在bird-dev 中进行测试得分只有: 26.73 企业微信截图_17138707298025

和您那边的得分差别很大,bird 榜单上得分结果是: 企业微信截图_17138708253143

请问这里有什么差别吗? 推理过程按照您提供的执行脚本执行

lihaoyang-ruc commented 7 months ago
  1. 请问您使用的是我们提供的推理脚本run_sft_evaluations.sh中的cmds进行的推理吗?如果不是,请使用这些cmds进行推理:
# --------------- BIRD dev --------------- #
# SFT CodeS-7B on BIRD's training set
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-7b-bird --sic_path ./sic_ckpts/sic_bird --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# --------------- BIRD dev w/ EK --------------- #
# SFT CodeS-7B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-7b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256
  1. 推理过程中会涉及schema linking,详见text2sql_zero_shot.py及其相关文件。
dshwei commented 7 months ago
  1. 请问您使用的是我们提供的推理脚本run_sft_evaluations.sh中的cmds进行的推理吗?如果不是,请使用这些cmds进行推理:
# --------------- BIRD dev --------------- #
# SFT CodeS-7B on BIRD's training set
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-7b-bird --sic_path ./sic_ckpts/sic_bird --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# --------------- BIRD dev w/ EK --------------- #
# SFT CodeS-7B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-7b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256
  1. 推理过程中会涉及schema linking,详见text2sql_zero_shot.py及其相关文件。

我下载的是 codes-7b-bird 模型 使用的运行脚本和run_sft_evaluations.sh 中提供的一样:

CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-7b-bird --sic_path ./sic_ckpts/sic_bird --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

lihaoyang-ruc commented 6 months ago

能把你的推理生成的结果文件发出来吗?

dshwei commented 6 months ago

执行脚本 srun --jobid $SLURM_JOBID bash -c ' source /demo/miniconda3/bin/activate && \ conda activate /demo/miniconda3/envs/sqlcode && \ cd /demo/project/CodeS/codes && \ python text2sql_zero_shot.py \ --llm_path seeklhy/codes-7b-bird \ --sic_path /demo/project/datasets/codes/sic_ckpts/sic_bird \ --table_num 6 \ --column_num 10 \ --dataset_path /demo/project/datasets/codes/data/sft_bird_dev_text2sql.json \ --max_tokens 4096 \ --max_new_tokens 256 \ '

使用的是slurm命令 text2sql_zero_shot.py 脚本是您代码中的脚本。 sic_path 路径是我下载您提供的sic模型, llm_path 中的seeklhy/codes-7b-bird是hangingface 中的model ID ,直接从hanggingface 在线下载

这个附件是执行的日志文件,

sql_gene_codes.txt

dshwei commented 6 months ago

我本地测试了code-51b-bird 这个模型,在bird-dev数据上的评分如下: 企业微信截图_17139239896050

您公布在在bird -sql 榜单上的评分是: 企业微信截图_171392407958

模型评估得分无法复现,运行codes-15b-bird 的脚本如下: srun --jobid $SLURM_JOBID bash -c ' source /demo/miniconda3/bin/activate && \ conda activate /demo/miniconda3/envs/sqlcode && \ cd /demo/project/NL2SQL/CodeS/codes && \ python text2sql_zero_shot.py \ --llm_path seeklhy/codes-15b-bird \ --sic_path /demo/datasets/codes/sic_ckpts/sic_bird \ --table_num 6 \ --column_num 10 \ --dataset_path /demo/datasets/codes/data/sft_bird_dev_text2sql.json \ --max_tokens 4096 \ --max_new_tokens 256 \ '

lihaoyang-ruc commented 6 months ago

您跑的是在没有使用external knowledge的模型,我们榜单上提交的是使用了external knowledge的模型。我们在论文中同时report了这两个settings下的性能,他们二者差距会比较大,因为external knowledge提供了很多额外信息。

image

如果想复现我们在榜单上的效果(也即使用了external knowledge),请参考run_sft_evaluations.sh给出的命令行:

# --------------- BIRD dev w/ EK --------------- #
# SFT CodeS-1B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-1b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# SFT CodeS-3B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-3b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# SFT CodeS-7B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-7b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# SFT CodeS-15B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-15b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256
dshwei commented 6 months ago

您跑的是在没有使用external knowledge的模型,我们榜单上提交的是使用了external knowledge的模型。我们在论文中同时report了这两个settings下的性能,他们二者差距会比较大,因为external knowledge提供了很多额外信息。 image

如果想复现我们在榜单上的效果(也即使用了external knowledge),请参考run_sft_evaluations.sh给出的命令行:

# --------------- BIRD dev w/ EK --------------- #
# SFT CodeS-1B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-1b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# SFT CodeS-3B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-3b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# SFT CodeS-7B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-7b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

# SFT CodeS-15B on BIRD's training set (w/ EK)
CUDA_VISIBLE_DEVICES=0 python -u text2sql_zero_shot.py --llm_path seeklhy/codes-15b-bird-with-evidence --sic_path ./sic_ckpts/sic_bird_with_evidence --table_num 6 --column_num 10 --dataset_path ./data/sft_bird_with_evidence_dev_text2sql.json --max_tokens 4096 --max_new_tokens 256

我在codes-7b-bird-evidence 版本测试 bird-dev 的结果是: 企业微信截图_17139376461360 和您bird榜单上的得分很接近了。 企业微信截图_17139376837993

非常感谢您的开源项目,提供了一个很好的参考方向和思路。 论文写的也非常清楚详细

lihaoyang-ruc commented 6 months ago

谢谢😊