开源大型语言模型(llm)总结

大型语言模型(LLM)是人工智能领域中的一个重要研究方向,在ChatGPT之后,它经历了快速的发展。这些发展主要涉及以下几个方面:

  1. 模型规模的增长:LLM的规模越来越大,参数数量显著增加。这种扩展使得模型能够处理更复杂、更长的输入序列,并生成更准确、更具连贯性的输出。同时,更大规模的模型还能够涵盖更广泛的知识和语言上下文,提供更全面的回答和解决方案。
  2. 领域专精化:LLM在不同领域的专精化得到了进一步的发展。研究人员通过对特定领域的训练数据进行更多的优化,使得模型在特定领域的问答、文本生成等任务中表现更出色。这使得LLM能够为特定行业或专业领域提供更精准的支持和咨询。
  3. 提升对语义理解和推理能力:研究人员致力于提高LLM对语义理解和推理的能力。通过引入更多的上下文信息、关联知识和逻辑推理机制,LLM能够更好地理解复杂问题,进行推理和分析,并给出更深入、准确的回答。
  4. 模型训练的效率和速度提升:研究人员提出了一系列技术来提高LLM的训练效率和推理速度。例如,采用分布式训练方法,利用多台计算机进行并行训练,加快模型收敛速度。此外,还有一些压缩和加速技术,可以在保持性能的同时减少模型的计算资源消耗。
  5. 理解和应对偏见:LLM的发展也关注了如何更好地理解和应对模型中的偏见。研究人员努力解决模型在生成结果时可能存在的性别、种族、文化等偏见问题,以确保模型的输出更加公正和中立。

本文将总结目前能见到的所有开源的大语言模型。

Falcon-40B-Instruct

Falcon-40B- instruct是TII基于Falcon-40B构建的40B参数因果解码器模型,在Baize上进行微调。

位于阿布扎比的技术创新研究所(TII)宣布了其开源大型语言模型(LLM)——Falcon-40B。Falcon-40B拥有400亿个参数,是阿联酋首个大型人工智能模型,表明了该国在人工智能领域的雄心以及推动创新和研究的承诺。

与大多数llm(通常只向非商业用户提供访问)不同,Falcon-40B对研究和商业用途都开放。TII还将模型的权重包含在开源包中,这将增强模型的功能并允许更有效的微调。

自2023年3月亮相以来,Falcon-40B的表现令人印象深刻。当使用斯坦福大学的HELM工具进行基准测试时,与OpenAI的GPT-3、DeepMind的Chinchilla AI和谷歌的PaLM-62B等其他知名模型相比,它使用的训练计算能力更少。

Vicuna

Vicuna是一个开源聊天机器人,通过从ShareGPT收集的用户共享对话进行训练。使用GPT-4作为评判的初步评估显示,Vicuna-13B的质量达到了OpenAI ChatGPT和Google Bard的90%以上,训练Vicuna-13B的费用约为300美元。代码和权重以及在线演示都是公开的,可供非商业用途。

在对Vicuna与70K用户共享的ChatGPT对话进行微调后,我们发现与Alpaca相比,Vicuna能够生成更详细和结构良好的答案,质量与ChatGPT相当。

Vicuna是通过微调LLaMA基础模型创建的,该模型使用了从ShareGPT收集的大约70K用户共享对话和公共api。

训练也有以下改进。

内存优化:将最大上下文长度从512扩展到2048,通过利用梯度检查点和flash attention解决内存压力。

多轮对话:调整训练损失以考虑多轮对话,并仅根据聊天机器人的输出计算微调损失。

通过Spot实例降低成本:使用SkyPilot管理的spot来降低成本,利用更便宜的spot实例来自动恢复抢占和自动区域切换。这个解决方案将训练7B模型的成本从500美元削减到140美元左右,将训练13B模型的成本从1000美元左右削减到300美元左右。

Alpaca

Alpaca,在Meta的LLaMA 7B模型上进行了微调。使用text-davinci-003以自指导的方式生成52K指令跟随LLaMA 模型。在评估集上,Alpaca表现出许多与OpenAI的text- davincic -003相似的行为,但但是他却非常的小,且易于地复制。

下图说明了Alpaca是如何训练的。

使用HuggingFace的训练框架对LLaMA模型进行了微调,利用了完全分片数据并行和混合精确训练等技术。在8台80GB的a100上微调7B LLaMA模型花了3个小时,在大多数云计算提供商那里,a100的成本不到100美元。

