LLMs之InternLM:InternLM/InternLM-7B模型的简介、安装、使用方法之详细攻略

LLMs之InternLM:InternLM/InternLM-7B模型的简介、安装、使用方法之详细攻略

导读:InternLM有 1040亿参数,是在包含1.6万亿token的多语种高质量数据集上训练而成。同时,InternLM-7B完全可商用,支持8k语境窗口长度,中文超ChatGPT,训练和评估动态反馈调整基于ML deploy部署(基于Fast Transform研发)快速加载大模型,比Transform快到2~3倍Hybrid Zero提速 ,开放OpenCompass 评测标准

目录

InternLM模型的简介

1、InternLM的techreport

(1)、主要结果

2、InternLM-7B模型的简介

3、InternLM、InternLM-7B模型的性能评测

4、InternLM-7B模型的局限性

InternLM-7B模型的安装

1、Model Zoo

2、InternLM 7B下载地址

InternLM模型的高性能部署

1、使用 LMDeploy 完成 InternLM 的一键部署。

2、微调&训练

预训练与微调使用教程

转换为 Transformers 格式使用

3、训练系统

训练性能

InternLM-7B模型的使用方法

1、通过以下的代码加载 InternLM 7B Chat 模型

2、InternLM 7B Chat 模型的使用方法

(1)、通过以下的代码加载 InternLM 7B Chat 模型

(2)、通过前端网页对话


InternLM模型的简介

         2023年6月7日,上海人工智能实验室(上海AI实验室)、商汤科技联合香港中文大学、复旦大学及上海交通大学发布千亿级参数大语言模型“书生·浦语”(InternLM)。“书生·浦语”具有 1040亿参数,是在包含1.6万亿token的多语种高质量数据集上训练而成。全面评测结果显示,“书生·浦语”不仅在知识掌握、阅读理解、数学推理、多语翻译等多个测试任务上表现优秀,而且具备很强的综合能力,因而在综合性考试中表现突出,在多项中文考试中取得超越ChatGPT的成绩,其中就包括中国高考各科目的数据集(GaoKao)。
         2023年7月6日,在2023世界人工智能大会(WAIC)科学前沿全体会议上,深度学习与计算机专家、上海人工智能实验室教授、香港中文大学教授林达华,发布了“书生通用大模型体系”(以下简称“书生大模型”),包括书生·多模态、书生·浦语InternLM和书生·天际LandMark等三大基础模型,以及首个面向大模型研发与应用的全链条开源体系。当天,正式开源的版本为一个70亿参数的轻量级InternLM-7B,在包含40个评测集的全维度评测中展现出卓越且平衡的性能,全面领先现有开源模型。
         InternLM ,即书生·浦语大模型,包含面向实用场景的70亿参数基础模型与对话模型 (InternLM-7B)。模型具有以下特点:

  • 使用上万亿高质量预料,建立模型超强知识体系;
  • 支持8k语境窗口长度,实现更长输入与更强推理体验;
  • 通用工具调用能力,支持用户灵活自助搭建流程;

         提供了支持模型预训练的轻量级训练框架,无需安装大量依赖包,一套代码支持千卡预训练和单卡人类偏好对齐训练,同时实现了极致的性能优化,实现千卡训练下近90%加速效率。

GitHub地址:GitHub - InternLM/InternLM: InternLM has open-sourced a 7 billion parameter base model, a chat model tailored for practical scenarios and the training system.

论文地址:https://github.com/InternLM/InternLM-techreport/blob/main/InternLM.pdf

InternLM-techreport:GitHub - InternLM/InternLM-techreport

1、InternLM的techreport

        我们推出了InternLM,一个具有1,040亿参数的多语言基础语言模型。InternLM使用多阶段渐进式的过程,在1.6T个标记的大型语料库上进行预训练,然后通过微调来与人类喜好相匹配。我们还开发了一个名为Uniscale-LLM的训练系统,用于高效的大型语言模型训练。在多个基准测试上的评估表明,InternLM在多个方面,包括知识理解、阅读理解、数学和编码方面,均实现了最先进的性能。凭借如此全面的能力,InternLM在包括MMLU、AGIEval、C-Eval和GAOKAO-Bench在内的综合考试中取得了出色的表现,而无需使用外部工具。在这些基准测试中,InternLM不仅表现优于开源模型,而且相对于ChatGPT也获得了更优异的性能。此外,InternLM展示了出色的理解中文语言和中华文化的能力,这使得它成为支持面向中文语言应用的基础模型的合适选择。本文详细介绍了我们的结果,包括跨越各种知识领域和任务的基准测试和示例。

