社区供稿 | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本

简介: 在 2024 年 7 月 4 日的 WAIC 科学前沿主论坛上,上海人工智能实验室推出了书生·浦语系列模型的全新版本——InternLM2.5。

在 2024 年 7 月 4 日的 WAIC 科学前沿主论坛上,上海人工智能实验室推出了书生·浦语系列模型的全新版本——InternLM2.5。相较于上一代,InternLM2.5 全面增强了在复杂场景下的推理能力,支持 1M 超长上下文,能自主进行互联网搜索并从上百个网页中完成信息整合。

此前,面向广泛应用场景的轻量级 InternLM2.5-7B 已开源。为适应更多样化应用场景及不同开发者需求,InternLM2.5 再次开源 1.8B、20B 参数版本。

  • InternLM2.5-1.8B :性能优越的超轻量级模型,兼具高质量和高适应灵活性。
  • InternLM2.5-20B :综合性能更为强劲,可以有效支持更加复杂的实用场景。

三种不同尺寸的 InternLM2.5 模型现已全部开源,快速体验链接:

书生·浦语系列大模型主页:

https://internlm.intern-ai.org.cn

ModelScope 主页:

https://www.modelscope.cn/organization/Shanghai_AI_Laboratory?tab=model

Hugging Face 主页:

https://huggingface.co/internlm

InternLM2.5 开源链接:

https://github.com/InternLM/InternLM

InternLM2.5 亮点

InternLM2.5 采用了多种数据合成技术并进行了多轮迭代,每次迭代均基于当前领先模型构建的多智能体进行数据筛选、扩增和优化,实现了复杂场景下模型推理能力的全面增强,尤其是在由竞赛问题构成的数学评测集 MATH 上,InternLM2.5-20B 模型成绩相较上一代提升近 1 倍,达到了 64.7% 的准确率。

面向长文档理解和复杂的智能体交互等依赖上文本处理能力的应用场景,为了进一步释放了模型在超长文本应用上的潜力,InternLM2.5 通过在预训练阶段进行 256K Token 长度的高效训练,将上下文长度从上一代模型InternLM2 的 200K 提升到了 1M(约合 120 万汉字)。

为了解决大规模复杂信息的搜索和整合,InternLM2.5 在微调阶段学习了人的思维过程,能够接入团队提出的 MindSearch 多智能体框架,引入了任务规划、任务拆解、大规模网页搜索、多源信息归纳总结等步骤,有效地整合网络信息,能够基于上百个网页的信息进行筛选、浏览和整合。

推理能力领先

通用人工智能的发展依赖强大的推理能力,InternLM2.5 系列聚焦推理能力进行优化,为大模型在复杂场景的应用落地提供了良好的基础。

基于司南 OpenCompass 开源评测框架,研究团队使用统一可复现的评测方法在多个推理能力权威评测集上进行了评测。相比上一代模型,InternLM2.5 在多个推理能力权威评测集上实现了大幅性能提升,特别是在由竞赛问题构成的数学评测集 MATH 上,InternLM2.5 成绩提升近 1 倍,以 20B 参数达到了 64.7% 的准确率,对比其他同量级开源模型,也表现出较强的竞争力。

应用体验

多步复杂推理不在话下

多轮对话意图精准理解

灵活的格式控制和操作

遵循复杂指令

推理和微调快速上手

InternLM2.5 系列模型实现了与下游推理和微调框架的无缝对接,涵盖了上海人工智能实验室自主研发的高性能大语言模型(LLM)微调框架 XTuner、推理框架 LMDeploy,在社区中拥有广泛用户基础的vLLM、Ollama 和 llama.cpp,以及魔搭社区推出的LLM&VLM一站式推理、训练、部署工具 SWIFT。

以下以 20B 模型为例,分别介绍使用 XTuner 微调模型的方式,以及使用 LMDeploy、vLLM 和 Ollama 搭建模型服务的方法。

XTuner

pip install -U 'xtuner[deepspeed]>=0.1.23'
# 单卡 QLoRA 微调,24GB 显存
xtuner train internlm2_5_chat_20b_qlora_alpaca_e3 --deepspeed deepspeed_zero1
# 8 卡全量微调
NPROC_PER_NODE=8 xtuner train internlm2_5_chat_20b_alpaca_e3 --deepspeed deepspeed_zero3

LMDeploy

pip install lmdeploy
lmdeploy server api_server internlm/internlm2_5-20b-chat --server-port 8000

vLLM

pip install vllm
python -m vllm.entrypoints.openai.api_server internlm/internlm2_5-20b-chat --dtype auto --port 8000 --trust-remote-code

Ollama

# 安装 ollama
curl -fsSL https://ollama.com/install.sh | sh
# 下载模型
ollama pull internlm/internlm2.5:20b-chat
# 运行
ollama run internlm/internlm2.5:20b-chat
# 开启服务(另起一个终端)
OLLAMA_HOST=0.0.0.0:8000 ollama serve

