来源:CSDN公众号
2023-06-28 08:59:33
如果 AI 想要发展更好,将不得不用更少的资源实现更强大的功能。
谈起“大型语言模型”(LLMs),如 OpenAI 的 GPT (Generative Pre-trained Transformer)——驱动美国流行聊天机器人的核心力量——名字已经说明了php一切。这种现代 AI 系统由庞大的人工神经网络驱动,这些网络采用一种宽泛的方式模拟着生物大脑的工作机制。2020年发布的 GPT-3就是一款大语言模型 “巨兽”,拥有1750亿个“参数”,这是神经元之间模拟连接的名称。GPT-3通过在几周内使用数千个擅长 AI 计算的 GPU 处理数万亿字的文本进行训练,耗资预计超过460万美元。
然而,现代 AI 研究的共识是:“大即好,越大越好”。因此,模型的规模增长速度一直处于飞速发展之中。GPT-4于三月份发布,据估计其拥有大约1万亿个参数——比前一代增加了近六倍。OpenAI 的 CEO Sam Altman 估计其开发成本超过1亿美元。而整个行业也呈现出同样的趋势。研究公司 Epoch AI 在2022年预测,训练顶级模型所需的计算能力每六到十个月就会翻倍(见下图)。
(相关资料图)
AI 模型参数规模不断增大会带来一些问题。如果 Epoch AI 的预测准确,训练成本每十个月翻一倍,那么到2026年,训练成本可python能超过十亿美元——这还只是在假设数据不会先被耗尽的前提下。2022年10月的一项分析预测,用于训练的高质量文本可能在相同的时间内用尽。此外,即使模型训练完成,运行大型模型的实际成本也可能十分昂贵。
今年早些时候,摩根士丹利银行估算,如果一半的 Google 搜索由目前的 GPT 类型程序处理,这可能会让公司每年多支出60亿美元。随着模型规模的增长,这个数字可能会继续上升。
因此,许多人认为 AI 模型“大即好”的观点已经走python不通了。如果要继续改善 AI 模型(更别提实现那些更宏大的 AI梦想了),开发者们需要找出如何在资源有限的情况下获得更好的性能。就像 Altman 先生在今年四月回顾大型 AI 的历史时所说:“我认为我们已经到了一个时代的尽头。”
量化紧缩
反之,研究人员开始关注如何提高模型的效率,而不只是追求规模。一种方式是通过降低参数数量但使用更多数据来训练模型以达到权衡。2022年,Google 的 DeepMind 部门在一个包含1.4万亿字的语料库上训练了一个拥有700亿参数的 LLM,名为 Chinchilla。尽管参数少于GPT-3的1750亿,训练数据只有3000亿字,但这个模型的表现超过了GPT-3。为一个较小的LLM提供更多的数据意味着它需要更长的时间来训练,但结果是一个更小、更快、更便宜的模型。
另一种选择是让降低浮点数的精度。减少模型中每个数字的精确位数,即四舍五入,可以大幅减少硬件需求。奥地利科学技术研究所的研究人员在三月份证明,四舍五入可以大幅度减少类似 GPT-3模型的内存消耗,使得模型可以在一台高端 GPU 上运行,而不是五台,且“精度下降可以忽略不计”。
一些用户会对通用编程客栈 LLM 进行微调,专注于生成法律文件或检测假新闻等特定任务。虽然这不像首次训练 LLM 那样复杂,但仍可能代价昂贵且耗时长。微调 Meta(Facebook 的母公司)开源的拥有650亿参数的 LLaMA 模型,需要多个 GPU,花费的时间从几个小时到几天不等。
华盛顿大学的研究人员发明了一种更高效的方法,可以在一天内在单个 GPU 上从 LLaMA 创建一个新模型 Guanaco,性能损失微乎其微。其中一部分技巧就是采用了类似奥地利研究人员的四舍五入技术。但他们还使用了一种叫做 “低秩自适应(Low-Rank Adaptation ,LoRA)” 的技术,该技术涉及固定模型的现有参数,然后在其中添加一组新的、较小的参数。微调是通过仅改变这些新变量来完成的。这使得事情简化到即使是计算能力相对较弱的计算机,如智能手机,也可以胜任这项任务。如果能让 LLM 在用户设备上运行,而非目前的巨型数据中心,那可能带来更大的个性化和更好的隐私保护。
同时,一个 Google 的团队为那些可以使用较小模型的人提供了新的选择。这种方法专注于从大型通用模型中挖掘特定的知识,并将其转化为一个更小且专业化的模型。大模型充当教师,小模型充当学生。研究人员让教师回答问题,并展示其推理过程。教师模型(大模型)的答案和推理都用于训练学生模型(小模型)。该团队成功地训练了一个只有77亿参数的学生模型(小模型),在特定的推理任务上超过了其有5400亿参数的教师模型(大模型)。
另一种方法是改变模型构建方式,而不是关注模型在做什么。大部分 AI 模型都是采用 python 语言开发的。它设计得易于使用,让编程人员无需考虑程序在运行时如何操作芯片。屏蔽这些细节的代价是代码运行得更慢。更多地关注这些实现细节可以带来巨大的收益。正如开源 AI 公司 Hugging Face 的首席科学官Thomas Wolf 所说,这是“目前人工智能领域研究的一个重要方面”。
优化代码
例如,在2022年,斯坦福大学的研究人员发布了一种改进版的“注意力算法”,该算法允许大语言模型(LLM)学习词语和概念之间的联系。这个想法是修改代码以考虑正在运行它的芯片上发生的情况,特别是追踪何时需要检索或储存特定信息。他们的算法成功将 GPT-2(一种早期的大型语言模型)的训练速度提高了三倍,还增强了它处理更长查询的能力。
更简洁的代码也可以通过更好的工具来实现。今年早些时候,Meta 发布了 AI 编程框架 PyTorch 的新版本。通过让程序员更多地思考如何在实际芯片上组织计算,它可以通过添加一行代码来使模型的训练速度提高一倍。由Apple 和 Google 的前工程师创建的初创公司 Modular,上个月发布了一种名为 Mojo 的新的专注于 AI 的编程语言,它基于 Python。Mojo 让程序员可以控制过去被屏蔽的所有细节,这在某些情况下使用 Mojo 编写的代码运行速度比用 Python 编写的等价代码块数千倍。
最后一个选择是改进运行代码的芯片。虽然最初是用来处理现代视频游戏中的复杂图形, GPU 意外地在运行AI模型上表现良好。Meta 的一位硬件研究员表示,对于 "推理"(即,模型训练完成后的实际运行),GPU 的设计并不完美。因此,一些公司正在设计自己的更专业的硬件。Google 已经在其内部的 “TPU” 芯片上运行了大部分 AI 项目。Meta 及其 MTIA 芯片,以及 Amazon 及其 Inferentia 芯片,都在做类似尝试。
有时候只需要一些简单的改变(比如对数字四舍五入或切换编程语言)就可以获得巨大的性能提升,这可能让人感到惊讶。但这反映了大语言模型(LLM)的发展速度之快。多年来,大语言模型主要是作为研究项目,关注点主要是让它们能够正常运行和产生有效结果,而不是过于关注其设计的优雅性。只是最近,它们才变成了商业化、面向大众市场的产品。大多数专家都认为,还有很大的改进空间。正如斯坦福大学的计算机科学家 Chris Manning 所说:“没有任何理由相信目前使用的神经架构(指代当前的神经网络结构)最优的,不排除未来会出现更先进的架构”。
关键词: