当前位置:   article > 正文

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

internlm-20b

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

导读:2023年09月20日,由上海人工智能实验室等团队发布了InternLM-20B的大模型。它在OpenCompass提出的5个能力维度上(语言、知识、理解、推理、学科)全面领先于同规模开源模型,InternLM-20B 在综合能力上全面领先于13B量级的开源模型,同时在推理评测集上接近甚至超越Llama-65B的性能。并且支持从单GPU到数千GPU(1024个)规模的扩展,千卡规模下训练吞吐超过180TFLOPS,平均单卡每秒处理的 token 数量超过3600。
更高质量和更高知识密度的数据集:相较于InternLM-7B,InternLM-20B使用的预训练数据经过了更高质量的清洗,并补充了高知识密度和用于强化理解和推理能力的训练数据。
基于 2.3T的Tokens+16k上下文+深度整合Flash-Attention+Apex+构建 Hybrid Zero 技术+LMDeploy一键部署:InternLM-20B 在超过 2.3T Tokens 包含高质量英文、中文和代码的数据上进行预训练, 支持16k语境长度,其中 Chat 版本还经过了 SFT 和 RLHF 训练。InternLM 深度整合了 Flash-Attention, Apex 等高性能模型算子,提高了训练效率。通过构建 Hybrid Zero 技术,实现计算和通信的高效重叠,大幅降低了训练过程中的跨节点通信流量。提供LMDeploy一键部署工具,支持产品化部署应用。

目录

相关文章

论文简介

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

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

代码实战

InternLM-20B的简介

1、模型结果性能

2、训练性能

InternLM-20B的安装

0、下载模型

0.1、下载模型权重

0.2、下载项目代码

1、配置环境

T1、手动安装环境(安装复杂但环境控制高):

T2、基于提供的Docker镜像安装(安装简单但环境控制低):镜像配置及构造、镜像拉取、容器启动

2、数据处理:tokenizer.py文件

2.1、【预训练阶段】的数据集:读取不同输入文件格式(txt/json/jsonl)转为bin文件

2.2、【微调阶段】的数据集

3、预训练

3.1、训练配置,configs/7B_sft.py

数据配置

模型配置

并行配置

3.2、启动训练:train.py

LLMs之InternLM-20B:源码解读(train.py文件)—初始化配置→数据预处理(txt/json/jsonl等需转换为bin/meta文件再入模)→模型训练(批处理加载+内存分析+支持在特定步数进行验证评估+TensorBoard可视化监控+支持分布式训练【多机多卡训练同步更新】)+模型评估(ACC+PPL)+性能监控(日志记录+性能分析+内存监控等)

T1、若在 slurm 上启动分布式运行环境,多节点 16 卡的运行命令如下所示

T2、若在 torch 上启动分布式运行环境,单节点 8 卡的运行命令如下所示

3.3、运行结果

4、模型转换—转换为主流的Transformers 格式使用

InternLM-20B的使用方法

1、利用三种工具实现应用

T1、通过 Transformers 加载

T2、通过 ModelScope 加载

T3、通过前端网页对话

T4、利用 LMDeploy基于InternLM高性能部署

第一步,首先安装 LMDeploy:

第二步,启动服务执行对话


相关文章

论文简介

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

LLMs之InternLM:InternLM/InternLM-7B模型的简介、安装、使用方法之详细攻略_一个处女座的程序猿的博客-CSDN博客

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

LLMs之InternLM:InternLM-20B的简介、安装、使用方法之详细攻略_一个处女座的程序猿的博客-CSDN博客

代码实战

更新中……

地址

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

时间

2023年09月20日

作者

上海人工智能实验室+商汤科技+香港中文大学+复旦大学

InternLM-20B的简介

       InternLM 是一个开源的轻量级训练框架,旨在支持大模型训练而无需大量的依赖。通过单一的代码库,它支持在拥有数千个 GPU 的大型集群上进行预训练,并在单个 GPU 上进行微调,同时实现了卓越的性能优化。在1024个 GPU 上训练时,InternLM 可以实现近90%的加速效率。基于InternLM训练框架,我们已经发布了两个开源的预训练模型:InternLM-7B 和 InternLM-20B。       InternLM-20B 在超过 2.3T Tokens 包含高质量英文、中文和代码的数据上进行预训练,其中 Chat 版本还经过了 SFT 和 RLHF 训练,使其能够更好、更安全地满足用户的需求。

       InternLM 20B 在模型结构上选择了深结构,InternLM-20B 的层数设定为60层,超过常规7B和13B模型所使用的32层或者40层。在参数受限的情况下,提高层数有利于提高模型的综合能力。此外,相较于InternLM-7B,InternLM-20B使用的预训练数据经过了更高质量的清洗,并补充了高知识密度和用于强化理解和推理能力的训练数据。因此,它在理解能力、推理能力、数学能力、编程能力等考验语言模型技术水平的方面都得到了显著提升。总体而言,InternLM-20B具有以下的特点:
>> 优异的综合性能
>> 很强的工具调用功能
>> 支持16k语境长度(通过推理时外推)
>> 更好的价值对齐

1、模型结果性能

在OpenCompass提出的5个能力维度上,InternLM-20B都取得很好的效果(粗体为13B-33B这个量级范围内,各项最佳成绩)。总体而言,InternLM-20B 在综合能力上全面领先于13B量级的开源模型,同时在推理评测集上接近甚至超越Llama-65B的性能。

能力维度Llama-13BLlama2-13BBaichuan2-13BInternLM-20BLlama-33BLlama-65BLlama2-70B
语言42.54747.55544.647.151.6
知识58.258.348.960.1646667.7
理解45.550.958.167.350.654.260.8
推理42.743.644.254.946.449.855
学科37.345.251.862.547.449.757.3
总平均43.847.349.459.248.951.957.4

下表在一些有重要影响力的典型数据集上比较了主流开源模型的表现

评测集Llama-13BLlama2-13BBaichuan2-13BInternLM-20BLlama-33BLlama-65BLlama2-70B
学科MMLU47.7354.9959.5562.0558.7363.7169.75
C-Eval (val)31.8341.459.0158.837.4740.3650.13
AGI-Eval22.0330.9337.3744.5833.5333.9240.02
知识BoolQ78.7582.426787.4684.4386.6187.74
TriviaQA52.4759.3646.6157.2666.2469.7970.71
NaturalQuestions20.1724.8516.3225.1530.8933.4134.16
理解CMRC9.2631.5929.8568.7814.1734.7343.74
CSL5558.7563.1265.6257.559.3860
RACE (middle)53.4163.0268.9486.3564.5572.3581.55
RACE (high)47.6358.8667.1883.2862.6168.0179.93
XSum20.3723.3725.2335.5420.5519.9125.38
推理WinoGrande64.6464.0167.3269.3866.8569.3869.77
BBH37.9345.6248.9852.5149.9858.3864.91
GSM8K20.3229.5752.6252.6242.354.4463.31
PIQA79.7179.7678.0780.2581.3482.1582.54
编程HumanEval14.0218.917.0725.6117.6818.926.22
MBPP20.626.830.835.628.433.639.6

2、训练性能

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

GPU Number81632641282565121024
TGS40783939391939443928392038353625
TFLOPS193191188188187185186184

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

InternLM-20B的安装

0、下载模型

0.1、下载模型权重

模型在三个平台上发布:Transformers、ModelScope 和 OpenXLab

ModelTransformersModelScopeOpenXLab发布日期
InternLM Chat 20Bhttps://www.wpsshop.cn/w/小蓝xlanll/article/detail/597151
推荐阅读
相关标签