首页 > 其他分享 >最流行的开源 LLM (大语言模型)整理

最流行的开源 LLM (大语言模型)整理

时间:2023-08-14 11:22:57浏览次数:39  
标签:训练 Self Instruct 开源 指令 LLM 模型

本文对国内外公司、科研机构等组织开源的 LLM 进行了全面的整理。

Large Language Model (LLM) 即大规模语言模型,是一种基于深度学习的自然语言处理模型,它能够学习到自然语言的语法和语义,从而可以生成人类可读的文本。

所谓"语言模型",就是只用来处理语言文字(或者符号体系)的 AI 模型,发现其中的规律,可以根据提示 (prompt),自动生成符合这些规律的内容。

LLM 通常基于神经网络模型,使用大规模的语料库进行训练,比如使用互联网上的海量文本数据。这些模型通常拥有数十亿到数万亿个参数,能够处理各种自然语言处理任务,如自然语言生成、文本分类、文本摘要、机器翻译、语音识别等。

 

LLaMA


由 Meta(Facebook)公司发布,是一套优秀的预训练模型,现在很多LLM都是基于此模型。
此模型的特点是参数体量小(7billion/13billion/33billion/65billion),而训练token多(1.2Trillion),并且仅使用公开可用的数据集进行训练。
参数小使得模型可用较少的资源就可以完成相关的微调和使用,从而推动了 alpaca 等模型的诞生。
各模型在“常识推理”任务中的零样本(Zero-shot)性能表现:

LLaMA :https://github.com/facebookresearch/llama

Alpaca


斯坦福团队基于上面的 LLaMA 7B 和 Text-davinci-003 训练得来,过程如下:

可以看到, Alpaca 在 LLaMA 的基础上仅仅使用了 Self-Instruct 框架和Text-davinci-003 训练出来的 52k 数据,就训练出了处理一个优秀的模型,这里可以极大的体现出指令微调的威力(fine-tuned)。
Alpaca:https://crfm.stanford.edu/2023/03/13/alpaca.html

Self-Instruct


Self-Instruct 非常优秀,这里也专门介绍一下:它使用了几乎不需要人工标注的方法,实现了预训练语言模型与指令对齐。它很好的解决 ChatGPT 三步训练中两步需要人工参与的问题,这就大大降低了门槛。
ChatGPT 三步如下图:


这里简单介绍下Self-Instruct的过程:
1. 初始设定一个手动编写的指令任务的种子池(比如 175 个),用于指导整个生成。
2. 提示模型生成新任务的指令(取随机 8 条指令用来提示,如果有新的指令已加入池子,其中 2 条会取非初始种子池中的指令)
3. 任务分类
4. 提示模型为新任务生成指令
5. 过滤掉重复(0.7 关联度以上)和无效(包含图片等不合适的),合格的加入任务池
6. 多次重复以上过程

Self-Instruct :《SELF-INSTRUCT: Aligning Language Model with Self Generated Instructions》https://arxiv.org/pdf/2212.10560.pdf

Vicuna


Vicuna是伯克利主导的团队训练出来的模型,基于 Alpaca 发展而来。从当前来看,可能是开源里和ChatGPT最接近(上面有提到当前在Arena 评测上分数排名第一),而 13b 版本训练成本仅 300 刀。
团队训练的数据集主要是来从自http://ShareGPT.com 上爬取用户分享的对话,并过滤掉不合适的和低质量的,最后留下了大概 70K 对话样本;然后增强了 Alpaca 提供的训练脚本,有针对性的加强了多轮对话和长序列。
下图是他们的项目过程(数据、训练、demo 服务、效果评价):


其中效果评价部分,团队是将每个模型的输出组合成每个问题的单个提示,将提示发送到 GPT-4,由 GPT-4 评估哪个模型提供更好的响应。
下图是团队总结的几个模型的对比情况:

Mini GPT-4


由沙特大学推出的支持视觉信息的多模态 LLM,主要是基于BLIP-2+上文提到的Vicuma+一层映射层。
团队在 4 张 A100 上基于 5 百万对齐的【图片-文本对】数据训练了 10 个小时,然后团队再用模型本身和 chatgpt 结合起来去训练了 3500 对高质量的【图片-文本对】数据,然后在单 A100 上进行了 7 分钟的微调(finetuning )。

此模型可以在线使用体验,也可以自行部署,相关数据集都已经开源,根据实操经验,在云服务上进行部署消耗并不大,主要时间花费是下载(几十 G 数据)。

