大模型训练的关键技术之微调

大模型微调并不复杂,数据才是关键:3个实例详解数据准备 今天我们不打算深挖那些复杂的技术细节,而是要告诉你们一个简单的事实:微调其实一点都不复杂,真正的关键在于——数据!在这篇文章里,我们不仅会深入浅出地介绍什么是微调,还会通过三个具体的实例,教你们如何准备高质量的数据集,让你们的模型表现出色。准备好了吗?让我们一起开始吧! 阅读详情

概览
介绍了大模型训练的微调方法,包括prompt tuning、prefix tuning、LoRA、p-tuning和AdaLoRA等。
介绍了使用deepspeed和LoRA进行大模型训练的相关代码。
给出了petals的介绍,它可以将模型划分为多个块,每个用户的机器负责其中一块,分摊了计算压力。
理解篇
prompt tuning
在这里插入图片描述

固定预训练参数,为每一个任务额外添加一个或多个embedding,之后拼接query正常输入LLM,并只训练这些embedding。左图为单任务全参数微调,右图为prompt tuning。

图片

标准的T5模型(橙色线)多任务微调实现了强大的性能,但需要为每个任务存储单独的模型副本。
prompt tuning也会随着参数量增大而效果变好,同时使得单个冻结模型可重复使用于所有任务。
显著优于使用GPT-3进行fewshot prompt设计。
当参数达到100亿规模与全参数微调方式效果无异。
代码样例:

from peft import PromptTuningConfig, get_peft_model
peft_config = PromptTuningConfig(task_type="SEQ_CLS", num_virtual_tokens=10)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, return_dict=True)
model = get_peft_model(model, peft_config)

prefix tuning

在这里插入图片描述

prefix tuning依然是固定预训练参数,但除为每一个任务额外添加一个或多个embedding之外,利用多层感知编码prefix,注意多层感知机就是prefix的编码器,不再像prompt tuning继续输入LLM。

embedding = torch.nn.Embedding(num_virtual_tokens, token_dim)
transform = torch.nn.Sequential(
    torch.nn.Linear(token_dim, encoder_hidden_size),
    torch.nn.Tanh(),
    torch.nn.Linear(encoder_hidden_size, num_layers * 2 * token_dim),
)

在三个数据集中prefix和全参数微调的表现对比:

图片

代码样例:

peft_config = PrefixTuningConfig(task_type="CAUSAL_LM", num_virtual_tokens=20)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, return_dict=True)
model = get_peft_model(model, peft_config)

LoRA
在这里插入图片描述

LoRA冻结了预训练模型的参数,并在每一层decoder中加入dropout+Linear+Conv1d额外的参数

那么,LoRA是否能达到全参数微调的性能呢?

根据实验可知,全参数微调要比LoRA方式好的多,但在低资源的情况下也不失为一种选择

图片

细致到每个任务中的差距如下图:

图片

代码样例:

peft_config = LoraConfig(task_type="SEQ_CLS", inference_mode=False, r=8, lora_alpha=16, lora_dropout=0.1)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, return_dict=True)
model = get_peft_model(model, peft_config)

p-tuning

图片

手动尝试最优的提示无异于大海捞针,于是便有了自动离散提示搜索的方法(作图),但提示是离散的,神经网络是连续的,所以寻找的最优提示可能是次优的。p-tuning依然是固定LLM参数,利用多层感知机和LSTM对prompt进行编码,编码之后与其他向量进行拼接之后正常输入LLM。注意,训练之后只保留prompt编码之后的向量即可,无需保留编码器。

self.lstm_head = torch.nn.LSTM(
                    input_size=self.input_size,
                    hidden_size=self.hidden_size,
                    num_layers=num_layers,
                    dropout=lstm_dropout,
                    bidirectional=True,
                    batch_first=True,
  )

self.mlp_head = torch.nn.Sequential(
    torch.nn.Linear(self.hidden_size * 2, self.hidden_size * 2),
    torch.nn.ReLU(),
    torch.nn.Linear(self.hidden_size * 2, self.output_size),
)
self.mlp_head(self.lstm_head(input_embeds)[0])

以上代码可清晰展示出prompt编码器的结构。

