ymcui/Chinese-LLaMA-Alpaca-2

什么导致chinese-alpaca-2-7b推理存在大量重复生成情况 呢

fxb392 opened this issue · 6 comments

提交前必须检查以下项目

  • 请确保使用的是仓库最新代码(git pull),一些问题已被解决和修复。
  • 我已阅读项目文档FAQ章节并且已在Issue中对问题进行了搜索,没有找到相似问题和解决方案。
  • 第三方插件问题:例如llama.cppLangChaintext-generation-webui等,同时建议到对应的项目中查找解决方案。

问题类型

None

基础模型

Chinese-Alpaca-2 (7B/13B)

操作系统

Linux

详细描述问题

# 请在此处粘贴
 伦敦地铁早高峰时段的拥堵情况?

伦敦地铁早高峰时段的拥堵情况? 伦敦地铁早高峰时段的拥堵情况是:
伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁早高峰时段的拥堵情况是:伦敦地铁
======================================
25 神圣的凯撒面对了什么样的危机?

神圣的凯撒面对了什么样的危机?凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的危机。凯撒在公元前48年的罗马共和国中,面临着一个巨大的

依赖情况(代码类问题务必提供)

accelerate                         0.29.3
alabaster                          0.7.12
anaconda-client                    1.9.0
anaconda-project                   0.10.1
anyio                              2.2.0
appdirs                            1.4.4
argh                               0.26.2
argon2-cffi                        20.1.0
arrow                              0.13.1
asn1crypto                         1.4.0
astroid                            2.6.6
astropy                            4.3.1
async-generator                    1.10
atomicwrites                       1.4.0
attrs                              21.2.0
autopep8                           1.5.7
Babel                              2.9.1
backcall                           0.2.0
backports.functools-lru-cache      1.6.4
backports.shutil-get-terminal-size 1.0.0
backports.tempfile                 1.0
backports.weakref                  1.0.post1
beautifulsoup4                     4.10.0
binaryornot                        0.4.4
bitarray                           2.3.0
bkcharts                           0.2
black                              19.10b0
bleach                             4.0.0
bokeh                              2.4.1
boto                               2.49.0
Bottleneck                         1.3.2
brotlipy                           0.7.0
cached-property                    1.5.2
certifi                            2021.10.8
cffi                               1.14.6
chardet                            4.0.0
charset-normalizer                 2.0.4
click                              8.0.3
cloudpickle                        2.0.0
clyent                             1.2.2
colorama                           0.4.4
conda-content-trust                0+unknown
conda-pack                         0.6.0
conda-package-handling             1.7.3
conda-repo-cli                     1.0.4
conda-verify                       3.4.2
contextlib2                        0.6.0.post1
cookiecutter                       1.7.2
cryptography                       3.4.8
cycler                             0.10.0
Cython                             0.29.24
cytoolz                            0.11.0
daal4py                            2021.3.0
dask                               2021.10.0
debugpy                            1.4.1
decorator                          5.1.0
defusedxml                         0.7.1
diff-match-patch                   20200713
distributed                        2021.10.0
docutils                           0.17.1
einops                             0.8.0
entrypoints                        0.3
et-xmlfile                         1.1.0
fastcache                          1.1.0
filelock                           3.3.1
flake8                             3.9.2
Flask                              1.1.2
fonttools                          4.25.0
fsspec                             2024.3.1
future                             0.18.2
gevent                             21.8.0
glob2                              0.7
gmpy2                              2.0.8
greenlet                           1.1.1
h5py                               3.3.0
HeapDict                           1.0.1
html5lib                           1.1
huggingface-hub                    0.22.2
idna                               3.2
imagecodecs                        2021.8.26
imageio                            2.9.0
imagesize                          1.2.0
importlib-metadata                 4.8.1
inflection                         0.5.1
iniconfig                          1.1.1
intervaltree                       3.1.0
ipykernel                          6.4.1
ipython                            7.29.0
ipython-genutils                   0.2.0
ipywidgets                         7.6.5
isort                              5.9.3
itsdangerous                       2.0.1
jdcal                              1.4.1
jedi                               0.18.0
jeepney                            0.7.1
Jinja2                             3.0.0
jinja2-time                        0.2.0
joblib                             1.1.0
json5                              0.9.6
jsonschema                         3.2.0
jupyter                            1.0.0
jupyter-client                     6.1.12
jupyter-console                    6.4.0
jupyter-core                       4.8.1
jupyter-server                     1.4.1
jupyterlab                         3.2.1
jupyterlab-pygments                0.1.2
jupyterlab-server                  2.8.2
jupyterlab-widgets                 1.0.0
keyring                            23.1.0
kiwisolver                         1.3.1
lazy-object-proxy                  1.6.0
libarchive-c                       2.9
llvmlite                           0.37.0
locket                             0.2.1
lxml                               4.6.3
MarkupSafe                         2.1.5
matplotlib                         3.4.3
matplotlib-inline                  0.1.2
mccabe                             0.6.1
mistune                            0.8.4
mkl-fft                            1.3.1
mkl-random                         1.2.2
mkl-service                        2.4.0
mock                               4.0.3
more-itertools                     8.10.0
mpmath                             1.2.1
msgpack                            1.0.2
multipledispatch                   0.6.0
munkres                            1.1.4
mypy-extensions                    0.4.3
navigator-updater                  0.2.1
nbclassic                          0.2.6
nbclient                           0.5.3
nbconvert                          6.1.0
nbformat                           5.1.3
nest-asyncio                       1.5.1
networkx                           2.6.3
nltk                               3.6.5
nose                               1.3.7
notebook                           6.4.5
numba                              0.54.1
numexpr                            2.7.3
numpy                              1.23.1
numpydoc                           1.1.0
olefile                            0.46
openpyxl                           3.0.9
packaging                          21.0
pandas                             1.3.4
pandocfilters                      1.4.3
parso                              0.8.2
partd                              1.2.0
path                               16.0.0
pathlib2                           2.3.6
pathspec                           0.7.0
patsy                              0.5.2
peft                               0.10.0
pep8                               1.7.1
pexpect                            4.8.0
pickleshare                        0.7.5
Pillow                             8.4.0
pip                                21.2.4
pkginfo                            1.7.1
pluggy                             0.13.1
ply                                3.11
poyo                               0.5.0
prometheus-client                  0.11.0
prompt-toolkit                     3.0.20
protobuf                           5.26.1
psutil                             5.8.0
ptyprocess                         0.7.0
py                                 1.10.0
pycodestyle                        2.7.0
pycosat                            0.6.3
pycparser                          2.20
pycurl                             7.44.1
pydocstyle                         6.1.1
pyerfa                             2.0.0
pyflakes                           2.3.1
Pygments                           2.10.0
PyJWT                              2.1.0
pylint                             2.9.6
pyls-spyder                        0.4.0
pyodbc                             4.0.0-unsupported
pyOpenSSL                          21.0.0
pyparsing                          3.0.4
pyrsistent                         0.18.0
PySocks                            1.7.1
pytest                             6.2.4
python-dateutil                    2.8.2
python-lsp-black                   1.0.0
python-lsp-jsonrpc                 1.0.0
python-lsp-server                  1.2.4
python-slugify                     5.0.2
pytz                               2021.3
PyWavelets                         1.1.1
pyxdg                              0.27
PyYAML                             6.0
pyzmq                              22.2.1
QDarkStyle                         3.0.2
qstylizer                          0.1.10
QtAwesome                          1.0.2
qtconsole                          5.1.1
QtPy                               1.10.0
regex                              2021.8.3
requests                           2.26.0
rope                               0.19.0
Rtree                              0.9.7
ruamel-yaml-conda                  0.15.100
safetensors                        0.4.3
scikit-image                       0.18.3
scikit-learn                       0.24.2
scikit-learn-intelex               2021.20210714.170444
scipy                              1.7.1
seaborn                            0.11.2
SecretStorage                      3.3.1
Send2Trash                         1.8.0
sentencepiece                      0.2.0
setuptools                         58.0.4
simplegeneric                      0.8.1
singledispatch                     3.7.0
sip                                4.19.13
six                                1.16.0
sniffio                            1.2.0
snowballstemmer                    2.1.0
sortedcollections                  2.1.0
sortedcontainers                   2.4.0
soupsieve                          2.2.1
Sphinx                             4.2.0
sphinxcontrib-applehelp            1.0.2
sphinxcontrib-devhelp              1.0.2
sphinxcontrib-htmlhelp             2.0.0
sphinxcontrib-jsmath               1.0.1
sphinxcontrib-qthelp               1.0.3
sphinxcontrib-serializinghtml      1.1.5
sphinxcontrib-websupport           1.2.4
spyder                             5.1.5
spyder-kernels                     2.1.3
SQLAlchemy                         1.4.22
statsmodels                        0.12.2
sympy                              1.9
tables                             3.6.1
TBB                                0.2
tblib                              1.7.0
terminado                          0.9.4
testpath                           0.5.0
text-unidecode                     1.3
textdistance                       4.2.1
threadpoolctl                      2.2.0
three-merge                        0.1.1
tifffile                           2021.7.2
tinycss                            0.4
tokenizers                         0.19.1
toml                               0.10.2
toolz                              0.11.1
torch                              1.13.1+git7d2dd01.abi1.dtk2310
torchvision                        0.14.1+gitf78f29f.abi1.dtk2310.torch1.13
tornado                            6.1
tqdm                               4.62.3
traitlets                          5.1.0
transformers                       4.40.1
typed-ast                          1.4.3
typing-extensions                  3.10.0.2
ujson                              4.0.2
unicodecsv                         0.14.1
Unidecode                          1.2.0
urllib3                            1.26.7
watchdog                           2.1.3
wcwidth                            0.2.5
webencodings                       0.5.1
Werkzeug                           2.0.2
wheel                              0.37.0
whichcraft                         0.6.1
widgetsnbextension                 3.5.1
wrapt                              1.12.1
wurlitzer                          2.1.1
xlrd                               2.0.1
XlsxWriter                         3.0.1
xlwt                               1.3.0
xmltodict                          0.12.0
yapf                               0.31.0
zict                               2.0.0
zipp                               3.6.0
zope.event                         4.5.0
zope.interface                     5.4.0


