Skip to content

增加MaxTokens设置、退化检测,重构#25

Merged
fkiliver merged 15 commits intofkiliver:masterfrom
Tabing010102:master
Nov 13, 2024
Merged

增加MaxTokens设置、退化检测,重构#25
fkiliver merged 15 commits intofkiliver:masterfrom
Tabing010102:master

Conversation

@Tabing010102
Copy link
Copy Markdown
Collaborator

@Tabing010102 Tabing010102 commented Nov 9, 2024

变更

  • 根据AutoTranslator推荐方式重新创建项目,使项目文件和版本管理更简洁
  • 使用JsonHelper反转义JSON String,SimpleJSON不会自动反转义字符串,替换之前的手动还原\r\n\t\\n -> \n
  • 去除Sakura 0.8和32B的支持,将0.9改为chat completions格式
  • 修改了字典设置,合并为DictMode
  • 添加动态MaxTokens设置;动态时设置最小max_tokens10MIN_MAX_TOKENS),减少人名翻译时错误检测退化的几率
  • 添加退化检测,退化时将frequency_penalty每次增加0.2重试,重试次数(DEGENERATION_MAX_RETRIES,现在为1)用完则使用最后一次结果
  • 更新版本号为0.3.7

@fkiliver
Copy link
Copy Markdown
Owner

fkiliver commented Nov 9, 2024

我在rpgmaker翻译器项目上更新了退化检测,可以参考一下:收到的响应内completion_tokens如果等于发送时的max_tokens,说明模型发生了退化,将frequency_penalty参数临时修改为0.8进行重试。

@Tabing010102
Copy link
Copy Markdown
Collaborator Author

  • 我看了下Luna的退化检测,他们是重试时每次frequency_penalty增加0.1,重试3次还是退化就认定为失败,所以这部分看准备用Luna的逻辑,还是直接把frequency_penalty改成0.8重试
  • 需要增加max_tokens设置,目前给的512过高,一般显卡要生成很久才能到512 tokens,目前我在自用的rpg翻译脚本上设置的max_tokens是日文字数*1.25,这个动态max_tokens也准备给一个选项开关
  • 还准备顺带修改一下代码结构

@fkiliver
Copy link
Copy Markdown
Owner

  • 我看了下Luna的退化检测,他们是重试时每次frequency_penalty增加0.1,重试3次还是退化就认定为失败,所以这部分看准备用Luna的逻辑,还是直接把frequency_penalty改成0.8重试
  • 需要增加max_tokens设置,目前给的512过高,一般显卡要生成很久才能到512 tokens,目前我在自用的rpg翻译脚本上设置的max_tokens是日文字数*1.25,这个动态max_tokens也准备给一个选项开关
  • 还准备顺带修改一下代码结构

1.可以找一堆容易退化的句子试一下。我rpg那边测0.8,同一个句子还是有小概率退化。
2.这个逻辑好,我研究一下给rpg翻译器加上

@Tabing010102 Tabing010102 marked this pull request as ready for review November 13, 2024 06:25
@Tabing010102
Copy link
Copy Markdown
Collaborator Author

Tabing010102 commented Nov 13, 2024

SakuraLLM仓库提到退化时

如出现退化(退化的例子可参见#35#36),可增加frequency_penalty参数,并设置为大于0的某值,一般设置0.1~0.2即可。

GalTransl提到

v2.5模型兼容sakura 0.10的prompt,推荐温度0.2;Top P 0.8;重复惩罚+0.1

暂时设置为重试1次,每次重试将frequency_penalty增加0.2

动态MaxTokens倍数默认值给了1.5,相对比较保守

@Tabing010102 Tabing010102 changed the title 使用JsonHelper反转义JSON返回结果 增加MaxTokens设置、退化检测,重构 Nov 13, 2024
@fkiliver fkiliver merged commit e8c2a02 into fkiliver:master Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants