中文|英语

这是Alpaca-CoT项目的存储库,旨在构建具有广泛指令收集(尤其是COT数据集)的指令列式(IFT)平台,以及用于各种大型语言模型和参数效率方法的统一接口。我们正在不断扩展我们的指令调整数据收集,并集成更多的LLM和更多参数有效的方法。此外,我们创建了一个新的分支tabular_llm来构建用于求解表智能任务的表格LLM。
热情欢迎您为我们提供任何未收集的指令数据集(或其来源)。我们将使用这些数据集统一地格式化它们,训练羊驼模型(以及其他LLM),开源模型检查点并进行广泛的经验研究。我们希望我们的项目可以为大型语言模型的开源过程做出适度的贡献,并减少NLP研究人员入门的阈值。

如果您想使用Lora以外的其他方法,请在我们的Project pip install -e ./peft中安装编辑版本。
12.8:LLM InternLM合并。
8.16: 4bit quantization可用于lora , qlora和adalora 。
8.16:合并了参数效率方法Qlora , Sequential adapter和Parallel adapter 。
7.24:合并了LLM ChatGLM v2 。
7.20:合并了LLM Baichuan 。
6.25:添加模型评估代码,包括Belle和MMCU。
GPT4Tools , Auto CoT , pCLUE 。tabular_llm来构建表格LLM。我们收集指令微调数据,以用于与表相关的任务(例如表问题回答),并使用它们来微调此存储库中的LLMS。MOSS合并。GAOKAO , camel , FLAN-Muffin , COIG 。webGPT , dolly , baize , hh-rlhf , OIG(part) 。multi-turn conversation 。firefly , instruct , Code Alpaca ,可以在此处找到。Parameter merging , Local chatting , Batch predicting和Web service building 。GPTeacher , Guanaco , HC3 , prosocial-dialog , belle-chat&belle-math , xP3和natural-instructions被收集和格式化。CoT_CN_data.json可以在此处找到。 
Llama [1]是一部出色的作品,展示了惊人的零击和几乎没有射击的能力。它大大降低了培训,填充和使用竞争性的大语言模型的成本,即,Llama-13b的表现优于GPT-3(175b)(175b)和Llama-65B与Palm-540B具有竞争力。最近,为了提高Llama的指导跟踪能力,Stanford羊驼[2]在52K指令的数据中,由自我教学[3]技术生成的52K指令数据。但是,目前,LLM研究社区仍然面临三个挑战:1。即使是Llama-7b仍然对计算资源也有很高的要求。 2。几乎没有用于指令登录的开源数据集;和3。缺乏关于各种教学对模型能力的影响的实证研究,例如对中国教学和COT推理做出反应的能力。
为此,我们提出了这个项目,该项目利用了随后提出的各种改进,并具有以下优势:
7b , 13b和30b版本的Llama型号可以轻松在单个80G A100上进行训练。据我们所知,这项工作是第一个研究基于Llama和羊驼的COT推理的工作。因此,我们将我们的工作缩写为Alpaca-CoT 。
该图可以显示收集数据集的相对大小:

