小语言模型和小型推理语言模型在系统日志严重性分类上的基准测试 Benchmarking Small Language Models and Small Reasoning Language Models on System Log Severity Classification
评估9个小模型在日志分级任务中零样本、少样本及RAG的表现差异
前置知识
Syslog严重性等级
Syslog协议定义了0-7共8个严重性等级,其中0为Emergency(系统不可用),1为Alert(紧急警报),2为Critical(严重故障),3为Error(错误),4为Warning(警告),5为Notice(通知),6为Informational(信息),7为Debug(调试)。每个日志消息的Priority值由Facility值乘以8再加上Severity值得出。严重性等级是系统管理员识别和解决系统错误的关键依据,但由于缺乏严格标准化,不同系统间的标签可能存在差异。
本文的核心任务就是预测日志的Syslog严重性等级,理解该标准是理解整个实验设计和评估指标的基础。
小语言模型(SLM)与小型推理语言模型(SRLM)
SLM是参数量在0.6B-4B范围内的紧凑型神经网络模型,专为高效推理、低计算需求和低能耗设计,适合资源受限的部署环境。SRLM则在SLM基础上继承了从大模型蒸馏而来的推理能力,通过链式思维(CoT)监督、奖励引导优化和测试时缩放策略来提升推理能力,同时保持较小的计算规模。本文中SLM包括Llama3.2和Gemma3系列,SRLM包括Qwen3系列、DeepSeek-R1-Distill-Qwen-1.5B和Phi-4-Mini-Reasoning。
理解SLM和SRLM的定义和区别是理解本文实验设置和结论的前提——研究表明两类模型在不同提示策略下表现截然不同。
检索增强生成(RAG)
RAG是一种将外部知识检索与语言模型生成相结合的技术框架。在推理时,模型不仅依赖训练阶段学到的参数,还通过查询知识数据库来引入相关证据。具体到本文,RAG使用FAISS向量索引存储训练集日志的768维嵌入向量,推理时对每条测试日志进行L2相似度检索,取top-k个最近邻样本作为上下文输入给模型。该方法已在问答、信息提取和技术推理等知识密集型任务中展现了强大优势。
RAG是本文三种提示策略中效果最显著但也最复杂的一种,部分模型在RAG下反而性能退化,理解RAG机制对解读实验结果至关重要。
数字孪生(DT)与根因分析(RCA)
数字孪生是物理系统在数字空间中的实时镜像,通过持续同步传感器数据和系统日志来监控、模拟和预测物理系统的行为。根因分析(RCA)是在系统出现故障时,通过分析日志、指标和事件链来定位问题根本原因的过程。在DT环境中,日志解读必须同时满足准确性和低延迟两个要求,这直接驱动了本文对小型、可部署模型的评估动机。
DT和RCA是本文的应用背景和最终目标,论文强调SLM的实时可部署性正是为了支持DT系统的在线监控需求。
FAISS向量检索
FAISS(Facebook AI Similarity Search)是Meta开发的开源高效相似度搜索和密集向量聚类库。本文使用Nomic Embed文本编码器(nomic-embed-text-v1.5)将训练集37,419条日志转换为768维嵌入向量,构建FAISS索引。推理时,测试日志被嵌入相同向量空间,通过L2距离度量检索最相似的top-k条训练日志。该检索深度k在实验中默认设为5,也测试了k=3和k=1的效果。
FAISS是本文RAG流水线的核心组件,理解其检索机制有助于理解RAG对不同模型产生差异化效果的原因。
研究动机
现代计算基础设施每小时产生30-50GB(约1.2-2亿行)的系统日志,远超人工审查能力,导致故障检测延迟和平均修复时间增加。现有日志分析研究存在严重的碎片化问题:许多研究依赖Java日志语句或代码上下文日志而非生产系统日志,其他研究聚焦于网络安全或入侵检测日志而非通用Linux运维日志,部分工作关注电信、网络设备或供应商特定日志。广泛使用的基准数据集如BGL、HDFS和Thunderbird是结构化数据集,无法捕捉真实journalctl日志的时间结构、不规则性和噪声。传统机器学习方法(随机森林、SVM)需要预先知道日志事件集合,难以处理未见过的新事件;深度学习方法虽然有所改进,但在数据集间泛化能力差,仍需大量人工干预进行预处理和参数调优。Heng等人对12个开源LLM的评估显示,零样本和少样本提示的准确率通常低于30%,即使微调后最优模型也仅达到60-70%准确率。
本文的目标是本文旨在建立首个针对真实Linux系统日志(journalctl)的SLM和SRLM严重性分类基准。具体目标包括:(1)在来自6台服务器、跨越2024年6月至2025年7月的730万条真实日志上,系统评估9个小模型(0.6B-4B参数)的分类能力;(2)比较零样本、少样本和RAG三种提示策略在日志严重性分类任务上的效果,特别关注RAG引起的退化现象;(3)同时分析准确率和推理延迟,为实时数字孪生和监控流水线提供可部署性评估。最终目标是确定在严格输出约束和延迟要求下,哪些模型架构和提示策略最适合实际部署。
与已有工作不同的是,本文的独特切入角度体现在三个层面。首先,在数据层面,现有工作大多使用预处理的模板化数据集(如BGL、HDFS),本文直接使用来自Linux生产服务器的journalctl原始日志,保留了真实世界的时间结构、噪声和不规则性,数据覆盖了从低级内核/硬件诊断到服务活动和安全通知的广泛运维场景。其次,在模型层面,现有LLM日志分析研究主要关注大模型或通用模型,本文聚焦于0.6B-4B范围的SLM和SRLM,特别评估了推理蒸馏模型在检索增强场景下的表现——这是一个此前未被系统研究的维度。最后,在评估维度上,现有效率导向研究测量的是解析或异常检测的推理延迟,本文首次将推理延迟测量聚焦于严重性分类任务,首次将RAG与推理模型的延迟开销进行独立分析,并首次记录了多个SRLM在RAG下出现的性能退化现象。
核心方法
本文的方法论可以用一个三层评估框架来概括。底层是数据管线:从6台Linux服务器收集超过730万条journalctl日志,标准化为JSON格式,通过分层抽样和去重得到46,774条唯一日志的数据集,按80/20划分训练集(37,419条)和测试集(9,355条),保持各严重性等级的比例分布。中间层是三种提示策略:零样本提示将模型设定为Linux系统日志专家,仅通过角色设定引导分类;少样本提示在零样本基础上增加5条训练集示例作为上下文;RAG提示使用FAISS向量检索从训练集中动态获取top-5最相似日志作为上下文。顶层是模型评估:在统一的超参数设置下,对9个模型(5个SLM和4个SRLM)执行上述三种策略,用准确率和平均每条日志推理时间两个指标进行评估。整体设计遵循控制变量原则,确保不同模型和策略间的可比性。
本文的核心创新在于将严重性分类从一个单纯的终端任务重新定义为探测模型运行时日志理解能力的基准探针。与以往将日志分类视为最终目标的工作不同,本文认为分类准确率本身有限的独立实用价值,更有意义的是通过分类任务来揭示模型理解系统日志语义的底层能力。这一视角转换带来了两个关键区别:第一,评估指标不仅关注准确率,还纳入推理延迟作为实时部署能力的核心指标;第二,RAG的引入不是为了追求最高准确率,而是为了研究不同架构的模型如何整合外部检索证据——结果发现部分SRLM在RAG下反而退化,揭示了推理模型与检索机制之间的结构性张力。此外,本文特别关注"检索引起退化"这一此前未被系统研究的现象:Qwen3-1.7B从少样本的43.30%降至RAG的28.96%,DeepSeek-R1-Distill-Qwen-1.5B从17.63%降至3.17%,Phi-4-Mini-Reasoning始终为0%——这些退化模式指向了架构和训练目标对检索整合能力的深层影响。
方法步骤详情
方法分为四个主要步骤。第一步是数据收集与预处理:从计算基础设施中的6台服务器(4台内部节点和2台外部公共机器)提取超过730万条系统日志,转换为结构化JSON格式,每条记录包含id、hostname、ip、comm、cmdline、exe、message、selinux context、systemd unit、systemd slice、realtime datetime和priority等字段。对优先级1-4(alert至warning)的16,635条日志全部保留,从5-7级均匀采样33,365条,去重后得到46,774条唯一日志。第二步是构建提示模板:零样本提示将模型定义为具有系统管理、日志分析和故障排除专业知识的Linux系统日志专家,要求仅输出0-7的单个数字;少样本提示在相同框架下附加5条来自训练集的示例日志及其对应严重性等级;RAG提示将零样本指令与FAISS检索到的top-5相似日志拼接。第三步是RAG索引构建:使用Nomic Embed文本编码器(nomic-embed-text-v1.5)将训练集37,419条日志转换为768维语义嵌入 $e_i = f_\theta(x_i) \in \mathbb{R}^{768}$,构建FAISS索引。推理时,测试日志被嵌入同一向量空间,通过L2相似度检索最近邻:$N_k(x_q) = \arg\min_{x_i \in D_{train}} \|e_q - e_i\|_2$,默认 $k=5$。第四步是模型评估:所有实验在配备双NVIDIA RTX A6000 GPU(各48GB显存)的工作站上执行,通过LM Studio提供OpenAI兼容API端点,评估准确率 $\text{Accuracy} = \frac{1}{N}\sum_{i=1}^{N} I(\hat{y}_i = y_i)$ 和平均推理延迟。
技术新颖性
本文的技术新颖性体现在以下几个方面。第一,首次在真实journalctl日志上建立SLM/SRLM基准:此前的LLM日志分析研究使用Java日志语句、安全日志或预处理的BGL/HDFS数据集,本文直接处理来自生产服务器的原始Linux系统日志,保留了时间结构和噪声。第二,首次系统记录SRLM的RAG退化现象:此前的RAG研究主要关注噪声、过时或异构日志数据的影响,本文发现推理模型(如Qwen3-1.7B、DeepSeek-R1-Distill-Qwen-1.5B)在RAG下性能反而下降,提出"生成推理与检索之间存在潜在张力"的观点。第三,首次将推理延迟作为严重性分类的核心评估指标:在27次总评估中,11次在1秒内完成推理,Phi-4-Mini-Reasoning在RAG下却需要每条日志228秒以上。第四,提出了检索深度消融实验:将k从5降至3再降至1,发现Qwen3-1.7B的准确率从28.96%降至26.47%,表明退化不是由过多检索上下文引起的,而是模型整合检索信息能力的内在限制。
实验结果
实验结果呈现了清晰的分层格局。在零样本设置中,Qwen3-1.7B以33.61%准确率领先,Qwen3-4B和Qwen3-0.6B分别达到27.12%和27.45%,而Llama和Gemma系列均低于10%(Gemma3-1B仅0.14%)。推理延迟方面,Llama3.2-1B最快(0.08秒/条),Phi-4-Mini-Reasoning最慢(13.18秒/条)。少样本提示带来了显著提升:Qwen3-4B跃升至56.01%,Gemma3-4B达到41.06%,Qwen3-1.7B达到43.30%。但Llama3.2-1B和Phi-4-Mini-Reasoning在少样本下反而降至0%,原因是这些模型无法遵循指令,产生了冗长输出。RAG设置产生了最戏剧性的变化:Qwen3-4B达到95.64%的最高准确率,Qwen3-0.6B从28.92%跃升至88.12%,Gemma3-1B从20.25%跃升至85.28%,Gemma3-4B从41.06%跃升至81.84%。然而,部分SRLM出现严重退化:Qwen3-1.7B从43.30%降至28.96%,DeepSeek-R1-Distill-Qwen-1.5B从17.63%降至3.17%,Phi-4-Mini-Reasoning始终为0%且推理时间飙升至228.07秒/条。检索深度消融实验进一步揭示,将k从5降至1时Qwen3-1.7B准确率继续下降至26.47%,说明退化不是上下文过量的问题,而是模型整合检索信息能力的根本限制。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 系统日志严重性分类(RAG设置) | 准确率(Accuracy) | Qwen3-4B: 95.64% | Qwen3-4B零样本: 27.12%, 少样本: 56.01% | RAG较零样本提升68.52个百分点,较少样本提升39.63个百分点 |
| 系统日志严重性分类(RAG设置) | 准确率(Accuracy) | Qwen3-0.6B: 88.12% | Qwen3-0.6B零样本: 27.45%, 少样本: 28.92% | RAG较零样本提升60.67个百分点,较少样本提升59.20个百分点 |
| 系统日志严重性分类(RAG设置) | 准确率(Accuracy) | Gemma3-1B: 85.28% | Gemma3-1B零样本: 0.14%, 少样本: 20.25% | RAG较零样本提升85.14个百分点,较少样本提升65.03个百分点 |
| 系统日志严重性分类(少样本设置) | 准确率(Accuracy) | Qwen3-1.7B: 43.30% | Qwen3-1.7B零样本: 33.61% | 较零样本提升9.69个百分点 |
| 系统日志严重性分类(RAG退化案例) | 准确率(Accuracy) | DeepSeek-R1-Distill-Qwen-1.5B RAG: 3.17% | 少样本: 17.63% | RAG导致退化14.46个百分点 |
局限与改进
本文的局限性体现在多个层面。作者明确承认的局限性包括:严重性等级本身是噪声的、管理员定义的、跨系统弱标准化的,不适合作为底层系统状态的真实表示;严重性分类只是一个受约束的探针任务,报告的准确率和延迟应被解释为检索整合行为和上下文利用效率的指标,而非下游运维任务(如RCA或异常诊断)的直接代理。从数据角度,本文采样了50,000条日志,虽然保持了统计代表性,但Emergency级别(0级)日志数量为零,限制了评估模型对极端条件的敏感性。从模型角度,本文仅评估了9个模型,全部在0.6B-4B参数范围内,未纳入更大的模型作为参考基线,也未评估闭源模型。从评估角度,本文使用单一准确率指标,未提供每类别的精确率、召回率或F1分数,无法判断模型在不同严重性等级上的差异化表现。从实验设置角度,所有实验在固定硬件(双RTX A6000)上进行,未探索不同GPU或量化设置的影响,且LM Studio的推理框架可能引入特定的系统延迟。此外,本文未与传统ML/DL方法进行直接对比,无法量化LLM方法相对于随机森林、SVM或Logformer等方法的改进幅度。
独立分析的弱点
本文存在若干值得深入分析的弱点。第一,评估指标单一:仅使用整体准确率无法揭示模型在各个严重性等级上的表现差异,特别是在高度不平衡的数据集中(如Emergency为0%,Info占20.6%),模型可能通过偏向多数类获得高准确率。改进方向是引入宏平均F1、混淆矩阵和每类别的精确率-召回率曲线。第二,RAG的检索策略较为简单:仅使用Nomic Embed文本编码器和L2距离进行检索,未探索混合检索(语义+关键词)、重排序(re-ranking)或自适应检索深度等更先进的RAG技术。改进方向是引入ColBERT、Cross-encoder重排序或学习型检索策略。第三,少样本示例选择策略未优化:5条示例随机从训练集采样,未考虑示例的多样性和代表性,可能影响少样本设置的公平性。改进方向是使用聚类中心采样或基于不确定性的示例选择。第四,未探索微调或适配器调优:论文仅评估提示策略,未在日志数据上对模型进行LoRA或其他参数高效微调,可能遗漏了显著的性能提升空间。第五,缺少与传统方法的直接对比:未将S(R)LM的准确率与随机森林、SVM等基线方法进行比较,削弱了结论的说服力。第六,提示工程的敏感性未充分探索:零样本和少样本提示的措辞、格式和约束条件(如要求单数字输出)可能对不同模型产生不同影响,特别是Phi-4-Mini-Reasoning因无法遵循单数字输出约束而表现极差,这是否反映了提示设计的问题而非模型能力的问题值得讨论。
未来方向
作者提出的未来方向包括:调查SRLM在RAG下退化的原因是源于容量限制、训练目标还是更深层的架构动态;将基准扩展到系统日志之外的其他领域特定任务,测试检索模式是否跨领域泛化;将框架集成到实时DT系统中,在流式遥测、变化基线和演进系统状态下进行评估,其中动态记忆策略、时间感知检索和持续上下文更新对实时诊断推理至关重要。基于本文成果可延伸的方向包括:探索检索感知训练框架如RA-DIT、Self-RAG和IRCoT是否能缓解SRLM的RAG退化问题;研究自适应检索深度策略,根据模型能力和查询复杂度动态调整k值;引入时间感知的RAG,利用日志的时间戳信息进行时间窗口内的检索;开发日志特定的嵌入模型,可能比通用的Nomic Embed更适合捕捉日志的结构和语义特征;探索多模态日志分析,结合日志文本、系统指标和拓扑信息进行综合诊断。
复现评估
本文具有良好的可复现性基础。数据和源代码已在GitHub开源(https://github.com/stccenter/Benchmarking-SLMs-and-SRLMs-on-System-Log-Severity-Classification),原始数据来自公开的Linux基础设施日志。实验在标准硬件上执行(Intel Xeon W3-2423处理器、128GB RAM、双NVIDIA RTX A6000 GPU),通过LM Studio提供OpenAI兼容API端点,这是一个广泛使用的开源工具。模型均为公开可用的开源模型(Llama3.2、Gemma3、Qwen3、DeepSeek-R1-Distill、Phi-4-Mini-Reasoning),数据集划分使用固定随机种子确保可重复性。然而,复现存在一定挑战:双RTX A6000(共96GB显存)的硬件配置要求较高;730万条原始日志的完整语料未明确是否公开,论文仅提及对50,000条日志的采样;FAISS索引和嵌入编码器的具体配置参数已给出(nomic-embed-text-v1.5,768维,L2距离,k=5),但训练集37,419条日志的完整索引构建过程可能需要额外的计算资源。总体而言,中等难度即可复现,主要瓶颈在于原始数据的获取和GPU资源。
论文图表