LLaMA

LLaMA(Large Language Model Meta AI),一个最先进的基础大型语言模型,旨在帮助研究人员推进他们在人工智能这一子领域的工作。

与其他大型语言模型一样,LLaMA的工作方式是将单词序列作为输入,并预测下一个单词以递归地生成文本。从使用人数最多的20种语言中选择了文本,重点关注那些带有拉丁和西里尔字母的语言

在大多数基准测试中,LLaMA- 13b优于GPT-3(175B),而LLaMA- 13b优于GPT-3(175B),而65B与Chinchilla-70B和PaLM-540B类似。

GPT J

gpt - j6b是使用Ben Wang的Mesh Transformer JAX训练的Transformer 模型。“GPT-J”表示模型的类别,“6B”表示可训练参数的个数。模型共28层,模型维数为4096,前馈维数为16384。模型维度被分成16个头,每个头的维度为256。该模型使用50257的标记化词汇表进行训练,使用与GPT-2/GPT-3相同的bp集。该模型由EleutherAI发布。GPT-J的核心功能是获取一串文本并预测下一个令牌。

GPT-J是在Pile上训练的,这是一个已知包含亵渎、猥亵和其他粗暴语言的数据集。所以GPT-J可能会产生社会上不可接受的文本。

Dolly

Databricks的Dolly-V2-12B,一个在Databricks机器学习平台上训练的大型语言模型。基于Pythia-12B, Dolly接受了约15k条指令/响应调优记录,这些记录是由Databricks员工在基于InstructGPT论文领域中生成的,包括头脑风暴、分类、封闭QA、生成、信息提取、开放QA和总结。

总结

大型语言模型在ChatGPT以后经历了快速的发展。这些发展包括模型规模的增加、领域专精化、语义理解和推理能力的提升、训练效率和速度的提高,以及对偏见的理解和应对等方面。除了以上6个比较好的开源大语言模型外,还有各种不同版本,所以HuggingFace创建了一个排行榜(leaderboard)

有兴趣的可以看看:

https://avoid.overfit.cn/post/a4da1098db9d4bf4b00365b28c201db9

作者:Varun Mathur

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch:DSL Query

Query DSL的分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有的数据,一般测试用,例如:match_all,但有分页限制,一次20…

i5 3470+XSB75M-PK+HD 7750安装黑苹果macOS Big Sur 11.7.7

我本次使用的是 HD 7750 进行安装黑苹果(闲鱼80元买的),这款显卡直接就是免驱,最高可以安装的版本是 macOS Monterey ,但是建议安装至 macOS Big Sur 以获得较好的体验。 EFI(OC引导) EFI.zip …

【网络2】MII MDIO

文章目录 1.MII:ISO网络模型中物理层(phy)和数据链路层(mac)属于硬件,其余都属于软件kernel2.MDC/MDIO:不仅管phy,只要支持mdio协议都可以管2.1 3.RGMII时序调整:下面波形…

2023-06-19 Untiy进阶 C#知识补充2——C#版本与Unity的关系

文章目录 一、Unity 与 C# 版本二、Unity 的 .Net API 兼容级别 一、Unity 与 C# 版本 Unity 版本C# 版本Unity 2021.2C# 9Unity 2020.3C# 8Unity 2019.4C# 7.3Unity 2017C# 6Unity 5.5C# 4 ​ 更多信息可以在 Unity 官网说明查看:Unity - Manual: C# compiler (u…

EMC学习笔记(七)阻抗控制(一)

阻抗控制(一) 1.特征阻抗的物理意义1.1 输入阻抗1.2 特征阻抗1.3 偶模阻抗、奇模阻抗、差分阻抗 2.生产工艺对阻抗控制的影响 1.特征阻抗的物理意义 1.1 输入阻抗 在集总电路中,输入阻抗是经常使用的一个术语 ,它的物理意义是: …

在 Debian 12 上安装 KubeSphere 实战入门

老 Z,运维架构师,云原生爱好者,目前专注于云原生运维,云原生领域技术栈涉及 Kubernetes、KubeSphere、DevOps、OpenStack、Ansible 等。 前言 知识点 定级:入门级KubeKey 安装部署 KubeSphere 和 KubernetesDebian 操…

arm64架构的linux中断分析(一)