运行日志或截图

# 请在此处粘贴运行日志(请粘贴在本代码块里)

先把问题背景描述清楚,都不知道你用什么工具做的推理,运行的命令是什么。

model_name_or_path="./chinese-alpaca-2-7b/"
test_data_path="./test_datas2.jsonl"
inference_datas="./output/test_data_chinese-alpaca-2_base.xlsx"
temperature=None
top_p=None
do_sample=False
use_adapter=False
def init_model(use_adapter=use_adapter):
print("init model ...")
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, device_map="auto", trust_remote_code=True, torch_dtype=torch.float16)
model = model.eval()

if use_adapter:
    model=PeftModel.from_pretrained(model,adapter_name_or_path)
return model, tokenizer

def get_test_data(file_path):
datas_list=[]
with open(file_path,'r',encoding='utf-8') as f:
for row in f:
row_json=json.loads(row)
datas_list.append(row_json['instruction'])

return datas_list

def inference():
model, tokenizer = init_model()
print(model.device)
print("data_path:",test_data_path)
datas_test=get_test_data(test_data_path)
datas_test_response=[]
for i,prompt in enumerate(datas_test):
print(i,prompt)
#----------------AI-ModelScope/chinese-alpaca-2-7b start---------------------
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)

    # outputs = model.generate(**inputs, max_new_tokens=50)
    outputs = model.generate(**inputs,max_new_tokens=1024)
    response=tokenizer.decode(outputs[0], skip_special_tokens=True)
    print()
    #------------------AI-ModelScope/chinese-alpaca-2-7b end---------------------
    print(response)

