DeepKE icon indicating copy to clipboard operation
DeepKE copied to clipboard

【可复现】调用OneKE模型库,输出内容不可解析的JSON,内容大量重复。

Open CocoaML opened this issue 1 year ago • 26 comments

Describe the bug

A clear and concise description of what the bug is. 【问题】 调用OneKE模型库,输出内容不可解析的JSON,内容大量重复。

Environment (please complete the following information):

  • OS: [e.g. mac / window]
  • Python Version [e.g. 3.6] 官网:https://modelscope.cn/models/ZJUNLP/OneKE 使用modelscope提供的Notebook快速开发环境。

Screenshots

If applicable, add screenshots to help explain your problem. image

示例代码输出: {"person": ["Robert Allenby", "Allenby", "Miguel Angel Martin"], "organization": [], "else": [], "location": ["Australia", "Spain"]} {"person": ["Robert Allenby", "Allenby", "Miguel Angel Martin"], "organization": [], "else": [], "location": ["Australia", "Spain"]}»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» {"person": ["Robert Allenby", "Miguel Angel Martin"], "organization

【问题】:运行后输出内容有重复,且不是可解析的JSON。 期待反馈。

CocoaML avatar Jun 27 '24 02:06 CocoaML

注意精度,oneke目前训练的精度是bf16,如果使用fp16会存在问题

guihonghao avatar Jun 27 '24 07:06 guihonghao

注意精度,oneke目前训练的精度是bf16,如果使用fp16会存在问题

您好,OneKE: https://modelscope.cn/models/ZJUNLP/OneKE 使用示例代码,应该如何调整呢?

示例代码中如下:

# 4bit量化OneKE
quantization_config=BitsAndBytesConfig(     
    load_in_4bit=True,
    llm_int8_threshold=6.0,
    llm_int8_has_fp16_weight=False,
    bnb_4bit_compute_dtype=torch.bfloat16,
    bnb_4bit_use_double_quant=True,
    bnb_4bit_quant_type="nf4",
)

model = AutoModelForCausalLM.from_pretrained(
    model_path,
    config=config,
    device_map="auto",  
    quantization_config=quantization_config,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
)
model.eval()

应该如何修改呢? 期待您反馈。

CocoaML avatar Jun 27 '24 08:06 CocoaML

此处使用的就是bf16精度。注意到你的输出日志中存在tensorflow相关的内容,这是怎么回事?我们的模型使用pytorch加载的

guihonghao avatar Jun 27 '24 08:06 guihonghao

此处使用的就是bf16精度。注意到你的输出日志中存在tensorflow相关的内容,这是怎么回事?我们的模型使用pytorch加载的

我使用的OneKE:https://modelscope.cn/models/ZJUNLP/OneKE, 在modelscope社区使用【Notebook快速开发】集成实现的。 运行代码是:modelscope 提供的【快速运行】的代码。 运行环境具体来说是: 运行环境

【问题】:运行后输出内容有重复,且不是可解析的JSON。 期待您反馈。

CocoaML avatar Jun 27 '24 09:06 CocoaML

请查看平台提供机器是否支持bf16精度运算。大部分上图中的离谱的输出结果是由于机器不支持bf16精度导致的。

guihonghao avatar Jun 29 '24 12:06 guihonghao

建议您换台机器再重试下

zxlzr avatar Jun 30 '24 02:06 zxlzr

是否支持bf16精度运算

您好,请问如何检查机器是否支持bf16精度运算呢?有测试代码吗?期待您回复。

请查看平台提供机器是否支持bf16精度运算。大部分上图中的离谱的输出结果是由于机器不支持bf16精度导致的。

感谢您反馈。我继续尝试了一下,发现:支持bf16精度运算。问题依然存在,具体描述及截图为:

官网:https://modelscope.cn/models/ZJUNLP/OneKE 使用modelscope提供的Notebook快速开发环境。

根据您提供的信息: 我对bf16进行了检查。截图如下: 环境检查

import torch
torch.finfo(torch.bfloat16)
输出:
finfo(resolution=0.01, min=-3.38953e+38, max=3.38953e+38, eps=0.0078125, smallest_normal=1.17549e-38, tiny=1.17549e-38, dtype=bfloat16)

import transformers
transformers.utils.import_utils.is_torch_bf16_gpu_available()
输出:
True

import torch
torch.finfo(torch.float32)
输出:
finfo(resolution=1e-06, min=-3.40282e+38, max=3.40282e+38, eps=1.19209e-07, smallest_normal=1.17549e-38, tiny=1.17549e-38, dtype=float32)

import torch
print(torch.cuda.is_available())
输出:
True

根据以上环境检查,平台提供的机器是支持cuda环境,支持bf16精度运算。

示例代码输出:

{"person": ["Robert Allenby", "Allenby", "Miguel Angel Martin"], "organization": [], "else": [], "location": ["Australia", "Spain"]}  {"person": ["Robert Allenby", "Allenby", "Miguel Angel Martin"], "organization": [], "else": [], "location": ["Australia", "Spain"]}»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» {"person": ["Robert Allenby", "Miguel Angel Martin"], "organization

【问题】:输出内容不可解析的JSON,内容大量重复。 期待您回复。

CocoaML avatar Jul 01 '24 02:07 CocoaML

建议您换台机器再重试下

感谢您的反馈,我使用了modelscope提供的平台,也使用其他机器测试了一下,还是有问题。 期待您回复。

官网:https://modelscope.cn/models/ZJUNLP/OneKE 使用modelscope提供的Notebook快速开发环境。

CocoaML avatar Jul 01 '24 02:07 CocoaML

你试试其他输入文本是否也存在这种问题,还是说这个例子才会。

guihonghao avatar Jul 01 '24 11:07 guihonghao

你试试其他输入文本是否也存在这种问题,还是说这个例子才会。

很奇怪,目前测试来看,都有这样的问题。您可以使用以下环境测试以下:

官网:https://modelscope.cn/models/ZJUNLP/OneKE 使用modelscope提供的Notebook快速开发环境。

期待您的回复。

CocoaML avatar Jul 02 '24 02:07 CocoaML

目前来看 modelscope 上部署的模型均会出现这一问题,我们在本地运行没有出现这种问题。

guihonghao avatar Jul 02 '24 03:07 guihonghao

bf16

你好,我在本地使用4090D,cuda 12.1来运行也有类似的情况,运行一批文本,其中有几十个文本也会出现输出的json无法解析的问题,但有问题的这些输入文本,我时候单独输入,又能正常输出json,比较神奇,有没有可能是硬件底层触发了一些bug呢?

ecJon avatar Jul 28 '24 14:07 ecJon

环境: python:3.11.9 torch:2.4.0 cuda:11.8

image

selfcs avatar Jul 29 '24 07:07 selfcs

请问一下,你知道怎么使用vscode调试这个代码吗

1223243 avatar Jul 30 '24 05:07 1223243

请问一下,你知道怎么使用vscode调试这个代码吗

我这是内容重复问题,没解决

selfcs avatar Jul 30 '24 06:07 selfcs

请问一下,你知道怎么使用vscode调试这个代码吗

我这是内容重复问题,没解决

噢噢,呢你会对这个代码进行debug吗,想请教一下

1223243 avatar Jul 30 '24 06:07 1223243

同样的问题,插个眼。继续关注

使用oneke-llm版本推理,也有一样的问题,会返回许多不相关的内容,看上去像是停止符不对,输出停不下来。


2024-08-08 追评 使用OneKE提供的训练数据,自己训练了一个14B小模型,调用示例代码,可正常返回。没有重复回答以及停不下来的问题。

jeffRao avatar Aug 01 '24 07:08 jeffRao

同样的问题,插个眼。继续关注

使用oneke-llm版本推理,也有一样的问题,会返回许多不相关的内容,看上去像是停止符不对,输出停不下来。 您好,我想请教一下,您能使用vscode调试这个代码吗

1223243 avatar Aug 02 '24 03:08 1223243

bf16

你好,我在本地使用4090D,cuda 12.1来运行也有类似的情况,运行一批文本,其中有几十个文本也会出现输出的json无法解析的问题,但有问题的这些输入文本,我时候单独输入,又能正常输出json,比较神奇,有没有可能是硬件底层触发了一些bug呢?

批量推理,正式推理请参考 InstructKGC/6.1.2IE专用模型

guihonghao avatar Aug 02 '24 04:08 guihonghao

批量推理,正式推理请参考 InstructKGC/6.1.2IE专用模型

批量推理,正式推理请参考 InstructKGC/6.1.2IE专用模型

guihonghao avatar Aug 02 '24 04:08 guihonghao

同样的问题,插个眼。继续关注

使用oneke-llm版本推理,也有一样的问题,会返回许多不相关的内容,看上去像是停止符不对,输出停不下来。

批量推理,正式推理请参考 InstructKGC/6.1.2IE专用模型

guihonghao avatar Aug 02 '24 04:08 guihonghao

同样的问题,插个眼。继续关注 使用oneke-llm版本推理,也有一样的问题,会返回许多不相关的内容,看上去像是停止符不对,输出停不下来。 您好,我想请教一下,您能使用vscode调试这个代码吗

批量推理,正式推理请参考 InstructKGC/6.1.2IE专用模型

guihonghao avatar Aug 02 '24 04:08 guihonghao

同样的问题,插个眼。继续关注 使用oneke-llm版本推理,也有一样的问题,会返回许多不相关的内容,看上去像是停止符不对,输出停不下来。 您好,我想请教一下,您能使用vscode调试这个代码吗

批量推理,正式推理请参考 InstructKGC/6.1.2IE专用模型

你好,我想请教一下,为啥我使用vscode进行debug,无效呢

1223243 avatar Aug 02 '24 04:08 1223243

你好,我执行 [example/llm/OneKE.md 快速运行] 的示例代码,同样出现了类似的问题

image

模型下载自:https://huggingface.co/zjunlp/OneKE/tree/main 显卡:单张 3090

环境信息 (安装 OneKE.md 里说明的环境安装的):

python 3.9.19 torch 2.0.0 cuda-toolkit 11.7.1

imxuedi avatar Oct 01 '24 02:10 imxuedi

同样的问题,插个眼。继续关注

使用oneke-llm版本推理,也有一样的问题,会返回许多不相关的内容,看上去像是停止符不对,输出停不下来。

2024-08-08 追评 使用OneKE提供的训练数据,自己训练了一个14B小模型,调用示例代码,可正常返回。没有重复回答以及停不下来的问题。

可以具体分享一下训练环境嘛

imxuedi avatar Oct 01 '24 03:10 imxuedi

同样的问题,插个眼。继续关注 使用oneke-llm版本推理,也有一样的问题,会返回许多不相关的内容,看上去像是停止符不对,输出停不下来。 2024-08-08 追评 使用OneKE提供的训练数据,自己训练了一个14B小模型,调用示例代码,可正常返回。没有重复回答以及停不下来的问题。

可以具体分享一下训练环境嘛

抱歉各位,我们近期也在优化模型和代码,后续会有更新

zxlzr avatar Oct 01 '24 03:10 zxlzr

大家好,我们近期将OneKE从模型扩展为智能体系统并开源到https://github.com/zjunlp/OneKE 欢迎大家使用和提建议

OneKE系统支持直接基于各类开源模型如Qwen、DeepSeek进行信息抽取(无需微调),支持从pdf、doc等进行基于schema(可自定义)进行抽取

如需要进行指令微调定制领域抽取模型可使用DeepKE-LLM

zxlzr avatar Feb 13 '25 11:02 zxlzr