使用书生·浦语开源体系进行算法开发
背景
https://intern-ai.org.cn/home
https://github.com/InternLM
书生·浦语 - 语言大模型来自上海ailab、商汤科技,是国内领先的AI相关开源社区
其中许多开发者都来自OpenMMLab,相信接触过cv领域的朋友或多或少都使用过旗下的产品,例如mmpretrain、mmdet、mmseg等一系列开箱即用的cv炼丹框架。
可以看到,openmmlab在cv开源项目中,是独树一帜的存在,如今的书生·浦语社区,也是原班人马打造。
在开源技术方案中,作为开发者,我们一般主要考虑两个点,一是项目贡献者靠不靠谱?会不会跑路?二是项目好不好用,值不值得用。总的来说,openmmlab出品,值得信赖,书生·浦语大模型全链路开源体系,值得一试。
大模型开发需要什么
大模型开发一般包括以下内容:
- 模型
- 训练/微调
- 部署、量化、接口
- 性能评估
- 产品构建
当然,实际上还有更多细节,如GPT所言:
想要实现以上内容,仅凭一个人的努力,当然是很困难的,但是没关系,基于开源社区,我们可以获得很多帮助,大大减少了重复造轮子的工夫。
书生·浦语开源生态
书生·浦语开源开放体系主要覆盖数据、预训练、微调、部署、评测五大环节,其中数据有opendatalab提供支持,主要产品是书生万卷
https://opendatalab.com/
其余部分由以下构成:
构成
InternLM–官方出品的一系列语言模型
https://github.com/InternLM/InternLM
在这里,我们结合Internlm2的技术报告来看
https://arxiv.org/abs/2403.17297
https://mp.weixin.qq.com/s/IUUj_CWUJPdrhLq1XAR-KA
InternLM2与目前大模型依然处在同一个赛道中,大海捞针、长上下文(20k)、逻辑推理、工具调用等测试均表现尚可,但与其他大模型差异主要在于——InternLM2有强大的社区支持,其背后的一系列开源工具包、工具链、生态体系,这是InternLM2目前对开发者而言最有吸引力的地方。
InternEvo–轻量级LLM训练框架
https://github.com/InternLM/InternEvo/
InternEvo 是一个开源的轻量级训练框架,旨在支持模型预训练,而不需要大量的依赖。通过单一代码库,它支持对数千个 GPU 的大规模集群进行预训练,并在单个 GPU 上进行微调,同时实现显着的性能优化。 InternEvo 在 1024 个 GPU 上训练时实现了近 90% 的加速效率。
InternLM2便是使用InternEvo进行训练,此外,相信炼过丹的同学都知道,训练框架对于模型性能表现也有很大影响
基于InternEvo训练框架,我们不断发布多种大型语言模型,包括InternLM-7B系列和InternLM-20B系列,其性能显着优于LLaMA等众多知名开源LLM等该领域的领先模型。
通过InternEvo,我们能够高效完成大模型训练任务
XTuner–支持多种模型的微调工具包
https://github.com/InternLM/xtuner
XTuner是高效、灵活、功能齐全的大型模型微调工具包(InternLM、Llama、Baichuan、Qwen、ChatGLM)
高效的
支持几乎所有GPU上的LLM、VLM预训练/微调。 XTuner能够在单个8GB GPU上微调7B LLM,以及超过70B的模型的多节点微调。
自动调度 FlashAttention 和 Triton 内核等高性能算子,以提高训练吞吐量。
兼容DeepSpeed 🚀,轻松利用多种 ZeRO 优化技术。
灵活的
支持各种LLM(InternLM,Mixtral-8x7B,Llama2,ChatGLM,Qwen,Baichuan,…)。
支持VLM(LLaVA)。LLaVA-InternLM2-20B的性能非常出色。
精心设计的数据管道,可容纳任何格式的数据集,包括但不限于开源和自定义格式。
支持多种训练算法(QLoRA、LoRA、全参数fune-tune),让用户可以根据自己的需求选择最合适的解决方案。
功能齐全
支持持续预训练、指令微调、代理微调。
支持使用预定义模板与大模型聊天。
输出模型可以与部署和服务器工具包(LMDeploy)以及大规模评估工具包(OpenCompass,VLMEvalKit)无缝集成。
通过XTuner,快速微调大模型不再是一个有门槛的任务。
LMDeploy–LLM部署工具包
https://github.com/InternLM/lmdeploy
LMDeploy 是一个用于压缩、部署和服务 LLM 的工具包,由MMRazor和MMDeploy团队开发。它具有以下核心特点:
- 高效推理:LMDeploy 通过引入持久批处理(又称连续批处理)、阻塞 KV 缓存、动态拆分和融合、张量并行、高性能 CUDA 内核等关键功能,提供比 vLLM 高出 1.8 倍的请求吞吐量。
- 有效量化:LMDeploy支持仅权重和k/v量化,4位推理性能比FP16高2.4倍。量化质量已通过 OpenCompass 评估得到确认。
- 轻松的分发服务器:利用请求分发服务,LMDeploy 有助于跨多台机器和卡轻松高效地部署多模型服务。
- 交互推理模式:通过缓存多轮对话过程中注意力的k/v,引擎记住对话历史,从而避免对历史会话的重复处理。
LMDeploy特色功能是部署、量化(4bit、kvcache),部署是模型开发中重要的一个环节,起到了承前启后的作用。通过部署,我们才能把我们炼好的丹用于后续呈现。
AgentLego–强调agent的多功能工具api库
https://github.com/InternLM/lagent
基于大模型的智能体是当下的一个热门话题,书生·浦语开源体系中同样包含了该领域中的工具,基于lagent,我们可以快速实现代码解释器、web聚合搜索等llm下游任务,为后续构建产品做准备
OpenCompass–大模型评估平台
https://github.com/open-compass/opencompass
在大模型开发过程中,评估一直是个津津乐道的步骤,语料泄露、prompt春秋笔法、未曾想到的评价方法,大模型评估一直是一件比较草台班子的事情。但书生·浦语大模型全链路开源体系中,同样有着为大模型评估提供服务的工具,那就是opencompass,开源的评估平台。使用命令行和配置文件便可以完成大模型评估,开箱即用,感谢开源贡献者。
文章来源:https://www.toymoban.com/news/detail-844855.html
OpenAOE–开箱即用的聊天UI
https://github.com/InternLM/OpenAOE
openaoe主打开箱即用的UI,提供了多模型对话的解决方案(类似POE),但目前该社区并不是特别活跃,可能还存在着一些尚未得知的bug,并不太建议使用文章来源地址https://www.toymoban.com/news/detail-844855.html
到了这里,关于【AI大模型开发者指南】书生·浦语大模型全链路开源体系的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!