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

基于deepseek和开放题库,构建专业大模型微调在线答题系统

为什么要进行大模型微调


大模型微调是将预训练模型适配到特定任务或领域的关键技术,正常情况下大模型通过海量通用数据训练获得广泛知识,但其参数和表征空间面向通用场景,难以直接适配垂直领域或复杂任务。例如在通用医疗问答模型在具体病症诊断任务中可能缺乏细粒度知识。针对这种情况,微调可调整模型参数,使其更贴合特定领域的数据分布。在法律咨询场景中,将法律文本适配到预训练模型,能显著提升合同条款解析的准确率。

大模型微调是连接通用能力与垂直应用的桥梁,其核心价值在于将预训练模型的“通才”转化为“专才,通过技术选型(如LoRA、部分参数、全参)实现最优投入产出比以及快速适配需求变化,支撑持续迭代,随着AI的持续发展以及对于垂直应用场景需求的提升,大模型微调将逐渐成为大模型应用的核心环节。

大模型微调的应用场景


1. 垂直领域知识适配

场景:

微调后模型可理解医学术语(如ICD-10编码)和诊断逻辑,用于电子病历分析。基于PubMed文献微调的BioBERT,在疾病分类任务中准确率提升12%。

场景:

适配合同条款解析、风险预警等场景,如微调模型识别SEC文件中的潜在违规行为。

2. 任务深度优化

通过数学题集微调,增强模型逻辑推理能力。

风格调整,如新闻稿的正式语气,自动转为社交媒体文案的轻松风格。

3. 数据安全合规

使用本地化数据微调模型,避免内部敏感信息外泄,如银行客户数据训练风险评估模型。

调整模型输出以满足GDPR等数据保护要求,例如自动过滤隐私信息。

大模型微调的方式和资源需求

目前博云BMP支持全参数微调、LoRA和部分参数微调三种微调模式,可以根据客户的不同场景来满足大模型微调的需求。

全参微调是指对预训练模型的所有参数进行更新,使其适配下游任务的一种微调方法。与参数冻结或部分微调(如LoRA)不同,全参微调通过调整模型所有权重来捕捉任务特定模式,通常需要较大的计算资源和数据量。

LoRA是一种针对大模型的高效微调技术,其核心思想是通过低秩矩阵分解,在冻结原始预训练模型参数的基础上,引入少量可训练参数,从而在降低计算和存储成本的同时保持模型性能。

部分参数训练是一种分层选择性训练的模型适配方法,通过冻结预训练模型的部分参数(通常为底层或中间层),仅微调顶层或特定任务相关层的参数。其核心思想是利用预训练模型的通用表征能力,减少冗余参数更新,同时降低计算资源消耗。

不同微调模式的不同维度对比表:

大模型微调流程

01数据集准备


对于平台而言,微调所用的数据集需要满足如下格式:

{

"instruction": "使用XXX框架实现XX功能,要求为XX",

"input": "",

"output": "对应代码"

}

这样模型在微调的过程中就可以进行识别,博云会提供对应数据转换服务,把客户提供的数据集转为以上要求的JSON文件。

例如:我们根据在线教育客户提供的一个题库,将题库转为以上格式的JSON文件:

JSON文件创建好以后,保存到本地,上传到BMP里面的数据集,如下图所示:

02微调操作流程


进入BMP界面,选择大模型微调

点击创建微调任务来创建微调任务,选择需要微调的大模型,根据微调的模型配置对应的算力资源

算力资源匹配完成以后,就可以进入微调面板进行微调

根据微调需求选择对应的阶段、微调方式,根据以上要求准备好相应的数据集即可。

03微调参数配置建议


LoRA微调核心参数

秩(lora_rank):建议 8-64,简单任务选择小秩(如8),复杂任务需≥16以保留表达能力12。

Alpha(lora_alpha):通常设为秩的整数倍(如秩8时alpha=16),控制权重更新强度,值越大对新任务适应能力越强1。

Dropout(lora_dropout):小数据场景设为 0.3 防过拟合,大数据场景可设为 01。

通用参数

学习率:建议 1e-5 到 5e-4,比全参数微调更低,避免破坏预训练知识2。

批处理大小:显存不足时可用梯度累积(如batch_size=2 + 梯度累积步数8),等效batch_size=161。

适用场景

资源有限、需快速迭代的任务(如对话生成),支持多任务共享基础模块。

全参数微调关键参数

学习率:推荐 1e-6 到 5e-5(比LoRA更低),大型模型(如百亿参数)优先小学习率。

训练轮次:大数据集(百万级样本)建议 5-10 轮,小数据集需早停防止过拟合。

显存需求:至少需A100(80GB)级别GPU,支持大batch_size(如32)。

优化策略

混合精度训练:启用 bf16 或 fp16 加速训练,同时降低显存占用。