标签:训练,Self,Instruct,开源,指令,LLM,模型
From: https://www.cnblogs.com/gaoyanbing/p/17628130.html

相关文章

  • 训练自己的图像分类模型部署在手机设备
    这里使用aidlux在手机上使用摄像头作为输入,利用aidlux提供的接口载入模型,实时推理使用代码模版,将模型替换为自己的,看看演示效果,我的手机比较卡,版本太老,所以效果差点,你也可以使用比较新的设备来运行......
  • 基于C#的消息处理的应用程序 - 开源研究系列文章
          今天讲讲基于C#里的基于消息处理的应用程序的一个例子。我们知道,Windows操作系统的程序是基于消息处理的。也就是说,程序接收到消息代码定义,然后根据消息代码定义去处理对应的操作。前面有一个博文例子(C#程序的启动显示方案(无窗口进程发送消息)-开源研究系列文......
  • 【Tensorflow】深度模型推理性能优化-微量优化
    序说到深度模型优化,可能想到最多的就是上GPU,对于CV、NLP这一类模型效果非常明显,一般RT能下降到原来的1/10。但是在实际中,会遇到一些排序类的模型例如推荐模型DSMM、ESMM、DIN等模型,这些模型深度一般只有4、5层,上GPU后性能、RT反而下降,猜测原因可能是模型网络简单,导致反复IO,最终......
  • 基于OFF格式文件的三维模型建立和显示,带GUI界面
    1.算法理论概述一、引言       三维模型是计算机图形学中的一个重要概念,它是由一系列三维坐标点构成的点云或多边形网格。在三维图形学中,三维模型的建立和显示是一项非常重要的任务。OFF格式是一种用于描述三维模型的文件格式,它可以描述点云和多边形网格等不同类型的三......
  • 开源数据库Mysql_DBA运维实战 (修改root密码)
    本文以windows为例为大家详细介绍下MySQL修改root密码的4种方法,大家可以可以根据的自己的情况自由选择,希望对大家有所帮助方法1:用SETPASSWORD命令首先登录MySQL。格式:mysql>setpasswordfor用户名@localhost=password('新密码');例子:mysql>setpasswordforroot@localh......
  • 一键式文本纠错工具,整合了BERT、ERNIE等多种模型,让您立即享受纠错的便利和效果
    pycorrector一键式文本纠错工具,整合了BERT、MacBERT、ELECTRA、ERNIE等多种模型,让您立即享受纠错的便利和效果pycorrector:中文文本纠错工具。支持中文音似、形似、语法错误纠正,python3开发。实现了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer等多种模型的......
  • 一键式文本纠错工具,整合了BERT、ERNIE等多种模型,让您立即享受纠错的便利和效果
    pycorrector一键式文本纠错工具,整合了BERT、MacBERT、ELECTRA、ERNIE等多种模型,让您立即享受纠错的便利和效果pycorrector:中文文本纠错工具。支持中文音似、形似、语法错误纠正,python3开发。实现了Kenlm、ConvSeq2Seq、BERT、MacBERT、ELECTRA、ERNIE、Transformer等多种模型......
  • 【RL】CH2-Bellman equation
    thediscountedreturn\[\begin{aligned}G_t&=R_{t+1}+\gammaR_{t+2}+\gamma^2R_{t+3}+\ldots\\&=R_{t+1}+\gamma\left(R_{t+2}+\gammaR_{t+3}+\ldots\right)\\&=R_{t+1}+\gammaG_{t+1}\end{aligned}\]state-valuefunction/the......
  • 基于C#的无边框窗体阴影绘制方案 - 开源研究系列文章
    今天介绍无边框窗体阴影绘制的内容。      上次有介绍使用双窗体的方法来显示阴影,这次介绍使用API函数来进行绘制。这里使用的是WindowsAPI函数,操作系统的窗体也是用的这个来进行的绘制。1、项目目录;下面是项目目录; 2、函数介绍;这里使用......
  • 背包问题基础模型全解
    01背包Acwing2.01背包问题状态表示:二维集合:只从前\(i\)个物品里面选择总体积\(\leqj\)选法的集合属性:选法价值的最大值状态计算分为放\(i\)和不放\(i\)(要不要把当前物品放进背包):不放\(i\)意味着在前\(i-1\)个物品里面选,且总体积不超过\(j\)放\(i\)......