当前位置: 首页 > news >正文

大模型微调Fine-tuning:从概念到实践的全面解析

 目录

引言

一、什么是大模型微调?

1.1 预训练与微调的区别

1.2 微调的技术演进

二、为什么需要微调?

2.1 解决大模型的固有局限

2.2 微调的优势

三、主流微调方法

3.1 全参数微调

 3.2 参数高效微调(PEFT)

四、微调实践指南

4.1 数据准备

4.2 微调参数配置

4.3 训练过程管理

五、微调效果评估

5.1 评估指标

5.2 常见优化策略

六、未来发展趋势


引言

        随着ChatGPT、GPT-4等大语言模型的出现,人工智能技术在各个领域展现出惊人的能力。然而,这些通用大模型在特定领域和任务中往往需要进一步优化才能发挥最佳效果。大模型微调(Fine-tuning)作为一种关键的优化技术,能够有效提升模型在特定场景下的表现。本文将从概念、原理、方法到实践,全面介绍大模型微调技术。

        从GPT-3到ChatGPT的演进过程中,微调技术发挥了关键作用。例如,ChatGPT通过指令微调(Instruction Tuning)和人类反馈强化学习(RLHF)等技术,将通用的语言模型转变为能够理解和执行具体指令的对话助手。这种转变充分展示了微调技术在提升模型实用性方面的重要价值。

一、什么是大模型微调?

        大模型微调是在预训练模型的基础上,使用特定任务的数据集对模型进行进一步训练,使其更好地适应特定应用场景的过程。这个过程可以类比为"因材施教"——在学生(模型)已经掌握基础知识(预训练)的前提下,针对特定科目(任务)进行专门的训练和指导。

1.1 预训练与微调的区别

(1)预训练阶段

   - 使用海量通用数据(通常是互联网文本)

   - 学习基础语言理解能力(词义、语法、知识等)

   - 构建通用语言表示(通过自监督学习)

   - 计算资源需求巨大(可能需要数千GPU训练数月)

   - 训练目标通常是下一个词的预测

   - 模型规模可达数千亿参数

(2)微调阶段

   - 使用特定任务数据(通常是高质量标注数据)

   - 优化特定场景表现(如问答、摘要等)

   - 保留并改进已有能力(避免灾难性遗忘)

   - 计算资源需求相对较小(单GPU即可完成)

   - 训练目标更加具体(如分类准确率)

   - 可选择性更新部分参数

1.2 微调的技术演进

微调技术经历了多个发展阶段:

(1)传统微调(2018年前)

   - 全参数更新

   - 需要大量标注数据

   - 计算资源要求高

(2)迁移学习时代(2018-2020)

   - 引入预训练-微调范式

   - 降低了数据需求

   - 提高了训练效率

(3)参数高效微调(2020至今)

   - 提出LoRA等创新方法

   - 显著降低资源需求

   - 保持接近全参数微调的效果

二、为什么需要微调?

2.1 解决大模型的固有局限

(1)知识时效性

   - 预训练数据可能已经过时(如GPT-3的训练数据截止于2021年)

   - 无法自动获取最新知识(如新冠疫情相关信息)

   - 需要通过微调注入新信息

   - 实例:医疗模型需要及时更新最新的治疗方案和药物信息

(2)专业领域适应

   - 通用模型缺乏专业领域深度(如法律、医疗术语)

   - 特定行业术语理解有限(如金融市场专业词汇)

   - 需要领域特定数据训练

   - 案例:法律大模型需要学习最新的法规和判例

(3)任务特定优化

   - 提高特定任务的准确性(如情感分析)

   - 减少模型幻觉问题(避免虚假信息)

   - 优化输出格式和风格(符合业务需求)

   - 示例:客服机器人需要保持统一的回复风格

2.2 微调的优势

(1)成本效益

   - 相比预训练成本更低(降低90%以上)

   - 无需从零训练模型(避免重复建设)

   - 快速实现任务适配(数天内完成)

   - 实例:某企业用5天时间微调客服模型,性能提升40%