参考此(@yaodongc),我们根据以下规则标记了每个收集的数据集:
(lang)舌形标签:
(任务)任务标签:
(gen)生成方法:
| 数据集 | 数字 | 朗 | 任务 | Gen | 类型 | src | URL |
|---|---|---|---|---|---|---|---|
| 思想链 | 74771 | en/cn | 公吨 | HG | 指导COT推理 | 在现有数据上注释COT | 下载 |
| GPT4ALL | 806199 | en | 公吨 | 上校 | 代码,故事和对话 | 从GPT-3.5-Turbo蒸馏 | 下载 |
| GPTEACHER | 29013 | en | 公吨 | SI | 一般,角色扮演,工具形式 | GPT-4和工具形式 | 下载 |
| 瓜纳科 | 534610 | ML | 公吨 | SI | 各种语言任务 | text-davinci-003 | 下载 |
| HC3 | 37175 | en/cn | TS | 混合 | 对话评估 | 人类或chatgpt | 下载 |
| 羊驼 | 52002 | en | 公吨 | SI | 一般指导 | text-davinci-003 | 下载 |
| 自然说明 | 5040134 | ML | 公吨 | 上校 | 不同的NLP任务 | 人类注释的数据集收集 | 下载 |
| belle_cn | 1079517 | CN | TS/MT | SI | 一般,数学推理,对话 | text-davinci-003 | 下载 |
| Instinwild | 52191 | en/cn | 公吨 | SI | 一代,开放QA,心态 | text-davinci-003 | 下载 |
| 亲社会对话 | 165681 | en | TS | 混合 | 对话 | GPT-3重写问题 +人手动反馈 | 下载 |
| finance_en | 68912 | en | TS | 上校 | 财务相关质量检查 | GPT3.5 | 下载 |
| XP3 | 78883588 | ML | 公吨 | 上校 | 跨46种语言和16个NLP任务的提示和数据集集合 | 人类注释的数据集收集 | 下载 |
| 萤火虫 | 1649398 | CN | 公吨 | 上校 | 23 NLP任务 | 人类注释的数据集收集 | 下载 |
| 指示 | 888969 | en | 公吨 | 上校 | 增强GPT4ALL,羊驼,开源元数据集 | 使用Allenai提供的高级NLP工具进行的增强 | 下载 |
| 代码羊驼 | 20022 | en | TS | SI | 代码生成,编辑,优化 | text-davinci-003 | 下载 |
| 羊Alpaca_gpt4 | 52002 | en/cn | 公吨 | SI | 一般指导 | 由GPT-4使用羊驼生成 | 下载 |
| webgpt | 18994 | en | TS | 混合 | 信息检索(IR)质量检查 | 微调的GPT-3,每个说明都有两个输出,选择一个更好的一个 | 下载 |
| 多莉2.0 | 15015 | en | TS | HG | 封闭的QA,摘要等,Wikipedia作为参考 | 人类注释 | 下载 |
| baize | 653699 | en | 公吨 | 上校 | 羊驼,Quora,Stackoverflow和Medquad问题的收藏 | 人类注释的数据集收集 | 下载 |
| HH-RLHF | 284517 | en | TS | 混合 | 对话 | 人与RLHF模型之间的对话 | 下载 |
| OIG(部分) | 49237 | en | 公吨 | 上校 | 由各种任务(例如问答)创建 | 使用数据增强,人类注释的数据集收集 | 下载 |
| Gaokao | 2785 | CN | 公吨 | 上校 | 从考试中进行多项选择,空白和开放式问题 | 人类注释 | 下载 |
| 骆驼 | 760620 | en | 公吨 | SI | AI社会,代码,数学,物理,化学,生物学的角色扮演对话 | GPT-3.5-Turbo | 下载 |
| 弗兰 - 恶作剧 | 1764800 | en | 公吨 | 上校 | 60 NLP任务 | 人类注释的数据集收集 | 下载 |
| Coig(FlagInstruct) | 298428 | CN | 公吨 | 上校 | 收集Fron考试,翻译,人类价值对准说明和反事实校正多轮聊天 | 使用自动工具和手动验证 | 下载 |
| GPT4Tools | 71446 | en | 公吨 | SI | 与工具相关指令的集合 | GPT-3.5-Turbo | 下载 |
| Sharechat | 1663241 | en | 公吨 | 混合 | 一般指导 | 众包收集人与chatgpt之间的对话(sharegpt) | 下载 |
| 自动婴儿床 | 5816 | en | 公吨 | 上校 | 算术,常识,符号和其他逻辑推理任务 | 人类注释的数据集收集 | 下载 |
| 苔藓 | 1583595 | en/cn | TS | SI | 一般指导 | text-davinci-003 | 下载 |
| Ultrachat | 28247446 | en | 关于世界的问题,写作和创造,对现有材料的帮助 | 两个单独的GPT-3.5涡轮增压 | 下载 | ||
| 中文 | 792099 | CN | TS | 上校 | 有关医疗建议的问题 | 爬行 | 下载 |
| CSL | 396206 | CN | 公吨 | 上校 | 纸质文本生成,关键字提取,文本摘要和文本分类 | 爬行 | 下载 |
| pclue | 1200705 | CN | 公吨 | 上校 | 一般指导 | 下载 | |
| news_commentary | 252776 | CN | TS | 上校 | 翻译 | 下载 | |
| Stackllama | 托多 | en |
您可以在此处下载所有格式的数据。然后,您应该将它们放在数据文件夹中。
您可以从此处下载所有对各种指令数据培训的检查点。然后,将LoRA_WEIGHTS (in generate.py )设置为本地路径后,您可以直接执行模型推断。
我们集合中的所有数据均格式化为相同的模板,每个样本如下:
[
{"instruction": instruction string,
"input": input string, # (may be empty)
"output": output string}
]
请注意,对于COT数据集,我们首先使用Flan提供的模板将原始数据集更改为各种思考链表单,然后将其转换为上述格式。格式脚本可以在此处找到。
pip install -r requirements.txt
请注意,请确保python> = 3.9 finetuning chatglm。
peft
pip install -e ./peft
为了使研究人员对LLM进行系统的IFT研究,我们收集了不同类型的指导数据,集成了多个LLM和统一界面,从而易于自定义所需的搭配:
--model_type :设置要使用的LLM。目前,支持[Llama,Chatglm,Bloom,Moss]。后两个具有强大的中国能力,将来会集成更多的LLM。--peft_type :设置要使用的PEFT。目前,支持[Lora,Adalora,前缀调整,P TUNING,提示]。--data :设置用于IFT的数据类型,以灵活地量身定制所需的命令合规能力。例如,对于强大的推理能力,将“羊驼毛”设置为强大的中国能力,将“ Belle 1.5m”设置为编码和故事产生能力,将“ GPT4All”设置为“ GPT4All”,并为财务相关的响应能力设置“财务”。--model_name_or_path :设置为目标llm的模型权重--model_type 。例如,要加载Llama的13B版重量,您可以设置Decapoda-research/Llama-13b-HF。单gpu
python3 uniform_finetune.py --model_type llama --model_name_or_path decapoda-research/llama-7b-hf
--data alpaca-belle-cot --lora_target_modules q_proj v_proj
--per_gpu_train_batch_size 4 --learning_rate 3e-4 --epochs 1
注意:对于多个数据集,您可以使用--data喜欢--data ./data/alpaca.json ./data/finance.json <path2yourdata_1>
python3 uniform_finetune.py --model_type chatglm --model_name_or_path THUDM/chatglm-6b
--data alpaca-belle-cot --lora_target_modules query_key_value
--lora_r 32 --lora_alpha 32 --lora_dropout 0.1 --per_gpu_train_batch_size 2
--learning_rate 2e-5 --epochs 1
请注意, load_in_8bit尚不适用于ChatGlm,因此batch_size必须比其他人小。
python3 uniform_finetune.py --model_type bloom --model_name_or_path bigscience/bloomz-7b1-mt
--data alpaca-belle-cot --lora_target_modules query_key_value
--per_gpu_train_batch_size 4 --learning_rate 3e-4 --epochs 1
python3 uniform_finetune.py ---model_type moss --model_name_or_path fnlp/moss-moon-003-sft
--data alpaca --lora_target_modules q_proj v_proj --per_gpu_train_batch_size 1
--learning_rate 3e-4 --epochs 3
python3 uniform_finetune.py --model_type internlm --model_name_or_path internlm/internlm-7b
--data alpaca --lora_target_modules q_proj v_proj --lora_r 32 --lora_alpha 32
--lora_dropout 0.1 --per_gpu_train_batch_size 1 --learning_rate 2e-5 --epochs 1
--compute_dtype="fp32"
请注意,您还可以将本地路径(LLM权重)传递到--model_name_or_path 。数据类型--data可以根据您的兴趣自由设置。
多个GPU
torchrun --nnodes 1 --nproc_per_node $ngpu uniform_finetune.py $args --data $data python3 -m torch.distributed.launch --nproc_per_node 4
--nnodes=1 --node_rank=0 --master_addr=xxx --master_port=yyy uniform_finetune.py
--model_type llama --model_name_or_path decapoda-research/llama-7b-hf
--data alpaca-belle-cot --lora_target_modules q_proj v_proj
--per_gpu_train_batch_size 4 --learning_rate 3e-4 --epochs 1
python3 -m torch.distributed.launch --nproc_per_node 4
--nnodes=1 --node_rank=0 --master_addr=xxx --master_port=yyy
uniform_finetune.py --model_type chatglm --model_name_or_path THUDM/chatglm-6b
--data alpaca-belle-cot --lora_target_modules query_key_value
--lora_r 32 --lora_alpha 32 --lora_dropout 0.1 --per_gpu_train_batch_size 2
--learning_rate 2e-5 --epochs 1
请注意, load_in_8bit尚不适用于ChatGlm,因此batch_size必须比其他人小。
python3 -m torch.distributed.launch --nproc_per_node 4
--nnodes=1 --node_rank=0 --master_addr=xxx --master_port=yyy
uniform_finetune.py --model_type bloom --model_name_or_path bigscience/bloomz-7b1-mt
--data alpaca-belle-cot --lora_target_modules query_key_value
--per_gpu_train_batch_size 4 --learning_rate 3e-4 --epochs 1
python3 -m torch.distributed.launch --nproc_per_node 4
--nnodes=1 --node_rank=0 --master_addr=xxx --master_port=yyy
uniform_finetune.py --model_type internlm --model_name_or_path internlm/internlm-7b
--data alpaca --lora_target_modules q_proj v_proj --lora_r 32 --lora_alpha 32
--lora_dropout 0.1 --per_gpu_train_batch_size 1 --learning_rate 2e-5 --epochs 1
--compute_dtype="fp32"
python3 generate.py --data alpaca-belle-cot --model_type llama
python3 generate.py --data alpaca-belle-cot --model_type chatglm
python3 generate.py --data alpaca-belle-cot --model_type bloom
可以在此处找到有关指导预定和推理的更多详细信息。请注意,保存的文件夹saved-xxx7b是Lora重量的保存路径,而Llama重量将自动从拥抱的脸部下载。
top_p=0.9,
#Moderately increase the probability threshold of nucleus sampling to increase the quantity of candidate tokens and increase generation diversity.
temperature=1.0,
#The previous low temperature parameter could lead to a severe polarization in the probability distribution of generated words, which degenerates the generation strategy into greedy decoding.
do_sample=True,
#do_sample parameter is set to False by default. After setting to True, the generation methods turn into beam-search multinomial sampling decoding strategy.
no_repeat_ngram_size=6,
#Configure the probability of the next repeating n-gram to 0, to ensure that there are no n-grams appearing twice. This setting is an empirical preliminary exploration.
repetition_penalty=1.8,
#For words that have appeared before, in the subsequent prediction process, we reduce the probability of their reoccurrence by introducing the repetition_penalty parameter. This setting is an empirical preliminary exploration.
python3 merge.py --model_type llama --size 7b --lora_dir xxx --merged_dir yyy
python3 server.py --model_type chatglm --size 6b --lora_dir xxx
python3 predict.py --model_type chatglm --size 6b --data for_dict_data --lora_dir xxx --result_dir yyy
python3 web.py --model_type chatglm --size 6b --lora_dir xxx
本文选择了两个评估基准Belle-eval和MMCU,以全面评估中文的LLM能力。
Belle-eval是由与ChatGpt的自我教学建造的,该教学有1,000个不同的指示,其中涉及10个类别涵盖常见的NLP任务(例如,QA)和具有挑战性的任务(例如,代码和数学)。我们使用Chatgpt根据黄金答案对模型响应进行评分。该基准被认为是对AGI(指导跟踪)功能的评估。
MMCU是四个专业学科,法律,心理学和教育的专业学科(例如Gaokao考试)中的中国多项选择问题的集合。它允许LLMs以多项选择的测试方式在人类社会中进行考试,使其适合评估多个学科的LLM知识的广度和深度。

