Lemur 项目简介
项目背景
Lemur 项目致力于开发一种开放获取的语言模型,专注于自然语言和代码能力的优化,用以支持多功能的语言代理。随着语言模型从简单的对话机器人发展到能够在现实世界中发挥作用的功能性代理,它们不仅需要强大的语言理解能力,还需要执行操作的能力。Lemur 通过平衡自然语言和代码技能,使得代理能够遵循指令、对任务进行推理以及采取实际行动。
主要功能
Lemur 项目强调以下功能:
-
自然语言和代码的结合:大多数现有的开源模型主要在自然语言或代码的某一方面占有优势,而 Lemur 通过同时在这两个方面进行预训练和微调来结合两者的优势。
-
两阶段训练:
- 使用 90B 个 token 的语料库以代码和文本 10:1 的比例预训练 Llama-2-70B,得到 Lemur-70B-v1。
- 在 300K 个包含文本和代码的示例上进行指导调优,得到 Lemur-70B-Chat-v1。
这种两阶段的训练方法在各种语言和代码基准测试中取得了最先进的性能,超越了其他现有的开源模型,并缩小了开源和商业模型在代理能力上的差距。
模型使用方法
Lemur 提供两种主要模型:
- Lemur-70B-v1:一个基础的语言模型,支持文本生成和代码生成。
- Lemur-70B-Chat-v1:在 ChatML 格式上进行微调,适用于对话场景。
训练和评估
Lemur 被评估于多种语言和代码数据集,例如 MMLU、BBH、GSM8K、HumanEval 和 Spider,以验证其在文本和代码领域的平衡能力。此外,还在 13 个互动代理数据集上进行测试,以检验其在工具使用、适应环境反馈以及探索部分可见数字或物理环境的技能。
Lemur 提供了多种评估框架,例如 MINT、InterCode 和 WebArena,以评估其互动代理技能。为了部署 Lemur 模型,项目提供了一个使用 vLLM 的 docker。
近期动态
- 2023年10月18日:开源了 OpenAgents 代码,一个用于野外语言代理的开放平台。
- 2023年10月11日:公开发布研究论文和代码库,并将持续更新。
- 2023年8月23日:发布了
OpenLemur/lemur-70b-v1
和OpenLemur/lemur-70b-chat-v1
的权重。
项目合作
Lemur 项目是 XLang 实验室和 Salesforce Research 之间的开放合作研究成果,得到了 Google Research 和 Amazon AWS 等机构的支持。
总的来说,Lemur 项目的目标是打破自然语言和代码之间的界限,为相关领域的研究和应用提供强有力的支持。通过其开放的资源和不断的完善,Lemur 为开发者和研究人员提供了一个丰富的工具平台。