揭秘大模型高效调优方法:从提示工程到微调的完整技术路径

第一章:大模型应用开发:提示工程与微调

在构建基于大语言模型(LLM)的应用时,提示工程(Prompt Engineering)与微调(Fine-tuning)是两种核心的优化手段。它们分别代表了无需修改模型参数的轻量级控制方式和通过数据驱动调整模型内部权重的深度定制方法。

提示工程:精准引导模型输出

提示工程通过设计输入文本的结构与内容,影响模型生成结果的质量与相关性。有效的提示通常包含角色设定、上下文信息、任务指令和输出格式要求。例如:

你是一名资深软件架构师,请用简洁的技术语言解释微服务通信机制,并以JSON格式返回结果:
{
  "communication_methods": ["REST", "gRPC", "消息队列"],
  "description": "描述每种方式的适用场景"
}
该提示明确了角色、任务和输出结构,有助于提升响应的一致性和可用性。

微调:定制化模型行为

当通用提示无法满足特定领域需求时,微调成为更优选择。通过对预训练模型在特定数据集上进行额外训练,使其适应专业语境。常见流程包括:
  1. 收集并标注领域相关的高质量样本数据
  2. 对原始模型使用小学习率进行有监督训练
  3. 评估微调后模型在验证集上的表现
  4. 部署模型并持续监控输出质量

提示工程 vs 微调:选择策略

维度提示工程微调
成本低(无需训练)高(算力与时间投入)
灵活性高(实时调整提示)中(需重新训练)
适用场景通用任务、快速原型垂直领域、高精度需求
graph LR A[原始用户输入] --> B{是否满足输出要求?} B -- 否 --> C[优化提示模板] B -- 是 --> D[返回结果] C --> E[测试新提示] E --> B

第二章:提示工程的核心原理与实践方法

2.1 提示设计的基本原则与思维框架

在构建高效提示时,清晰的结构和明确的目标是核心。提示应遵循“角色—任务—约束”三要素模型:先定义AI的角色,再明确其执行的任务,最后附加输出格式或限制条件。
提示设计的核心原则
  • 具体性:避免模糊指令,使用精确动词描述期望行为;
  • 可分解性:复杂任务拆解为有序子步骤;
  • 上下文控制:通过前置语境引导模型推理方向。
典型代码模板示例
你是一名资深数据分析师,请分析以下销售数据趋势,并以三点结论总结关键发现。输出格式为Markdown列表,不得使用技术术语:
[插入数据]...
该提示明确了角色(数据分析师)、任务(趋势分析)与约束(三点结论、Markdown格式、语言风格),符合结构化设计逻辑。

2.2 上下文学习与少样本提示工程实战

上下文学习的基本原理
上下文学习(In-Context Learning, ICL)允许大模型在不更新参数的前提下,通过输入示例引导模型完成任务。其核心在于构造包含任务描述与少量示例的提示(prompt),使模型推断出预期行为。
少样本提示设计策略
  • 选择具有代表性的示例,覆盖主要输入模式
  • 保持示例格式与目标任务一致
  • 添加清晰的任务指令,增强语义引导
指令:将下列句子分类为积极或消极情感。
示例1:这部电影太棒了! → 积极
示例2:服务很差,不会再来了。 → 消极
输入:食物味道不错,但等太久。 → ?
该提示通过两个标注样例建立映射关系,引导模型对新输入进行推理,利用上下文中的语义模式完成分类任务。

2.3 链式思考与推理增强型提示策略

在复杂任务处理中,链式思考(Chain-of-Thought, CoT)通过显式建模推理步骤显著提升模型表现。该策略引导模型逐步分解问题,模拟人类逐层推导的逻辑过程。
基本实现结构

# 示例:数学应用题的CoT提示
prompt = """
小明有5个苹果,吃了2个,又买了8个。问他现在有几个?
让我们一步步思考:
1. 初始数量:5个苹果
2. 吃掉后剩余:5 - 2 = 3个
3. 购买后总数:3 + 8 = 11个
因此,答案是11。
"""
上述提示通过分步拆解,使模型输出可追溯的推理路径,增强结果可信度。
增强策略对比
策略类型特点适用场景
标准CoT简单分步推理基础数学、逻辑题
Self-Consistency多路径生成后投票高精度需求任务
Tree of Thoughts树状分支探索复杂决策问题