上表显示了Belle-eval和MMCU的数据统计。
我们进行了实验,以研究指导LLM的三个主要因素:LLM碱基,参数效率方法,中文指导数据集。
对于开放LLM,我们分别在Belle-eval和MMCU上分别在羊驼gpt4上对LORA进行了微调测试现有的LLM和LLMS。


表2显示了Belle-eval上开放LLM的得分。表3显示了MMCU上LLM的准确性。他们使用相同的参数效率方法lora和相同的指令数据集羊驼gpt4微调所有开放llms。
实验结果:
现有LLM的评估
Belle-eval的性能
(1)对于基本LLM,Bloom表现最好。
(2)对于SFT LLMS,ChatGLM以大幅度优于其他人,这要归功于它接受了中国令牌和HFRL最多的培训。
(3)开放质量检查,数学,关闭QA和提取类别对于现有的开放LLM仍然非常具有挑战性。
(4)Vicuna和Moss-SFT分别与其基地(分别是Llama和Moss-Base)相比有了明显的改进。
(5)相反,与基本模型Bloom相比,SFT模型,Bloomz和Bloomz-Mt的性能降低了,因为它们倾向于产生较短的响应。
MMCU的性能
(1)所有基本LLM的表现不佳,因为在微调之前几乎很难以指定格式生成内容,例如,输出选项编号。
(2)所有SFT LLM的表现分别优于其相应的基础LLM。特别是,Bloomz执行最好的(甚至击败ChatGlm),因为它可以在不生成其他无关内容的情况下直接生成选项编号,这也是由于其监督的微调数据集XP3的数据特征。
(3)在四个学科中,法律是LLMS最具挑战性的法律。

