2025第八届西湖论剑第2名作品

《**LogFlow基于大模型的双重匹配与多权重调节的智能增压日志解析系统**》

这个是参加 2025 第八届西湖论剑:创新赛获得第二名的作品

(实际上我的算法,无论是时间效率,还是解析精度都远高于第一名。这个是我和第一名交流后确认的:第一名的使用的聚类存在过拟合问题和时间效率的问题。评委想法不得而知…)

项目背景

  • 需求总结:海量日志解析中存在”解析效率”、”解析精度”、”扩展性”的矛盾

  • 解决方法:(以下只说了需要重点关注的优缺点)

    • 1 部署轻量化模型:不断提高单日志的解析效率(训练特定场景下的模型)
      • eg:聚类、频繁模式挖掘
      • 优点:扩展性比较好,可用于异构日志,人工参与很少
      • 缺点:极高的计算开销、难以实现高精度
    • 2 使用高精度规则:代替模型解析日志
      • 优点:速度快、精度高
      • 缺点:规则的维护(日志格式、场景改变,需要大量的人工工作)
        • (当日志格式变动时需要大量的工作)
  • 因此重点需要关注的有三方面问题:

    • 1:计算开销(时空效率)
    • 2:高精度(需求高精度的解析)
    • 3:扩展性(日志格式、场景变动时需要高扩展性)
  • 规则可以满足 12,难以满足扩展性

  • 轻量化模型可以满足 3,但是 12 都不能满足

  • 效果

    • 我提出的方法,可以同时兼顾 123
      • 1 在单日志平均解析时间不超过 130ms 的前提下
      • 2 甚至超越了人工写的规则进行人日志解析的精度
      • 3 具有超高的扩展性
        • 3.1 在格式变动不大的亿级日志场景下,不需要任何改动
        • 3.2 需要扩展到格式完全不一样的异构日志时:只需要少量标注日志数据即可快速收敛
          • 标注数据量: 数百条
          • 收敛时间:12 小时内

规则生成部分

  • 问题 1:大模型生成高精度数据存在精度上限
    • 1.1:多重增压的 prompt 列表
      • 当生成规则无法完全匹配,通过提示词列表逐渐增加模型压力
    • 1.2:优化提示词
      • 针对日志匹配中的疑难问题,增加额外的 prompt 提示
    • 1.3:最优模块算法
      • 保留解析效率最好的规则
  • 问题 2:未登录词与复杂结构日志问题
    • 三源规则:大模型生成动态粗粒度规则、大模型生成动态细粒度规则、大模型生成的静态细粒度规则

规则择优部分

  • 问题 1:面对待匹配日志,如何选择其最佳的规则
    • 1:三维打分的多权重算法(其中用到了本地训练的的小模型处理相关评分)
  • 问题 2:高精度的要求,总存在极端情况,有部分日志格式无法匹配
    • 2:双重匹配算法,结合三源规则

展望

  • 实现日志解析的终极目标,无疑是——异常识别(攻击检测)
    • 对此,我提出了基于本项目的相关算法, 有想法的师傅欢迎交流
  • 问题:目前的系统还存在一个问题
    • 少数日志会存在相同 key,有多个对应 value 的问题
    • 我也提出了相关算法可以解决该问题,只是最近比较忙,没时间实现

联系方式

有疑问,或者需要交流,欢迎邮件:382855266@qq.com.