2.4 提示模板自动化构建与优化技巧

在大规模语言模型应用中,提示模板的质量直接影响生成结果的准确性。通过自动化构建机制,可显著提升开发效率与维护性。
动态模板生成策略
采用变量占位符与条件逻辑结合的方式,实现灵活的模板结构:
# 示例:Jinja2 风格模板
template = """
用户请求:{{ query }}
上下文:{% if context %}{{ context }}{% endif %}
请以专业口吻回答。
"""
该模板支持运行时注入 query 与 context 变量,条件判断避免空上下文输出。
优化技巧对比
技巧优势适用场景
模板缓存减少重复解析开销高频调用场景
语法校验提前发现拼写错误CI/CD 流程集成
合理组合这些方法,可构建高可用、易扩展的提示工程体系。

2.5 多轮对话系统中的动态提示管理

在多轮对话系统中,动态提示管理负责根据上下文状态实时调整模型输入提示,以维持语义连贯性与任务导向性。
上下文感知的提示更新机制
系统通过维护对话历史缓冲区,结合用户最新输入动态重构提示模板。例如:

def build_prompt(history, current_input):
    prompt = "你是一个智能助手,请根据以下对话历史回答问题。\n"
    for user_msg, bot_msg in history[-3:]:  # 最近三轮
        prompt += f"用户: {user_msg}\n助手: {bot_msg}\n"
    prompt += f"用户: {current_input}\n助手:"
    return prompt
该函数截取最近三轮对话,限制上下文长度,防止提示过载,同时保留关键交互信息。
提示优化策略对比
  • 固定模板:适用于简单问答,缺乏灵活性
  • 上下文滑动窗口:平衡性能与内存占用
  • 基于注意力的摘要:使用轻量模型压缩历史,提升长周期对话表现

第三章:参数高效微调技术深入解析

3.1 LoRA及其变体在大模型微调中的应用

LoRA的基本原理
低秩适应(Low-Rank Adaptation, LoRA)通过冻结预训练模型权重,引入可训练的低秩矩阵来替代全参数微调。该方法显著降低训练资源消耗,同时保持较高的任务性能。
核心实现代码

class LoRALayer:
    def __init__(self, in_dim, out_dim, rank=4):
        self.A = nn.Parameter(torch.zeros(in_dim, rank))  # 低秩分解矩阵A
        self.B = nn.Parameter(torch.zeros(rank, out_dim))  # 低秩分解矩阵B
        self.scaling = rank ** 0.5

    def forward(self, x):
        return x @ (self.A @ self.B) * self.scaling
上述代码中,A 和 B 构成秩为 rank 的增量矩阵,仅此部分参与梯度更新,大幅减少可训练参数量。
常见变体对比
  • LoRA+: 提升学习率敏感性,优化收敛速度
  • DoRA: 分离幅度与方向更新,增强参数表达能力
  • AdaLoRA: 动态分配秩容量,提升资源利用率

3.2 Prefix-tuning与Prompt-tuning对比分析

核心机制差异
Prefix-tuning 通过在每一层 Transformer 的输入前缀中引入可训练的连续向量,保持预训练模型参数冻结。而 Prompt-tuning 则仅在输入层添加可学习的 soft prompt 向量,无需修改模型内部结构。
参数效率与性能对比
  • Prefix-tuning 需为每层维护独立前缀向量,参数量较大但表达能力强;
  • Prompt-tuning 参数更少,适合小样本场景,但在复杂任务上可能欠拟合。
# 示例:Prompt-tuning 中 soft prompt 构造
prompt_ids = torch.arange(prompt_len)
prompt_embeds = nn.Parameter(torch.randn(prompt_len, hidden_size))
inputs = torch.cat([prompt_embeds, input_embeds], dim=1)
上述代码将可学习嵌入向量拼接至原始输入前。Prefix-tuning 类似,但需将 prefix 向量注入每一层的注意力输入中,结构更复杂但上下文感知更强。

