大模型训练优化方法

一步一步理解大模型:模型调优之P-Tuning P-Tuning就是提示调优(Prompt Tuning),主要思想是固定预训练模型的参数,然后在模型的输入端添加可学习的"prompt"(提示)进行调整。这种方法的优点是计算成本低,因为只需要更新少量的参数。它不改变模型,而是通过对提示的优化,让模型输出最佳的结果,相关论文可参考【1】。从原理上讲,是在已训练的模型L的外面再套上一个可训练的模型P,在不改变L的情况下通过优化P,让P(L)最优。因为L的输入实际上就是提示,所以叫提示调优。提示调优可以通过手动实现(不推荐)也可以通过自动训练实现。 阅读详情
AI摘要

本文介绍多种优化技巧,如批量大小选择、梯度累积等,旨在提高GPU利用率和训练速度。

写在前面

在训练模型尤其是大模型的时候,如何加快训练速度以及优化显存利用率是一个很关键的问题。本文主要参考HF上的一篇文章:https://huggingface.co/docs/transformers/perf_train_gpu_one,以及笔者在实际训练中的一些经验,给出一些比较实用的方法。

先看一个总览的表:

方法加快训练速度优化显存利用率
Batch size choiceYesYes
Gradient accumulationNoYes
Gradient checkpointingNoYes
Mixed precision trainingYesNo
Optimizer choiceYesYes
Data preloadingYesNo
DeepSpeed ZeroNoYes
torch.compileYesNo

其实加快训练速度本质就是提高数据吞吐量,每秒能够处理多少samples,在不爆显存的情况下,尽可能的提高Batch size,但在如今模型参数巨大的情况下,可能一张卡都不够放模型,例如llama-2-7B以FP16加载,都需要接近13G的显存,如果以FP32加载,那就需要25G的显存,在消费级显卡30、40系只有24G显存的卡上就难以训练或者微调。所以就有了一些列的优化显存利用率的方法。注:本篇先不讨论分布式训练的优化,将会在下篇文章讨论。

1.Batch size choice

增大Batch size既可以加快训练速度,又可以提高显存利用率。这个没啥原理,每秒能够处理的samples变多了,唯一需要祷告的就是不出现OOM。不过Batch size需要注意的是其值最好设置为2^N,为什么呢?这个和矩阵乘、模型维度、硬件都有关系,不同的Batch size是会影响到计算效率的,这是NVIDIA官方做的关于Batch size的实验[2],下面的图是NVIDIA推荐的Batch size:

2.Gradient Accumulation

梯度累积。这方法让俺想起了当年在学校实验室炼丹的过程,真是贫穷人士的灵丹妙药,没有足够的显卡搞不了大的Batch size,但是想要有大Batch size的效果,那就来试试梯度累积。

简单来说原理就是:每次来一个Batch size的数据,进行前向反向传播,保存梯度不清零,不更新模型参数,梯度积累到一定次数后,根据累积的梯度更新参数,然后梯度清零,进行下一次循环。所以该种方法加快不了训练速度,只是提高了显存的利用率,让你原来Batch size只能设置成2,现在可以设成8了!

先看一下不进行梯度累积的伪代码:

for batch in dataset:  # 遍历每个数据集的批次  
    optimizer.zero_grad()  # 梯度清零  
  
    outputs = model(inputs)  # 前向传播,计算输出  
    loss = compute_loss(outputs, labels)  # 计算损失  
  
    loss.backward()  # 反向传播,计算梯度  
    optimizer.step()  # 更新模型参数

看下进行梯度累积的伪代码:

for batch in dataset:  # 遍历每个数据集的批次  
    # 重置梯度  
    if batch_index % num_accumulation_steps == 0:  
        optimizer.zero_grad()  # 每 num_accumulation_steps 步重置一次梯度  
  
    # 前向传播  
    outputs = model(inputs)  # 计算输出  
    loss = compute_loss(outputs, labels)  # 计算损失  
  
    # 反向传播(累积梯度)  
    loss.backward()  # 反向传播,计算并累积梯度  
  
    # 累积了足够的梯度后更新参数  
    if (batch_index + 1) % num_accumulation_steps == 0:  
        optimizer.step()  # 更新模型参数