适用场景

数据充足、任务复杂(如领域迁移),需全面调整模型参数。

部分参数微调核心参数

冻结层数:通常冻结底层(如前20层),仅微调顶层全连接层,保留通用语义特征。

学习率:可略高于全参数微调(如 5e-5),因高层参数需快速适应任务。

训练轮次:推荐 3-5 轮,小数据集也能快速收敛。

关于博云AIOS

AIOS是博云专为AI应用推出的企业级一站式人工智能操作系统,屏蔽底层异构算力差异,面向AI大模型、生信、仿真渲染、气象、智能控制、图像视频处理等领域的分布式计算提供调度器管理,在网络、存储等基础能力方面增强高性能适配,为AI应用提供稳定、高效、可观测的部署与服务运行时管理能力。

同时AIOS提供轻量化多框架AI训推工具链平台,支持多种分布式AI深度学习框架,模型推理框架,IDE工具,算法、模型仓库,以及模型量化和转化能力,覆盖数据标注、算法开发、模型训练、模型推理的全生命周期。

AIOS可以帮助企业和开发者自主构建人工智能业务,助力企业保持行业领先能力。

相关文章:

基于deepseek和开放题库,构建专业大模型微调在线答题系统

为什么要进行大模型微调 大模型微调是将预训练模型适配到特定任务或领域的关键技术,正常情况下大模型通过海量通用数据训练获得广泛知识,但其参数和表征空间面向通用场景,难以直接适配垂直领域或复杂任务。例如在通用医疗问答模型在具体病症诊…...

ios 小组件和数据共享

创建主工程就不必讲了 1 创建小组件 创建子工程 [new Target ] 选择 [ Widger Extension] 小组件入口是WidgetBundle文件,可以进行多个小组件的调试 TestWidget2文件是主要操作,小组件使用swiftUI布局,使用 AppIntent进行事件处理&#xff…...

LVTTL(Low Voltage Transistor-Transistor Logic)电平详解

一、LVTTL电平的定义与核心特性 LVTTL(低压晶体管-晶体管逻辑)是传统TTL(5V)的低电压版本,工作电压通常为3.3V,旨在降低功耗并适配现代低电压集成电路,同时保持与TTL的逻辑兼容性。其核心特点如…...

element tree树形结构默认展开全部

背景: el-tree树形结构,默认展开全部,使用属性default-expand-all【是否默认展开所有节点】;默认展开一级,设置default-expanded-keys【默认展开的节点的 key 的数组】属性值为数组。 因为我这里的数据第一级是四川【省…...

统计登录系统10秒内连续登录失败超过3次的用户

为防止暴力破解用户账号的行为,在输入账号和密码时一般都会限制用户尝试密码输出错误的次数,如果用户多次输错密码后,将在一段时间内锁定账号,常见的有银行类APP、个税App等应用,如下是用户账号密码输入错误的提示图&a…...

音视频软件工程师面试题

一、基础知识 编解码相关 H.264 和 H.265(HEVC)的主要区别是什么?视频编解码的基本流程是什么?关键技术有哪些?音频编解码(如 AAC、MP3、Opus)的区别和应用场景?什么是 B 帧、P 帧、I 帧?它们的作用是什么? 流媒体协议RTMP、HTTP-FLV、HLS、WebRTC 的区别和应用场景…...

架构师面试(十四):注册中心设计

问题 大家或多或少都接触过【注册中心】,对注册中心的基本功能,如:服务注册、服务发现、健康检查和变更通知 ,肯定是耳熟能详的;那么大家对注册中心的架构设计是否了解呢? 如果让你负责设计一个分布式的注…...

ctf-web: php原生类利用 -- GHCTF Popppppp

