项目介绍:InternLM2.5-1.8B-Chat
项目背景
InternLM2.5 是一款开源的先进语言模型,旨在服务于实际应用场景。它由1.8亿个参数组成的基础模型与对话模型构成。该模型在多个能力维度上表现出色,特别是在推理能力和工具使用方面。InternLM2.5 的问世为复杂智能体的搭建带来了更多可能,其增强的工具调用能力能够从海量网页中提取有用信息,进行分析和推理。
主要特点
-
卓越的推理能力:InternLM2.5 在数学推理领域取得了卓越的表现,超越了同类模型如 MiniCPM-2 和 Qwen2-1.5B。
-
增强的工具利用能力:该模型支持从超过100个网页中收集信息进行分析,其在指令理解、工具选择和结果反思等方面具有强大的泛化能力。相关技术已于 MindSearch 中开源。
性能评测
InternLM2.5-1.8B-Chat 的性能得到了广泛的评测。评测使用了 OpenCompass 工具,覆盖学科、语言、知识、推理和理解五个方面。部分评测结果如下:
Benchmark | InternLM2.5-1.8B-Chat | MiniCPM-2 | Qwen2-1.5B-Instruct |
---|---|---|---|
MMLU (5-shot) | 50.7 | 54.2 | 55.7 |
CMMLU (5-shot) | 62.2 | 50.6 | 65.2 |
BBH (3-shot CoT) | 41.9 | 41.5 | 36.5 |
MATH (0-shot CoT) | 40.2 | 15.5 | 21.4 |
GPQA (0-shot) | 27.8 | 23.7 | 27.3 |
需要注意的是,由于工具和模型的更新,评测结果可能有所不同,用户可以查阅 OpenCompass 榜单 以获取最新数据。
模型加载示例
InternLM2.5 1.8B Chat 模型可以通过 Transformers 库轻松加载。以下是一个简单实现的代码示例:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm2_5-1_8b-chat", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("internlm/internlm2_5-1_8b-chat", torch_dtype=torch.float16, trust_remote_code=True).cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "请提供三个管理时间的建议。", history=history)
print(response)
部署方案
InternLM2.5 提供了多种部署选项,包括 LMDeploy 和 vLLM,这些工具可以帮助开发者实现模型的轻量化、部署和服务化。
LMDeploy
使用 LMDeploy 工具可以轻松进行模型的本地推理或启用 OpenAI API 兼容服务:
pip install lmdeploy
lmdeploy serve api_server internlm/internlm2_5-1_8b-chat --model-name internlm2_5-1_8b-chat --server-port 23333
vLLM
通过 vLLM 工具,也可以快速启动兼容的 API 服务:
pip install vllm
python -m vllm.entrypoints.openai.api_server --model internlm/internlm2_5-1_8b-chat --served-model-name internlm2_5-1_8b-chat --trust-remote-code
开源与许可证
InternLM2.5 的代码基于 Apache-2.0 许可证开源,同时为学术研究开放模型权重。该模型亦允许免费用于商业用途,但需通过申请表申请商业许可证。
总结
InternLM2.5 是一款多功能的先进语言模型,具备强大的推理和工具利用能力。无论是学术研究还是实际应用开发,它都提供了强有力的支持,拥有广泛的应用前景。