Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

杜伟、泽南编译

大模型迎来「开源季」,盘点过去一个月那些开源的LLM和数据集

前段时间,谷歌泄露的内部文件表达了这样一个观点,虽然表面看起来 OpenAI 和谷歌在 AI 大模型上你追我赶,但真正的赢家未必会从这两家中产生,因为有一个第三方力量正在悄然崛起。这个力量就是「开源」。

围绕 Meta 的 LLaMA 开源模型,整个社区正在迅速构建与 OpenAI、谷歌大模型能力类似的模型,而且开源模型的迭代速度更快,可定制性更强,更有私密性。

近日,前威斯康星大学麦迪逊分校助理教授、初创公司 Lightning AI 首席 AI 教育官 Sebastian Raschka 表示,对于开源而言,过去一个月很伟大

不过,那么多大语言模型(LLM)纷纷出现,要紧紧把握住所有模型并不容易。所以,Sebastian 在本文中分享了关于最新开源 LLM 和数据集的资源和研究洞见。

图片

论文与趋势

过去一个月出现了很多研究论文,因此很难从中挑选出最中意的几篇进行深入的探讨。Sebastian 更喜欢提供额外洞见而非简单展示更强大模型的论文。鉴于此,引起他注意力的首先是 Eleuther AI 和耶鲁大学等机构研究者共同撰写的 Pythia 论文。

图片

论文地址:https://arxiv.org/pdf/2304.01373.pdf

Pythia:从大规模训练中得到洞见

开源 Pythia 系列大模型真的是其他自回归解码器风格模型(即类 GPT 模型)的有趣平替。论文中揭示了关于训练机制的一些有趣洞见,并介绍了从 70M 到 12B 参数不等的相应模型。

Pythia 模型架构与 GPT-3 相似,但包含一些改进,比如 Flash 注意力(像 LLaMA)和旋转位置嵌入(像 PaLM)。同时 Pythia 在 800GB 的多样化文本数据集 Pile 上接受了 300B token 的训练(其中在常规 Pile 上训练 1 个 epoch,在去重 Pile 上训练 1.5 个 epoch )。

图片

下面为一些从 Pythia 论文中得到的洞见和思考:

  • 在重复数据上的训练(即训练 epoch>1)会不会有什么影响?结果表明,数据去重不会改善或损害性能;

  • 训练命令会影响记忆吗?遗憾的是,结果表明并不会。之所以说遗憾,是因为如果影响的话,则可以通过训练数据的重新排序来减轻讨厌的逐字记忆问题;

  • batch 大小加倍可以将训练时间减半但不损害收敛

开源数据

对于开源 AI,过去一个月特别令人兴奋,出现了几个 LLM 的开源实现和一大波开源数据集。这些数据集包括 Databricks Dolly 15k、用于指令微调的 OpenAssistant Conversations (OASST1)、用于预训练的 RedPajama。这些数据集工作尤其值得称赞,因为数据收集和清理占了真实世界机器学习项目的 90%,但很少有人喜欢这项工作。

Databricks-Dolly-15 数据集

Databricks-Dolly-15 是一个用于 LLM 微调的数据集,它由数千名 DataBricks 员工编写了超过 15,000 个指令对(与训练 InstructGPT 和 ChatGPT 等系统类似)。

OASST1 数据集

OASST1 数据集用于在由人类创建和标注的类 ChatGPT 助手的对话集合上微调预训练 LLM,包含了 35 种语言编写的 161,443 条消息以及 461,292 个质量评估。这些是在超过 10,000 个完全标注的对话树中组织起来。

用于预训练的 RedPajama 数据集

图片

RedPajama 是一个用于 LLM 预训练的开源数据集,类似于 Meta 的 SOTA LLaMA 模型。该数据集旨在创建一个媲美大多数流行 LLM 的开源竞争者,目前这些 LLM 要么是闭源商业模型要么仅部分开源。

