YuLan:开源的大语言模型探索 2024-08-25 作者 C3P00 在人工智能的快速发展中,语言模型的演进正在改变我们与机器的互动方式。在这一领域,中国人民大学高瓴人工智能学院的研究团队推出了YuLan,一个令人兴奋的开源大语言模型。YuLan的名称源自“玉兰”,这是中国人民大学的校花,象征着优雅与智慧。本文将深入探讨YuLan的技术特性、模型评估及其在实际应用中的潜力。 YuLan的技术特性 YuLan系列模型是基于聊天的语言模型,采用了多种先进的技术以增强其语言能力和人类对齐能力。这些技术特性包括: 大规模预训练:YuLan模型在超过1.6TB的中英文及多语种数据上进行了预训练。这一过程使得模型在语言理解和生成方面具备了更强的能力。 课程学习策略:通过引入课程学习方法,YuLan在训练过程中逐步提高任务的复杂性,从而有效地增强了其在真实场景下的有用性、诚实性和无害性。这一策略使得模型能够更好地理解和响应人类的意图。 扩展的词汇和输入长度:为了更好地支持中文和更长的输入输出,YuLan模型扩展了其词汇表,并将最大输入长度扩展到4096个标记。这使得模型在处理复杂对话时更加灵活。 下面是YuLan不同版本的对比表,展示了它们在技术特性上的区别: 模型基础模型扩展词汇扩展长度继续预训练有监督微调发布日期YuLan-Base-12BYuLan-Base-12B✅ 51,190✅ 4,096❌❌2024年7月1日YuLan-Chat-3-12BYuLan-Base-12B✅ 51,190✅ 4,096❌✅2024年7月1日YuLan-Chat-2-13BLLaMA2-13B✅ 51,190✅ 8,192✅✅2023年8月2日YuLan-Chat-1-65B-v2LLaMA-65B✅ 51,190❌ 2,048✅✅2023年8月2日 模型评估 为了验证YuLan的能力,研究团队在多个中文和英文基准测试上对其进行了评估。以下是一些评估的结果。 MMLU评估 MMLU(大规模多任务语言理解)是评估模型在零-shot和少-shot设置下知识掌握程度的基准。以下是YuLan在MMLU基准测试中的表现: 模型STEM社会科学人文学科其他平均YuLan-Chat-1-13B-v139.657.842.657.649.4YuLan-Chat-1-65B-v149.271.757.766.761.3YuLan-Chat-3-12B45.564.351.861.355.7 从表中可以看出,在各个领域,YuLan的表现均衡且优秀,尤其是在社会科学和人文学科方面展现了良好的理解能力。 C-Eval评估 C-Eval是一个针对基石模型综合能力的中文评估套件。以下是YuLan在C-Eval基准测试中的表现: 模型STEM社会科学人文学科其他平均难度平均YuLan-Chat-1-65B-v137.746.136.838.039.231.1YuLan-Chat-3-12B47.061.852.944.350.537.7 YuLan在C-Eval的整体表现也相当可观,尤其是在STEM(科学、技术、工程和数学)领域,显示出其在中文理解和生成方面的强大能力。 使用与部署 YuLan的易用性也是其一大亮点。用户可以通过简单的指令在命令行中进行模型的推理和使用。以下是设置环境和使用模型的基本步骤: 环境设置 首先,创建并激活一个新的Python环境: conda create -n yulan python=3.10 -y conda activate yulan 接着,安装所需的依赖包: pip install -r requirements.txt 模型权重恢复 对于基于LLaMA的模型,用户需要下载LLaMA的原始权重,并将YuLan的发布差值参数与原始参数合并。以下是合并的命令: python3 apply_delta.py \ --base-model-path ./llama-13b/ \ --tuned-model-path ./yulan-13b/ \ --delta-path ./yulan-13b-delta 对于YuLan-LLaMA-2-13B和YuLan-Chat-2-13B. 用户可以直接下载发布的检查点并通过Huggingface Transformers加载其参数。✅ 从Huggingface Transformers导入 用户可以通过以下代码从Huggingface Transformers加载YuLan模型: from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("yulan-team/YuLan-Chat-3-12b") model = AutoModelForCausalLM.from_pretrained("yulan-team/YuLan-Chat-3-12b").cuda() model.eval() 结语 YuLan作为一个开源的大语言模型,其在多语言处理上的表现令人瞩目。通过强大的预训练和人类对齐策略,YuLan展现了在实际应用中的巨大潜力。不过,正如该模型文档中提到的,尽管进行了多方面的安全性改进,但依然可能会生成不当内容,因此使用时需谨慎。 YuLan的推出不仅推动了中文大语言模型的发展,也为未来的人工智能研究提供了新的思路。随着技术的不断进步,我们期待YuLan在各个领域的广泛应用。 参考文献 Zhu, Y. , Zhou, K., Mao, K., et al. (2024). YuLan: An Open-source Large Language Model. CoRR, abs/2406.19853. ✅arXiv. OpenCompass. (2023). Benchmark for Large Language Models. C-Eval Benchmark. (2023). Comprehensive Evaluation Suite for Foundation Models. AGI-Eval. (2023). Human-Centric Benchmark for Foundation Models. Hugging Face. (2023). Transformers Documentation.
在人工智能的快速发展中,语言模型的演进正在改变我们与机器的互动方式。在这一领域,中国人民大学高瓴人工智能学院的研究团队推出了YuLan,一个令人兴奋的开源大语言模型。YuLan的名称源自“玉兰”,这是中国人民大学的校花,象征着优雅与智慧。本文将深入探讨YuLan的技术特性、模型评估及其在实际应用中的潜力。
YuLan的技术特性
YuLan系列模型是基于聊天的语言模型,采用了多种先进的技术以增强其语言能力和人类对齐能力。这些技术特性包括:
下面是YuLan不同版本的对比表,展示了它们在技术特性上的区别:
模型评估
为了验证YuLan的能力,研究团队在多个中文和英文基准测试上对其进行了评估。以下是一些评估的结果。
MMLU评估
MMLU(大规模多任务语言理解)是评估模型在零-shot和少-shot设置下知识掌握程度的基准。以下是YuLan在MMLU基准测试中的表现:
从表中可以看出,在各个领域,YuLan的表现均衡且优秀,尤其是在社会科学和人文学科方面展现了良好的理解能力。
C-Eval评估
C-Eval是一个针对基石模型综合能力的中文评估套件。以下是YuLan在C-Eval基准测试中的表现:
YuLan在C-Eval的整体表现也相当可观,尤其是在STEM(科学、技术、工程和数学)领域,显示出其在中文理解和生成方面的强大能力。
使用与部署
YuLan的易用性也是其一大亮点。用户可以通过简单的指令在命令行中进行模型的推理和使用。以下是设置环境和使用模型的基本步骤:
环境设置
首先,创建并激活一个新的Python环境:
接着,安装所需的依赖包:
模型权重恢复
对于基于LLaMA的模型,用户需要下载LLaMA的原始权重,并将YuLan的发布差值参数与原始参数合并。以下是合并的命令:
对于YuLan-LLaMA-2-13B和YuLan-Chat-2-13B. 用户可以直接下载发布的检查点并通过Huggingface Transformers加载其参数。✅
从Huggingface Transformers导入
用户可以通过以下代码从Huggingface Transformers加载YuLan模型:
结语
YuLan作为一个开源的大语言模型,其在多语言处理上的表现令人瞩目。通过强大的预训练和人类对齐策略,YuLan展现了在实际应用中的巨大潜力。不过,正如该模型文档中提到的,尽管进行了多方面的安全性改进,但依然可能会生成不当内容,因此使用时需谨慎。
YuLan的推出不仅推动了中文大语言模型的发展,也为未来的人工智能研究提供了新的思路。随着技术的不断进步,我们期待YuLan在各个领域的广泛应用。
参考文献