图片

如上图所示,GPT在P-tuning的加持下可达到甚至超过BERT在NLU领域的性能。下图是细致的对比:

在这里插入图片描述

MP: Manual prompt

FT: Fine-tuning

MP+FT: Manual prompt augmented fine-tuning

PT: P-tuning

代码样例:

peft_config = PromptEncoderConfig(task_type="CAUSAL_LM", num_virtual_tokens=20, encoder_hidden_size=128)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, return_dict=True)
model = get_peft_model(model, peft_config)

p-tuning v2

图片

p-tuning的问题是在小参数量模型上表现差(如上图所示),于是有了V2版本,类似于LoRA每层都嵌入了新的参数(称之为Deep FT),下图中开源看到p-tuning v2 集合了多种微调方法。p-tuning v2 在多种任务上下进行微调,之后对于不同的任务如token classification与sentence classification添加了随机初始化的任务头(AutoModelForTokenClassification、AutoModelForSequenceClassification),而非使用自然语言的方式,可以说V2是集大成者。

SeqTag: Sequence Tagging,如抽取式问答、命名实体识别

Re-param.:Reparameterization,对提示词做单独的编码器

No verb.: No verbalizer,不直接使用LLM head而接一个随机初始化的linear head

以下表格对比了[CLS] label linear head 和 verbalizer with LM head,[CLS] label linear head的方式药略好。

图片

v1到v2的可视化:蓝色部分为参数冻结,橙色部分为可训练部分

图片

下图中对比了FT、PT、PT-2三种方法,粗体为性能最好的,下划线为性能次好的。

图片

代码样例:

peft_config = PrefixTuningConfig(task_type="SEQ_CLS", num_virtual_tokens=20)
model = AutoModelForSequenceClassification.from_pretrained(model_name_or_path, return_dict=True)
model = get_peft_model(model, peft_config)

AdaLoRA

预训练语言模型中的不同权重参数对下游任务的贡献是不同的。因此需要更加智能地分配参数预算,以便在微调过程中更加高效地更新那些对模型性能贡献较大的参数。

具体来说,通过奇异值分解将权重矩阵分解为增量矩阵,并根据新的重要性度量动态地调整每个增量矩阵中奇异值的大小。这样可以使得在微调过程中只更新那些对模型性能贡献较大或必要的参数,从而提高了模型性能和参数效率。

详细的算法如下:

图片

对比不同方法的性能:

图片

代码样例:

peft_config = AdaLoraConfig(peft_type="ADALORA", task_type="SEQ_2_SEQ_LM", r=8, lora_alpha=32, target_modules=["q", "v"],lora_dropout=0.01)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, return_dict=True)
model = get_peft_model(model, peft_config)

代码篇
注:以下代码在pytorch 1.12.1版本下运行,其他包都是最新版本

deepspeed
官方的demo所需要的配置如下:

GPU SKUs OPT-1.3B OPT-6.7B OPT-13.2B OPT-30B OPT-66B Bloom-175B
1x V100 32G 1.8 days

1x A6000 48G 1.1 days 5.6 days

1x A100 40G 15.4 hrs 3.4 days

1x A100 80G 11.7 hrs 1.7 days 4.9 days

8x A100 40G 2 hrs 5.7 hrs 10.8 hrs 1.85 days

8x A100 80G 1.4 hrs($45) 4.1 hrs ($132) 9 hrs ($290) 18 hrs ($580) 2.1 days ($1620)
64x A100 80G 31 minutes 51 minutes 1.25 hrs ($320) 4 hrs ($1024) 7.5 hrs ($1920) 20 hrs ($5120)
注意到官方给的样例单卡V100只能训练13亿规模的模型,如果换成67亿是否能跑起来呢?

按照官方文档搭建环境:

pip install deepspeed>=0.9.0

git clone https://github.com/microsoft/DeepSpeedExamples.git
cd DeepSpeedExamples/applications/DeepSpeed-Chat/
pip install -r requirements.txt
请注意如果你之前装了deepspeed,请更新至0.9.0

试试全参数微调,这毫无疑问OOM