RedPajama 的大部分由 CommonCrawl 组成,它对英文网站进行了过滤,但维基百科的文章涵盖了 20 种不同的语言。

图片

LongForm 数据集

论文《The LongForm: Optimizing Instruction Tuning for Long Text Generation with Corpus Extraction》介绍了基于 C4 和 Wikipedia 等已有语料库的人工创作文档集合以及这些文档的指令,从而创建了一个适合长文本生成的指令调优数据集。

论文地址:https://arxiv.org/abs/2304.08460

Alpaca Libre 项目

Alpaca Libre 项目旨在通过将来自 Anthropics HH-RLHF 存储库的 100k + 个 MIT 许可演示转换为 Alpaca 兼容格式,以重现 Alpaca 项目。

扩展开源数据集

指令微调是我们从类 GPT-3 预训练基础模型演化到更强大类 ChatGPT 大语言模型的关键方式。Databricks-Dolly-15 等开源人工生成指令数据集有助于实现这一点。但我们如何进一步扩展呢?是否可以不收集额外数据呢?一种方法是从自身的迭代中bootstrap 一个 LLM。虽然 Self-Instruct 方法在 5 个月前提出(以如今标准来看过时了),但它仍是一种非常有趣的方法。值得强调的是,由于 Self-Instruct 一种几乎不需要注释的方法,因而可以将预训练 LLM 与指令对齐。

如何运作呢?简而言之可以分为以下四个步骤:

  • 首先是具有一组人工编写指令(本例中为 175)和样本指令的种子任务池;

  • 其次使用一个预训练 LLM(如 GPT-3)来确定任务类别;

  • 接着给定新指令,使预训练 LLM 生成响应;

  • 最后在将指令添加到任务池之前收集、修剪和过滤响应。

图片

在实践中,基于 ROUGE 分数的工作会比较有效、例如 Self-Instruct 微调的 LLM 优于 GPT-3 基础 LLM,并可以在大型人工编写指令集上预训练的 LLM 竞争。同时 self-instruct 也可以使在人工指令上微调过的 LLM 收益。

但是当然,评估 LLM 的黄金标准是询问人类评分员。基于人类评估,Self-Instruct 优于基础 LLM、以及以监督方式在人类指令数据集上训练的 LLM(比如 SuperNI, T0 Trainer)。不过有趣的是,Self-Instruct 的表现并不优于通过人类反馈强化学习(RLHF)训练的方法。

人工生成 vs 合成训练数据集

人工生成指令数据集和 self-instruct 数据集,它们两个哪个更有前途呢?Sebastian 认为两者皆有前途。为什么不从人工生成指令数据集(例如 15k 指令的 databricks-dolly-15k)开始,然后使用 self-instruct 对它进行扩展呢?论文《Synthetic Data from Diffusion Models Improves ImageNet Classification》表明,真实图像训练集与 AI 生成图像相结合可以提升模型性能。探究对于文本数据是否也是这样是一件有趣的事情。

论文地址:https://arxiv.org/abs/2304.08466

最近的论文《Better Language Models of Code through Self-Improvement》就是关于这一方向的研究。研究者发现如果一个预训练 LLM 使用它自己生成的数据,则可以改进代码生成任务。

论文地址:https://arxiv.org/abs/2304.01228

少即是多(Less is more)?

此外,除了在越来越大的数据集上预训练和微调模型之外,又如何提高在更小数据集上的效率呢?论文《Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes》中提出使用一种蒸馏机制来管理任务特定的更小模型,它们使用更少的训练数据却超越了标准微调的性能。

论文地址:https://arxiv.org/abs/2305.02301

图片

追踪开源 LLM

开源 LLM 的数量呈爆炸式增长,一方面是非常好的发展趋势(相较于通过付费 API 控制模型),但另一方面追踪这一切可能很麻烦。以下四种资源提供了大多数相关模型的不同摘要,包括它们的关系、底层数据集和各种许可信息。

