华为大模型演示出现 time.sleep(6),大家怎么看?

查看 140|回复 14
milkpuff   
如果硬要解释的合理一些:程序单独启动一个线程,请求 api 等待返回。这个过程中主线程 sleep 6s ,起到 wait 功能。也就是说模型生成图片基本可以保证 6 秒之内完成。官方回应说是演示使用 SDK 开发,那代码写的比较随意也说得通。
man2vec   
因为脚本在调用大语言模型推理的时候使用的是异步调用:
try:
predictions = asyncio.run(推理任务)
except Exception as e:
print(f"Error in 调用: {e}")
time.sleep(6)
这个 time.sleep(6)就是再次推理前等待一段时间。
Ctrl+C 的时候就会出发键盘中断, 就进入到 excep 的分支,所以在这 6 秒内再次 Ctrl+C ,就会显示 time.sleep(6)。
微软的代码有一样的部分( https://github.com/microsoft/LLaVA-Med/blob/b9a98a736d2ef05bcf5ff345be6403fb3a664eaf/llava/openai_api.py#L46)
知乎有一摸一样的问题,看来搞大语言模型的人还是少数,啥都不懂的程序员也挺多的。
zaizaizai2333   
@man2vec 你干嘛这么清楚的解释了这种常规操作,让那些喷子如何高潮呢?他们的业绩完不成,领不到怎么办?
jianchang512   
@man2vec 虽然但是,KeyboardInterrupt 直接继承于 BaseException ,并不会被 Exception 捕获
"""
KeyboardInterrupt
当用户按下中断键 (通常为 Control-C 或 Delete) 时将被引发。 在执行期间,会定期检测中断信号。 该异常继承自 BaseException 以确保不会被处理 Exception 的代码意外捕获,这样可以避免退出解释器。
"""
参见 https://docs.python.org/zh-cn/3/library/exceptions.html#KeyboardInterrupt
jianchang512   
try:
# 代码...
except KeyboardInterrupt:
# 处理键盘中断...
except Exception as e:
# 处理其他异常...
您需要登录后才可以回帖 登录 | 立即注册

返回顶部