(2)数据效率

   - 只需少量标注数据(通常几百条即可)

   - 充分利用预训练知识(知识迁移)

   - 快速收敛到理想效果(训练轮次少)

   - 案例:使用1000条数据微调后准确率提升30%

(3)部署灵活

   - 支持增量更新(定期注入新知识)

   - 便于版本管理(多个微调版本切换)

   - 适应不同应用场景(场景化定制)

   - 示例:同一基座模型适配多个行业领域

三、主流微调方法

3.1 全参数微调

        全参数微调是最直接的微调方式,更新模型的所有参数。虽然效果最好,但存在以下问题:

- 需要大量计算资源(通常需要多张高端GPU)

- 容易出现过拟合(尤其是数据量小时)

- 存储成本高(需要存储完整模型副本)

- 不适合小规模数据集(容易丢失通用能力)

- 部署成本高(每个任务都需要完整模型)

 3.2 参数高效微调(PEFT)

        PEFT技术通过只更新部分参数来实现高效微调,主要包括:

(1)LoRA(Low-Rank Adaptation)

   - 原理:通过低秩矩阵分解减少参数量

   - 实现:将权重更新分解为两个小矩阵相乘

   - 优势:

     * 参数量减少99%以上

     * 训练速度提升2-3倍

     * 显存需求降低80%

     * 性能接近全参数微调

   - 应用:广泛用于商业场景

(2)LoRA的改进版本

   - LoRA+:

     * 为不同矩阵设置不同学习率

     * 提升训练稳定性

     * 加快收敛速度

   - rsLoRA:

     * 引入秩稳定化机制

     * 改善高秩训练效果

     * 提高模型鲁棒性

   - DoRA:

     * 权重分解为幅度和方向

     * 更精细的参数控制

     * 更好的泛化能力

   - PiSSA:

     * 使用主奇异值初始化

     * 保持模型稳定性

     * 提高训练效率

(3)其他PEFT方法

   - Adapter Tuning:

     * 在原有层间插入小型适配层

     * 仅训练适配层参数

     * 模块化设计,便于切换

   - Prefix Tuning:

     * 在输入序列前添加可训练前缀

     * 极低的参数量(<1%)

     * 适合序列生成任务

   - Prompt Tuning:

     * 优化软提示词

     * 参数量最少

     * 实现简单,易于部署

(4)对比RAG

四、微调实践指南

4.1 数据准备

(1)数据质量要求

   - 高质量标注数据(准确率>95%)

   - 领域相关性强(与目标任务高度相关)

   - 覆盖目标场景(包含各种用例)

   - 数据格式规范(统一的格式标准)

   - 避免数据偏差(平衡各类别数据)

   - 注意数据隐私(脱敏处理)

(2)数据量建议

   - 最少10条样本(OpenAI建议)

   - 建议50-100条起步(效果明显)

   - 根据效果逐步增加(增量优化)

   - 避免过多噪声数据(影响效果)

   - 定期更新数据集(保持时效性)

   - 构建验证集(占比10-20%)

4.2 微调参数配置

1. 关键超参数

   - 学习率:

     * 通常选择1e-5到1e-4

     * 可使用学习率预热

     * 考虑使用学习率调度

   - 批次大小:

     * 根据GPU显存调整

     * 通常8-32较为合适

     * 可使用梯度累积

   - 训练轮数:

     * 避免过拟合

     * 使用早停机制

     * 监控验证集性能

   - 优化器选择:

     * 常用AdamW

     * 设置合适的权重衰减

     * 调整优化器参数

(2)LoRA特定参数

   - rank(秩):

     * 通常选择4-8

     * 根据任务复杂度调整

     * 权衡效果和效率

   - alpha:

     * 缩放因子,一般为16或32

     * 影响更新步长

     * 需要实验确定

   - dropout:

     * 防止过拟合,通常0.1

     * 可根据数据量调整

     * 监控训练曲线

   - target_modules:

     * 选择需要微调的层

     * 通常包括注意力层

     * 可选择关键层微调