使用梯度累积时需要注意学习率的设置,毕竟小Batch size和大Batch size的学习率还是有区别的,经验的话就是尽量调大点。

3.Gradient checkpointing

梯度检查点。当你训练大一点的模型,Batch size已经设置成1了,但还是出现OOM了,此时如果换不了大显存的显卡,你还是想硬训,那可以试试梯度检查点。

原理还是比较简单的,因为在训练过程中,除了load模型占了一大部分显存外,还有一部分占显存的就是为了在反向传播过程中计算梯度,保存的前向传播的所有激活值。梯度检查点就是选择性地保存一些的激活值,这样在反向传播过程中计算梯度时重新计算没保存的这部分激活值,就是以时间换空间。所以这种方法不会加快训练训练速度,还会减慢训练速度,因为部分节点会进行两次前向传播,但极大地提高了显存的利用率。根据HF给出的数据使用梯度检查点,会使训练速度大约降低20%。

下面是一些动图简单的反映了梯度检查点的过程。源于该篇blog[3]:

正常的前向反向传播过程,需要保存的前向传播的所有激活值

选择第三个点作为检查点

这时,只需要保存第一个节点,选择的检查点以及最后一个节点,节省了第二个和第三个节点保存的显存,但反向传播的时候需要通过前向传播重新计算第二个和第三个节点的激活值

4.Mixed precision training

混合精度训练。要了解混合精度训练,首先要了解各个数值类型,正常模型训练的数值类型都是FP32,这个数值类型虽然精度和范围更大,但占用的显存和计算量也更大。所以混合精度训练就是在训练时一部分计算使用FP16,一部分计算使用FP32,加快训练速度同时也减少了显存占用(理论上应该是减少了显存占用,但实际上并没有特别明显)。但是注意:模型较小batch也较小,硬件也比较拉的情况下,混合精度训练可能会没有效果甚至会更慢。这时候训练速度主要消耗在IO(在GPU和GPU间传送数据),以及混合精度频繁进行FP16与FP32的转换。

那哪些计算使用FP16,哪些使用FP32呢?在NVIDIA的这篇Paper中[4]

首先会拷贝一份FP32权重的副本,然后整个计算过程为:权重从FP32转成FP16进行前向传播并计算loss,然后继续使用FP16反向传播计算梯度,最后转成FP32更新到FP32的权重上,这样循环计算。用FP32保存权重主要是为了避免溢出,保持一定的精度。Paper中实验表明,用FP16保存权重会造成80%的精度损失。细节可以看下Paper。

目前torch实现的是自动混合精度,他会自动的管理精度,并不是像上面paper中的前向反向都使用FP16,比如归一化(batch normalization),梯度累积时等需要高精度的也还是用的FP32,细节可以看[5],还有如果显卡支持,还可以实现BF16,TF32等数据类型。下面是伪代码:

import torch  
import torch.nn as nn  
import torch.optim as optim  
from torch.cuda.amp import autocast, GradScaler  
  
# 定义模型、损失函数和优化器  
model = MyModel().cuda()  
criterion = nn.CrossEntropyLoss()  
optimizer = optim.Adam(model.parameters(), lr=0.001)  
  
# 初始化梯度缩放器  
scaler = GradScaler()  
  
for data, target in train_loader:  
    data, target = data.cuda(), target.cuda()  
  
    optimizer.zero_grad()  
  
    # 在autocast上下文中进行前向传播和损失计算  
    with autocast():  
        output = model(data)  
        loss = criterion(output, target)  
  
    # 使用梯度缩放器进行反向传播计算梯度  
    scaler.scale(loss).backward()  
  
    # 更新优化器  
    scaler.step(optimizer)  
  
    # 更新缩放器  
    scaler.update()

5.Optimizer choice

选择合适的优化器是既可以加快训练速度又可以提高显存利用率的。目前训练Transformer类模型最常用的优化器是Adam或AdamW(带权重衰减的Adam),Adam通过存储先前梯度的滚动平均值可以实现比较好的收敛,但这增加了与模型参数数量成正比的额外显存占用。如果安装了NVIDIA/apex,那么adamw_apex_fused是训练速度最快的优化器。