3.3 微调过程中的过拟合控制与泛化提升

在微调深度模型时,过拟合是常见挑战,尤其在目标数据集较小的情况下。为增强泛化能力,需综合运用多种正则化策略。
早停机制(Early Stopping)
通过监控验证集损失决定训练终止时机,防止模型在训练集上过度优化:

# 示例:PyTorch中实现早停
if val_loss < best_loss:
    best_loss = val_loss
    epochs_no_improve = 0
    torch.save(model.state_dict(), 'best_model.pth')
else:
    epochs_no_improve += 1
    if epochs_no_improve >= patience:  # 如patience=5
        break
该逻辑确保模型保存最佳权重,避免后续训练导致性能下降。
正则化技术组合
  • Dropout:随机屏蔽神经元输出,强制网络分布式学习;
  • 权重衰减(L2正则):限制参数规模,抑制复杂模型拟合噪声;
  • 数据增强:扩充输入多样性,提升模型对变换的鲁棒性。

第四章:从提示到微调的工程化落地路径

4.1 模型能力评估与调优方法选型决策

在构建高效机器学习系统时,模型能力评估是决定调优路径的前提。需综合准确率、召回率与F1分数等指标进行多维度分析。
常用评估指标对比
指标适用场景优点
准确率类别均衡直观易懂
F1分数类别不均衡兼顾精确与召回
超参数调优策略选择
  • 网格搜索:适用于小规模参数空间
  • 贝叶斯优化:高效处理高维非线性空间

from sklearn.model_selection import GridSearchCV
# 示例:使用网格搜索优化SVM参数
param_grid = {'C': [0.1, 1, 10], 'gamma': [1, 0.1, 0.01]}
grid_search = GridSearchCV(svm_model, param_grid, cv=5, scoring='f1')
grid_search.fit(X_train, y_train)
该代码通过五折交叉验证对支持向量机的正则化参数C和核函数系数gamma进行组合寻优,以F1分数为评价标准,确保模型在不平衡数据下的泛化能力。

4.2 基于业务场景的提示与微调协同策略

在复杂业务场景中,单一使用提示工程或模型微调难以兼顾灵活性与准确性。通过将两者协同运用,可在保持模型泛化能力的同时提升任务适配性。
协同架构设计
采用“提示引导 + 微调优化”的双阶段策略:第一阶段利用动态提示(Dynamic Prompting)引导模型理解任务语义;第二阶段基于标注数据对关键层进行轻量级微调。

# 示例:带提示模板的输入构造
prompt_template = "根据上下文判断用户意图:\n上下文:{context}\n意图:"
input_text = prompt_template.format(context=user_input)
该模板通过注入任务描述增强模型的上下文理解,降低歧义率。参数 `context` 为原始用户输入,经结构化封装后提升语义一致性。
适用场景对比
场景推荐策略
高变动性需求提示工程为主
高精度要求微调为主
稳定且专业领域协同策略

4.3 训练数据准备与标注质量保障体系

数据采集与清洗流程
高质量训练数据始于规范的数据采集。需从多源渠道(日志、API、用户行为)获取原始数据,并通过去重、格式标准化和异常值过滤进行预处理。

# 示例:文本数据清洗函数
def clean_text(text):
    text = re.sub(r'http[s]?://\S+', '', text)  # 去除URL
    text = re.sub(r'[^a-zA-Z\s]', '', text)     # 保留字母和空格
    return text.lower().strip()
该函数移除无关噪声,保留语义核心,提升模型输入一致性。
标注质量控制机制
建立多层审核体系:初级标注→交叉验证→专家复审。采用Krippendorff's Alpha评估标注者间一致性,确保α ≥ 0.8。
质量指标阈值标准检测频率
标注完整率≥98%每批次
一致性系数≥0.8每日抽样

4.4 推理服务部署与性能成本平衡优化