在羊驼gpt4-ZH上进行指导后LLM的性能结果如图1所示。
指导不同的LLM
(1)在Belle-eval上,通过指导调整带来的SFT LLM的性能提高不如SFT Bloomz和Bloomz-Mt的基础LLM的意义。
(2)Vicuna和Chatglm在说明后会遇到表现下降,因为Vicuna是通过实际的人类茶话对话训练的,质量比羊驼gpt4更好。 Chatglm采用HFRL,这可能不再适合进一步的指导调整。
(3)在MMCU上,大多数LLM在指导调整后实现了绩效提高,但Bloomz和Bloomz-MT除了意外显着降低了性能。
(4)经过指导调整后,Bloom在两个基准测试中都有显着改善,并且在两个基准测试上都表现良好。尽管Chatglm始终如一地打开盛开,但在说明过程中,表现下降。因此,在所有开放式LLM中,Bloom在随后的中国教学探索实验中最适合作为基础模型。
对于洛拉(Lora)以外的参数效率方法,本文收集了一系列参数效率的方法,以在羊驼gpt4数据集上进行指导调整bloom。


实验结果:
参数效率方法的比较
(1)SADAPTERH在所有参数效率的方法中都表现出最好的作用,可以用作LORA的替代方法。
(2)大幅度的p调整和及时调查其他人的表现不佳,这表明只有在嵌入层中添加可训练的层不足以支持LLMS用于生成任务。
(3)尽管Adalora是洛拉的改善,但其性能却明显下降,这可能是因为Lora的LLMS可训练参数不适合进一步降低。
(4)比较上部和下部,可以看出,增加顺序适配器的可训练参数的数量(即,sadapterp和sadapterh)不会带来增益,而观察到的平行适配器的相反现象(即,P-Adapter)是相反的现象。
训练损失
(1)迅速调整和p-tuning收敛最慢,并且收敛后的损失最高。这表明,仅嵌入适配器不适合使用指令调整LLM。
(2)Adalora的最初损失很高,因为它需要同时学习参数预算分配,这使该模型无法很好地适合培训数据。
(3)其他方法可以快速收敛于训练数据并拟合得很好。
对于各种类型的中文指导数据集的影响,作者收集了流行的中国说明(如表5所示),以与洛拉微调开花。



