Bug描述
在使用ludwig serve运行模型时,遇到了一个问题。当尝试使用curl向API发送请求时,返回了以下错误信息:
{"error":"Unexpected Error: could not run inference on model"}
同时,serve的日志显示:
INFO: Failed to run predict: Out of range float values are not JSON compliant
重现步骤
- 使用这个协作项目进行微调 https://colab.research.google.com/drive/1r4oSEwRJpYKBPM0M0RSh0pBEYK_gBKbe
- 将微调后的模型上传到AWS EC2 g4dn.xlarge示例上,使用T4示例
- 安装Python 3.10和pip install ludwig[full]
- 运行serve ludwig serve --model_path=/home/ubuntu/ludwig/api_experiment_run/model
- 在另一个终端尝试使用'curl http://0.0.0.0:8000/predict -X POST -F 'instruction=test instruction'发送请求
预期行为
返回200状态码以及指令的输出结果
截图(如有)
如果有相关截图,请一并提供以帮助解释问题。
环境信息
- OS: Ubuntu 22在g4dn.xlarge AWS上运行
- Python版本:3.10
- Ludwig版本:v0.8.6
额外信息
我理解这个问题很可能是由于环境中缺少某些配置导致的,请问如何正确配置环境?
7条答案
按热度按时间s2j5cfk01#
面对相同的问题,我正在尝试微调facebook/opt-350m。
kiayqfof2#
@justinxzhao, any thoughts please?
sdnqo3pr3#
@alexsherstinsky, 你能帮忙吗?
qeeaahzv4#
@Oddadmix 感谢您提出这个问题,我注意到这个问题已经存在一个月多了(抱歉给您带来了延迟)。
所以我们在Colab中对模型进行了微调,然后将其复制到带有GPU的EC2上。请您提供以下信息:
我们将从那里进行故障排除。
在此期间,您是否可以尝试在Ludwig的最新版本(目前为0.9)上重复您的实验(包括训练)?
非常感谢您!请同时加入Ludwig Slack社区并在其中寻求帮助。谢谢!
w8ntj3qf5#
感谢你,Alex Sherstinsky。让我尝试一下并告诉你结果。我非常感激你的时间和回复。
atmip9wb6#
我遇到了完全相同的问题,并找到了原因:当响应生成时,json字典中还包含一个助手概率。如果出于某种原因,这个概率不是默认的数值,在我的情况下是-inf,那么json.dumps函数就会失败,因为它无法编码它。
我在源代码中硬编码了一个快速而简单的修复方法:在服务器utils.py中,我添加了一行代码,用于替换字典内容,当助手概率不是数值时,将其替换为0。
生成的响应出奇地非常好,即使在微调后,这个值不再是数值。
csga3l587#
关于这个问题的任何更新。
这个问题仍然在发生。