4.3 训练过程管理

(1)监控指标

   - 训练损失:

     * 观察收敛趋势

     * 检测异常波动

     * 及时调整参数

   - 验证集性能:

     * 定期评估效果

     * 避免过拟合

     * 选择最佳模型

   - GPU显存使用:

     * 监控资源占用

     * 优化批次大小

     * 处理OOM问题

   - 训练速度:

     * 跟踪训练进度

     * 估算完成时间

     * 优化训练效率

(2)常见问题处理

   - 显存不足:

     * 减小批次大小

     * 使用梯度累积

     * 采用混合精度训练

   - 过拟合:

     * 增加正则化

     * 使用早停策略

     * 调整模型结构

   - 欠拟合:

     * 增加训练轮数

     * 调整学习率

     * 扩充训练数据

   - 不稳定:

     * 检查数据质量

     * 调整优化器参数

     * 使用梯度裁剪

五、微调效果评估

5.1 评估指标

(1)通用指标

   - 准确率:分类任务的基本指标

   - 召回率:检索任务的重要指标

   - F1分数:平衡准确率和召回率

   - 困惑度:生成任务的评估指标

   - AUC:二分类任务的综合指标

   - 混淆矩阵:详细的分类评估

(2)任务特定指标

   - BLEU:机器翻译质量评估

   - ROUGE:文本摘要效果评估

   - 人工评估:主观质量评价

   - 响应时间:模型性能指标

   - 资源占用:部署效率指标

   - 业务指标:实际应用效果

5.2 常见优化策略

(1)数据优化

   - 增加数据多样性:

     * 收集不同场景数据

     * 使用数据增强技术

     * 构建综合测试集

   - 清理噪声数据:

     * 去除异常样本

     * 修正标注错误

     * 统一数据格式

   - 平衡数据分布:

     * 处理类别不平衡

     * 采样策略调整

     * 权重平衡

   - 增强数据质量:

     * 专家审核

     * 交叉验证

     * 持续优化

(2)模型优化

   - 调整微调参数:

     * 学习率调优

     * 批次大小选择

     * 训练轮数控制

   - 选择合适的PEFT方法:

     * 任务特点分析

     * 资源约束考虑

     * 效果对比实验

   - 集成多个微调模型:

     * 模型融合

     * 投票机制

     * 集成学习

   - 结合领域知识:

     * 规则约束

     * 专家经验

     * 业务逻辑

六、未来发展趋势

(1)技术演进

   - 更高效的微调方法:

     * 参数压缩技术

     * 知识蒸馏

     * 动态适应

   - 自动化参数选择:

     * 超参数优化

     * 架构搜索

     * 自适应调整

   - 多模态微调融合:

     * 跨模态学习

     * 统一表示

     * 协同优化

   - 持续学习能力:

     * 增量学习

     * 终身学习

     * 知识更新

(2)应用拓展

   - 垂直领域深化:

     * 专业领域适配

     * 场景化定制

     * 精细化优化

   - 个性化定制:

     * 用户特征学习

     * 偏好适配

     * 动态更新

   - 实时适应能力:

     * 在线学习

     * 快速适应

     * 动态优化

   - 跨语言迁移:

     * 多语言支持

     * 文化适应

     * 语义对齐

        大模型微调技术正在快速发展,从全参数微调到参数高效微调,从单一方法到多种技术的融合,微调技术在提升模型性能的同时,也在不断降低应用门槛。随着技术的进步和应用的深入,相信微调技术将在AI领域发挥越来越重要的作用,推动大模型在各个领域的落地应用。

        未来,微调技术将朝着更高效、更智能、更易用的方向发展。通过持续的创新和实践,微调技术将帮助更多企业和开发者构建专属的AI应用,为各行各业带来更大的价值。

相关文章:

大模型微调Fine-tuning:从概念到实践的全面解析