表6和表7在不同的指令数据集上显示了Bloom的微调。
实验结果:
Belle-eval的性能
(1)CHATGPT构建的指令数据(例如,使用自我指导方法或收集真实的人际交往)一致地增强了以3.1 〜11分的得分增加的指令跟随能力。
(2)在这些数据集中,由于指令数据量最多,Belle的性能最佳。但是,在Moss-SFT-DATA上训练的模型的性能,包含更多以类似方式构建的数据,这是不令人满意的。
(3)羊驼GPT4指令带来的性能是第二好的,只有49k与154万美女相当。
(4)Instinwild带来的表现最低,因为它从Tweet(“ In Wild”)爬网的种子说明不如人类精心设计的种子(如羊驼)那样全面。
(5)这些基于CHATGPT的数据主要对诸如大脑风暴和世代之类的开放式任务产生重大改进效果,而需要高度阅读理解能力的任务显着下降,例如Close Qa and Destract。
(6)这些说明数据集对模型的指令遵循能力造成损害,因为每个NLP或考试数据集的形式和意图都是单一的,很容易被过度拟合。
(7)其中,Coig-Trans表现最好,因为它涉及2000多个不同的任务,并具有各种任务指令。相反,XP3和COIG-CCMC对模型性能的负面影响最大。他们俩仅涵盖了几种类型的任务(对后者的反事实校正对话的翻译和质量检查),几乎不能涵盖人类的流行说明和任务。
MMCU的性能
(1)每个数据集上的指令调整始终可以改善性能。
(2)在上部显示的基于ChatGPT的数据中,ShareGpt-ZH的表现不佳。这可能是由于真实用户很少提出有关学术主题的多项选择问题。
(3)在下部显示的数据集收集数据中,HC3和COIG-CCMC的精度最低,因为HC3的独特问题仅为13K,并且COIG-CCMC的任务形式与MMCU显着不同。
(4)Coig-exam带来了最大的准确性提高,并受益于MMCU的类似任务形式。
其他四个因素:COT,中国词汇的扩展,提示语言和人类价值对齐方式
对于COT,作者比较了在说明过程中添加COT数据之前和之后的性能。
实验设置:
我们从Flan收集9个婴儿床数据集及其提示,然后使用Google Translate将其转换为中文。他们比较在说明过程中添加COT数据之前和之后的性能。
首先注意将COT数据添加为“羊Alpaca-GPT4+COT”的方法。此外,在每个说明结束时添加一个句子“先思考,再决定”(“在中文中逐步思考”),以诱使模型以基于COT的方式响应说明,并以此方式将其标记为“ Alpaca-GPT4+Cot*”。

