AlchemistCoder 是 InternLM 的编码模型系列。基于 Llama 2 进行调整。
17 拉取 2个月前更新
README
模型摘要
AlchemistCoder是InternLM系列编程模型的之一。
此模型是从Llama 2微调而来,应在所有编程相关任务中表现出色。
亮点
摘要:近年来,开放源 код Large Language Models (LLMs)及其专门变体,尤其是Code LLMs,在性能上取得了令人印象深刻的成果。然而,以前的Code LLMs通常是针对单一来源数据进行微调,数据和多样化质量有限,这可能无法充分激发预训练的Code LLMs的潜力。在本文中,我们提出了AlchemistCoder,这是一系列经过多源数据优化的Code LLMs,具有增强的代码生成和泛化能力。为了实现这一点,我们首先揭示了多源代码语料库中各种风格和质量的固有冲突,并引入了特定于数据的提示,即AlchemistPrompts,通过事后重标记来调节不同的数据源指令和响应对。此外,我们提出将数据构建过程纳入微调数据作为代码理解任务,包括指令演化、数据过滤和代码审查。大量实验表明,AlchemistCoder在相同大小(6.7B/7B)的所有模型中具有明显优势,并且与更大的模型(15B/33B/70B)相媲美甚至超过,展示了我们在改进指令遵循能力和推进代码智能边界方面的方法的效果。
AlchemistPrompts:设计用于和谐多源数据中的固有冲突,并在精细粒度水平上减轻指令/响应不匹配。
代码理解任务:来自数据构建过程,包括指令演变、数据过滤和代码审查。
和谐的多元数据:在包含6种高质量数据的200M个令牌上进行指令调整。
卓越的模型性能:超过所有相同大小的开源模型(6.7/7B),并在6个代码基准测试中与更大的模型(15B/33B/70B/ChatGPT)相媲美或甚至打败它们。
高级通用能力:通过MMLU、BBH和GSM8K的显著改进得到证明。