目录 引言 一、什么是大模型微调&#xff1f; 1.1 预训练与微调的区别 1.2 微调的技术演进 二、为什么需要微调&#xff1f; 2.1 解决大模型的固有局限 2.2 微调的优势 三、主流微调方法 3.1 全参数微调 3.2 参数高效微调&#xff08;PEFT&#xff09; 四、微调实践指…...

5月5日日记

今天是假期的最后一天&#xff0c;早上爽睡到11点起床。其实九点多就醒了&#xff0c;但是不愿意起来&#xff0c;睡了俩小时又。起来之后就点了外卖&#xff0c;西红柿打卤面两个卤蛋&#xff0c;11块钱很实惠。 起来之后洗袜子&#xff0c;简单策划了一下红色合唱。 给电动…...

TopK题-快速选择方法

代码 class Solution {public int findKthLargest(int[] nums, int k) {//k 就是对应的是下标 n - k 的位置 也就是说我们要的是下标n-k的元素return quickselect(nums, 0, nums.length - 1, nums.length - k);}public int quickselect(int[] nums, int left, int right, int …...

【SpringBoot篇】详解短信验证码登录功能实现

一&#xff1a;需求分析与设计 1.1 发送短信验证码 &#xff08;1&#xff09;产品原型 &#xff08;2&#xff09;业务逻辑 &#xff08;3&#xff09;接口设计 1.2 短信验证码登录 &#xff08;1&#xff09;业务逻辑 …...

深入理解 Bash 中的 $‘...‘ 字符串语法糖

在 Bash 脚本编程中&#xff0c;字符串处理是不可或缺的一部分。为了让开发者更高效地处理特殊字符和控制字符&#xff0c;Bash 引入了一种独特的字符串语法糖&#xff1a;$&#xff08;带单引号的 ANSI-C 风格字符串&#xff09;。这种语法来源于 C 语言的 ANSI-C 标准&#x…...

机器人强化学习入门学习笔记(二)

基于上一篇的《机器人强化学习入门学习笔记》,在基于 MuJoCo 的仿真强化学习训练中,除了 PPO(Proximal Policy Optimization)之外,还有多个主流强化学习算法可用于训练机器人直行或其他复杂动作。 🧠 一、常见强化学习算法对比(可用于 MuJoCo) 算法类型特点适合场景PP…...

Vue3携手Echarts,打造炫酷数据可视化大屏

一、引言 在数字化时代&#xff0c;数据如同企业的血液&#xff0c;蕴含着巨大的价值。而如何将这些抽象的数据转化为直观、易懂的信息&#xff0c;以便更好地支持决策和展示成果&#xff0c;成为了众多开发者和企业关注的焦点。数据可视化大屏应运而生&#xff0c;它以直观、醒…...

Java Web项目部署指南2025

Java Web项目部署指南 适用场景&#xff1a;本地 Windows 开发打包 → 远程 Ubuntu 服务器部署&#xff08;2025年最佳实践&#xff09; 适合人群&#xff1a;Java Web初学者、运维新手、需要一站式部署流程的开发者 &#x1f680; 部署流程横向流程图 #mermaid-svg-aznXsajzfU…...

STC单片机与淘晶驰串口屏通讯例程之04【密码登录与修改】

大家好,我是『芯知识学堂』的SingleYork,上一讲笔者给大家介绍了STC单片机与淘晶驰串口屏通讯例程之03【单片机程序解析】,今天笔者要跟大家分享的淘晶驰串口屏的密码登录与密码修改功能的实现。 很多项目中,为了保护某些参数不被随意修改,往往需要增加密码来保护,这也是…...

青听音乐 1.0.6| 全网音乐免费听,无损下载,4条音源,界面简洁无广告

一款强大的音乐播放器&#xff0c;内部集成了相当丰富的功能&#xff0c;可以一键搜索任何想要的歌曲或歌手专辑&#xff0c;同时还支持下载和收藏&#xff0c;拥有非常流畅的速度&#xff0c;使用起来没有任何限制&#xff01;软件自带有大厂的解析音源&#xff0c;运行非常稳…...

FISCO BCOS【初体验笔记】

飞梭区块链搭建初体验笔记 环境部署创建四个节点的飞梭区块链用的VMware17 centos 7.9 区块链是飞梭2.0用的webase-frontJava环境的正确安装Webase-front搭建 智能合约设计一点合约调试笔记 智能合约abi文件转为go文件后端项目配置相关工具linux常用命令&#xff08;防忘记&…...

56.[前端开发-前端工程化]Day03-webpack构建工具

邂逅Webpack和打包过程 1 认识webpack工具 前端开发的流程 内置模块path path常见的API 在webpack中的使用 认识webpack 脚手架依赖webpack Webpack到底是什么呢 Webpack官方的图片 Vue项目加载的文件有哪些呢&#xff1f; Webpack的使用前提 Webpack的安装 2 webpack基本打包…...

两次解析格式化字符串 + 使用SQLAlchemy的relationship执行任意命令 -- link-shortener b01lersCTF 2025

题目描述: A fast and reliable link shortener service, with a new feature to add private links! 我们走一遍逻辑 注册 app.route("/register", methods[GET, POST]) def register(): """ 用户注册路由&#xff0c;处理用户注册请求&#xff…...

双目测量中的将视差图重投影成三维坐标图

双目测距主要步骤如下&#xff1a; 左右两张图片 → 匹配 → 得到视差图 disp&#xff1b; 使用 cv2.reprojectImageTo3D(disp, Q) 将视差图 重投影 成三维坐标图 → 得到 points_3d 什么是 points_3d&#xff1f; points_3d cv2.reprojectImageTo3D(disp, Q)points_3d.shap…...

WebAssembly(Wasm):现代Web开发的超级加速器

在当今的Web开发领域&#xff0c;性能和效率是开发者们永恒的追求目标。随着Web应用的复杂度不断增加&#xff0c;传统的JavaScript在某些场景下已经难以满足高性能计算和复杂逻辑处理的需求。此时&#xff0c;WebAssembly&#xff08;Wasm&#xff09;作为一种新兴的Web技术&a…...

学习黑客Nmap 命令法诀

筑基期第二重 — Nmap 命令法诀 修炼目标 这一重我们要把上一阶段学到的“神识探查原理”化成 实战招式&#xff1a;掌握日常最常用的 Nmap 命令&#xff0c;并能随心组合。每条命令都配上“修仙比喻”&#xff0c;让你边笑边记。 1. 基础法诀速查表&#xff08;凡修版&#xf…...

基于思考过程评价的心理问题咨询对话记性评估

基于思考过程评价的心理问题咨询对话记性评估 摘要: 在心理问题咨询的对话场景中,传统记性评价多局限于对话结果的相似度计算,无法全面捕捉来访者及咨询师在对话过程中的思维动态。本文提出一种聚焦此对话场景的记性评价新方法,将思考过程纳入评估范畴。详细阐释其基于认知…...

SQL数据库操作大全:从基础到高级查询技巧

大家好&#xff0c;欢迎来到程序视点&#xff01;我是你们的老朋友.小二&#xff01; SQL数据库操作核心语法精要 数据库基础操作 创建/删除数据库&#xff1a;CREATE DATABASE / DROP DATABASE 备份SQL Server&#xff1a;使用sp_addumpdevice和BACKUP DATABASE命令 数据库…...

基于MATLAB图像中的圆形目标识别和标记

一、前言 在数字图像处理中&#xff0c;有些图像类别可以使用圆形度进行区分。圆度有时被称为圆形度&#xff0c;其定义为&#xff1a;圆度 4πA / P&#xff0c;其中A是面积&#xff0c;P是周长。这个公式的来源是&#xff0c;对于圆来说&#xff0c;这个值等于1&#xff0c;…...

android-ndk开发(4): linux开发机有线连接android设备

android-ndk开发(4): linux开发机有线连接android设备 2025/05/05 1. 概要 linux 系统&#xff0c; 例如最常见的 ubuntu&#xff0c; 在通过 USB 线把 android 设备连接到开发机上时&#xff0c; 仅仅是 ”物理上的连接”。 这时候 adb 是无法识别到 android 设备的。 需要…...

相机biaoding

需要先安装linux客户端&#xff08;海康机器人官网&#xff09;&#xff0c;sudo dpkg -i MVS-2.1.2_x86_64_20221208.deb cd /opt/MVS/bin/ 再./MVS.sh运行,客户端启动。 打开海康相机客户端 cd /opt/MVS/bin export LD_LIBRARY_PATH/opt/MVS/bin/:$LD_LIBRARY_PATH ./MVS …...

linux 中inotify与inode的关系是什么?

在 Linux 系统中&#xff0c;inotify 和 inode 是两个密切相关但功能不同的概念&#xff0c;它们共同构成了文件系统的核心机制。以下是它们的关系解析&#xff1a; 一、基本概念 1. inode&#xff08;索引节点&#xff09; 定义&#xff1a;inode 是 Linux 文件系统中存储文…...

Paramiko 核心类关系图解析

类图关键说明 SSHClient 核心类 用户主要交互入口&#xff0c;聚合 Transport 对象依赖策略类处理主机密钥验证&#xff08;AutoAddPolicy/RejectPolicy&#xff09; Transport 引擎 管理底层连接生命周期组合 AuthHandler 处理认证逻辑组合 KexBase 实现密钥交换可创建多个 C…...

LeetCode算法题 (反转链表)Day17!!!C/C++

https://leetcode.cn/problems/reverse-linked-list/description/ 一、题目分析 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。今天这道题目非常的言简意赅&#xff0c;就是给定一个链表将其反转后返回反转后的头节点。 二、示例分析 输…...

3.5/Q1,GBD数据库最新一区文章解读

文章题目&#xff1a;Global burden of low vision and blindness due to age-related macular degeneration from 1990 to 2021 and projections for 2050 DOI&#xff1a;10.1186/s12889-024-21047-x 中文标题&#xff1a;1990年至2021年因年龄相关性黄斑变性导致的低视力和失…...

【AI论文】像素修补师(PixelHacker):具有结构和语义一致性的图像修复(Image Inpainting)

摘要&#xff1a;图像修复是图像编辑和图像生成之间的一个基础研究领域。 最近最先进的方法&#xff08;SOTA&#xff09;探索了新的注意力机制、轻量级架构和上下文感知建模&#xff0c;展示了令人印象深刻的性能。 然而&#xff0c;他们经常在复杂的结构&#xff08;如纹理、…...

卡洛诗中式西餐,打破“高价即高端”认知

在餐饮消费从“功能满足”向“意义消费”跃迁的今天&#xff0c;Z世代对饮食的期待早已超越“吃饱”的生理需求。萨莉亚原团队成员出来升级孵化的新概念西餐卡洛诗作为中式西餐赛道的破局者&#xff0c;通过场景重构、产品升维与情感绑定&#xff0c;将西餐体验转化为情绪的载体…...

Sui 上线两周年,掀起增长「海啸」

两年前的 5 月 3 日&#xff0c;Sui 的主网正式发布&#xff0c;将在开发网和测试网上验证过的下一代技术承诺变为现实。这一新兴网络旨在优化现有区块链技术&#xff0c;结合高性能计算环境与安全性、可验证性及韧性。 随着 Sui 迎来两周年&#xff0c;这股浪潮已成长为「海啸…...

手写 Vue 源码 === reactive 方法

目录 1. 响应式系统概述 2. Proxy与Reflect的应用 3. 响应式对象的创建 4. WeakMap的使用 主要特点 WeakMap 与 Map 的区别 应用场景 5. 依赖收集与触发更新 6. 响应式标记 7. 性能优化 8. 与Vue2的对比 9. 实际应用示例 10. 总结 Vue3的响应式系统是其核心特性…...

第一章-Rust入门

Rust 简介 Rust 是一种强类型的静态编程语言&#xff0c;它可以编写更快、更可靠的软件&#xff0c;兼备高层次的易用性与低层次的控制力。 Rust 具有以下几个特点&#xff1a; 内存安全&#xff0c;且不牺牲性能“编译通过就能正常运行”令人愉悦的语法和强大的语言特性优秀…...

【AI入门】Cherry入门1:Cherry Studio的安装及配置

前言 尝试了Trae配置MCP&#xff0c;测试了n8n设置MCP工作流&#xff0c;但感觉好累啊&#xff0c;CherryStudio横空出世&#xff0c;开着中文界面&#xff0c;就倍感亲切&#xff0c;看着大家操作很丝滑的样子&#xff0c;咱也鸟枪换炮了&#xff0c;哇哈哈&#x1f604;&…...

雷电模拟器-超好用的Windows安卓模拟器

一、雷电模拟器介绍 雷电模拟器是一款功能强大的软件&#xff0c;它能够在电脑上模拟出安卓手机系统&#xff0c;让你可以在电脑上运行各类手机应用及游戏。其采用虚拟安卓手机操作界面&#xff0c;为玩家带来了独特的体验。 &#xff08;一&#xff09;强大的兼容性 雷电模拟…...

数据集-目标检测系列- 蜥蜴 检测数据集 lizard >> DataBall

数据集-目标检测系列- 蜥蜴 检测数据集 lizard >> DataBall DataBall 助力快速掌握数据集的信息和使用方式。 贵在坚持&#xff01; * 相关项目 1&#xff09;数据集可视化项目&#xff1a;gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview…...

Kubernetes控制平面组件:Controller Manager 之 NamespaceController 全方位讲解

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…...

数据结构小扫尾——栈

数据结构小扫尾——栈 jarringslee 文章目录 数据结构小扫尾——栈栈本质上是一种特殊的线性表。&#xff08;一&#xff09;线性表的定义&#xff08;二&#xff09;线性表的运算 什么是栈。&#xff08;一&#xff09;栈的定义&#xff08;二&#xff09;栈的分类&#xff0…...

策略模式(Strategy Pattern)

&#x1f9e0; 策略模式&#xff08;Strategy Pattern&#xff09; 策略模式是一种行为型设计模式&#xff0c;它允许定义一系列的算法或行为&#xff0c;然后将每个算法封装到一个类中&#xff0c;使得它们可以互换。策略模式让算法独立于使用它的客户端进行变化&#xff0c;…...

Qwen2_5-Omni-3B:支持视频、音频、图像和文本的全能AI,可在本地运行

Qwen2.5-Omni-3B是阿里云推出的全能AI模型。它能同时处理视频、音频、图像和文本。只有3B参数,却能在本地运行强大的多模态功能。 近日,已经在Hugging Face上发布。它是小型多模态AI系统的重要突破。 特点 Qwen2.5-Omni-3B与普通语言模型不同。它是真正的多模态系统,可以同…...

GZIPOutputStream 类详解

GZIPOutputStream 类详解 GZIPOutputStream 是 Java 中用于压缩数据为 GZIP 格式的输出流类&#xff0c;属于 java.util.zip 包。它是 DeflaterOutputStream 的子类&#xff0c;专门生成符合 GZIP 格式&#xff08;.gz 文件&#xff09;的压缩数据。 1. 核心功能 将数据压缩为…...

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama解释这行代码的含义

这行命令用于为 OLLAMA 服务创建专用的系统用户&#xff0c;具体参数解析如下&#xff1a; sudo 以管理员权限执行命令&#xff0c;确保有足够权限创建系统用户。 useradd Linux 用户创建命令&#xff0c;用于在系统中新增用户。 -r 创建系统账户&#xff08;非登录用户&…...

自注意力(Self-Attention)和位置编码

自注意力 给定序列 x 1 , … , x n \mathbf{x}_1, \ldots, \mathbf{x}_n x1​,…,xn​, ∀ x i ∈ R d \forall \mathbf{x}_i \in \mathbb{R}^d ∀xi​∈Rd 自注意力池化层将 x i \mathbf{x}_i xi​ 当做key, value, query来对序列抽取特征得到 y 1 , … , y n \mathbf{y}…...

Linux压缩和解压类

一、gzip/gunzip 压缩 1、基本语法 gzip 文件 &#xff08;功能描述&#xff1a;压缩文件&#xff0c;只能将文件压缩为*.gz文件&#xff09; gunzip 文件.gz &#xff08;功能描述&#xff1a;解压缩文件命令&#xff09; 2、经验技巧 &#xff08;1&#…...

Kubernetes控制平面组件:Controller Manager详解

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…...

使用 JavaScript 实现数据导出为 Excel 和 CSV 文件

在 Web 开发中&#xff0c;经常会遇到需要将数据导出为文件的需求&#xff0c;例如将数据导出为 Excel 或 CSV 文件。今天&#xff0c;我们就来探讨如何使用 JavaScript 实现这一功能。 一、实现思路 我们通过 HTML 创建一个按钮&#xff0c;点击按钮时&#xff0c;触发 Java…...

设一个测试情境,新用户注册后显示的名字不完整,测试思路是怎么样的?

问题分析:新用户注册后显示名称不完整 典型表现:用户注册时输入"张三丰",系统仅显示"张"或"张三"等不完整信息 一、测试排查思维导图 二、详细测试方案 1. 前端测试 输入验证: 测试不同长度名称(1字符/10字符/50字符) 测试含空格名称(如…...

NHANES指标推荐:ZJU index

文章题目&#xff1a;Association between ZJU index and gallstones in US adult: a cross-sectional study of NHANES 2017-2020 DOI&#xff1a;10.1186/s12876-024-03553-9 中文标题&#xff1a;ZJU指数与美国成年人胆结石的关联&#xff1a;2017-2020年NHANES横断面研究 发…...

数据存储——高级存储之PV和PVC

一、概述 PV &#xff08; Persistent Volume &#xff09;是持久化卷的意思&#xff0c;是对底层的共享存储的一种抽象。一般情况下 PV 由 kubernetes 管理员进行创建和配置&#xff0c;它与底层具体的共享存储技术有关&#xff0c;并通过插件完成与共享存储的对接。 PVC &a…...

Astro Canvas 数据中心→设备一览大屏操作指南

✅ Astro Canvas 数据中心→设备一览大屏操作指南 📌 目标 通过API连接器 → 转换器 → 数据源 → 数据集 → Astro大屏设计,展示从 IoTDA 获取的设备影子数据,并在 Astro 大屏中以设备一览形式可视化展示(如设备ID、温度、湿度、烟雾浓度等状态)。 🔁 一、整体流程概…...

Cisco NDO - Nexus Dashboard Orchestrator

目录 一、什么是 Cisco NDO? 二、ND vs. NDO? 三、NDO vs. NDFC 四、NDO 用例: 一、什么是 Cisco NDO? Nexus Dashboard Orchestrator(NDO)可通过单一界面,实现跨多个数据中心的一致性网络与策略编排、可扩展性与灾难恢复等。 当在本地、多种私有云或公有云中同时运…...

Android 控件CalendarView、TextClock用法

一 UI代码 <?xml version="1.0" encoding="utf-8"?> <androidx.coordinatorlayout.widget.CoordinatorLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto…...

Socket 编程 TCP

Socket 编程 TCP TCP socket API 详解V1 - Echo ServerV2 - Echo Server 多进程版本V3 - Echo Server 多线程版本V4 - Echo Server 线程池版本多线程远程命令执行v5 引入线程池版本翻译 TCP socket API 详解 socket(): socket()打开一个网络通讯端口,如果成功的话,就像 open…...