HF的Trainer目前集成了很多优化器,也就是指定一个参数的是事情。adamw_hf, adamw_torch, adamw_torch_fused, adamw_apex_fused, adamw_anyprecision, adafactor, or adamw_bnb_8bit这些等等。

简单看下两种AdamW优化器的替代选择的显存对比

对于一个3B参数的模型,“google-t5/t5-3b”

标准AdamW优化器需要24G左右的显存,它每个参数使用8字节存储(8*3 => 24GB)

Adafactor优化器需要12G左右的显存,它每个参数使用4字节存储(4*3 => 12GB)

adamw_bnb_8bit(量化后的AdamW)优化器需要6G左右的显存,它每个参数使用2字节存储(2*3 => 6GB)

但这这些显存占用明显改进的优化器,可能会带来收敛速度慢,精度下降等问题,还是要具体情况具体分析,俺一般使用adamw_apex_fused。

6.Data preloading

数据预加载。想要加快训练速度,很重要的一点就是要能够以GPU可以处理的最大速度来提供数据,使GPU的利用率达到100%。主要有以下两个方法加快数据供给。

DataLoader(pin_memory=True, …),将数据预加载到CPU的锁页内存中,什么是锁页内存,简单来说就是可直接访问该页CPU内存;未锁页的内存,会被更换到磁盘上,如果下次需要该页了,则需要重新加载到内存里。这就会需要额外的时间了。相关的一些资料[6][7]原文中也给了了相应的速度:

锁页内存和GPU显存之间的拷贝速度大约是6GB/s
可分页内存和GPU显存间的拷贝速度大约是3GB/s

但要注意,如果数据量特别大,CPU的内存不是特别大的情况下,谨慎使用此参数,遇到过内存爆了的情况。。

第二个是DataLoader(num_workers=4, …),给DataLoader使用更多的线程预加载数据。

7.DeepSpeed Zero

Deepspeed 核心就是四个字”显存优化“,其并不能加快训练速度,如果你显存够用是可以不使用Deepspeed 的,但训练大模型一般来说显存都不够用。

8.Using torch.compile

PyTorch 2.0 引入了一个新的编译函数,无需对现有的 PyTorch 代码进行任何修改,只需添加一行代码即可优化代码:model = torch.compile(model)。即可进行训练和推理加速。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
怎么用【指令工程】调优大模型? 提示词工程是指在使用大型预训练语言模型(如GPT-4或BERT)时,精心设计输入的提示词(或称为引导语),可以显著改变模型的输出。这意味着,通过仔细设计问题的提法,我们可以引导模型向我们预期的方向发展,从而产出能解决你领域问题的回答。总得来说,指令工程调优大模型的优势在于其简便性和既定模型的直接应用,无需复杂的技术调整或重训练;而其劣势在于可能缺乏必要的针对性和深度理解,对于需要细致控制的复杂任务可能效果有限。 阅读详情

相关推荐

大模型训练中的Delta Tuning优化方法

总之,Delta Tuning是一种有效的预训练模型参数优化方法,它通过微调预训练模型的参数来适应特定任务,从而最大限度地提高模型性能。预训练模型是一种已经在一个大规模数据集上训练过的模型,它可以在多个任务中应用,从而提高模型的泛化性能。另外,通过对不同层级的参数设置不同的Delta值,可以实现模型的层次性优化,从而更好地满足不同层次任务的需求。然而,预训练模型的性能往往受到参数设置的影响,因此,参数优化成为提高模型性能的关键步骤。更新参数:按照确定的Delta值,对预训练模型的参数进行更新。

weixin_41888295的博客 463

一文讲懂大模型调优技术

大模型调优是一项复杂而富有挑战性的工作。本文全面解析了大模型调优的关键技术,包括数据预处理与增强、模型架构调整、超参数优化、正则化与泛化能力提升以及分布式训练与并行优化等方面。希望这些技术能够帮助开发者更加高效地利用和优化大模型,推动人工智能技术的进一步发展。

异构算力老群群(在读985计算机博士生)的技术博客 5200

(10-1)