(1)、主要结果

        随着最新的大型语言模型开始展现人类级别的智能,针对人类设计的考试,如中国的高考、美国的SAT和GRE,被视为评估语言模型的重要手段。值得注意的是,在其关于GPT-4的技术报告中,OpenAI通过跨多个领域的考试对GPT-4进行了测试,并将考试成绩作为关键结果。
        我们在以下四个综合考试基准测试中,将InternLM与其他模型进行了比较:

MMLU:基于各种美国考试构建的多任务基准测试,涵盖了小学数学、物理、化学、计算机科学、美国历史、法律、经济、外交等多个学科。

AGIEval:由微软研究开发的基准测试,用于评估语言模型通过人类导向的考试的能力,包括19个任务集,派生自中国和美国的各种考试,例如中国的高考和律师资格考试,以及美国的SAT、LSAT、GRE和GMAT。在这19个任务集中,有9个基于中国的高考(Gaokao),我们将其单独列为一个重要的集合,称为AGIEval(GK)。

C-Eval:用于评估中文语言模型的综合基准测试,包含52个学科的近14,000道问题,涵盖数学、物理、化学、生物、历史、政治、计算机和其他学科,以及公务员、注册会计师、律师和医生的专业考试。
排行榜地址:https://cevalbenchmark.com/static/leaderboard.html

GAOKAO-Bench:基于中国的高考的综合基准测试,包括高考的所有科目。它提供不同类型的问题,包括多项选择、填空和问答。为了简洁起见,我们将这个基准测试简称为高考。

2、InternLM-7B模型的简介

     InternLM ,即书生·浦语大模型,包含面向实用场景的70亿参数基础模型 (InternLM-7B)。模型具有以下特点:

  • 使用上万亿高质量预料,建立模型超强知识体系;
  • 通用工具调用能力,支持用户灵活自助搭建流程;

官网:internlm/internlm-7b · Hugging Face

3、InternLM、InternLM-7B模型的性能评测

     我们使用开源评测工具 OpenCompass 从学科综合能力、语言能力、知识能力、推理能力、理解能力五大能力维度对InternLM开展全面评测,部分评测结果如下表所示,欢迎访问 OpenCompass 榜单 获取更多的评测结果。

数据集\模型InternLM-Chat-7BInternLM-7BLLaMA-7BBaichuan-7BChatGLM2-6BAlpaca-7BVicuna-7B
C-Eval(Val)53.253.424.242.750.928.931.2
MMLU50.851.035.2*41.546.039.747.3
AGIEval42.537.620.824.639.024.126.4
CommonSenseQA75.259.565.058.860.068.766.7
BUSTM74.350.648.551.355.048.862.5
CLUEWSC78.659.150.352.859.850.352.2
MATH6.47.12.83.06.62.22.8
GSM8K34.531.210.19.729.26.015.3
HumanEval14.010.414.09.29.29.211.0
RACE(High)76.357.446.9*28.166.340.754.0
  • 以上评测结果基于 OpenCompass 20230706 获得(部分数据标注*代表数据来自原始论文),具体测试细节可参见 OpenCompass 中提供的配置文件。
  • 评测数据会因 OpenCompass 的版本迭代而存在数值差异,请以 OpenCompass 最新版的评测结果为主。

4、InternLM-7B模型的局限性

        尽管在训练过程中我们非常注重模型的安全性,尽力促使模型输出符合伦理和法律要求的文本,但受限于模型大小以及概率生成范式,模型可能会产生各种不符合预期的输出,例如回复内容包含偏见、歧视等有害内容,请勿传播这些内容。由于传播不良信息导致的任何后果,本项目不承担责任。

InternLM-7B模型的安装

1、Model Zoo

当前通过 InternLM 训练的 InternLM 7B 和 InternLM 7B Chat 已经开源,我们提供两种格式的模型权重以供使用。除了使用 Transformers 格式加载模型之外,还可以通过 InternLM 加载以下格式的权重直接进行继续预训练或人类偏好对齐训练