实验结果:
“羊驼gpt4+cot”在需要强大推理能力的代码和数学任务中优于“羊驼gpt4”。此外,MMCU教育任务也有重大改进。
如“羊驼gpt4+cot*”的行中所示,简单的句子可以进一步提高推理任务代码和教育的性能,而数学性能则略低于“羊驼gpt4+cot”。这可能需要进一步探索更强大的提示。
为了扩大中国词汇的扩展,作者测试了代币词汇中中国令牌数量对LLMS表达中文能力的影响。例如,如果汉字在词汇中,则可以由单个令牌表示,否则可能需要多个令牌来表示它。
实验设置:作者主要是在骆驼上进行实验,该实验使用句子(32k词汇量的汉字),涵盖了汉字少于Bloom(250k)。

实验结果:
对更多中国语料库进行预训练,并扩大了中国词汇量,这对于跟随教学能力的能力始终有助于。
在违反直觉上,“ Llama-voc-pre-l”(100b)不如MMCU上的“ Llama-voc-pre”(20b),这表明对更多数据进行预培训可能不一定会导致学术考试的更高表现。
对于提示的语言,作者测试了使用中文提示的指导微调的适用性。

图4显示了基于美洲驼和布鲁姆的中文和英语提示的结果。当指导骆驼指示时,使用中文提示可以与英语提示相比,可以提高两个基准的性能,而相反的现象可以在Bloom上观察到相反的现象。
实验结果:
对于中国能力较弱的模型(例如,美洲驼),使用中国提示可以有效地帮助中文做出回应。
对于具有良好中文能力的模型(例如,开花),使用英语提示(他们更好地使用的语言)可以更好地指导模型,以了解使用指令进行微调的过程。
为了避免产生有毒含量的LLM,将它们与人类价值观保持一致是一个至关重要的问题。我们将COIG构建的人类价值对齐数据添加到教学调整中,以探索其影响。