"大模型优化算法" 是一个相对较为广泛的概念,指的是用于优化大型模型的一系列算法和技术。在机器学习和深度学习领域,大模型通常指的是参数数量众多、层数深厚的神经网络等复杂模型。这些模型的训练和优化需要考虑到计算和内存资源的限制,以及有效地解决梯度消失、梯度爆炸等问题。在本章的内容中,将详细讲解大模型优化算法和技术的知识,为读者步入本书后面知识的学习打下基础。

码农三叔 8110

机器学习随记(8)——各大模型调优方式

可以通过调整优化算法的参数,例如,学习率、迭代次数、批量大小等,来寻找最优的超参数组合。调整样本权重和特征权重:可以通过调整subsample和colsample_bytree参数来控制样本和特征的采样比例,以提高模型的鲁棒性和泛化能力。调整核函数的参数:可以通过调整核函数的超参数,例如,高斯核函数的gamma参数和多项式核函数的degree参数等,来寻找最优的超参数组合。调整迭代次数和批量大小:可以通过调整迭代次数和批量大小来控制模型的训练速度和收敛性能,以提高模型的准确率和泛化能力。

YoungITの博客 2231

后训练方法与持续优化: 后训练方法(如Langchain等)正在被探索用于提升大模型的性能

尽管LangChain在模块化设计和协同训练方面具有显著优势,但也有证据表明其在实际应用中存在一些问题。例如,LangChain难以解决大模型基础技术问题,如prompt重用问题。此外,LangChain的框架功能有限,难以获取有价值的信息,进一步限制了代码调试的效率。

百态·数智思维 | 聚焦大数据、量化与未来AI 285

DDR4/LPDDR4与DDR5/LPDDR5的差别

最新的 DDR5 可支持单一芯片容量 64Gbit,最高容量上限可增加到 128GB,较 DDR4 提高了四倍;价格:随着规格提升,DDR5 价格也较 DDR4 高出逾 50%,可能成为业者导入的阻碍。但如前所述,包括 5G、机器学习(ML)等各式进阶应用中,DDR5 的整体效能、规格的提升,对相关业者来说仍具一定优势与吸引力。电源管理 IC(PMIC IC):电源管理芯片内建至 DDR5 内存中,除可提高讯号完整性及噪声辨识能力,还能更具效率与扩展性;DDR5 规格与效能整理。(来源:JEDEC)

flomingo1的专栏 9021

大模型训练优化方法_大模型调优

在训练模型尤其是大模型的时候,如何加快训练速度以及优化显存利用率是一个很关键的问题。本文主要参考HF上的一篇文章:https://huggingface.co/docs/transformers/perf_train_gpu_one,以及笔者在实际训练中的一些经验,给出一些比较实用的方法。方法加快训练速度优化显存利用率YesYesNoYesNoYesYesNoYesYesYesNoNoYesYesNo。

HUANGXIN9898的博客 2078

在 Kubernetes 上部署 Label Studio

Label Studio 是一款开源的数据标注工具,支持多种标注任务,如文本标注、图像标注、音频标注等。

啥都会一点 668

08-预训练与微调:大模型的核心优化方法

预训练与微调是大模型的核心优化方法,它们在提高模型性能和泛化能力方面发挥着关键作用。本文是对这些核心优化方法做一个简单分享。

rengang66的博客 735

手把手教你学PCIE(10.5)--PCIE故障排除方法的分步排查法介绍

通过以上分步排查法,你可以系统地诊断和解决 PCIe 设备的故障。每个步骤都有助于逐步缩小问题范围,最终找到并解决问题。

MHD0815的博客 1873

已解决“TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败“,亲测有效!!!

已解决"TimeouEror [WinEror 10060由于连接方在一段时间后没有正确答复 或连接的主机没有反应,连接尝试失败",亲测有效!!!

wbajsjhhhhh的博客 1万+

最新整理!大模型训练必备的11种对齐与优化方法

在大语言模型(LLM)蓬勃发展的时代,模型的能力不断突破边界,从文本生成到复杂推理,从智能问答到创意写作,LLM 展现出了巨大的潜力。然而,强大的能力若不能与人类的期望目标对齐,便无法发挥其真正的价值。当我们期望模型输出有用、准确、安全且符合用户偏好的内容时,专门的对齐和优化算法就成为了关键所在。这些算法不仅支撑着模型的实用性提升,更是连接模型能力与人类需求的桥梁。接下来,我们将深入剖析 11 种主流的 LLM 对齐和优化算法,揭开它们的神秘面纱。

