模型:
TheBloke/wizardLM-13B-1.0-fp16
Chat & support: my new Discord server
Want to contribute? TheBloke's Patreon page
这些文件是用于 WizardLM 13B 1.0 的fp16非量化格式的模型文件。
这是通过合并上述回购中提供的增量得到的结果。
加入我: https://discord.gg/UBgz4VXf
A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: prompt goes here ASSISTANT:
如需进一步支持,或讨论有关这些模型和AI的问题,请加入我们:
感谢 chirper.ai 团队!
我曾经有很多人询问他们是否可以做出贡献。我喜欢提供模型和帮助人们,也很愿意能够花更多的时间来做这些,并且扩展到新的项目,如微调/训练。
如果您能够并愿意进行贡献,我将非常感激,并将帮助我提供更多的模型,并开始在新的AI项目上工作。
捐赠者将优先获得有关任何和所有AI/LLM/模型问题和请求的支持,获得私人Discord房间的访问权限,以及其他好处。
Patreon特别鸣谢 : 我已提及的所有慷慨的赞助者和捐赠者!
提升大型预训练语言模型遵循复杂指令的能力
目前,我们的核心贡献者正在准备33B版本,并期望使WizardLM能够自行执行指令进化,以便以较低的成本演化您的特定数据。
13B模型使用注意事项:为了获得与我们演示相同的结果,请严格遵循“src/infer_wizardlm13b.py”中提供的提示和调用方法使用我们的13B模型进行推理。与7B模型不同,13B模型采用了Vicuna的提示格式,并支持多轮对话。
演示使用注意事项:我们只建议使用英文来体验我们的模型。将来会引入对其他语言的支持。演示目前仅支持单轮对话。
我们采用了FastChat提出的基于GPT-4的自动评估框架来评估聊天机器人模型的性能。如下图所示,WizardLM-13B的表现优于Vicuna-13B。
下图比较了WizardLM-13B和ChatGPT在Evol-Instruct测试集上的能力。结果表明,WizardLM-13B在平均能力上达到ChatGPT的89.1%,在10项技能上几乎达到100%(或更高),在22个技能上达到90%以上的能力。
欢迎大家使用专业和困难的指令来评估WizardLM,并在 issue discussion 区域向我们展示性能不佳的示例和您的建议。我们正在专注于改进Evol-Instruct,并希望在WizardLM的下一个版本中消除现有的弱点和问题。之后,我们将公开最新的Evol-Instruct算法的代码和流程,并与您共同改进它。
感谢热心的朋友们,他们的视频介绍更生动有趣。
我们只随机选取了一些案例,展示了WizardLM和ChatGPT在难度不同的数据上的表现,详细信息请参考 Case Show 。
Evol-Instruct 是一种使用LLMs而不是人类自动大规模生成各种难度和技能范围的开放域指令的新方法,旨在提高LLMs的性能。
在线演示
训练数据
WizardLM模型权重
微调
分布式微调
推理
评估
引用
免责声明
我们将尽可能长时间地为您提供最新的模型。如果链接无效,请尝试其他链接。同时,请尽可能尝试您在工作和生活中遇到的真实世界的具有挑战性的问题。我们将根据您的反馈不断改进我们的模型。
alpaca_evol_instruct_70k.json 包含从Evol-Instruct生成的70K个指令跟随数据。我们用它来对WizardLM模型进行微调。此JSON文件是一个字典列表,每个字典包含以下字段:
我们发布[WizardLM]权重作为增量权重,以符合LLaMA模型许可证的要求。您可以将我们的增量添加到原始LLaMA权重中,以获得WizardLM权重。操作指南:
python src/weight_diff_wizard.py recover --path_raw <path_to_step_1_dir> --path_diff <path_to_step_2_dir> --path_tuned <path_to_store_recovered_weights>
我们使用 Llama-X 中的代码对WizardLM进行微调。我们使用以下超参数对LLaMA-7B和LLaMA-13B进行微调:
Hyperparameter | LLaMA-7B | LLaMA-13B |
---|---|---|
Batch size | 64 | 384 |
Learning rate | 2e-5 | 2e-5 |
Epochs | 3 | 3 |
Max length | 2048 | 2048 |
Warmup step | 2 | 50 |
LR scheduler | cosine | cosine |
要重现我们对WizardLM的微调,请按照以下步骤进行:
deepspeed train_freeform.py \ --model_name_or_path /path/to/llama-7B/hf \ --data_path /path/to/alpaca_evol_instruct_70k.json \ --output_dir /path/to/wizardlm-7B/hf/ft \ --num_train_epochs 3 \ --model_max_length 2048 \ --per_device_train_batch_size 8 \ --per_device_eval_batch_size 1 \ --gradient_accumulation_steps 1 \ --evaluation_strategy "no" \ --save_strategy "steps" \ --save_steps 800 \ --save_total_limit 3 \ --learning_rate 2e-5 \ --warmup_steps 2 \ --logging_steps 2 \ --lr_scheduler_type "cosine" \ --report_to "tensorboard" \ --gradient_checkpointing True \ --deepspeed configs/deepspeed_config.json \ --fp16 True
参见 分布式微调
我们提供了用于WizardLM的解码脚本,该脚本读取输入文件并为每个样本生成相应的响应,最后将其合并到输出文件中。
您可以在src\inference_wizardlm.py中指定base_model、input_data_path和output_data_path来设置解码模型、输入文件的路径和输出文件的路径。解码命令:
python src\inference_wizardlm.py
为了评估Wizard,我们对来自我们的人工指令评估集WizardLM_testset.jsonl中的输入进行了人工评估。此评估集由作者收集,并涵盖了各种以用户为导向的指令,包括困难的编码生成和调试、数学、推理、复杂格式、学术写作、广泛的学科等等。我们对Wizard和基线模型进行了盲目的成对比较。具体来说,我们聘请了10位受过良好教育的注释员,对关联性、知识水平、推理、计算和准确性对模型进行了1到5的评级。
WizardLM的成绩明显优于Alpaca和Vicuna-7b。
在我们的测试集高难度部分(难度级别>=8),WizardLM甚至超过了ChatGPT,在胜率上比Chatgpt高7.9%(42.9%对35.0%)。这表明我们的方法可以显著提高大型语言模型处理复杂指令的能力。
如果您在本存储库中使用数据或代码,请引用此存储库。
@misc{xu2023wizardlm, title={WizardLM: Empowering Large Language Models to Follow Complex Instructions}, author={Can Xu and Qingfeng Sun and Kai Zheng and Xiubo Geng and Pu Zhao and Jiazhan Feng and Chongyang Tao and Daxin Jiang}, year={2023}, eprint={2304.12244}, archivePrefix={arXiv}, primaryClass={cs.CL} }
与该项目相关的资源,包括代码、数据和模型权重,仅限于学术研究目的,并且不能用于商业目的。任何版本的WizardLM生成的内容都受到无法控制的变量(如随机性)的影响,因此无法保证输出的准确性。本项目对模型输出的内容不承担任何法律责任,也不对使用相关资源和输出结果导致的任何损失承担责任。