Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
CocoaML opened this issue Jun 27, 2024 · 26 comments
Labels
bug Something isn't working

Comments

@CocoaML
Copy link

CocoaML commented Jun 27, 2024

Describe the bug

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

Environment (please complete the following information):

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 CocoaML added the bug Something isn't working label Jun 27, 2024
@guihonghao
Copy link
Contributor

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

@CocoaML
Copy link
Author

CocoaML commented Jun 27, 2024

注意精度,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()

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

@guihonghao
Copy link
Contributor

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

@CocoaML
Copy link
Author

CocoaML commented Jun 27, 2024

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

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

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

@guihonghao
Copy link
Contributor

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

@zxlzr
Copy link
Contributor

zxlzr commented Jun 30, 2024

建议您换台机器再重试下

@CocoaML
Copy link
Author

CocoaML commented Jul 1, 2024

是否支持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
Copy link
Author

CocoaML commented Jul 1, 2024

建议您换台机器再重试下

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

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

@guihonghao
Copy link
Contributor

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

@CocoaML
Copy link
Author

CocoaML commented Jul 2, 2024

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

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

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

期待您的回复。

@guihonghao
Copy link
Contributor

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

@ecJon
Copy link

ecJon commented Jul 28, 2024

bf16

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

@selfcs
Copy link

selfcs commented Jul 29, 2024

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

image

@1223243
Copy link

1223243 commented Jul 30, 2024

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

@selfcs
Copy link

selfcs commented Jul 30, 2024

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

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

@1223243
Copy link

1223243 commented Jul 30, 2024

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

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

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

@jeffRao
Copy link

jeffRao commented Aug 1, 2024

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

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


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

@1223243
Copy link

1223243 commented Aug 2, 2024

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

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

@guihonghao
Copy link
Contributor

bf16

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

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

@guihonghao
Copy link
Contributor

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

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

@guihonghao
Copy link
Contributor

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

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

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

@guihonghao
Copy link
Contributor

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

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

@1223243
Copy link

1223243 commented Aug 2, 2024

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

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

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

@imxuedi
Copy link

imxuedi commented Oct 1, 2024

你好,我执行 [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
Copy link

imxuedi commented Oct 1, 2024

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

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

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

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

@zxlzr
Copy link
Contributor

zxlzr commented Oct 1, 2024

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

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

8 participants