文章目录 1. 中断的概念和作用2. Linux中断处理机制2.1 中断请求2.2 中断处理2.3 中断完成2.4.中断触发和处理步骤详解2.4.1 异常向量表的解读 2.5 硬件中断号和软件中断号 1. 中断的概念和作用 当计算机的CPU需要在执行任务的同时响应外部事件时,中断是一种重要的…

6月份读书学习好文记录

看看CHATGPT在最近几个月的发展趋势 https://blog.csdn.net/csdnnews/article/details/130878125?spm1000.2115.3001.5927 这是属于 AI 开发者的好时代,有什么理由不多去做一些尝试呢。 北大教授陈钟谈 AI 未来:逼近 AGI、融进元宇宙,开源…

kafka消息队列的初步探索

消息队列的作用就是提高运行速度,防止线程堵塞。 kafka的作用 异步 通过在消息队列发送消息的方式,将对应的业务作为监听者,此时我们只需要考虑发送消息的时间即可,大大提高了运行的速度。 解耦 如果使用原来的直接调用对应业务的…

Spring高手之路6——Bean生命周期的扩展点:BeanPostProcessor

文章目录 1. 探索Spring的后置处理器(BeanPostProcessor)1.1 BeanPostProcessor的设计理念1.2 BeanPostProcessor的文档说明 2. BeanPostProcessor的使用2.1 BeanPostProcessor的基础使用示例2.2 利用BeanPostProcessor修改Bean的初始化结果的返回值2.3 …

Nacos配置中心交互模型是push还是pull?

对于Nacos大家应该都不太陌生,出身阿里名声在外,能做动态服务发现、配置管理,非常好用的一个工具。然而这样的技术用的人越多面试被问的概率也就越大,如果只停留在使用层面,那面试可能要吃大亏。 比如我们今天要讨论的…

leetcode216. 组合总和 III(回溯算法-java)

组合总和 III leetcode216. 组合总和 III题目描述解题思路代码演示 回溯算法专题 leetcode216. 组合总和 III 来源:力扣(LeetCode) 链接:https://leetcode.cn/problems/combination-sum-iii 题目描述 找出所有相加之和为 n 的 k 个…

ldsc python程序安装以及测试

教程参考: https://zhuanlan.zhihu.com/p/379628546https://github.com/bulik/ldsc 1. 软件安装 1.1 windows安装教程 首先配置: anaconda,为了需要conda环境git,为了下载github中的ldsc程序 打开windows电脑中的promote&am…

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?

阿里云服务器价格如何?与其他云服务提供商的价格对比如何?   阿里云服务器价格概述   作为全球领先的云计算服务提供商,阿里云在确保服务器性能和安全性的同时,也非常注重产品的价格竞争力。阿里云服务器(ECS&…

基于STM32 ARM+FPGA的电能质量分析仪方案(一)硬件设计

本章主要给出了本系统的设计目标和硬件设计方案,后面详细介绍了硬件电路的设计 过程,包括数据采集板、 FPGAARM 控制板。 3.1系统设计目标 本系统的主要目的是实现电能质量指标的高精度测量和数据分析,其具体技术指标如 下所示&#xff1…

微服务中常见问题

Spring Cloud 组件 Spring Cloud五大组件有哪些? Eureka:注册中心 Ribbon:负载均衡 Feign:远程调用 Hystrix:服务熔断 Zuul/Gateway:服务网关 随着SpringCloud Alibaba在国内兴起,我们项目中…

C语言/C++ 之 打飞机游戏

【项目简介】 1、设计思想:本项目主要是为了实现打飞机游戏,主要包括5个函数模块,和1个主函数框架。分别是chu_shi_hua();、you_cao_zuo;、wu_cao_zuo();、show();、main();等。项目完成过程中主要运用了C/C中的输入输…

网络爬虫是什么

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。 认识爬虫 我们所熟悉的一系列…

3 python进阶篇

文章目录 面向对象类属性和类方法类属性类方法静态方法 单例模式__new__ 方法类实现单例模式 异常 、模块和包异常自定义异常 模块和包模块的搜索顺序包的init文件发布模块(了解) 文件seek文件/目录的常用管理操作eval函数 补充性知识位运算小技巧 参考我…

Python入门教程:掌握for循环、while循环、字符串操作、文件读写与异常处理等基础知识

文章目录 for循环while循环字符串操作访问字符串中的字符切片总结字符串拼接 文件读写try...except 异常处理函数模块和包类和面向对象编程完结 for循环 在 Python 中,for 循环用于遍历序列(list、tuple、range 对象等)或其他可迭代对象。for…