llama.cpp 功能请求:多种PPL计算方法

o2g1uqev  于 2个月前  发布在  其他
关注(0)|答案(2)|浏览(31)

先决条件

  • 我正在运行最新的代码。如果可能的话,请提及版本。
  • 我仔细遵循了 README.md
  • 我使用与我的问题相关的关键词进行搜索,以确保我创建的新问题尚未打开(或已关闭)。
  • 我审阅了 Discussions ,并有一个新且有用的改进要分享。

功能描述

希望 llama.cpp 可以支持多种 PPL 计算方法。

动机

Llama.cpp 是一个优秀的项目,可用于各种模型的边缘部署。然而,在部署某些论文中提出的定量模型时,由于 llama.cpp 采用的 PPL 计算方法与论文中提供的代码所采用的计算方法不同,因此很难评估部署是否成功。因此,希望 llama.cpp 可以支持多种 PPL 计算方法,并适应各种论文代码中的 PPLs。

可能的实现

  • 无响应*
6gpjuf90

6gpjuf901#

即使精确复制了论文/其他项目中使用的PPL计算方法,数值结果也不会完全相同,因为模型评估本身是不同的。当前的结果是否等同于在llama.cpp中提供的不确定性范围内发表的论文中的那些结果?

eh57zj3b

eh57zj3b2#

即使精确复制论文/其他项目中使用的PPL计算方法,数值结果也不会完全相同,因为模型评估本身是不同的。当前的结果是否等同于在llama.cpp提供的不确定性范围内发表的论文中的结果?

PPL的计算似乎涉及到将输入数据集切分成多个块并进行推理,并且有许多不同的方法来切分和处理每个块。例如,在omniquant(https://arxiv.org/abs/2308.13137, https://github.com/OpenGVLab/OmniQuant)作者提供的论文代码中,从头开始对每个块进行模型推理,但在llama.cpp中,从每个块的中间进行模型推理。因此,由llama.cpp测量的PPL为5.08,而由omniquant测量的PPL为5.47。您是否考虑在计算PPL时添加一些参数,以便用户可以轻松修改PPL计算方法以适应不同的量化程序并验证部署的正确性。人们认为,只需要相似的PPL计算就足够获得相似的结果,无需完全一致的计算。

相关问题