项目介绍
InternLM2-Chat-1.8B 项目概述
InternLM2-Chat-1.8B 是书生·浦语系列的第二代模型之一,拥有18亿参数。为了便于用户使用和研究,InternLM2-1.8B 提供了三个不同版本的开源模型:
- InternLM2-1.8B: 这是一个基础模型,质量高且适应性强,可以作为下游深度开发的良好起点。
- InternLM2-Chat-1.8B-SFT:在基础模型上进行监督微调(SFT)得到的对话模型。
- InternLM2-Chat-1.8B:在微调模型的基础上,通过在线强化学习进行进一步优化,使其在指令跟随、聊天体验和函数调用等方面表现更佳,推荐用于下游应用。
技术特点
InternLM2 系列模型在技术上有以下几个显著特性:
- 超长上下文支持:该模型能有效处理长达20万字的输入,几乎可以实现“大海捞针”的精确性,并且在长文本任务如LongBench和L-Eval中的表现领先其他开源模型。
- 综合性能提升:相较于上一代模型,InternLM2在推理、数学和编码能力方面均有显著的提升。
性能评测
InternLM2 的性能在多个重要的评测集上进行了测试,以下是部分测试结果:
评测集 | InternLM2-1.8B | InternLM2-Chat-1.8B-SFT |
---|---|---|
MMLU | 46.9 | 47.1 |
AGIEval | 33.4 | 38.8 |
BBH | 37.5 | 35.2 |
GSM8K | 31.2 | 39.7 |
MATH | 5.6 | 11.8 |
HumanEval | 25.0 | 32.9 |
MBPP (Sanitized) | 22.2 | 23.2 |
局限性
尽管在训练过程中我们努力提高模型的安全性,并尝试使输出内容符合伦理和法律要求,但由于模型的复杂性和随机性,仍可能产生不符合预期的输出,例如包含偏见或其他有害内容。请谨慎对待这样的输出。
模型加载和部署
使用Transformers加载
以下代码展示了如何使用Transformers库加载InternLM2 1.8B Chat模型:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm2-chat-1_8b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("internlm/internlm2-chat-1_8b", torch_dtype=torch.float16, trust_remote_code=True).cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
使用LMDeploy进行部署
用户可以使用LMDeploy来轻松地压缩、部署和服务大语言模型。以下是基本部署步骤:
pip install lmdeploy
运行以下命令启动兼容OpenAI的服务器:
lmdeploy serve api_server internlm/internlm2-chat-1_8b --model-name internlm2-chat-1_8b --server-port 23333
更多详细信息请查看 LMDeploy 文档
开源许可证
项目的代码根据Apache-2.0协议开源,模型权重对学术研究完全开放并允许免费用于商业用途。对于商业使用授权的申请,请填写相应的申请表。
如有其他问题或合作,请通过internlm@pjlab.org.cn联系我们。