模型InternLM 格式权重下载地址Transformers 格式权重下载地址
InternLM 7B​编辑🤗internlm/intern-7b
InternLM Chat 7B​编辑🤗internlm/intern-chat-7b
InternLM Chat 7B 8k​编辑🤗internlm/intern-chat-7b-8k

2、InternLM 7B下载地址

下载地址:https://huggingface.co/internlm/internlm-7b/tree/main

InternLM模型的高性能部署

1、使用 LMDeploy 完成 InternLM 的一键部署。

首先安装 LMDeploy:

python3 -m pip install lmdeploy

快速的部署命令如下:

python3 -m lmdeploy.serve.turbomind.deploy InternLM-7B /path/to/internlm-7b/model hf

在导出模型后,你可以直接通过如下命令启动服务一个服务并和部署后的模型对话

python3 -m lmdeploy.serve.client {server_ip_addresss}:33337

完整部署教程:GitHub - InternLM/lmdeploy: LMDeploy is a toolkit for compressing, deploying, and serving LLM

2、微调&训练

预训练与微调使用教程

请参考使用教程开始InternLM的安装、数据处理、预训练与微调。

转换为 Transformers 格式使用

通过 InternLM 进行训练的模型可以很轻松地转换为 HuggingFace Transformers 格式,方便与社区各种开源项目无缝对接。借助 tools/convert2hf.py 可以将训练保存的权重一键转换为 transformers 格式

python convert2hf.py --src_folder origin_ckpt/ --tgt_folder hf_ckpt/ --tokenizer tokenizes/tokenizer.model

转换之后可以通过以下的代码加载为 transformers

from transformers import AutoTokenizer, AutoModel
model = AutoModel.from_pretrained("hf_ckpt/", trust_remote_code=True).cuda()

3、训练系统

InternLM系统结构代码文件结构


InternLM系统结构本项目系统代码文件结构如下所示:├── configs                                  # 配置模块,管理模型和训练相关参数
│   └── 7B_sft.py                            # 7B_sft.py 是系统 demo 的配置文件样例
├── internlm                                 # 系统代码的主目录
│   ├── apis                                 # 接口模块,包含一些关于推理等的接口函数
│   ├── core                                 # 核心模块,管理用于训练和推理的 parallel context 和训练调度引擎
│   │   ├── context                          # context 模块,主要负责初始化并行进程组,并管理 parallel context
│   │   │   ├── parallel_context.py
│   │   │   └── process_group_initializer.py
│   │   ├── engine.py                        # 负责管理模型的训练和评估过程
│   │   ├── no_pipeline_scheduler.py         # 并行训练的调度器
│   │   └── trainer.py                       # 负责管理训练引擎和调度器
│   ├── data                                 # 数据模块,负责管理数据集生成和处理
│   ├── initialize                           # 初始化模块,负责管理分布式环境启动和训练器初始化
│   ├── model                                # 模型模块,负责管理模型结构定义和实现
│   ├── solver                               # 负责管理 optimizer 和 lr_scheduler 等的实现
│   └── utils                                # 辅助模块,负责管理日志、存储、模型注册等
├── train.py                                 # 模型训练的主函数入口文件
├── requirements                             # 系统运行的依赖包列表
├── third_party                              # 系统所依赖的第三方模块,包括 apex 和 flash-attention 等
├── tools                                    # 一些脚本工具,用于原始数据集处理和转换,模型 checkpoint 转换等
└── version.txt                              # 系统版本号

训练性能

InternLM 深度整合了 Flash-Attention, Apex 等高性能模型算子,提高了训练效率。通过构建 Hybrid Zero 技术,实现计算和通信的高效重叠,大幅降低了训练过程中的跨节点通信流量。InternLM 支持 7B 模型从 8 卡扩展到 1024 卡,千卡规模下加速效率可高达 90%,训练吞吐超过 180TFLOPS,平均单卡每秒处理的 token 数量超过3600。下表为 InternLM 在不同配置下的扩展性测试数据:

GPU Number81632641282565121024
TGS40783939391939443928392038353625
TFLOPS193191188188187185186184

TGS 代表平均每GPU每秒可以处理的 Token 数量。更多的性能测试数据可参考训练性能文档进一步了解。