在大规模模型推理场景中,需在响应延迟、吞吐量与资源开销之间取得平衡。通过动态批处理(Dynamic Batching)和模型量化技术,可显著降低服务成本并提升效率。
动态批处理配置示例

{
  "max_batch_size": 32,
  "batch_timeout_micros": 10000,
  "idle_timeout_micros": 5000
}
该配置允许系统在10ms内累积请求形成批次,最大批大小为32,有效提升GPU利用率。参数batch_timeout_micros需根据业务延迟要求调优。
优化策略对比
策略延迟影响成本节省适用场景
FP16量化+5%40%高吞吐推理
TensorRT加速-20%30%NVIDIA GPU环境

第五章:总结与展望

技术演进的持续驱动
现代后端架构正快速向云原生与服务网格演进。以 Kubernetes 为基础的部署模式已成为主流,配合 Istio 等服务网格工具,实现了流量控制、安全通信与可观察性的深度集成。
代码层面的优化实践
在 Go 微服务中,合理使用 context 控制请求生命周期至关重要:
// 带超时的 HTTP 请求处理
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()

req, _ := http.NewRequestWithContext(ctx, "GET", "http://api.example.com/data", nil)
resp, err := http.DefaultClient.Do(req)
if err != nil {
    log.Printf("request failed: %v", err)
    return
}
未来架构趋势分析
企业级系统对可观测性的需求日益增强,以下为某金融平台实施的监控组件配置对比:
组件用途部署方式采样频率
Prometheus指标采集Kubernetes DaemonSet15s
Jaeger分布式追踪Sidecar 模式每请求 1/100
Loki日志聚合独立集群实时流式
  • 边缘计算场景下,轻量级运行时如 WASM 正逐步替代传统容器
  • AI 驱动的自动扩缩容策略已在部分电商系统中验证其有效性
  • 零信任安全模型要求服务间通信默认启用 mTLS 加密
架构演进路径示意图:

单体应用 → 微服务拆分 → 容器化部署 → 服务网格集成 → 边缘协同

AI提示设计未来趋势大揭秘,提示工程架构师的实践探索 意图对齐(Intent Alignment):如何让LLM准确理解人类的真实需求(而非字面意思)?上下文管理(Context Management):如何在有限的token窗口内,传递足够的背景信息?输出可控(Output Control):如何让LLM的输出符合格式、风格、伦理要求?效率优化(Efficiency Optimization):如何用最少的token与调用次数,获得最优结果? 阅读详情

相关推荐

从OVITO可视化到LAMMPS计算:ATOMSK堆垛层错模型的全流程避坑指南

本文提供了一份从ATOMSK建模、OVITO可视化诊断到LAMMPS计算的堆垛层错模型全流程实战指南。重点解析了构建“计算友好”模型的核心矛盾,并详细演示了如何通过添加真空层、原子包裹和能量最小化等关键步骤,规避周期性边界条件带来的非物理相互作用,确保广义层错能计算的可靠性与可复现性。

v4w5x6的博客 266

大模型提示工程(Prompt Engineering)揭秘:AI工程化落地指南!

本文介绍回退提示法(Step-back prompting),即让AI在回答具体问题前,先思考更普遍的问题。此法能激活AI背景知识,提供更精准、有洞见的答案,减少偏见并激发创意。通过先构建通用概念作为"思维脚手架",再填充具体内容,可使AI回答更立体丰富,是引导AI深度思考的有效方法。

2401_85375151的博客 1986

FAST_LIO_ROS2 可以用gazebo仿真吗?

摘要:FAST_LIO_ROS2可与Gazebo仿真环境兼容,通过订阅Gazebo模拟的激光雷达和IMU数据实现SLAM建图。已有开源项目(如pb_rm_simulation)验证了该方案,支持导航模式切换与真实机器人移植。关键步骤包括环境配置、传感器话题匹配及参数调试,需注意版本兼容性与数据噪声处理。相关教程提供了从环境搭建到三维建图的完整流程。

专注 激光SLAM, 目标检测, 欢迎关注, 分享交流! 1138

