InternLM大模型实战-1.书生浦语大模型全链路开源体系

文章目录

  • 前言
  • 笔记正文
    • 大模型成为热门关键词
    • 书生·浦语开源历程
    • 从模型到应用
    • 书生·浦语全链条开源开放体系
      • 数据
      • 预训练
      • 微调
      • 评测
      • 部署
      • 部署
      • 智能体
        • Lagent
        • AgentLego
    • 总结

前言

本系列文章是参与书生浦语全链路开源体系学习的笔记文章。B站视频教程地址:

笔记正文

大模型成为热门关键词

LLM受到高关注,因为大模型成为发展通用人工只能的重要途经。

  • 专用模型:针对特定任务,一个模型解决一个问题。
  • 通用大模型:一个模型应对多种任务、多种模态。

书生·浦语开源历程

6月7日发布开始,开源第一代InternLM,并接着开源了其他相关模型或数据,如书生万卷开源的多模态数据集。
书生浦语大模型系列开源包含了轻量级7B,中量级20B,重量级123B,对比当时的其他开源模型由优势。

从模型到应用

从LLM到应用是有Gap的。
在这里插入图片描述

书生·浦语全链条开源开放体系

全链条:包含很完整的大模型应用开发的环节

  1. 数据:书生万卷,2TB数据,涵盖多种模态与任务
  2. 预训练:InternLM-Train,并行训练,极致优化,速度达到3600tokens/sec/gpu
  3. 微调:XTuner,支持全参数微调,支持LoRA等低成本微调
  4. 部署:LMDeploy,全链路部署,性能领先,每秒生成2000+tokens
  5. 评测:OpenCompass,全方位评测,性能课复现80套评测集,40万道题目
  6. 应用:Lagent、AgentLego,支持多种智能体,支持代码解释器等多种工具

数据

包含了文本数据、图像-文本数据集、视频数据,1.0版本发布初总2TB。
OpenDataLab上也有大量数据。

预训练

高可扩展、性能优化、兼容主流、多种配置

微调

LLM的下游应用中,增量续训和有监督微调是经常会用到的两种方式。

  • 增量续训:
    • 使用场景:让基座模型学习到一些新知识,如某个垂类领域知识
    • 训练数据:文章、书籍、代码等
  • 有监督微调:
    • 使用场景:让模型学会理解和遵循各种指令,或者注入少量领域知识
    • 训练数据:高质量的对话、问答数据

微调分为全量参数微调和部分参数微调。

XTuner
在这里插入图片描述

为什么不支持10系的显卡,应该是显卡架构导致的,也没发现有哪个推理框架专门支持了10系的显卡。比如Flash Attention加速,直接不支持Pascal架构,也许是因为这样类似的原因(如vLLM等其他大模型部署框架都依赖于Flash Atten)。

显存优化,能够在8G显卡上进行7B模型的微调。

评测

在这里插入图片描述

OpenCompass提供了丰富的模型支持、分布式高效评测、便捷的数据接口、敏捷的能力迭代。Meta也将其作为推荐的评测工具之一。

部署

LLM特点:

  • 内存开销巨大:庞大的参数量;采用自回归生成token,需要缓存k/v
  • 动态Shape:请求书不固定;token逐个生成,且数量不定
  • 模型结构相对简单:Transformer结构,大部分是decoder-only(从算子上来说比部署视觉模型之类的容易)

技术挑战:
设备、推理、服务

部署方案:模型并行、低比特量化、Attention优化、计算和访存优化、Continuous Batching。

部署

LMDeploy提供包括模型轻量化、推理、服务的全流程的GPU上部署方案。

智能体

主要在于工具使用和交互。

Lagent

在这里插入图片描述
Lagent的智能体框架目前的功能还是不太能够满足需求,毕竟其定位是“轻量级”智能体框架,但是可以相信之后这个框架将会有更加完善丰富的功能。

AgentLego

提供了很多工具,可以比较方便地集成到智能体系统中,输入输出接口也比较灵活。
但是站在国内的情况来说,大概不能完全算是开箱即用的,毕竟依然是从Huggingface上拉取模型,虽然可以通过代理服务器等方式解决,但是依然造成了一些阻碍;这些阻碍相对于AgentLego工具箱提供的便利来说则不算什么。
在这里插入图片描述

总结

书生·浦语全链路开源体系是一个全面、多元化的项目,涵盖了从数据、预训练到微调、部署等多个环节。这个体系包括不同规模的模型,如轻量级的InternLM-7B、中量级的InternLM-20B和重量级的Intern-123B,这些模型在多种任务和模态上表现出色。书生·浦语项目不仅关注模型本身的发展,还重视模型的应用和部署,如LMDeploy和Lagent等工具,这些工具旨在提高模型的推理效率、服务便捷性和应用灵活性。该项目还提供了XTuner等微调框架,支持全参数微调和低成本微调,以及OpenCompass评测平台,用于模型的全面评估。书生·浦语全链路开源体系是一个综合性的项目,旨在推动大模型的研发和应用,同时也关注模型的性能优化和实际部署。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/380223.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【玩转408数据结构】线性表——定义和基本操作

考点剖析 线性表是算法题命题的重点,该类题目实现相对容易且代码量不高,但需要最优的性能(也就是其时间复杂度以及空间复杂度最优),这样才可以获得满分。所以在考研复习中,我们需要掌握线性表的基本操作&am…

vue3集成bpmn

文章目录 前言一、依赖二、汉化配置1.引入文件2.样式文件 总结 前言 vue3 集成bpmn 配置工作流 一、依赖 "bpmn-js": "^7.3.1", "bpmn-js-properties-panel": "^0.37.2", "bpmn-moddle": "^6.0.0", "camu…