InternLM-7B模型的使用方法

1、通过以下的代码加载 InternLM 7B Chat 模型

from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm-7b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("internlm/internlm-7b", trust_remote_code=True).cuda()
model = model.eval()
inputs = tokenizer(["来到美丽的大自然,我们发现"], return_tensors="pt")
for k,v in inputs.items():
gen_kwargs = {"max_length": 128, "top_p": 0.8, "temperature": 0.8, "do_sample": True, "repetition_penalty": 1.1}
output = model.generate(**inputs, **gen_kwargs)
print(output)

2、InternLM 7B Chat 模型的使用方法

(1)、通过以下的代码加载 InternLM 7B Chat 模型

from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("internlm/internlm-chat-7b", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("internlm/internlm-chat-7b", trust_remote_code=True).cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "请提供三个管理时间的建议。", history=history)
print(response)

(2)、通过前端网页对话

可以通过以下代码启动一个前端的界面来与 InternLM Chat 7B 模型进行交互

pip install streamlit==1.24.0
pip install transformers==4.30.2
streamlit run web_demo.py

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

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

相关文章

深挖 ChatGPT 原理,保姆级解说!

最近,ChatGPT 几乎刷屏国内外各大社交媒体,它流畅对答、写剧本、写代码等各项功能令人惊奇,许多技术人也不断深究其强大的背后原理,本文作者就是其中之一。 原文链接:https://www.jonstokes.com/p/chatgpt-explained-a…

《预训练周刊》第67期: ChatGPT引起热议、量化技术、Meta图像掩码加速CLIP

No.67 智源社区 预训练组 预 训 练 研究 观点 资源 活动 周刊订阅 告诉大家一个好消息,《预训练周刊》已经开启“订阅功能”,以后我们会向您自动推送最新版的《预训练周刊》。订阅方法: 方式1:扫描下面二维码,进入《预…

Web3.0的由来:10分钟看未来,必须掌握的吹牛知识

全文3046字,阅读约需要10分钟 2022年10月18日,周星驰在社交平台发布一条招聘信息。一共两张照片,一张是周星驰在白板前写着“请人”二字,另一张是招人启事,人才要求:熟悉Web3、有项目管理经验、有头脑又宅心…

四天工作制究竟香不香;复旦发布类ChatGPT模型Moss;苹果上新348元省电保护膜 | EA周报...

EA周报 2023年2月24日 每个星期1分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事、掌握IT核心技术。 周报看点 1、周鸿祎:ChatGPT可能两三年内就会产生自我意识威胁人类 2、余承东:华为没有必要下场造车,问界不会涉及 2…

java springboot 整合webSocket接入调用chatGPT3.5接口实现自由返回

java springboot 中使用webSocket接入openAI接口调用chatGPT3.5接口实现自由返回 在springboot中添加webSocketServer Component Anonymous ServerEndpoint(“/websocket/{id}”) // 访问路径: ws://localhost:8080/websocket public class WebSocketServer { protected sta…

探索ChatGPT背后的网络基础设施

ChatGPT是OpenAI公司开发的一款聊天机器人应用,自2022年11月推出以来以迅雷不及掩耳盗铃之势火爆全球。ChatGPT不仅可以模仿人类对话,还可以创建音乐、电视剧、童话故事和学生论文,甚至是编写和调试计算机程序。 截至2023年1月,C…

chatgpt帮我写的一个小程序气泡框代码