第一种资源是基于论文《Ecosystem Graphs: The Social Footprint of Foundation Models》的生态系统图网站,提供如下表格和交互式依赖图(这里未展示)。

这个生态系统图是 Sebastian 迄今为止见过的最全面的列表,但由于包含了很多不太流行的 LLM,因而可能显得有点混乱。检查相应的 GitHub 库发现,它已经更新了至少一个月。此外尚不清楚它会不会添加更新的模型。

图片

  • 论文地址:https://arxiv.org/abs/2303.15772

  • 生态系统图网站地址:https://crfm.stanford.edu/ecosystem-graphs/index.html?mode=table

第二种资源是最近论文《Harnessing the Power of LLMs in Practice: A Survey on ChatGPT and Beyond》中绘制精美的进化树,该论文侧重于最流行的 LLM 和它们的关系。

虽然读者看到了非常美观和清晰的可视化 LLM 进化树,但也有一些小的疑惑。例如不清楚为什么底部没有从原始 transformer 架构开始。此外开源标签并不是非常的准确,例如 LLaMA 被列为开源,但权重在开源许可下不可用(只有推理代码是这样的)。

图片

论文地址:https://arxiv.org/abs/2304.13712

第三种资源是 Sebastian 同事 Daniela Dapena 绘制的表格,出自于博客《The Ultimate Battle of Language Models: Lit-LLaMA vs GPT3.5 vs Bloom vs …》。

虽然下述表格比其他资源要小,但其优点在于包含了模型尺寸和许可信息。如果你计划在任何项目中采用这些模型,则该表格会非常有实用性。

图片

博客地址:https://lightning.ai/pages/community/community-discussions/the-ultimate-battle-of-language-models-lit-llama-vs-gpt3.5-vs-bloom-vs/

第四种资源是 LLaMA-Cult-and-More 总览表,它提供了有关微调方法和硬件成本的额外信息。

图片

总览表地址:https://github.com/shm007g/LLaMA-Cult-and-More/blob/main/chart.md

利用 LLaMA-Adapter V2 微调多模态 LLM

Sebastian 预测本月会看到更多的多模态 LLM 模型,因此不得不谈到不久前发布的论文《LLaMA-Adapter V2: Parameter-Efficient Visual Instruction Model》。先来回顾一下什么是 LLaMA-Adapter?它是一种参数高效的 LLM 微调技术,修改了前面几个 transformer 块并引入一种门控机制来稳定训练。

论文地址:https://arxiv.org/abs/2304.15010

使用 LLaMA-Adapter 方法,研究人员能够在 52k 个指令对上仅用 1 小时(8 块 A100 GPU)来微调一个 7B 参数的 LLaMA 模型。虽然仅对新添加的 1.2M 参数(adapter 层)进行了微调,但 7B LLaMA 模型仍处于冻结(frozen)状态。

LLaMA-Adapter V2 的重点在多模态,即构建一个可以接收图像输入的视觉指令模型。最初的 V1 虽然可以接收文本 token 和图像 token,但在图像方面没有得到充分探索。

LLaMA-Adapter 从 V1 到 V2,研究人员通过以下三个主要技巧来改进 adapter 方法。

  • 早期视觉知识融合:不再在每个 adapted 层融合视觉和 adapted 提示,而是在第一个 transformer 块中将视觉 token 与单词 token 连接起来;

  • 使用更多参数:解冻(unfreeze)所有归一化层,并将偏置单元和缩放因子添加到 transformer 块中每个线性层;

  • 具有不相交参数的联合训练:对于图文字幕数据,仅训练视觉投影层;针对指令遵循的数据仅训练 adaption 层(以及上述新添加的参数)。

LLaMA V2(14M)比 LLaMA V1 (1.2 M) 的参数多了很多,但它仍是轻量级,仅占 65B LLaMA 总参数的 0.02%。特别令人印象深刻的是,通过仅对 65B LLaMA 模型的 14M 参数进行微调,得到的 LLaMA-Adapter V2 在性能上媲美 ChatGPT(当使用 GPT-4 模型进行评估)。LLaMA-Adapter V2 还优于使用全微调方法的 13B Vicuna 模型。