2401_85375186的博客 1127

【2025最新版】间接平差——以水准网平差为例 (python详细过程版)

水准网间接平差的python代码实现。博客长期更新,本文最新更新时间为:2025年5月20日。

点云侠的博客 1702

HALO优化方法:低精度计算与大模型训练的革命

低精度计算是深度学习优化中的关键技术,通过降低数值精度来减少计算开销和内存占用。其核心原理是利用数学变换和量化策略,在保持模型性能的同时提升训练效率。Hadamard变换作为一种高效的正交变换,能够将高维数据转换为稀疏表示,为低精度量化提供了理想的基础。HALO(Hadamard-Assisted Lower-Precision Optimization)技术结合Hadamard变换与动态分块量化,显著降低了大型语言模型(LLM)训练的计算和内存需求。在实际应用中,HALO不仅提升了训练速度,还减少了通信带

weixin_32285357的博客 262

17track单号查询逆向分析

这就说明该网站很有可能存在其它检测点,而检测本地替换最大可能的就是检测了代码格式化或者代码长度。也一样,要么导致网站卡死,要么会导致网页加载异常,这里可能就难到不少人了,让我们一步一步解决。而这个站主要是检测了代码格式化,无限循环检测造成了网站卡死,经多次测试发现检测点共三处。方法中代码很长,但是经调试后发现,它其实只返回一个固定的值,这里直接写死即可。同样的,虽然看起来很长,但是跟过之后就会发现流程很简单,这里主要就是对。追加了一些值,是一条很长的语句,整理代码。,核心流程也很简单,稍微跟一下就出来了,

pyzzd的博客 1623

【如何学习CAN总线测试】——Python+Robot Framework框架实现UDS诊断自动化

由于项目需要进行UDS诊断测试,所以对这方面进行了研究学习,网上很少能查询到相关资料,故记录一下UDS自动化测试开发过程,由于保密原则,案例都是Demo,希望能帮到感兴趣的朋友。

测试领域技术分享 7467

MindSpore大模型训练评估与性能优化实战方法论

大模型训练中的评估与性能优化,本质是贯穿数据加载、前向传播、梯度更新、分布式通信全链路的系统工程。其核心原理在于将评估从‘终局打分’升级为‘过程导航’,将性能优化从‘事后调参’前置为‘内存生命周期设计’和‘通信-计算拓扑对齐’。技术价值体现在显著提升千卡线性加速比、稳定收敛性及业务指标可归因性;典型应用场景覆盖金融风控、政务知识增强、教育多模态等国产算力密集型领域。本文聚焦昇思MindSpore框架下千亿参数模型的真实落地经验,深度解析动态评估体系构建、显存带宽对齐、混合并行通信优化等关键实践。

weixin_29044713的博客 319

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MindSpeed:昇腾大模型预训练四维融合优化方法论

大模型预训练优化已从单纯算力堆叠转向系统级协同设计。理解‘融合优化’需回归本质:它是在数据加载、计算执行、分布式通信与模型存储四个维度上,基于硬件特性(如昇腾HBM访存模式、HCCL拓扑结构、CANN DataFlow约束)进行联合建模与协同裁剪的技术范式。其核心价值在于打破传统线性流水线思维,通过算子融合、拓扑感知通信、静态shape数据分桶、增量checkpoint等手段,显著提升训练吞吐、降低显存占用并增强收敛稳定性。该方法特别适用于国产AI芯片(如昇腾910B)上的百亿参数模型高效预训练,为AI基础

weixin_29040367的博客 182

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大模型训练优化:PPO与DPO方法对比与实践指南

在人工智能领域,模型优化算法是提升大语言模型性能的关键技术。PPO(Proximal Policy Optimization)作为强化学习的经典方法,通过策略梯度优化和裁剪机制确保训练稳定性,广泛应用于需要精确奖励控制的复杂任务。而新兴的DPO(Direct Preference Optimization)则创新性地绕过奖励模型,直接利用人类偏好数据进行优化,显著简化了RLHF流程。这两种方法在模型微调阶段各有优势:PPO适合资源充足且需要多步决策的场景,DPO则更适用于快速偏好对齐。理解PPO的GAE优势