揭秘GitHub上爆火的Open-AutoGLM:如何用它实现零代码大模型调优?

快速实现大模型零代码调优,揭秘github智谱Open-AutoGLM的高效方法。支持自动化超参优化与模型压缩,适用于NLP、多模态等场景,提升训练效率并降低资源消耗。开源易用,性能媲美人工调参,值得收藏。

Algorhythm的博客 644

自动控制原理之控制系统的数学模型(类比神经网络学习数学模型)

控制系统的数学模型背景建模方法常用的数学模型时域数学模型的建立建立微分方程的步骤复数域模型的建立传递函数的性质系统的典型环节及传递函数比例环节惯性环节积分环节微分环节理想微分环节一阶微分环节二阶微分环节振荡环节延时环节(时滞环节) 背景 数学模型就像是真实世界的写照,它就像一个虚拟的世界,我们可以通过建模的方式了解这个真实世界的运作规律。 这一点很像强化学习,强化学习需要一个供智能体探索、学习的环境,于是,我们通常会事先建立一个虚拟的仿真环境。举个例子,对于人类来说,可能需要经过不断地尝试,甚至是生命的代价

zbp_12138的博客 6578

【中软软件测试笔试题】中国软件与技术服务股份有限公司笔试一卷

请分别写出ISO7层架构,并分别说明TCP、UDP协议分别在处于哪一层,以及TCP、 UPD协议有什么区别。 答:7 应用层 6 表示层 5 会话层 4 传输层 3网络层 2 数据链路层 1 物理层 第四层;UDP是面向无连接、不可靠数据传输协议; TCP是面向连接、可靠数据传输协议......

Yanan990830的博客 1817

微调之后还能做什么?揭秘大模型后训练全链路技术演进与实战路径

大模型微调只是起点。本文系统解析后训练(Post-Training)的完整技术链条,涵盖SFT、RLHF、DPO、GRPO、过程奖励、慢思考推理等核心机制,揭示Llama 3、DeepSeek-R1等顶尖模型背后的迭代逻辑,帮助开发者掌握从微调到对齐再到推理优化的全栈能力,真正实现大模型落地突破。

打造全国最全的AI Agent开发知识领域的博客 1851

你需要这样一个Ros软路由—— 路由器+外网+一号通ip线路=动态ip的WiFi信号

功能强大 管理便捷—给您全新的路由体验 一键更换指定线路or批量更换所有IP/MAC/SSID 自定义走本地网络策略的分流功能 设备批发价、不限制拨号账号服务商 强大的单设备/多设备IP去重功能 批量导入、管理一号通线路 一键任意切换5G_WiFi(推荐)/2.4G_WiFi(建议不用) 设备支持PPTP/L2TP/SSTP/openVP.N等协议 独家支持openVPN,适用于网络受限用户 支持自行接入AP和交换机扩容 一键打开/关闭所有虚拟WiFi 一键隐藏/显示设备WiFi...

米粒儿 4253

AI大模型大师秘籍:2025年AI技术全景揭秘,从入门到精通的完整学习指南!人工智能领域大模型学习路径

本文系统介绍了AI大模型的学习路径,分为四个阶段:基础阶段(1-2个月)重点构建数学、编程和机器学习基础;进阶阶段(2-3个月)深入大模型架构与训练技术;实战阶段(3-4个月)通过NLP、CV等项目实践应用;高阶拓展(2-3个月)涵盖模型微调、部署优化及安全伦理问题。文章推荐了《机器学习》《深度学习》等经典教材,并提供了Hugging Face、OpenAI等实用工具资源,最后附有免费学习资料获取方式。

Android23333的博客 2057

【教程4>第2章>第18节】 GMSK调制系统的FPGA开发与matlab对比验证

GMSK(高斯最小频移键控)是一种连续相位的频移键控(CPFSK)调制方法,它在数字通信中得到了广泛应用,特别是在移动通信系统中。GMSK通过限制频率偏差的累积来减少带外辐射,并通过使用高斯滤波器对。