遗憾的是,LLaMA-Adapter V2 论文省略了 V1 论文中包含的计算性能基准,但我们可以假设 V2 仍然比全微调方法快得多。

图片

其他开源 LLM

大模型的发展速度奇快,我们无法一一列举,本月推出的一些著名的开源 LLM 和聊天机器人包括 Open-Assistant、Baize、StableVicuna、ColossalChat、Mosaic 的 MPT 等。此外,下面是两个特别有趣的多模态 LLM。

OpenFlamingo

OpenFlamingo 是 Google DeepMind 去年发布的 Flamingo 模型的开源复制版。OpenFlamingo 旨在为 LLM 提供多模式图像推理功能,让人们能够交错输入文本和图像。

MiniGPT-4

MiniGPT-4 是另一种具有视觉语言功能的开源模型。它基于 BLIP-27 的冻结视觉编码器和冻结的 Vicuna LLM。

图片

NeMo Guardrails

随着这些大语言模型的出现,许多公司都在思考如何以及是否应该部署它们,安全方面的担忧尤为突出。目前还没有好的解决方案,但至少有一个更有前途的方法:英伟达开源了一个工具包来解决 LLM 的幻觉问题。

简而言之,它的工作原理是此方法使用数据库链接到硬编码的 prompt,这些 prompt 必须手动管理。然后,如果用户输入 prompt,该内容将首先与该数据库中最相似的条目相匹配。然后数据库返回一个硬编码的 prompt,然后传递给 LLM。因此,如果有人仔细测试硬编码 prompt,就可以确保交互不会偏离允许的主题等。

图片

这是一种有趣但不是开创性的方法,因为它没有为 LLM 提供更好的或新的能力,它只是限制了用户可以与 LLM 交互的程度。尽管如此,在研究人员找到减轻 LLM 中的幻觉问题和负面行为的替代方法之前,这可能是一种可行的方法。

guardrails 方法还可以与其他对齐技术相结合,例如作者在上一期 Ahead of AI 中介绍的流行的人类反馈强化学习训练范例。

一致性模型

谈论 LLM 以外的有趣模型是一个不错的尝试,OpenAI 终于开源了他们一致性模型的代码:https://github.com/openai/consistency_models。

一致性模型被认为是扩散模型的可行、有效的替代方案。你可以在一致性模型的论文中获得更多信息。

原文地址:https://magazine.sebastianraschka.com/p/ahead-of-ai-8-the-latest-open-source

入门数据集LLM开源
2
相关数据
DeepMind机构

DeepMind是一家英国的人工智能公司。公司创建于2010年,最初名称是DeepMind科技(DeepMind Technologies Limited),在2014年被谷歌收购。在2010年由杰米斯·哈萨比斯,谢恩·列格和穆斯塔法·苏莱曼成立创业公司。继AlphaGo之后,Google DeepMind首席执行官杰米斯·哈萨比斯表示将研究用人工智能与人类玩其他游戏,例如即时战略游戏《星际争霸II》(StarCraft II)。深度AI如果能直接使用在其他各种不同领域,除了未来能玩不同的游戏外,例如自动驾驶、投资顾问、音乐评论、甚至司法判决等等目前需要人脑才能处理的工作,基本上也可以直接使用相同的神经网上去学而习得与人类相同的思考力。

https://deepmind.com/
权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

语料库技术

语料库一词在语言学上意指大量的文本,通常经过整理,具有既定格式与标记;事实上,语料库英文 "text corpus" 的涵意即为"body of text"。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

图网技术

ImageNet 是一个计算机视觉系统识别项目, 是目前世界上图像识别最大的数据库。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

文本生成技术

文本生成是生成文本的任务,其目的是使人类书写文本难以区分。

暂无评论
暂无评论~