源代码 <?php error_reporting(0); class CherryBlossom { public $fruit1; public $fruit2; public function __construct($a) {$this->fruit1 $a; } function __destruct() { echo $this->fruit1; } public function __toString() { $newFunc …...

「Unity3D」UGUI将元素固定在,距离屏幕边缘的某个比例,以及保持元素自身比例

在不同分辨率的屏幕下&#xff0c;UI元素按照自身像素大小&#xff0c;会发生位置与比例的变化&#xff0c;本文仅利用锚点&#xff08;Anchors&#xff09;使用&#xff0c;来实现UI元素&#xff0c;固定在某个比例距离的屏幕边缘。 首先&#xff0c;将元素的锚点设置为中心&…...

nextjs15简要介绍以及配置eslint和prettier

目录 一、Next.js 何时使用服务器端渲染&#xff08;SSR&#xff09;&#xff1f;何时使用静态生成&#xff08;SSG&#xff09;&#xff1f; 1、服务器端渲染&#xff08;SSR - getServerSideProps&#xff09; 2、 静态生成&#xff08;SSG - getStaticProps&#xff09; …...

存储过程和自定义函数在银行信贷业务中的应用(oracle)

数据校验和清洗 例如&#xff0c;检查客户的年龄是否在合理范围内&#xff0c;贷款金额是否符合规定的上下限等。 对于不符合规则的数据&#xff0c;可以进行清洗和修正。比如&#xff0c;将空值替换为默认值&#xff0c;或者对错误的数据进行纠正。 CREATE OR REPLACE PROC…...

基于Ollama平台部署的Qwen大模型实现聊天机器人

文章目录 基于Ollama平台部署的Qwen大模型实现聊天机器人1 概述2 技术栈2.1 开发技术2.2 环境 3 技术架构4 实现步骤4.1 环境搭建4.1.1 WSL配置及Ubuntu安装4.1.2 Ollama安装及模型部署 4.2 模块安装4.2.1 安装Streamlit 1.42.24.2.2 安装requests 2.32.34.2.3 安装ollama 0.4.…...

在 JDK 1.8 的 ConcurrentHashMap 中,为什么存在两种插入方式?

在 JDK 1.8 的 ConcurrentHashMap 中&#xff0c;之所以对“容器为空”和“计算位置为空”采取不同的处理方式&#xff0c;主要是因为 并发场景下的性能优化和并发安全保证。我们可以分开来看这两种情况&#xff1a; 1. 容器为空时&#xff0c;使用 volatile CAS 初始化 原因…...

如何让powershell的界面变成全屏显示?

刚打开powershell&#xff0c;原来的样子&#xff1a; 全屏&#xff1a;可以按一下键盘上的alt enter 键&#xff0c;效果&#xff1a;...

语音识别踩坑记录

本来想在原来的语音识别的基础上增加本地扩展本地词典&#xff0c; 采用的语音识别是Vosk识别器&#xff0c;模型是 vosk-model-small-cn-0.22 // 初始化Vosk识别器 if (recognizer null) {using (Model model new Model(modelPath)){string grammar "{""…...

图片查看器:用PyQt5实现本地图片预览工具

通过python代码&#xff0c;基于PyQt5实现本地图片预览查看工具。 我们对窗口进行了圆角设计&#xff0c;图片的翻页按钮半透明处理&#xff0c;当鼠标移动至按钮上的动画效果&#xff0c;当选择某一张图片&#xff0c;进行左右翻页则轮播同目录所有支持的图片格式。 import …...

Deepin通过二进制方式升级部署高版本 Docker

一、背景&#xff1a; 在Deepin系统中通过二进制方式升级部署高版本 Docker&#xff0c;下面将详细介绍二进制方式升级部署高版本 Docker 的具体步骤。 二、操作步骤 1.根据需求下载二进制文件&#xff0c;下载地址如下&#xff1a; https://mirrors.tuna.tsinghua.e…...

车架号VIN查询 API 接口用JAVA如何调用?

以下是车架号VIN查询 API 接口用JAVA如何调用的示例代码&#xff1a; package com.shuxun.data.impl.demo;import com.shuxun.common.core.util.HttpUtil; import org.apache.commons.codec.digest.DigestUtils;import java.util.HashMap; import java.util.Map;public class …...

Vulnhub 靶机 VulnOSv2 write up opendocman cms 32075 sql注入 账号密码 ssh连接 37292.c 脏牛提权

Vulnhub 靶机 VulnOSv2 write up opendocman cms 32075 sql注入 账号密码 ssh连接 37292.c 脏牛提权 一、信息收集 1、首先拿到靶场先扫一下ip arp-scan -l 3、 2、指纹扫描 nmap -sS -sV 192.168.66.178nmap -p- -sV -A 192.168.66.253 PORT STATE SERVICE VERSION 22…...

爬虫的精准识别:基于 User-Agent 的正则实现

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动

一、前言说明 在2011版本的gb28181协议中&#xff0c;拉取视频流只要求udp方式&#xff0c;从2016开始要求新增支持tcp被动和tcp主动两种方式&#xff0c;udp理论上会丢包的&#xff0c;所以实际使用过程可能会出现画面花屏的情况&#xff0c;而tcp肯定不丢包&#xff0c;起码…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务

通过akshare库&#xff0c;获取股票数据&#xff0c;并生成TabPFN这个模型 可以识别、处理的格式&#xff0c;写一个完整的预处理示例&#xff0c;并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务&#xff0c;进行预测并输…...

DBAPI如何优雅的获取单条数据

API如何优雅的获取单条数据 案例一 对于查询类API&#xff0c;查询的是单条数据&#xff0c;比如根据主键ID查询用户信息&#xff0c;sql如下&#xff1a; select id, name, age from user where id #{id}API默认返回的数据格式是多条的&#xff0c;如下&#xff1a; {&qu…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...