0

0

2024 年构建大规模语言模型之旅

betcha

betcha

发布时间:2024-04-18 15:04:54

|

2616人浏览过

|

来源于DZone

原创

2024 年将见证大型语言模型 (llm) 的技术跃升,研究人员和工程师不断突破自然语言处理的界限。这些拥有海量参数的 llm 正在彻底改变我们与机器的交互方式,实现更自然的对话、代码生成和复杂推理。然而,构建这些庞然大物并非易事,它涉及数据准备、先进训练技术和可扩展推理的复杂性。这篇综述深入探讨了构建 llm 所需的技术细节,涵盖了从数据采购到训练创新和对齐策略的最新进展。

2024 年构建大规模语言模型之旅

2024 年有望成为大型语言模型(LLM) 的里程碑时代,因为研究人员和工程师将突破自然语言处理的可能性界限。这些拥有数十亿甚至数万亿参数的大规模神经网络将彻底改变我们与机器交互的方式,实现更自然和开放式的对话、代码生成和多模式推理。

然而,建立如此庞大的法学硕士并不是一件简单的事。它需要精心策划的管道,从数据采购和准备到先进的训练技术和可扩展的推理。在这篇文章中,我们将深入探讨构建这些前沿语言模型所涉及的技术复杂性,探索整个堆栈的最新创新和挑战。

数据准备

1. 数据来源

任何法学硕士的基础都是它所训练的数据,而现代模型会摄取数量惊人的文本(通常超过一万亿个令牌),这些文本来自网络爬虫、代码存储库、书籍等。常见的数据源包括:

通用爬取网络语料库

GitHub 和 Software Heritage 等代码存储库

维基百科和书籍等精选数据集(公共领域与受版权保护的)

综合生成的数据

2. 数据过滤

简单地获取所有可用数据通常不是最佳的,因为它可能会引入噪音和偏差。因此,采用了仔细的数据过滤技术:

质量过滤

基于长度和语言等文档属性的启发式过滤

使用好数据和坏数据的示例进行基于分类器的过滤

语言模型的困惑度阈值

特定领域的过滤

检查对特定领域子集的影响

制定定制规则和阈值

选择策略

确定性硬阈值

概率随机抽样

3. 重复数据删除

大型网络语料库包含显着的重叠,冗余文档可能导致模型有效“记忆”过多的区域。利用 MinHash 等高效的近重复检测算法来减少这种冗余偏差。

4. 代币化

一旦我们拥有了高质量、去重的文本语料库,就需要将其标记化——转换为神经网络在训练期间可以摄取的标记序列。无处不在的字节级 BPE 编码是首选,可以优雅地处理代码、数学符号和其他上下文。需要对整个数据集进行仔细采样,以避免过度拟合分词器本身。

5. 数据质量评估

评估数据质量是一项具有挑战性但至关重要的任务,尤其是在如此大规模的情况下。采用的技术包括:

在子集训练期间监控 Commonsense QA、HellaSwag 和 OpenBook QA 等高信号基准

手动检查域/URL 并检查保留/丢弃的示例

数据聚类和可视化工具

训练辅助标记器来分析标记

DESTOON网站管理系统
DESTOON网站管理系统

DESTOON网站管理系统是基于PHP+MySQL的开源建站系统解决方案,原名为DESTOON B2B网站管理系统(B2B电子商务行业门户网站解决方案)。 经过十多年的发展,系统功能不断增强,除了B2B电子商务网站外,系统已能满足大部分网站的功能需求,是一套专业的开源建站系统解决方案。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC开发模式。融入了模型化

下载

训练

1. 模型并行性

现代法学硕士的庞大规模(通常太大,无法适应单个 GPU 甚至单个机器)需要先进的并行化方案,以各种方式将模型拆分到多个设备和机器上:

数据并行性:将批次分散到多个设备上

张量并行性:跨设备分割模型权重和激活

管道并行性:将模型视为一系列阶段并将其跨设备进行管道化

序列并行性:分割各个输入序列以进一步扩展

结合这些 4D 并行策略可以扩展到具有数万亿个参数的模型。

2. 高效注意力

主要的计算瓶颈在于 Transformer 架构核心的自注意力操作。 Flash Attention 和 Factorized Kernels 等方法提供了高度优化的注意力实现,避免不必要地实现完整的注意力矩阵。

3、稳定训练

在如此极端的规模下实现稳定收敛是一项重大挑战。该领域的创新包括:

改进的初始化方案

MuTransfer 等超参数传输方法

优化的学习率计划,例如余弦退火

4. 架构创新

最近模型架构方面的突破极大地提高了法学硕士的能力:

Mixture-of-Experts (MoE):每个示例仅激活模型参数的子集,由路由网络启用

Mamba:基于哈希的专家混合层的有效实现

结盟

虽然能力至关重要,但我们还需要安全、真实、符合人类价值观和指导的法学硕士。这是人工智能对齐这一新兴领域的目标:

来自人类反馈的强化学习(RLHF):使用从人类对模型输出的偏好中得出的奖励信号来微调模型; PPO、DPO 等方法正在积极探索。

宪法人工智能:宪法人工智能在训练过程中将规则和指令编码到模型中,从头开始灌输期望的行为。

推理

一旦我们的 LLM 训练完毕,我们需要对其进行优化以实现高效推理——以最小的延迟向用户提供模型输出:

量化:将大模型权重压缩为低精度格式,例如int8更便宜的计算和内存占用;常用的技术包括 GPTQ、GGML 和 NF4。

推测性解码: 通过使用小模型来启动较大模型来加速推理,如 Medusa 方法

系统优化:即时编译、内核融合和 CUDA 图形优化可进一步提升速度。

结论

在 2024 年构建大规模语言模型需要在整个堆栈中仔细构建和创新——从数据采购和清理到可扩展的训练系统和高效的推理部署。我们只介绍了一些亮点,但该领域正在以惊人的速度发展,新技术和新发现不断涌现。围绕数据质量评估、大规模稳定收敛、与人类价值观的一致性以及强大的现实世界部署的挑战仍然是开放领域。但法学硕士的潜力是巨大的 - 请继续关注,我们将在 2024 年及以后突破语言 AI 的可能性!

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

443

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

605

2023.08.10

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

443

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

605

2023.08.10

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

4145

2026.01.21

页面置换算法
页面置换算法

页面置换算法是操作系统中用来决定在内存中哪些页面应该被换出以便为新的页面提供空间的算法。本专题为大家提供页面置换算法的相关文章,大家可以免费体验。

496

2023.08.14

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

38

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

83

2026.03.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 6.8万人学习

Kotlin 教程
Kotlin 教程

共23课时 | 4.3万人学习

Go 教程
Go 教程

共32课时 | 6.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号