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评测平台,用于模型的全面评估。书生·浦语全链路开源体系是一个综合性的项目,旨在推动大模型的研发和应用,同时也关注模型的性能优化和实际部署。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【机器学习】数据清洗之识别缺失点

🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步…

shellcode

生成shellcode 在漏洞利用中,shellcode是不可或缺的部分,所以在网上有许多公开分享的 shellcode ,在不同平台上并不通用,需要选择适合的shellcode 。这里推荐两个常 见公开的安全平台:一个为公开的漏洞库exploit-db&am…

『运维备忘录』之 Find 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等只是,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大…

掌握虚拟化与网络配置之道:深入浅出VMware及远程管理技巧

目录 虚拟机介绍 虚拟机的关键字 服务器架构的发展 为什么用虚拟机VMware 虚拟机和阿里云的区别 功能角度 价格因素 应用场景 优势方面 找到windows的服务管理 配置VMware 关于VMware安装的几个服务 vmware如何修改各种网络配置 关于NAT的详细信息(了解) NAT(网…

排序算法---快速排序

原创不易,转载请注明出处。欢迎点赞收藏~ 快速排序是一种常用的排序算法,采用分治的策略来进行排序。它的基本思想是选取一个元素作为基准(通常是数组中的第一个元素),然后将数组分割成两部分,其中一部分的…

数字图像处理实验记录六(图像的傅里叶变换和频域处理)

前言: 一、基础知识 1,傅里叶变换是什么 傅里叶变换是一种线性积分变换,通俗来说,通过傅里叶变换就是把一段信号分解成若干个简谐波。 二、实验要求 1.产生一幅如图所示亮块图像f(x,y)(256256 大小、…

CISA、FBI、EPA 为水系统运营商提供网络安全指南

经过一番停顿后,美国联邦机构发布了指导意见,帮助供水和废水处理系统运营商更好地应对网络攻击,这是威胁行为者越来越多地针对该行业的重要一步。 该文件由环境保护局 (EPA)、联邦调查局 (FBI) 以及网络安全和基础设施安全局 (CISA) 共同编写…

USMART是什么?

一、USMART简介 USMART是一个串口调试组件,可以大大提高代码调试效率,为正点原子为STM32开发的类似linux中shell的调试工具。 一般开发者正常情况下,对单片机功能进行调试的过程大致为:下载——调试——修改——下载——调试——…

大模型是如何实现Function Call函数调用的?

▼最近直播超级多,预约保你有收获 近期直播:《Agent 企业级应用案例实战》 —1— 大模型如何实现函数调用? 大模型要实现精确的函数调用(Function Call)需要理解能力和逻辑能力,理解能力就是对用户的 Prom…

containerd中文翻译系列(十四)追踪

containerd 自 v1.6.0 起支持 OpenTelemetry 跟踪。 跟踪目前只针对 gRPC 调用。 从 containerd 守护进程发送跟踪结果 通过配置 io.containerd.tracing.processor.v1.otlp 插件。 containerd 守护进程可以将跟踪信息发送到指定的 OpenTelemetry 端点。 version 2[plugins.…

Modern C++ 内存篇1 - std::allocator VS pmr

大年三十所写,看到就点个赞吧!祝读者们龙年大吉!当然有问题欢迎评论指正。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. 前言 从今天起我们开始内存相关的话题,内存是个很大的话题,一时不…

sqli靶场完结篇!!!!

靶场,靶场,一个靶场打一天,又是和waf斗智斗勇的一天,waf我和你拼啦!! 31.多个)号 先是一套基本的判断 ,发现是字符型,然后发现好像他什么都不过滤?于是开始poc 3213131…