Distilling Desired Comments for Enhanced Code Review with Large Language Models

本文是LLM系列文章,针对《Distilling Desired Comments for Enhanced Code Review with Large Language Models》的翻译。

提取所需注释,以增强大型语言模型的代码审查

摘要

由于大型语言模型(LLMs)在代码理解方面的熟练程度,人们对使用LLMs进行代码审查的兴趣日益浓厚。大多数审查场景的主要目标是生成所需的审查意见(DRC),明确指出问题以触发代码修复。然而,由于幻觉等各种原因,现有的基于LLM的解决方案在生成DRC方面并不那么有效。为了提高他们的代码审查能力,他们需要使用一个定制的数据集进行微调,该数据集最好充满DRC。然而,这样的数据集尚不可用,而手动注释DRC太费力,不切实际。在本文中,我们提出了一种数据集蒸馏方法Desiview,该方法可以通过从代码审查数据集中识别DRC来自动构建蒸馏数据集。在CodeReviewer数据集上进行的实验显示,Desiview在精确度、召回率、准确率和F1方面分别达到了88.93%、80.37%、86.67%和84.44%,超过了最先进的方法。为了验证这种提取的数据集对增强LLM代码审查能力的影响,我们首先对最新的LLaMA系列(即LLaMA 3和LLaMA 3.1)进行了微调,以构建模型Desiview4FT。然后,我们通过将那些被确定为非DRC的审查意见反馈给LLM,从而产生模型Desiview4FA,通过KTO对齐来增强模型训练效果。验证结果表明,Desiview4FA略优于Desiview4FT,而这两个模型在生成DRC方面都比基本模型有了显著改善。人工评估证实,这两种模型都能更准确地识别问题,并倾向于生成比基本LLM更好地描述代码中包含的问题的审查意见。

1 引言

2 相关工作

3 方法

4 评估<

Distilling Aggregated Knowledge for Weakly - Supervised Video Anomaly Detection”聚焦于弱监督视频异常检测领域。在弱监督的场景下,训练数据仅带有粗略的标签信息,不像强监督那样具有精确的逐帧标注,这给视频异常检测带来了挑战。 该研究提出的方法核心在于知识蒸馏和聚合。知识蒸馏是一种将复杂模型(教师模型)的知识传递给简单模型(学生模型)的技术,通过这种方式可以让学生模型学习到教师模型所蕴含的更丰富的信息。在视频异常检测中,利用知识蒸馏可以帮助模型更好地捕捉视频中的异常模式。 聚合知识的过程则是将多个不同层面或者不同视角的信息进行整合。在视频数据中,可能包括不同帧之间的时序信息、不同特征维度的空间信息等。通过聚合这些信息,能够让模型从更全面的角度去判断视频是否存在异常。 例如,在实际应用中,对于监控视频里的异常行为检测,可能只有少量的视频被标注为异常,但不清楚具体哪一帧或者哪一段是异常的。利用该研究的方法,模型可以通过知识蒸馏和聚合,从有限的标注信息中学习到异常行为的特征,从而对新的未标注视频进行异常检测。 ```python # 这里可以简单示意一个可能的代码思路,仅为概念示意 # 假设定义一个简单的学生模型和教师模型 import torch import torch.nn as nn # 简单定义教师模型 class TeacherModel(nn.Module): def __init__(self): super(TeacherModel, self).__init__() # 这里简单用一个线性层示意 self.fc = nn.Linear(10, 2) def forward(self, x): return self.fc(x) # 简单定义学生模型 class StudentModel(nn.Module): def __init__(self): super(StudentModel, self).__init__() # 简单用一个线性层示意 self.fc = nn.Linear(10, 2) def forward(self, x): return self.fc(x) teacher = TeacherModel() student = StudentModel() # 模拟输入数据 input_data = torch.randn(1, 10) # 教师模型输出 teacher_output = teacher(input_data) # 这里可以添加知识蒸馏的损失函数等后续处理步骤 ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值