在LangSmith中测试微调的开源模型
本文介绍了如何使用LangSmith评估和比较微调后的开源LLM。作者通过微调Llama2-7b和13b模型来生成SQL,并在LangSmith上创建数据集、运行测试、用GPT-4自动评估。结果显示,13b模型在使用较少数据时仍接近GPT-3.5水平,证明了开源模型的竞争力。
本教程由ChatOpenSource的CTO兼联合创始人Ryan Brandt撰写,展示了如何利用LangSmith平台评估和比较微调后的开源大语言模型(LLM)。随着Mistral 7b和Llama2系列等开源模型的崛起,开发者需要一种高效的方法来替换和比较不同模型,就像在游戏机上更换卡带一样。LangSmith提供了友好的用户界面和API,帮助创建评估数据集,从而自动化这一过程。
研究流程
项目的目标是微调Llama2-7b和Llama2-13b模型,使用Hugging Face上的sql-create-context数据集。首先将JSON格式的数据转换为.jsonl用于聊天微调,然后用GPT-4的Code Interpreter从数据集中选取10,000行,再从中选出1,000行作为验证集(确保不与训练数据重叠)。这些验证行被上传到LangSmith,用于自动化评估。
微调和评估都在8xA40集群上进行,采用全参数微调(非LoRA)。通过Replicate平台完成微调和推理:Llama2-7b-chat使用78k行数据,Llama2-13b-chat使用10k行(为控制成本)。之后,在LangSmith上对每个模型运行1,000个提示,用GPT-4作为评判标准,比较模型输出与已知正确答案。整个过程通过简单的代码即可实现。
发现与结论
结果显示,Llama2-13b-chat-ft-10k(130亿参数)的准确率优于Llama2-7b-chat-ft-78k(70亿参数),尽管后者使用了更多数据。这引发了一个问题:如果13b模型也使用78k数据,表现会如何?很可能准确率会随着训练数据量和质量的提升而增加。此外,7b模型在响应时间(p50和p99)上表现更优,但13b模型的准确率已接近GPT-3.5-turbo-base,表明优化后的开源模型有潜力与闭源模型媲美。
总之,LangSmith支持任何模型(开源或闭源),通过整合数据上传、测试和自动评估,显著简化了模型选型流程。作者也提到,其公司ChatOpenSource提供企业级完全数据私有的聊天替代方案。