deepseek-ai / DeepSeek-Coder

DeepSeek Coder: Let the Code Write Itself
https://coder.deepseek.com/
MIT License
6.61k stars 461 forks source link

使用fim后human eval分数很低? #84

Open nullxjx opened 9 months ago

nullxjx commented 9 months ago

不使用fim,跑出来的分数跟官方给的比较接近,但是使用fim后分数很低,低了8个点,以下是我使用的fim格式,请问有啥问题吗?

def get_full_prompt(model_name, prompt_prefix, prompt, suffix="\n"):
    """
    get_full_prompt 通过匹配模型名,使用不同的FIM格式来准备prompt
    """
    output = prompt
    if "star-coder" in model_name.lower():
        ...
    elif "deep-seek" in model_name.lower() or "deepseek" in model_name.lower():
        template = Template("<|fim▁begin|>${preprefix}${prefix}<|fim▁hole|>${suffix}<|fim▁end|>")
        output = template.substitute(preprefix=prompt_prefix, prefix=prompt, suffix=suffix)
    else:
        if prompt_prefix:
            output = prompt_prefix + output
    return output
guoday commented 8 months ago

看起来格式有点问题,请看这个readme https://github.com/deepseek-ai/DeepSeek-Coder#2-code-insertion

yiyepiaoling0715 commented 7 months ago

看起来格式有点问题,请看这个readme https://github.com/deepseek-ai/DeepSeek-Coder#2-code-insertion

看起来跟官方文档是一致的,他这种 fim格式问题出在哪里?

guoday commented 7 months ago

"<|fim▁begin|>${preprefix}${prefix}<|fim▁hole|>${suffix}<|fim▁end|>"

"<|fim▁begin|>${prefix}<|fim▁hole|>${suffix}<|fim▁end|>"

看起来格式有点问题,请看这个readme https://github.com/deepseek-ai/DeepSeek-Coder#2-code-insertion

看起来跟官方文档是一致的,他这种 fim格式问题出在哪里?

"<|fim▁begin|>${prefix}<|fim▁hole|>${suffix}<|fim▁end|>" 多了${preprefix}

yiyepiaoling0715 commented 7 months ago

ˇ

低了8个点,

@guoday 这个会有这么大影响么? 模型应该有足够的泛化能力吧