Vicuna是一个开源的聊天机器人,通过使用从ShareGPT.com使用公共API收集的大约70K用户共享对话微调LLaMA基础模型创建的。
在线演示为了确保数据质量,开发团队将HTML转换回markdown并过滤掉一些不合适或低质量的样本。以及将冗长的对话分成更小的部分,以适应模型的最大上下文长度。其训练方法建立在 StanfordAlpaca 的基础上,并进行了以下改进:
内存优化:为了使Vicuna能够理解长上下文,开发团队将最大上下文长度从Alpaca中的512扩展到2048,大大增加了GPU内存需求。通过利用utilizinggradientcheckpointing 和 flashattention 来解决内存压力。多轮对话:调整训练损失以考虑多轮对话,并仅根据聊天机器人的输出计算微调损失。通过Spot实例降低成本:40倍大的数据集和4倍的训练序列长度对训练费用提出了相当大的挑战。Vicuna团队使用 SkyPilot managedspot 来降低成本,方法是利用更便宜的spot实例以及自动恢复抢占和自动区域切换。该解决方案将7B模型的训练成本从500美元削减至140美元左右,将13B模型的训练成本从1000美元左右削减至300美元。
评论