deepspeed --num_gpus 1 main.py
–data_path Dahoas/rm-static
–data_split 2,4,4
–model_name_or_path facebook/opt-6.5b
–gradient_accumulation_steps 2
–lora_dim 128
–zero_stage 0
–deepspeed
–output_dir $OUTPUT
&> $OUTPUT/training.log
答案是:我们需要卸载,这次便能愉快的run起来了

deepspeed main.py
–data_path Dahoas/rm-static
–data_split 2,4,4
–model_name_or_path facebook/opt-6.7b
–per_device_train_batch_size 4
–per_device_eval_batch_size 4
–max_seq_len 512
–learning_rate 9.65e-6
–weight_decay 0.1
–num_train_epochs 2
–gradient_accumulation_steps 1
–lr_scheduler_type cosine
–num_warmup_steps 0
–seed 1234
–lora_dim 128
–gradient_checkpointing
–zero_stage 3
–deepspeed
–output_dir $OUTPUT_PATH
&> $OUTPUT_PATH/training.log
可以加上LoRA

deepspeed --num_gpus 1 main.py
–data_path Dahoas/rm-static
–data_split 2,4,4
–model_name_or_path facebook/opt-6.7b
–per_device_train_batch_size 8
–per_device_eval_batch_size 8
–max_seq_len 512
–learning_rate 1e-3
–weight_decay 0.1
–num_train_epochs 2
–gradient_accumulation_steps 16
–lr_scheduler_type cosine
–num_warmup_steps 0
–seed 1234
–gradient_checkpointing
–zero_stage 0
–lora_dim 128
–lora_module_name decoder.layers.
–deepspeed
–output_dir $OUTPUT_PATH
&> $OUTPUT_PATH/training.log
peft
以下代码省略了数据处理

初始化

from datasets import load_dataset,load_from_disk
import transformers
from transformers import AutoModelForCausalLM, AutoTokenizer,default_data_collator
from peft import prepare_model_for_int8_training, LoraConfig, get_peft_model

MICRO_BATCH_SIZE = 1  
BATCH_SIZE = 1
GRADIENT_ACCUMULATION_STEPS = BATCH_SIZE // MICRO_BATCH_SIZE
EPOCHS = 3  
LEARNING_RATE = 3e-6  
CUTOFF_LEN = 256  
LORA_R = 16
LORA_ALPHA = 32
LORA_DROPOUT = 0.05

模型加载,并使用int8进行训练

model_path = "facebook/opt-6.7b"
output_dir = "model"
model = AutoModelForCausalLM.from_pretrained(model_path)
tokenizer = AutoTokenizer.from_pretrained(model_path, add_eos_token=True)
model = prepare_model_for_int8_training(model)  
config = LoraConfig(
    r=LORA_R,
    lora_alpha=LORA_ALPHA,
    target_modules=None,
    lora_dropout=LORA_DROPOUT,
    bias="none",
    task_type="CAUSAL_LM",
)
model = get_peft_model(model, config)
tokenizer.pad_token_id = 0  
data = load_from_disk("data")

训练与保存

trainer = transformers.Trainer(
    model=model,
    train_dataset=data["train"],
    eval_dataset=data["validation"],
    args=transformers.TrainingArguments(
        per_device_train_batch_size=MICRO_BATCH_SIZE,
        per_device_eval_batch_size=MICRO_BATCH_SIZE,
        gradient_accumulation_steps=GRADIENT_ACCUMULATION_STEPS,
        warmup_steps=1000,
        num_train_epochs=EPOCHS,
        learning_rate=LEARNING_RATE,
        # bf16=True,  
        fp16=True,  
        logging_steps=1,
        output_dir=output_dir,
        save_total_limit=4,
    ),
    data_collator=default_data_collator,
)
model.config.use_cache = False
trainer.train(resume_from_checkpoint=False)
model.save_pretrained(output_dir)

直接这么启动当然会OOM,依然需要卸载

编写accelerate配置文件accelerate.yaml

