本文介绍了Code Llama大模型的基本概括,包含了论文的摘要、结果、结论以及核心方法,对于了解和实践Code Llama有一定帮助。
上一篇介绍了指令进化大模型WizardLM,留了一个坑,补上Code Llama论文学习,可以作为下游任务的基座模型,比如Text2SQL。目前DB-GPT-Hub分支refactor支持了Code Llama模型微调,我粗糙地跑7b基础模型使用lora方法spider数据集上能达到0.66,大家也可以去试试。
再多说一句题外话,eosphoros-ai组织最新有个新项目Awesome-Text2SQL,收集了Text2SQL+LLM领域的相关综述、基础大模型、微调方法、数据集、实践项目等等,欢迎围观尝试。
进入正题,文章很新,开源很强,可以商用。
总结起来一句话:开源模型代码领域最强,可泛化。
标题也说明了要做基础模型,就像人工智能领域中的CNN一样。
补充一下,WizardCoder在8月26日发布了最新版本,已经超过了GPT4,HumanEval pass@1 达到73.2,简直无敌!
最新的开源大模型排行榜单,可以参考huggingface open LLM leaderboard
补充一下基础数据集知识
代码生成领域的两个重要数据集:HumanEval和MBPP,都是2021年的数据集,比较新。
Code infilling代码填充:给定上下文的情况下预测程序缺失部分。
对于Code Llama,论文提出了一个专用的长上下文微调(LCFT)阶段。
指令微调模型Code Llama - Instruct是基于Code Llama和训练,以适当地回答问题,该模型接受三种不同类型数据的训练。
为什么使用7b 模型去生成三元组(question -test - solution)?
论文发现在相同的计算预算下,34B模型每个问题生成更少的解决方案,7b更有效。
Rehearsal 预演。为了防止模型对一般编码和语言理解能力的回归,Code Llama Instruct还使用代码数据集(6%)和自然语言数据集(2%)中的一小部分数据进行训练。
[1] Armen Aghajanyan, Bernie Huang, Candace Ross, Vladimir Karpukhin, Hu Xu, Naman Goyal, Dmytro Okhonko, Mandar Joshi, Gargi Ghosh, Mike Lewis, and Luke Zettlemoyer. CM3: A causal masked multimodal model of the internet. arXiv:abs/2201.07520, 2022.
[2] Bei Chen, Fengji Zhang, Anh Nguyen, Daoguang Zan, Zeqi Lin, Jian-Guang Lou, and Weizhu Chen. CodeT: Code generation with generated tests. In ICLR, 2023a.
[3] Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, Dan Bikel, Lukas Blecher, Cristian Canton- Ferrer, Moya Chen, Guillem Cucurull, David Esiobu, Jude Fernandes, Jeremy Fu, Wenyin Fu, Brian Fuller, Cynthia Gao, Vedanuj Goswami, Naman Goyal, Anthony Hartshorn, Saghar Hosseini, Rui Hou, Hakan Inan, Marcin Kardas, Viktor Kerkez, Madian Khabsa, Isabel Kloumann, Artem Korenev, Punit Singh Koura, Marie-Anne Lachaux, Thibaut Lavril, Jenya Lee, Diana Liskovich, Yinghai Lu, Yuning Mao, Xavier Martinet, Todor Mihaylov, Pushkar Mishra, Igor Molybog, Yixin Nie, Andrew Poulton, Jeremy Reizenstein, Rashi Rungta, Kalyan Saladi, Alan Schelten, Ruan Silva, Eric Michael Smith, Ranjan Subramanian, Xiaoqing Ellen Tan, Binh Tang, Ross Taylor, Adina Williams, Jian Xiang Kuan, Puxin Xu, Zheng Yan, Iliyan Zarov, Yuchen Zhang, Angela Fan, Melanie Kambadur, Sharan Narang, Aurélien Rodriguez, Robert Stojnic, Sergey Edunov, and Thomas Scialom. Llama 2: Open foundation and fine-tuned chat models. arXiv:abs/2307.09288, 2023b.
[4] Text2SQL Code Llama实践项目:https://github.com/eosphoros-ai/DB-GPT-Hub
[5] Text2SQL + LLM汇总入门:GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2SQL, and more.