效果图 这是一个气泡框 .bubble { position: relative; padding: 10px; border-radius: 8px; background-color: #ddd; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); } .triangle { position: absolute; width: 0; height: 0; top: -10px; left: 50%; margin-left: -10px; bor…

2023 ChatGPT智能AI机器人微信小程序源码

最近ChatGPT智能AI聊天突然爆火了 ChatGPT 是 OpenAI 开发的一款专门从事对话的人工智能聊天机器人原型。 聊天机器人是一种大型语言模型,采用监督学习和强化学习技术。 ChatGPT 于 2022 年 11 月推出,尽管其回答事实的准确性受到批评,但因…

三分钟完成小程序 uni-app、网站接入chatgpt实现聊天效果

利用laf云开发实现uni-app调用chatGPT API,实现与openai对话 1.实现后台接口 注册laf云开发账号 https://laf.dev/ 注册一个应用后进入这个页面: 下载依赖 chatgpt配置apiKey写send函数 //send函数源码 import cloud from lafjs/cloud export async…

离大谱,直接让chatG开发微信小程序

大家好,最近chatgpt不是比较火嘛,小浅浅我也打算来凑凑热闹,通过一番魔法操作后,终于是搞定了账号环境这些东西,上手体验了一下之后发现确实不错,可以直接提需求给他,然后帮你出思路和写代码。我…

借助ChatGPT编写html小程序

在数值模拟过程中,经常需要反复计算一些参数,例如常见的无量纲参数雷诺数和瑞利数等 它们的表达式如下: R a g β Δ T H 3 P r ν 2 Ra \frac{g \beta \Delta T H^3Pr}{\nu^2} Raν2gβΔTH3Pr​ 为了确定这个参数,需要给定 g…

ChatGPT都说厉害的东西,零基础,3个小时完成微信小程序的制作并发布

ChatGPT都说厉害的东西,零基础,3个小时完成微信小程序的制作并发布 目录 ChatGPT都说厉害的东西,零基础,3个小时完成微信小程序的制作并发布一、事情的起因(先解释一些因素,可以选择跳过)二、产…

微信小程序| AIGC之动手实现ChatGPT法律顾问小程序

一、需求背景 在资本退去后,现如今的互联网行情很差劲,很多创新业务都不得不砍除。再加上国内互联网时代进入到了一个增量犹显疲态,增量杀红了眼!阶段,各大互联网公司均有一种断臂求生的态势!各位互联网同行,大力发展第二职业已然变成了必要的生产力! 我们既要辩证的…

微信小程序 |做一款跟ChatGPT下五指棋的小程序

一、写在前面 敢问世间万物,何以解忧? 时下最为火爆的ChatGPT想必够资格来回答一下这个问题。 要想当年AlphaGO打败世界围棋高手李世石,就展露出AI的惊人实力,时隔多年,AI领域在憋了这么多年之后,现如今,ChatGPT 4大杀四方,各行各业无不为之震撼! 借用刚召开的新程…

ChatGPT的朋友们:大语言模型经典论文一次读到吐

知乎:Ostrich 职位:阿里巴巴 算法工程师 原文:https://zhuanlan.zhihu.com/p/620360553 要说2023刷屏最多的词条,ChatGPT可以说是无出其右。到最近的GPT-4,技术的革新俨然已呈现破圈之势,从学术圈到工业界再…

0起步用GPT+知乎赚了点小钱,人人可复制

大家好,我是五竹。 前段时间分享了一篇关于用ChatGPT赚点小钱的实战:TMD,被人偷窥了一个月!结果上周末的时候在知乎追了一个关于Claude的热点,发布了一篇注册Claude的文章,结果小小的“爆了”一下&#xf…

这是一篇由ChatGPT生成的博客

这是一篇由ChatGPT生成的博客 前言功能“写”小说编程C语言实现雪花算法Vue和element-ui写一个登陆界面MySQLSpringboot 结尾 前言 ChatGPT是一款由OpenAI开发的预训练聊天机器人模型。它是基于GPT-3(Generative Pretrained Transformer-3)架构构建的&a…

GPT4和ChatGPT的区别,太让人震撼

文 | Serendipity知乎 前言 GPT4上午朋友圈已经刷屏啦,不过我还在忙,刚刚才登上 GPT-4 ,现在来体验一下~ 附 GPT-4 能力测试站(无需魔法,仅供国内研究测试): https://gpt4test.com 附 Cha…

研究生如何利用 ChatGPT 帮助开展日常科研工作?

链接:https://www.zhihu.com/question/583232012 编辑:深度学习与计算机视觉 声明:仅做学术分享,侵删 作者:武幺六https://www.zhihu.com/question/583232012/answer/3022264244 我这篇保姆级的ChatGPT论文精读和组会汇…

知乎、百度会被ChatGPT取代吗?百度文心一言胜算如何

有人说ChatGPT革了知乎的命,这种看法是很直观能理解的,因为知乎上面有问题(题主),也有很多人回答问题,解决题主的疑惑,其实这种形式和ChatGPT的“一问一答”“知识分享”或“对话交流”很相像。…