compute_environment: LOCAL_MACHINE
deepspeed_config:
gradient_accumulation_steps: 1
gradient_clipping: 1.0
offload_optimizer_device: none
offload_param_device: none
zero3_init_flag: true
zero3_save_16bit_model: true
zero_stage: 3
distributed_type: DEEPSPEED
downcast_bf16: ‘yes’
dynamo_backend: ‘yes’
fsdp_config: {}
machine_rank: 0
main_training_function: main
megatron_lm_config: {}
mixed_precision: fp16
num_machines: 1
num_processes: 2
rdzv_backend: static
same_network: true
use_cpu: true
deepspeed配置文件:ds.json

{
“fp16”: {
“enabled”: true,
“loss_scale”: 0,
“loss_scale_window”: 500,
“initial_scale_power”: 16,
“hysteresis”: 2,
“min_loss_scale”: 1
},

"optimizer": {
    "type": "AdamW",
    "params": {
        "lr": "auto",
        "betas": "auto",
        "eps": 1e-8,
        "weight_decay": "auto"
    }
},

"scheduler": {
    "type": "WarmupLR",
    "params": {
        "warmup_min_lr": 0,
        "warmup_max_lr": 2e-05,
        "warmup_num_steps": 0
    }
},

"zero_optimization": {
    "stage": 2,
    "offload_optimizer": {
        "device": "cpu",
        "pin_memory": false
    },
    "allgather_partitions": true,
    "allgather_bucket_size": 2e8,
    "overlap_comm": true,
    "reduce_scatter": true,
    "reduce_bucket_size": 2e8,
    "contiguous_gradients": true
},

"gradient_accumulation_steps":2,
"gradient_clipping": "auto",
"steps_per_print": 2000,
"train_batch_size": 4,
"train_micro_batch_size_per_gpu": 1,
"wall_clock_breakdown": false

}
启动

accelerate launch --dynamo_backend=nvfuser --config_file accelearte.yaml finetune.py
注:其他方法与Lora使用方法差距不大,不再赘述,在peft项目中均有代码样例。

顺便提一嘴:petals
图片

petals将模型划分为多个块,每个用户的机器负责其中一块,分摊了计算压力,类似于某磁力链接下载工具,利用hivemind库进行去中心化的训练与推理。当然你也可以创建自己局域网的群组,对自己独有的模型进行分块等自定义操作。

​

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

‌AI大模型微调:从预训练到场景化落地的关键技术 ‌微调(Fine-tuning)‌是将预训练大模型(如BERT、GPT-4)适配到特定领域或任务的核心技术。通过在小规模垂直数据上调整模型参数,微调可显著提升模型在目标场景中的性能,同时避免从头训练的高成本。例如,医疗领域的BioBERT在PubMed数据微调后,实体识别F1值提升12.3%。‌数据效率‌:仅需1%-10%的原始训练数据(如ChatGPT医疗对话微调仅需5万条样本);‌计算经济性‌:参数高效微调(PEFT)技术可减少90%显存占用(如QLoRA微调LLaMA-65B仅需48GB显存); 阅读详情

相关推荐

【LLM】金融场景的大模型Lora微调实战

金融行业需要垂直领域LLM,因为存在金融安全和数据大多数存储在本地,在风控、精度、实时性有要求 (1)500亿参数的BloombergGPT BloombergGPT金融大模型也是用transformer架构,用decoder路线, 构建目前规模最大的金融数据集FINPILE,对通用文本+金融知识的混合训练。 用了512块40GB的A100 GPU,训练中备份了4个模型,每个模型分了128块GPU。 (2)度小满5月的【源轩大模型】 使用hybrid-tuning方式,首个千亿参数金融大模型 在通用能力评测

发现问题,并解决问题,批判性思维 1万+

【大模型微调】一文掌握7种大模型微调的方法

本篇文章深入分析了大型模型微调的基本理念和多样化技术,细致介绍了LoRA、适配器调整(Adapter Tuning)、前缀调整(Prefix Tuning)等多个微调方法。详细讨论了每一种策略的基本原则、主要优点以及适宜应用场景,使得读者可以依据特定的应用要求和计算资源限制,挑选最适合的微调方案。大型语言模型(LLM)的训练过程通常分为两大阶段:阶段一:预训练阶段在这个阶段,大型模型会在大规模的无标签数据集上接受训练,目标是使模型掌握语言的统计特征和基础知识。