weixin_33624741的博客 111

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

大模型训练新策略:基于Qwen3-4B的双向SFT优化方法深度解析

大型语言模型(LLM)的训练过程蕴含着许多精妙的学习规律,其中"挤压效应"是近期研究的重要发现。本文将基于Qwen3-4B模型,深入探讨双向SFT预训练策略如何有效应对这一挑战,为开发者提供全新的优化思路。 ## 挤压效应现象揭秘 在传统DPO训练中,模型会经历一个反常的学习阶段:随着训练轮数增加,即使是期望输出的置信度也会出现下降。这种现象被称为"挤压效应",它揭示了LLM微调过程中的深层认

gitblog_00032的博客 388

一文详解AI大模型14个核心基础概念:大模型训练与优化方法(第二篇)

大模型技术体系的核心环节包括:预训练阶段通过海量无标注数据学习通用语言表征,遵循扩展定律优化模型规模与数据量的平衡;微调阶段通过全参数、适配器或低秩分解等方法使模型适应特定任务;模型对齐采用RLHF等技术确保输出符合人类价值观;针对幻觉问题采用数据清洗、RAG等技术提升事实准确性;提示工程则通过结构化指令优化模型输出效果。这些技术共同构成了大模型从基础训练到实际应用的完整技术链条,在提升性能的同时也面临计算成本、安全性和可靠性等挑战。 (注:摘要严格控制在150字以内,全面覆盖原文5个技术模块及其核心要点,

yangmu3203的博客 322

大模型训练的GPU联手CPU显存优化分析方法

作者|嫖姚 编辑| 自动驾驶之心原文链接:https://zhuanlan.zhihu.com/p/690926800点击下方卡片,关注“自动驾驶之心”公众号戳我-> 领取自动驾驶近15个方向学习路线>>点击进入→自动驾驶之心『大模型』技术交流群本文只做学术分享,如有侵权,联系删文随着深度学习模型复杂度和数据集规模的增大,计算效率成为了不可忽视的问题。GPU凭借强大的并行...

CV_Autobot的博客 1191

在整个大模型LoRA微调中,哪些方法可以提升和优化模型训练后推理效果?

LoRA微调。

本博客,博文仅代表个人操作经验,不能完全解决你的问题,仅供参考,佛系回复。 1621

大模型训练性能瓶颈定位:从Profiler到MFU优化的完整方法论

大模型训练的性能问题往往难以凭直觉判断,GPU利用率高并不代表算力被高效利用,训练缓慢可能源于访存瓶颈、数据加载阻塞或分布式通信开销。要系统定位这些瓶颈,需要建立以吞吐量、MFU(Model FLOPs Utilization)和Token吞吐为核心的评估坐标系,并通过PyTorch Profiler、Nsight Systems等工具深入剖析训练链路。性能分析的价值在于用数据取代猜测,通过时间切片和算子级剖析精准锁定瓶颈环节,再针对性地应用算子融合、FlashAttention或梯度重计算等工程优化。在实

weixin_33708633的博客 212

MindSpore大模型训练性能评估与优化实战:从指标到Profiler的体系化方法

在大模型训练中,GPU利用率高并不等于有效产出高,通信等待、数据搬运和无效重载都可能让硬件空转。衡量训练性能需要建立以有效吞吐和MFU(模型算力利用率)为核心的评估体系,通过基线指标量化优化效果。MindSpore提供的Profiler工具链能够从算子耗时、Step Trace和数据加载三个维度精准定位瓶颈,结合混合精度、重计算、优化器状态offload以及分布式并行策略的调优,可以系统性地提升训练效率。这套方法适用于百亿级参数模型的工程实践,也适用于任何追求可量化性能优化的场景。以数据驱动的评估取代经验猜

weixin_29483277的博客 286
上一篇: 大模型训练完成之后可以直接使用吗?该怎么使用训练好的大模型?
下一篇: 大模型理解复杂表格,字节&中科大出手了
少喝冰美式
博客等级 码龄3年 6839粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值