FPGA/MATLAB学习教程/源码/项目合作开发 998

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

dvlinker的技术专栏 7165

揭秘智谱Open-AutoGLM:如何实现零代码大模型调优与部署?

智谱Open-AutoGLM方法助力零代码大模型调优与部署,适用于多场景AI应用。通过自动化优化流程,显著降低技术门槛,提升模型性能与部署效率。无需编程基础,轻松实现高效AI落地,值得收藏点击了解。

StepLens的博客 979

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Fine-tuning(微调、精调)揭秘:一篇文章带你彻底理解微调与精调的奥秘!

微调是在预训练模型基础上用特定任务数据进行的额外训练,目的是让模型成为领域专家。微调优势包括省钱省力、性能强劲和灵活个性。主要类型有全量微调(算力消耗大但改造彻底)和高效微调(如LoRA,轻量级调整)。微调适用于任务风格固定、需要改变模型说话方式的场景,与提供外部资料的RAG方法形成互补。

2401_84494441的博客 1297

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

大模型微调效率之王:QLoRA的工程实现细节揭秘

QLoRA(Quantized Low-Rank Adaptation)作为高效微调量化大语言模型(LLM)的突破性技术,彻底改变了大模型训练的资源门槛。这项由华盛顿大学UW NLP团队开发的技术,能够在单张48GB GPU上高效微调65B参数模型,同时保持16位全精度微调的任务性能,让普通研究者也能玩转千亿级模型训练。 ## 🔥 QLoRA如何实现"内存魔术"?三大核心创新解析 ### 1

gitblog_00331的博客 854

大模型微调学习路线揭秘:从Hugging Face到实战项目,2026年AI风口必看!

给大家分享一个训练大模型的学习路线,虽然我的工作是做agent的,但感觉还是有必要学习一下微调方面的知识,简单做一个分享吧,自己也是按照这个路线正在学习的。第一个也是前几天hugging face官方推出的smol训练手册是个博客也可以说是一本书,里面讲了完整的llm周期,包括预训练 后训练 以及基础架构等,第二个也是hugging face推出的微调课程,理论偏少,主要还是先动手跑起来再说,第三个就是我喜欢的博主九原客分享的RL框架,推荐入门使用ART框架,后续可以学习rllm,我看之所以没有分享verl

Trb701012的博客 448

大模型“黑话“大揭秘:RAG、MCP、微调...一文看懂,大模型入门到精通,收藏这篇就足够了!

今天咱们就用最接地气的大白话,把这些"高大上"的词汇讲个明明白白,保证让您一听就懂,听完就能跟人聊上两句!

2301_81940605的博客 844

大模型微调成本大揭秘:千元打造专属AI专家,小白也能轻松上手

文章分析了微调大模型的成本,指出微调(让通用模型成为领域专家)相比从头训练(成本数百万美元)只需1%-10%的资源。以Qwen3-32B为例,采用QLoRA等技术,仅需1-2张A100显卡,花费约800-1200元即可完成微调。核心成本已从"天价硬件"转向"高质量数据"和"工程师经验",使企业能以可控成本快速打造垂直领域专家模型。

aolan123的博客 1652

如何快速掌握Qwen大模型微调:从入门到精通的完整指南

你是否曾为如何让通用大模型适配你的业务场景而烦恼?训练成本高昂、技术门槛复杂、效果难以保证——这些痛点让许多开发者在AI落地时望而却步。今天,我将为你揭秘Qwen(通义千问)大模型的迁移学习技术,通过5个实战步骤,带你轻松实现从预训练模型到行业解决方案的完美落地。 Qwen大模型微调是阿里巴巴开源的强大语言模型系列,提供从1.8B到72B多种规模的选择,支持全参数微调、LoRA和Q-LoRA等多

gitblog_01031的博客 492

AI大模型时代,谁在收割技术红利?大模型工程师薪资揭秘与学习指南

