text-generation-webui 推理模型相关报错问题解决

news/2024/10/3 2:14:27

推理代码 text-generation-webui

推理模型 Qwen1.5-7B-Chat

sys info 

nvcc --version
cuda 11.8

import torch

>>> print(torch.__version__)

1 路径错误

2 依赖没安装

ImportError: This modeling file requires the following packages that were not found in your environment: transformers_stream_generator. Run `pip install 

transformers_stream_generator`

3 c编译环境报错

RuntimeError: Failed to find C compiler. Please specify via CC environment variable.

4 RuntimeError: FlashAttention only supports Ampere GPUs or newer.

RuntimeError: FlashAttention only supports Ampere GPUs or newer.

修改 模型的文件config.json 将 use_flash_attn 改为 false 暂不用加速推理

5 不会stop

5.1 ui 端 配置  如下

 

 Custom stopping strings : "<|im_start|>", "<|im_end|>", "<|endoftext|>"

Skip special tokens false

5.2 api接口

6 加载lora 推理报错

TypeError: LoraConfig.__init__() got an unexpected keyword argument 'layer_replication'

更换 peft 版本

pip install peft==0.5.0

 

7 加载多个lora 报错

https://github.com/oobabooga/text-generation-webui/issues/4371

没解决,手动合并多个adapter

 

我在 (#3120) 中写道,PR 使用过时的 PEFT 代码,但无论如何它已被合并。所以¯\_(ツ)_/¯

这种方法存在的问题远不止使合并工作有效。例如,下次您尝试将 Loras 合并到相同的适配器名称中时,add_weighted_adapter会默默地纾困,使用户认为您应用了新的适配器名称,但实际上什么也没做等等......但这在合并中根本没有处理。

但我不知道如何说服人们这是错误的方法。

  1. main 中的 Lora 下拉列表应该只允许添加一个 Lora 使用from_pretrained - 这是最安全且始终有效的方法。重置模型,然后使用from_pretrained。没有奇怪的秘密合并到第三个适配器中。这不像稳定扩散那样起作用。
  2. Lora 合并和切换的新选项卡(但我更喜欢扩展)需要在用户完全控制它的地方完成,否则它毫无用处。它需要对用户透明(例如合并两个 lora 实际上在物理上创建了第三个 lora),并且它需要允许更改权重,因为 99.99% 合并两个权重为 1 的 lora 不会产生您想要的结果。它也需要处理PEFT的特殊性......

我知道人们希望它像稳定扩散一样工作,但文本不是图像。一个有趣的 Lora 和一首诗歌 Lora 不会创造有趣的诗歌合并。因此,我们应该处理它是什么,而不是人们想象它是什么。

编辑:撤回我的声明(但在此处未编辑)。由于 Lora 合并在 exllama2 上工作正常,因此上述 1 和 2 不是解决方案,因为它仅适用于 Transformers.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29288.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

通过 pip 安装自己的代码包

以前通过 pip 安装的时候总是很羡慕,别人的代码使用起来好方便啊,那时候觉得代码要提交到 pip 平台去管理肯定需要审核吧? 后来了解到自己的代码要可以 pip 安装不需要审核,只需要遵循几个步骤就能轻松实现:准备代码包 通过 setuptools 打包 通过 twine 上传 (需要 pypi …

微信小程序使用微信云托管添加自定义域名并转发到pexels.com

背景:我要在小程序上显示pexels.com上的图片,然后我得先把pexels.com的域名添加到小程序的request合法域名中,但是pexels.com是国外的,在国内没有备案所以添加不了。解决方案就是:用一个已经备案好的域名进行转发,转发的服务器我选择的是微信云托管,备案好的域名还需要s…

【攻防技术系列】-- JNDI注入

JNDI概念首先第一个问题,什么是 JNDI?JNDI (Java Naming and Directory Interface),是Java平台提供的一个API,它允许Java应用程序访问不同的命名和目录服务。简而言之,JNDI为Java应用提供了一种统一的方式来查询和访问外部资源,如数据库、文件系统、远程对象等。 虽然有点…

[转]Cocos2dlua手游 Lua解密与资源解密实战

来自看雪:Cocos2dlua手游 Lua解密与资源解密实战 https://mp.weixin.qq.com/s/WeYxlXZvCPv_3nGgeKdunwCocos2dlua 逆向相关学习,略有删减,直接进入正文 APK大致如下:. ├── assets │ ├── res │ │ ├── ani │ │ │ └── logo │ │ │ …

Flink架构与原理

Flink集群运行剖析 Flink 运行时由两种类型的进程组成:一个 JobManager 和一个或者多个 TaskManager。 Client:Client是提交作业的客户端,虽然不是运行时和作业执行时的一部分,但它负责准备和提交作业到JobManager,它可以运行在任何机器上,只要与JobManager环境连通即可。…

Nexpose v6.6.250 for Linux Windows - 漏洞扫描

Nexpose v6.6.250 for Linux & Windows - 漏洞扫描Nexpose v6.6.250 for Linux & Windows - 漏洞扫描 Rapid7 Vulnerability Management, Release May 02, 2024 请访问原文链接:Nexpose v6.6.250 for Linux & Windows - 漏洞扫描,查看最新版。原创作品,转载请保…