社区供稿 | 面向多样应用需求,书生·浦语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的区别是什么?
1730 0
|
7月前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
765 30
|
机器学习/深度学习 计算机视觉 知识图谱
【YOLOv8改进】MobileViT 更换主干网络: 轻量级、通用且适合移动设备的视觉变压器 (论文笔记+引入代码)
MobileViT是针对移动设备的轻量级视觉Transformer网络,结合CNN的局部特征、Transformer的全局注意力和ViT的表示学习。在ImageNet-1k上,它以600万参数实现78.4%的top-1准确率,超越MobileNetv3和DeiT。MobileViT不仅适用于图像分类,还在目标检测等任务中表现出色,且优化简单,代码已开源。YOLOv8引入了MobileViT块,整合卷积和Transformer结构,提升模型性能。更多详情可参考相关专栏和链接。
|
10月前
|
存储 缓存 Java
程序员必懂!上下文切换到底是怎么回事?
大家好,我是小米,一个喜欢分享技术的程序员。今天聊聊社招面试中的高频考点——上下文切换。它指CPU在多个任务间切换时保存和恢复状态的过程,常见于进程、线程切换及中断处理。上下文切换有CPU时间开销、缓存失效、内存开销等代价。优化方法包括减少线程数量、选择合适的并发模型、优化锁使用等。理解这些不仅能提升面试表现,还能写出更高效的代码。欢迎关注我的微信公众号“软件求生”,获取更多技术干货!
404 6
|
人工智能 小程序 API
【最佳实践系列】阿里云百炼「音视频实时互动」功能上线:几分钟实现模型到应用!
阿里云百炼推出「音视频实时互动」功能,支持0代码搭建并集成到Web、iOS和安卓应用。用户可轻松创建AI应用并分享。具体步骤包括新建智能体应用、配置模型(如通义千问-VL)、编写提示词、设置API-KEY及发布应用。平台提供多种渠道支持,如API、网页、小程序等,帮助用户快速构建成熟的AI应用。欢迎体验并在评论区交流反馈。
719 0
|
人工智能 新制造 芯片
2024年中国AI大模型产业发展报告解读
2024年,中国AI大模型产业迎来蓬勃发展,成为科技和经济增长的新引擎。本文解读《2024年中国AI大模型产业发展报告》,探讨产业发展背景、现状、挑战与未来趋势。技术进步显著,应用广泛,但算力瓶颈、资源消耗和训练数据不足仍是主要挑战。未来,云侧与端侧模型分化、通用与专用模型并存、大模型开源和芯片技术升级将是主要发展方向。
|
数据采集 监控 异构计算
transformers+huggingface训练模型
本教程介绍了如何使用 Hugging Face 的 `transformers` 库训练一个 BERT 模型进行情感分析。主要内容包括:导入必要库、下载 Yelp 评论数据集、数据预处理、模型加载与配置、定义训练参数、评估指标、实例化训练器并开始训练,最后保存模型和训练状态。整个过程详细展示了如何利用预训练模型进行微调,以适应特定任务。
810 3
|
人工智能 安全 算法
多端融合,打造最优落地效果的多模态百炼
本次分享由阿里云智能集团飞天实验室资深产品专家江潇和科学家胡露露主讲,介绍了多端融合的多模态百炼产品。内容涵盖多模态模型的优化、生产力和产品力建设、RAG能力升级、终端大模型场景探索、内容安全和生态应用等方面。百炼已支持多模态模型调用,提升了模型效果和应用效果,并在安全性、模型优化和终端部署上取得了显著进展。
|
SQL 安全 网络安全
SQL安装程序规则错误解决方案
在安装SQL Server时,遇到安装程序规则错误是一个比较常见的问题
|
安全 Java
Java 泛型上限和下限
Java 泛型上限和下限

热门文章

最新文章