图5比较了有或没有人类价值对齐的指令调整的结果。
实验结果:人类价值对准会导致略有性能下降。如何平衡LLM的无害性和表现是值得探索的研究方向。
当前的指令 - 字符数据集集合主要由三个部分组成:
alpaca_data_cleaned.json :大约52k英语指导培训样本。CoT_data.json :9个涉及约75K样本的COT数据集。 (由Flan [7]出版)belle_data_cn.json :大约0.50万中文|指导跟踪培训样本。 (Belle [8]出版)
“ w/o cot”和“ w/o cn”表示模型,分别从其指令填充数据中排除了COT数据和中文指令。
上表显示了两个示例(涉及数值计算),这些示例需要一定程度的推理能力才能正确响应。如中间列所示, Ours w/o CoT无法生成正确的响应,这表明一旦登录数据不包含COT数据,该模型的推理能力就会显着降低。这进一步表明,COT数据对于LLM模型至关重要。

上表显示了两个示例,这些示例需要对中国说明做出响应的能力。如右列所示,要么Ours w/o CN的生成的内容是不合理的,要么我们的中文说明是由Ours w/o CN用英语回答的。这表明在填充过程中删除中国数据将导致该模型无法处理中国的说明,并进一步证明了需要收集中国指令填充数据的必要性。

上表显示了一个相对困难的例子,这既需要一定的中国历史知识积累,又需要统治历史事件的逻辑和完整的能力。如本表中所示, Ours w/o CN只能产生一个简短且错误的响应,因为由于缺乏中国的人们处数据,因此自然缺乏中国历史的相应知识。尽管Ours w/o CoT列出了一些相关的中国历史事件,但其表达逻辑是自相矛盾的,这是由于缺乏COT数据引起的。 `
总而言之,从我们完整的数据集(英语,中文和COT指导数据)中获得的模型可以显着改善模型推理和能力后的中文指导。
每个奇数行的样本不应用COT提示,例如“逐步推理”。 Ours(w/CoT)和羊驼均基于Llama-7b,而他们两个之间的唯一区别是, Ours(w/CoT)具有额外的COT数据。
从上表中,我们发现:
Ours(w/CoT)总是在答案之前生成正确的理由,而羊驼无法产生任何合理的理由。这表明,使用COT数据进行固定可以显着提高推理能力。Ours(w/CoT) ,COT提示(例如,与输入问题的“逐步加入”)对简单的示例(例如,常识性问题)几乎没有影响,并且对挑战性问题有重要影响(例如,需要推理的问题,例如最后四个示例)。对中国指示的反应的定量比较。 
我们的模型从52K英语说明和0.50万中文说明中从7B美洲驼进行了挑战。斯坦福羊驼(我们的重新实现)是从52k英语说明中的7B骆驼中进行的。 Belle在2B中文的说明中从7b开花中迎合了Bellet。
从上表可以找到几个观察结果:
ours (w/ CN)具有更强的理解中国说明的能力。在第一个示例中,羊驼无法区分instruction零件和input部分,而我们这样做。ours (w/ CN)不仅提供了正确的代码,还提供了相应的中文注释,而羊驼则没有。此外,如3-5个示例所示,羊驼只能以英语回应来响应中国的教学。ours (w/ CN)在需要开放响应的指令上的表现(如后两个示例所示)仍然需要改进。 Belle在此类说明中的出色表现是:1。在预训练期间,其Bloom Backbone模型遇到了更多的多语言数据; 2。它的中文指示芬特数据比我们的数据还要多,即2m vs 0.5m。对英语说明的响应的定量比较。本小节的目的是探讨中国指示的填补是否对羊驼产生负面影响。 
从上表中,我们发现:
ours (w/ CN)的响应比羊驼毛的响应更多的细节,例如,对于第三个例子, ours (w/ CN)列出了三个省份,而不是羊驼。 如果您在此存储库中使用数据收集,代码和实验发现,请引用回购。
@misc{si2023empirical,
title={An Empirical Study of Instruction-tuning Large Language Models in Chinese},
author={Qingyi Si and Tong Wang and Zheng Lin and Xu Zhang and Yanan Cao and Weiping Wang},
year={2023},
eprint={2310.07328},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
对于数据和模型,请参考原始数据,参数效率方法和LLMS源。
我们要特别感谢Apus Ailme实验室赞助实验的8个A100 GPU。
(返回到顶部)