AI大模型时代催生高薪职业热潮,大模型应用开发工程师成为职场"顶流",平均月薪超6.8万元,年薪百万岗位频现。政策与资本双重驱动下,行业人才供需比达1:10,技术壁垒使复合型人才稀缺。文章剖析职业优势、入门门槛及核心技能,提供从Python基础到Transformer架构的完整学习路线,包含104G免费学习资源包,涵盖视频教程、技术文档和实战项目。资料由清华大学博士团队整理,适合应届生、转行者和传统开发者系统学习,抓住AI时代技术红利,实现职业跃迁。

m0_63171455的博客 1055

【保姆级路线】Java工程师的深夜求索:为你揭秘大模型入门的终极指南!

深夜,一位有着五年经验的Java工程师第无数次搜索“大模型如何入门”,弹出的结果却让他更加迷茫:碎片化的概念、晦涩的论文、彼此矛盾的教程……这几乎是所有初学者共同面临的困境。大模型的知识体系犹如一片茂密而陌生的森林,没有地图,极易迷失。

2401_84204413的博客 864

【优快云收藏必备】吴恩达AI课程揭秘:三大提示词技巧,让大模型为你精准工作

文章介绍了吴恩达生成式AI课程中的三大提示词技巧:一是提供详细具体的描述,给予模型充分上下文;二是将复杂任务分解为步骤,引导模型逐步推导;三是通过多试多改持续迭代优化提示词。文章强调没有完美提示词,有效方法是不断试错改进,并提醒注意机密信息和模型幻觉问题。这些技巧能帮助用户更有效地与AI模型沟通,获得更满意的回答。

2401_85325726的博客 830

【深度收藏】为什么你的智能体总“不对味“?揭秘垂类模型微调的完整技术方案

文章指出企业智能体直接使用通用基座模型在专业场景表现不佳,提出通过多层次垂直领域模型微调(单位级、部门级、个人级)作为解决方案。介绍了一种全自动微调服务,解决传统微调成本高、不安全等问题,强调垂直领域微调是智能体未来竞争的关键。

2401_85325726的博客 1297

ReFT参数高效微调技术揭秘:比LoRA更强的控制能力

ReFT通过直接干预模型隐藏表示实现精细行为控制,相比LoRA具备更强的语义操控能力与可解释性。该技术无需修改模型权重,即可在特定层注入任务感知的干预向量,适用于情感调控、知识修正、多角色切换等复杂场景,结合ms-swift框架可快速落地应用。

weixin_42510201的博客 854

8 家网盘直链完整指南:5 分钟装好脚本,直链一步推给 IDM / Aria2 / cURL

(改)网盘直链下载助手 是一个跑在浏览器里的网盘直链解析用户脚本,覆盖百度、阿里、移动、天翼、迅雷、夸克、UC、123 共 8 家网盘。选中文件后它向官方接口申请临时直链,再推给 IDM、Aria2、cURL 等下载器建任务。适合日常靠下载器、却被浏览器里慢慢保存卡住的人。 先对号入座,三个问题: - 下载器(IDM / Aria2 / cURL 任一)是你日常在用的? - 文件常躺在网盘里,

gitblog_00309的博客 780

大模型岗位大揭秘:算法、开发、infra、评估、数据,你适合哪个?从入门到精通的完整指南!

大模型岗位分类及发展前景分析 当前大模型相关岗位主要分为五类:算法、开发、infra、评估和数据。算法岗分为基座模型和应用算法两大方向,基座模型又细分为理论派、工程派和能力派,要求较高但对口论文并非绝对门槛;应用算法岗则更侧重场景落地。开发岗界限较模糊,部分工作与算法岗存在交叉。AI Infra工程师负责底层技术支撑,数据工程师专注数据处理,评估工程师构建评测体系。行业趋势显示技术岗位边界正在模糊化,未来可能出现更多打破技术栈限制的复合型岗位,为"超级个体"创造机会。大模型应用开发工程师

2401_84204207的博客 1286
上一篇: 从混乱到规范:重构20万行遗留代码的实战路径(独家披露)
下一篇: 【C语言高手进阶必看】:链表插入时内存分配失败的9种处理方案
DevPath
博客等级 码龄1年 179粉丝 2176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值