python123456_的博客 5万+

Llama 3 微调项目实践与教程(XTuner 版)

到此为止我们就让 Llama3 具备了“他是由SmartFlowAI 打造的人工智能助手”的个人认知,本文演示平台为 InternStudio,如其他平台只需适当调整相关路径也能比较顺畅的运行起来,XTuner 玩转 Llama3 图片理解更多玩法请参考:https://github.com/SmartFlowAI/Llama3-XTuner-CN/ (欢迎 Star),同时本周天晚 8 点我们邀请了书生·浦语众多社区大佬一起来分享,欢迎预约直播一起讨论。或者软链接 InternStudio 中的模型。

具身机器人和通用AI 2021

一文彻底搞懂大模型微调

大模型微调(Fine-tuning)是指基于预训练的大型语言模型(如GPT、BERT等),通过特定领域或任务的数据进行二次训练,使模型适应具体应用场景的技术过程。与从零开始训练相比,微调能够以较低成本实现模型的领域适配,是AI大模型落地应用的核心技术路径。

2501_91381485的博客 5226

第2章 大模型的基础知识2.2 大模型的关键技术2.2.2 预训练与微调

1.背景介绍 1. 背景介绍 大模型是现代人工智能的核心技术之一,它们在自然语言处理、计算机视觉、语音识别等领域取得了显著的成功。大模型的关键技术之一是预训练与微调,这一技术可以帮助模型在一定的数据集上学习到有用的特征,并在特定任务上进行微调以实现更好的性能。在本节中,我们将深入探讨预训练与微调的核心概念、算法

AI天才研究院 855

第二章:AI大模型的基本原理2.3 AI大模型的关键技术2.3.3 预训练与微调

1.背景介绍 在本文中,我们将深入探讨AI大模型的基本原理,特别关注其关键技术之一:预训练与微调。通过详细讲解算法原理、具体操作步骤和数学模型公式,我们将揭示这一技术背后的奥秘。同时,我们还将通过实际应用场景、最佳实践和代码实例来帮助读者更好地理解和掌握这一技术。 1. 背景介绍 随着数据规模的不

AI天才研究院 753

这应该是最全的大模型训练与微调关键技术梳理

文章中介绍了微调的部分核心知识,限于文章的篇幅关于训练(微调)-LLaMA代码结构、工具配置-Accelerate、工具配置-Deepspeed、工具配置-FSDP、训练(微调)-全参数微调、训练(微调)-LoRA微调、训练(微调)-Ptuning微调、结果评估的详细的讲解和代码实操,会在我们的课程中进行详细的阐述。希望文章能够对您的工作有所帮助和启发。

机器学习社区 2802

第二章:AI大模型的基础知识2.2 关键技术解析2.2.3 预训练与微调

1.背景介绍 1. 背景介绍 在过去的几年里,人工智能(AI)技术的发展迅速,尤其是大模型的出现,使得AI技术在自然语言处理、计算机视觉、语音识别等领域取得了显著的进展。这些大模型通常采用深度学习技术,特别是卷积神经网络(CNN)和递归神经网络(RNN)等,来处理大量的数据并学习出复杂的模式。 在

AI天才研究院 507

大模型训练实战:从算法原理到微调落地的关键技术解析

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960249的博客 389

CAD制图

CAD制图可以提高设计效率和准确性,并方便文档的存档和交流,是现代工程设计中不可或缺的一部分。·CAD三维开发是指使用计算机程序和工具来创建、编辑和操作三维模型、图形和设计的过程。它在工程、建筑、制造和游戏等领域广泛应用。CAD三维开发可能涉及到复杂的图形算法、性能优化、并行计算等方面的内容,因此需要深入学习和实践,以提高开发的效率和质量。

RZer的博客 1652

有限元中的对称魔法:用1/6模型算整个涡轮叶片(含MATLAB代码)

本文深入解析了有限元分析中针对循环对称结构的高效求解策略。通过利用涡轮叶片等结构的几何重复性,仅需对1/6基本扇区建模并施加循环对称条件,即可精确推演整体力学行为,大幅降低计算规模。文章从数学原理推导到MATLAB代码实现,提供了完整的实战指南,适用于旋转机械的静力、模态及谐响应分析。