MySQL 主键策略导致的效率性能

MySQL官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment 一、准备三张表 分别是user_auto_key,user_uuid,user_random_key,分别表示自动增长的主键…

深度学习自然语言处理(NLP)模型BERT:从理论到Pytorch实战

文章目录 深度学习自然语言处理(NLP)模型BERT:从理论到Pytorch实战一、引言传统NLP技术概览规则和模式匹配基于统计的方法词嵌入和分布式表示循环神经网络(RNN)与长短时记忆网络(LSTM)Transform…

从模型到前端,你应该知道的LLM生态系统指南

LLM在在2023年发展的风生水起,一个围绕LLM的庞大生态系统正在形成,本文通过介绍这个生态系统的核心组成部分,来详细整理LLM的发展。 模型-核心组件 大型语言模型(llm)是人工智能应用程序背后的原材料。这些模型最初被预先训练来预测句子中的…

基于YOLOv7算法的高精度实时老鼠目标检测系统(PyTorch+Pyside6+YOLOv7)

摘要:基于YOLOv7算的高精度实时老鼠目标检测系统可用于日常生活中检测与定位老鼠目标,此系统可完成对输入图片、视频、文件夹以及摄像头方式的目标检测与识别,同时本系统还支持检测结果可视化与导出。本系统采用YOLOv7目标检测算法来训练数据…

每日一练:LeeCode-113、路径总和 II【二叉树+DFS+回溯+是否有返回值】

本文是力扣LeeCode-113、路径总和 II【二叉树DFS回溯是否有返回值】 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给你二叉树的根节点 root 和一个整数目标和 targetSum , 找出所有从根节点到叶子节点路径总…

【精选】java初识多态 子类继承父类

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏…

vscode开发FPGA(0)--windows平台搭建

一、从官网下载安装VScode Download Visual Studio Code - Mac, Linux, Windows 二、安装配置插件 1. 安装Chinese(simplified)中文汉化包 2.安装Verilog-HDL/systemVerilog插件(支持verilog语法) 3.配置CTags Support插件(支持代码跳转) 1)在github下…

在虚拟机上搭建CentOS环境并配置静态IP

在虚拟机上搭建CentOS环境并配置静态IP 在进行Linux系统的学习和实践时,搭建一个本地的CentOS环境是一个非常好的方式。本文将介绍如何使用虚拟机(VM)搭建CentOS环境,并配置静态IP,以便更好地进行网络管理和测试。 步…

Redis篇之缓存雪崩

一、什么的缓存雪崩 缓存雪崩:在同一时间段大量的缓存key同时失效或者redis服务宕机,导致大量请求到达数据库给数据库带来巨大压力,可能导致数据库崩了。 二、应该怎么解决 1.给不同的Key的TTL添加随机值 2.利用Redis集群提高服务的可用性 3…

Windows Server 2025 Hyper-V 新变化

今天简单跟大家聊聊Windows Server 2025 Hyper-V一些新功能新变化,具体如下: 在 VM 之间共享 GPU 随着图形处理器的重要性日益增加,特别是由于它们在 AI 应用程序中的核心作用,Hyper-V 中对 GPU 的现有支持已不再足够。到目前为…

Docker部署前端项目

某次阿里云的自动流水线失败了,代码本地跑起来莫得问题,错误日志提示让我跑一下npm run build ,但是俺忽然发现,我跑了,文件打包好了,但是往哪里运行呢?这涉及到要构建一个环境供打包文件部署吧…

CTF--Web安全--SQL注入之‘绕过方法’

一、什么是绕过注入 众所周知,SQL注入是利用源码中的漏洞进行注入的,但是有攻击手段,就会有防御手段。很多题目和网站会在源码中设置反SQL注入的机制。SQL注入中常用的命令,符号,甚至空格,会在反SQL机制中…

springboot173疫苗发布和接种预约系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

Java面向对象 多态

目录 多态多态的好处实例创建一个Main 多态 在Java中,多态是面向对象编程的三大基本特性之一,另外两个是封装和继承。多态是指一个接口可以有多种实现方式,或者一个对象可以表现出多种形态。 在Java中,多态主要通过方法重载和重写…

Java面向对象 方法的重写

目录 重写重写的规则实例创建Person类创建Student类测试 重载和重写的区别 重写 发生在子类和父类中,当子类对父类提供的方法不满意的时候,要对父类的方法进行重写。 重写的规则 子类的方法名字和父类必须一致,参数列表(个数&…

【Linux】进程学习(一):基本认识

目录 1.基本概念2.初步理解3.描述进程-PCB3.1task_struct-PCB的一种3.2task_ struct内容分类 4.组织进程5.查看进程5.1通过ps指令查看5.2通过系统目录查看 6.通过系统调用获取进程的PID和PPID7.通过系统调用创建进程-fork初识 1.基本概念 课本概念:程序的一个执行实…

【跳槽须知】关于企业所签订的竞业协议你知道多少?

年后跳槽须知自己签订的合同中是否存在竞业协议,谨防协议造成经济损失 🐓 什么是竞业协议 竞业协议时用于保护自己的权益,在员工离职时决定是否启动的一种协议,避免一些掌握公司机密的一些重要岗位人才流入竞争对手的公司&#xf…

C++ 位图布隆过滤器哈希切割

文章目录 位图概念模拟实现海量数据面试题1 布隆过滤器模拟实现应用场景海量数据面试题2 哈希切割海量数据面试题3 位图 概念 我们用一道题引出此概念: 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这…