LMDeploy、vLLM 和 Ollama 搭建的推理服务,其接口兼容 OpenAI 的服务接口。所以,可以使用 OpenAI 接口访问推理服务,方式如下:

from openai import OpenAI
client = OpenAI(
    api_key='YOUR_API_KEY', # required but unused
    base_url="http://0.0.0.0:8000/v1"
)
model_name = client.models.list().data[0].id
response = client.chat.completions.create(
    model=model_name,
    messages=[
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": " provide three suggestions about time management"},
  ],
    temperature=0.8,
    top_p=0.8,
    max_tokens=100
)
print(response)

SWIFT

魔搭社区推出的大模型&多模态大模型微调推理框架SWIFT,目前已支持一站式玩转 InternLM2.5系列的推理、微调、部署全链路实战

# 实验环境: 单卡80GiB A100
# 安装ms-swift
git clone https://github.com/modelscope/swift.git
cd swift
pip install -e .[llm]
# 推理加速可选 (以下依赖冲突,只能选一个)
pip install vllm
pip install lmdeploy
# 微调
CUDA_VISIBLE_DEVICES=0 swift sft \
    --model_type internlm2_5-20b-chat \
    --dataset codefuse-evol-instruction-zh \
    --num_train_epochs 5 \
    --sft_type lora \
    --output_dir output \
    --lora_target_modules ALL
# 推理
# 指定`--infer_backend pt/vllm/lmdeploy`来切换推理后端
CUDA_VISIBLE_DEVICES=0 swift infer \
    --model_type internlm2_5-20b-chat \
    --infer_backend lmdeploy
# 量化
CUDA_VISIBLE_DEVICES=0 swift export \
    --model_type internlm2_5-20b-chat \
    --quant_bits 4 --quant_method gptq
# 部署
# 指定`--infer_backend pt/vllm/lmdeploy`来切换推理后端
CUDA_VISIBLE_DEVICES=0 swift deploy \
    --model_type internlm2_5-20b-chat \
    --infer_backend lmdeploy



相关文章
|
安全 Shell 网络安全
openssh和openssl的区别是什么?
【4月更文挑战第14天】openssh和openssl的区别是什么?
1910 0
|
机器学习/深度学习 计算机视觉 知识图谱
【YOLOv8改进】MobileViT 更换主干网络: 轻量级、通用且适合移动设备的视觉变压器 (论文笔记+引入代码)
MobileViT是针对移动设备的轻量级视觉Transformer网络,结合CNN的局部特征、Transformer的全局注意力和ViT的表示学习。在ImageNet-1k上,它以600万参数实现78.4%的top-1准确率,超越MobileNetv3和DeiT。MobileViT不仅适用于图像分类,还在目标检测等任务中表现出色,且优化简单,代码已开源。YOLOv8引入了MobileViT块,整合卷积和Transformer结构,提升模型性能。更多详情可参考相关专栏和链接。
|
数据可视化 物联网 测试技术
零一万物Yi-1.5系列模型发布并开源!34B/9B/6B 多尺寸魔搭社区推理微调最佳实践教程来啦!
Yi-1.5是Yi的升级版本。 它使用 500B tokens的高质量语料库在 Yi 上持续进行预训练,并在 3M 个多样化的微调样本上进行微调。
|
文字识别 自然语言处理 数据可视化
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
在 Qwen2 发布后的过去三个月里,许多开发者基于 Qwen2 语言模型构建了新的模型,并提供了宝贵的反馈。在这段时间里,通义千问团队专注于创建更智能、更博学的语言模型。今天,Qwen 家族的最新成员:Qwen2.5系列正式开源
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
|
Docker 容器
Docker Hub镜像公共仓库使用
这篇文章介绍了如何使用Docker Hub公共仓库进行镜像的创建、上传、下载和管理。
6739 8
|
XML 前端开发 数据库
echarts饼图前后端代码SpringCloud+Vue3
echarts饼图前后端代码SpringCloud+Vue3
265 0
|
机器学习/深度学习 人工智能 自然语言处理
|
人工智能 自然语言处理 数据可视化
书生·浦语2.5开源,推理能力再创新标杆,怎么玩都在这里了!
上海人工智能实验室秉持“以持续的高质量开源赋能创新”理念,在为社区始终如一地提供高质量开源模型的同时,也将继续坚持免费商用授权。
|
数据采集 定位技术 Python
Python爬虫IP代理技巧,让你不再为IP封禁烦恼了! 
本文介绍了Python爬虫应对IP封禁的策略,包括使用代理IP隐藏真实IP、选择稳定且数量充足的代理IP服务商、建立代理IP池增加爬虫效率、设置合理抓取频率以及运用验证码识别技术。这些方法能提升爬虫的稳定性和效率,降低被封禁风险。