模型调参大法,让你的模型更进一步!

2024-08-22 19:36

本文主要是介绍模型调参大法,让你的模型更进一步!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是 Bob! 😊

一个想和大家慢慢变富的 AI 程序员💸

分享 AI 前沿技术、项目经验、面试技巧!

欢迎关注我,一起探索,一起破圈!💪

模型调参

首先需要牢记一个点:模型选型和数据质量决定了任务的底线,而调参只是锦上添花(也可能雪上加霜)的工作

所以优先考虑模型与数据,再考虑微调,能不调就不调。

模型与数据

任务

首先要明确任务是分类、回归、生成、排序

模型架构

不同的模型架构在同意任务上的性能不一。选择合适的架构(gpt,bert,T5等等)。

模型复杂度

选择一个与数据复杂度相匹配的模型大小。模型过于简单可能导致欠拟合,而过于复杂则可能过拟合。

计算资源

考虑可用的GPU、内存和计算时间。复杂模型往往需要更多资源

数据特性

考虑数据的维度、规模、结构(如图像、文本、时序数据等)和质量

训练参数调整(Train)

Loss function

如果你使用transfomers,他会根据你的任务来做调整。一般是交叉损失。。具体使用MSE、Cross entropy、Focal还是其他自定义,需要具体问题具体分析。

batch_size

batch size不能太大,也不能太小,一般设置为4的倍数。看算例资源来定(可选1、2、4、8、16)

1. 太小会浪费计算资源,

2. 太大则会浪费内存;

per_device_train_batch_size: 1

gradient_accumulation_steps

batch size 在表示学习,对比学习领域一般越大越好,但是显存不够batch_size小,累计梯度(gradient_accumulation_steps)来凑,否则模型可能不收敛… 其他领域看情况;

gradient_accumulation_steps: 2

learning_rate

一般nlp bert类模型在2e-5级别附近,范围一般在(1e-5~5e-3),warmup,衰减

前期warnup是为了防止梯度爆炸,让模型训练更加稳定。因为模型权重初始是随机的

中期期warmup后,高学习率是跳出局部最优。

后期学习率(如consin)退火是为了减少震荡,稳定地收敛,找到全局最优。

learning_rate: 2e-4lr_scheduler_type: "cosine"warmup_ratio: 0.1

Epoch number

Epoch过大,会浪费计算资源;epoch太小,则训练模型提取特征没到极致;,

由于任务的复杂程度不一样,需要输出loss看一下,在什么位置收敛稳定。

可以设置epoch_num=3,调大一点,利用好check_point。观察模型收敛稳定, 及时stopping;

num_train_epochs: 3.0

Optimizer

Adam

Activation function

ReLu、Sigmoid、Softmax、Tanh是最常用的4个激活函数。

对于输出层,常用sigmoid和softMax激活函数,中间层Q常用ReLu激活函数,RNN常用Tanh激活函数。

Regularization

Dropout虽然思想很简单,但效果出奇的好,现在大部分任务都需要使用预训练型,要注意型内部dropout ratio是一个很重要的参数,首选0.05,

微调方案LORA

rrank也就是LoRA的低秩的秩的大小),较小的 r 导致更简单的低秩矩阵,从而导致在适应过程中学习的参数更少,模型的复杂度变低。

这可以加快训练速度,并可能降低计算需求,但是低秩矩阵捕获特定于任务的信息的能力就会降低。可能会导致模型难以收敛。

默认值是8),建议4/8/16.视任务复杂情况来确定。

alpha:alpha 是一个比例因子,这个系数用于在前向传播过程中将 LoRA 权重应用于预训练之中,用于调整组合结果的大小(原始模型输出加上低秩适应)。一般16,alpha越大lorad的影响就越大,反之越小。

将alpha值设置为r的两倍是一个常见的经验法则

lora_r: 16
lora_alpha: 32
lora_dropout: 0.05

模型量化BitsAndBytes

如果资源有限,一般使用bitsandbytes进行量化。一般选择4、8位, 考虑现有算力资源。

quantization_bit: 4

推荐FP8,数据表示位数的降低带来了更大的吞吐和更高的计算性能,虽然精度有所降低,但是在 LLM 场景下,采用技术和工程手段,FP8 能够提供与更高精度类型相媲美的结果,同时带来显著的性能提升和能效改善。

Bob 的产品

1.【Bob 的 AI 成长陪伴群】

群里分享讨论:

🔴AI 变现项目、AI 前沿技术、NLP 知识技术分享、前瞻思考、面试技巧、找工作等

🔴 个人 IP 打造、自媒体副业、向上社交、以及我的日常生活所见所闻,所思所想。

找一群人一起走,慢慢变富。期待和同频 ‮ 朋的 ‬ 友一起蜕变!

这篇关于模型调参大法,让你的模型更进一步!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1097197

相关文章

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G