Skip to content
iMountTai edited this page Aug 17, 2023 · 14 revisions

常见问题

问题1:本项目和一期项目的区别?

答:一期项目即Chinese-LLaMA-Alpaca基于“未完全开源”的一代LLaMA开发,相关模型不得用于商业用途,且分发方面也存在限制。二期项目在一期项目相关技术的基础上进行升级,基于二代Llama(可商用、可分发)进行开发,模型效果相比一期模型具有显著优势。

问题2:模型能否商用?

答:可以,但请提前仔细阅读原版Llama-2的商用许可要求。开发者应对使用相关模型的合规性负责,必要时寻求法务支持。本项目不对因使用相关模型产生的结果及其连带损失负责。

问题3:接受第三方Pull Request吗?

答:欢迎发起Pull Request。本项目主要接受新工具适配、脚本增强、bug修复、使用教程等方面的PR。暂时不接受不影响模型正常使用的PR,例如只修改一两个错别字等(我们仍然感谢指正)。

问题4:为什么不对模型做全量预训练而是用LoRA?

答:考虑到训练成本和效率等因素,我们选择在Llama-2的基础上使用LoRA进行训练(embedding/lm_head全量参与训练,具体见训练wiki)。我们认为Llama-2已具备一定的中文理解能力,通过LoRA增量训练能够快速地补充中文理解和生成能力。至于在Llama-2上进行全量预训练会不会比LoRA的效果更好,目前暂时没有可供参考的结论。因此,本项目使用LoRA是多种因素权衡之后的结果,并不只是考虑模型效果这一因素。

问题5:二代模型支不支持某些支持一代LLaMA的工具?

答:我们在一期项目中已经适配的工具会陆续迁移到本项目,但这个过程需要一些时间。同时,我们也强烈建议关注相应第三方工具对Llama-2的适配进展。一代和二代模型主要区别在于:1)我们的Alpaca-2的指令模板和一代不一样;2)34B/70B模型需要支持GQA(本项目暂不涉及这两个级别模型);除此之外还存在一些细微的差别。总而言之,动手能力强的可以自行适配,或者参考第三方工具对Llama-2的适配。

问题6:Chinese-Alpaca-2是Llama-2-Chat训练得到的吗?

答:不是。我们所有的模型起点均是Meta发布的Llama-2(非chat模型)基座模型。Chinese-LLaMA-2是在Llama-2的基础上,利用大规模中文数据进行增量预训练。Chinese-Alpaca-2则是进一步在Chinese-LLaMA-2的基础上,利用精选的指令数据进行精调(也可称为对齐),让模型具备聊天、问答等指令理解与执行能力。所有训练过程均使用了基于LoRA的高效训练方法。

问题7:为什么24G显存微调chinese-alpaca-2-7b OOM?

答:可从依赖版本、数据及可训练参数方面排查相关设置:

  • 要求的peft版本为0.3.0.dev0,可通过pip install git+https://github.com/huggingface/peft.git@13e53fc安装
  • 目前脚本中max_seq_lenghblock_size设置为1024,可以删除已创建的data_cache并修改长度为512继续训练。
  • per_device_train_batch_size设置为1,如果更高则会OOM。
Clone this wiki locally