😊文章背景
题目:Semi-Supervised Prefix Tuning of Large Language Models for Industrial Fault Diagnosis with Big Data
期刊:Big Data Min. Anal.
检索情况:IF6.2sciUpTop 计算机科学TOPSCI升级版计算机科学1区 EI检索
作者:Gecheng Chen, Jiahao Yuan, Jiayu Yao, Zheng Luo, Jianqiang Li, and Chengwen Luo*
单位:深圳大学
发表年份: 12/2025
DOI:10.26599/BDMA.2025.9020038
网址:https://ieeexplore.ieee.org/document/11164458/
❓ 研究问题
如何利用大语言模型解决工业大数据中标签稀缺且计算资源受限的故障诊断难题?
🧠 所用方法
一、辅助任务生成
1.特征识别
首先,模型需要知道哪些特征(传感器数据列)是重要的。不能随机选一个特征来预测,必须选那些跟故障最相关的特征。
- 计算相关性: 作者利用少量的已标记数据,计算每个输入特征列与故障标签之间的皮尔逊相关系数(Pearson correlation coefficient)。
- 确定目标: 选取相关性最高的前N个特征作为辅助预测任务的目标(即我们要让模型去预测这N 个特征的值)。
- 数据复制: 将未标记数据集复制 N份,每一份对应一个特定的目标特征。
2. SGP 筛选
这是为了解决工业大数据计算成本过高的问题。如果直接在所有未标记数据上运行后续的 K-means 聚类算法,计算复杂度过高。
因此,作者引入了 稀疏高斯过程 (Sparse Gaussian Processes, SGP) 来先进行一轮"海选",只挑出最有价值的样本。
-
稀疏近似: SGP 使用一小部分"诱导点 (inducing points)" 来近似整个高斯过程的协方差矩阵,从而大大降低计算量。
-
不确定性采样: 作者计算每个样本的预测方差,这代表了样本的不确定性。
-
筛选策略: 选择方差最大(不确定性最高)的M个样本。
3. 伪标签生成
选出了最有价值的样本,也确定了要预测的特征列,最后一步是构建具体的训练任务。
-
特征掩码 (Masking): 在选定的样本中,将目标特征列"遮住"(从输入中移除),作为模型需要预测的"答案"。
-
连续值离散化: 工业传感器读数通常是连续数值(如温度 53.8°C),但故障诊断本质上是分类任务。为了统一任务形式,作者使用 K-means 聚类算法将这些连续的数值聚类成不同的簇。
-
生成标签:
-
对目标特征列的数值进行聚类。
-
根据聚类结果,将连续的数值转换为离散的伪标签 (Pseudo-labels) 。
-
例如,原本预测"温度=53.8",现在变成了预测"温度属于第 3 类簇"
-
二、基于辅助任务的前缀微调
1.策略
- 冻结大脑(Freeze LLM): 保持预训练 LLM 的所有原始参数不变 。
- 添加眼镜(Add Prefix): 在输入端增加一小部分可训练的参数(称为前缀 或软嵌入层)。模型只需要通过训练这副"眼镜"来适应工业数据 。
2. 架构设计:软嵌入层
设计了一个前缀软嵌入层 (Prefix-based soft embedding layer),它的结构与 LLM 原有的词嵌入层(WTE)相同 。
-
输入转化: 3.1 节生成的辅助任务数据被转化为特定的 Prompt 格式(例如:"[特征名] 是 [数值],那么 [伪标签] 是什么?") 。
-
并行处理: 输入数据同时通过两条路径:
-
路径 A(原路): 通过 LLM 原始的嵌入层。
-
路径 B(新路): 通过新增的软嵌入层 。
-
-
拼接 (Concatenation): 将两条路径得到的向量拼接在一起,形成完整的输入嵌入向量。
3.训练过程
-
损失函数: 使用交叉熵损失函数 (Cross-entropy loss function) 来衡量预测结果与伪标签之间的差距。
-
反向传播: 在更新参数时,梯度只传导给新增的软嵌入层,而 LLM 的主体参数保持纹丝不动。
三、混合提示模板设计
1. 三个组成部分
- 来自未标记数据的"软提示": 不是人类可读的文本,而是一组**向量,**包含了从未标记的大数据中提取出的隐式特征和分布规律。
- 来自标记数据的"硬提示": 它是自然语言文本。作者将表格中的特征和标签转化为文本描述 。为模型提供明确的上下文参考(In-context examples),告诉模型"什么样的数据对应什么样的故障"。
- **待测试样本:**同样转化为自然语言文本,但只包含特征,没有标签。
2.组装过程
这三个部分并不是简单地把文本拼在一起,因为"软提示"本身就是向量。组装是在嵌入层完成的:
-
软提示处理: 辅助任务相关的提示通过软嵌入层,生成软嵌入向量。
-
硬提示 & 测试数据处理: 标记数据和测试数据的文本提示通过 LLM 原始嵌入层,生成普通的嵌入向量 。
-
拼接: 将上述向量按顺序拼接起来.这个拼接后的长向量才是 LLM 的最终输入 。
3.动态调整与工程细节
为了适应 LLM 的限制(如 GPT-2 的最大上下文长度),作者还引入了一些工程优化:
-
动态长度控制: 根据模型的最大序列长度限制,动态调整输入的长度。如果硬提示(标记样本)太多导致超长,系统会对其进行截断 。
-
采样参数调整: 在生成过程中,动态调整
top-k、top-p和temperature等参数,以控制生成文本的多样性和准确性 。