fire9的博客 310

大模型训练实战:从算法原理到微调落地的关键技术与避坑指南

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960123的博客 259

工业缺陷检测的新范式:2025-2026年零样本检测技术全景扫描

摘要: 工业视觉领域面临缺陷样本稀缺、标注成本高等痛点,零样本缺陷检测(Zero-Shot Defect Detection)成为研究热点。2025-2026年的技术进展主要分为三类:1)视觉-语言模型(VLM)路线,如CLIP适配器跨域对齐热成像数据;2)数字孪生路线,通过CAD模型生成理想状态对比检测缺陷;3)基于CLIP的提示学习,如Crane模型通过上下文提示提升泛化能力。尽管实验室效果显著(如IoU达70%),但在真实工业场景(如MIRAD数据集)中性能平均下降29.78%,凸显跨域泛化仍是挑战。

blanokvaffy的博客 1144

AI大模型算法实战:从原理剖析到训练微调落地的关键技术与避坑指南

基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。架构理解:掌握实时语音应用的完整技术链路(ASR→LLM→TTS)技能提升:学会申请、配置与调用火山引擎AI服务定制能力:通过代码修改自定义角色性格与音色,实现“从使用到创造”从0到1构建生产级别应用,脱离Demo,点击打开。

2600_94960194的博客 299

因果表示学习 (Causal Representation Learning, CRL)

传统的机器学习,尤其是深度学习,非常擅长学习数据中的相关性 (Correlation)。但它常常会走“捷径”,学到一些虚假的、不稳定的“表面联系”。一个AI模型在学习识别“牛”时,如果训练数据里所有的牛都在绿色的草地上,模型很可能会学到一个错误的规则:“牛 = 四条腿的生物 + 绿色背景”。你给它一张牛在海滩上的照片,它就可能不认识了。因果表示学习的目标,就是让模型超越这种表面相关性,去学习数据背后。

Xuxiansir的博客 1181

Halcon 3D点云匹配实战:从预处理到模板创建的完整流程(附代码)

本文详细介绍了Halcon在3D点云匹配中的实战应用,涵盖从预处理到模板创建的完整流程。通过代码示例和实用技巧,帮助开发者掌握点云采样、降噪、三角化等关键技术,并优化匹配参数以提高精度和效率。适用于工业检测、机器人引导等领域。

weixin_33670786的博客 433

大模型训练中的关键技术与挑战:数据采集、微调与资源优化

文章摘要 本文探讨了大模型训练与应用中的关键技术与挑战,重点分析了数据质量对模型性能的决定性影响。文章从数据采集、预处理到模型微调策略(直接提示、RAG和微调)进行了系统阐述,并比较了不同任务的评估指标和优化方向。针对大模型训练的资源需求,提出了计算、存储和网络三方面的优化策略。最后通过爬取MIT Technology Review小行星报道的实战案例,展示了代理IP与模型智能结合的解决方案。文章强调,高质量数据获取与处理是大模型应用成功的基础,而合理选择微调策略和资源优化方法能显著提升模型效果。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 5万+

三个原则判定电源环路稳定性

环路稳定性测试接线图如图2所示,将信号电阻(Inserted Resistor )接入电源的环路控制电路中,注入一特定幅度和频率范围的扫频干扰信号(OUT),当干扰信号达到一定的幅度时,环路系统便对干扰信号有所响应,然后使用频率响应分析仪对电源环路输出端(CH2)和电源环路干扰信号注入端(CH1)同时进行比值跟踪测量,则可以得出频率与增益和相位的关系曲线图——波特曲线图(Bode Plot Graph),如图1所示。相位裕度,增益裕度,穿越频率,如图(波特图)所示。相位容限即相位裕度,增益容限即增益裕度。

经营范围: CTA、SRRC、CCC、移动、电信、联通入库 3739
上一篇: RAG技术已经这么强大了,我们真的还需要微调吗?
下一篇: 专补大模型短板的RAG有哪些新进展?这篇综述讲明白了
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值