先决条件
- 我正在运行最新的代码。如果可能的话,请提及版本。
- 我仔细遵循了 README.md 。
- 我使用与我的问题相关的关键词进行搜索,以确保我创建的新问题尚未打开(或已关闭)。
- 我审阅了 Discussions ,并有一个新且有用的改进要分享。
功能描述
希望 llama.cpp 可以支持多种 PPL 计算方法。
动机
Llama.cpp 是一个优秀的项目,可用于各种模型的边缘部署。然而,在部署某些论文中提出的定量模型时,由于 llama.cpp 采用的 PPL 计算方法与论文中提供的代码所采用的计算方法不同,因此很难评估部署是否成功。因此,希望 llama.cpp 可以支持多种 PPL 计算方法,并适应各种论文代码中的 PPLs。
可能的实现
- 无响应*
2条答案
按热度按时间6gpjuf901#
即使精确复制了论文/其他项目中使用的PPL计算方法,数值结果也不会完全相同,因为模型评估本身是不同的。当前的结果是否等同于在llama.cpp中提供的不确定性范围内发表的论文中的那些结果?
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计算就足够获得相似的结果,无需完全一致的计算。