pd.DataFrame(datas_test_response).to_excel(inference_datas)`

上面是有关的代码。
在曙光DCU上做的推理,使用代码参考了modelscope仓库中的示例(https://www.modelscope.cn/models/AI-ModelScope/chinese-alpaca-2-7b/summary)
改动了model.generate(**inputs,max_new_tokens=1024)中的max_new_tokens,从50改为了1024.
运行命令直接 写了main函数 python 文件名.py
抱歉,上面代码我调不好格式。

你指向的:https://www.modelscope.cn/models/AI-ModelScope/chinese-alpaca-2-7b/summary 并不是我们的官方目录。
我们自己的inference脚本在,正常推理一般不会出现你列出的问题:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/blob/main/scripts/inference/inference_hf.py
说明在:https://github.com/ymcui/Chinese-LLaMA-Alpaca-2/wiki/inference_with_transformers_zh

至于是不是DCU的问题,需要你们自己debug了。

ok,感谢您!

我推测此问题出在你使用的是alpaca模型,所以在推理前缺少prompt模板
可以尝试在prompt之前加上generate_prompt合并模板

def generate_prompt(instruction, system_prompt=DEFAULT_SYSTEM_PROMPT):
    return TEMPLATE.format_map({'instruction': instruction,'system_prompt': system_prompt})
input = generate_prompt(instruction=prompt)

确实是这个原因,文档中也有说明,感谢!
--with_prompt:是否将输入与prompt模版进行合并。如果加载Alpaca模型,请务必启用此选项!