当前位置:   article > 正文

本地部署 Qwen-Audio-Chat

qwen-audio

Qwen-Audio-Chat 介绍

Qwen-Audio-Chat是通用语音多模态大规模语言模型,因此它可以完成多种音频理解任务。在本教程之中,我们会给出一些简明的例子,用以展示Qwen-Audio-Chat在语音识别,语音翻译,环境音理解,多音频理解和语音定位(根据指令截取语音中指定文本的片段)等多方面的能力。

Qwen-Audio Github 地址

https://github.com/QwenLM/Qwen-Audio

部署 Qwen-Audio-Chat

安装 ffmpeg

sudo apt install ffmpeg
  • 1

克隆代码库

git clone https://github.com/QwenLM/Qwen-Audio.git
cd Qwen-Audio
  • 1
  • 2

创建虚拟环境

conda create -n qwenaudio python=3.10 -y
conda activate qwenaudio
  • 1
  • 2

使用 pip 安装 pytorch

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  • 1

验证 cuda 可用,

python -c "import torch;print(torch.cuda.is_available());"
  • 1

使用 pip 安装依赖

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
  • 1

安装 flash-attn,

git clone https://github.com/Dao-AILab/flash-attention; cd flash-attention
# 20231209 时点最新是 flash-attn-2.3.6 版本
pip install flash-attn --no-build-isolation
# 下方安装可选,安装可能比较缓慢。
pip install csrc/layer_norm
pip install csrc/rotary
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用 ModelScope

安装 modelscope,

pip install modelscope -i https://mirrors.aliyun.com/pypi/simple/
  • 1

修改 web_demo_audio.py 使用 ModelScope,

cp web_demo_audio.py webui.py 
  • 1
vi webui.py 

--- add
from modelscope import (
    snapshot_download, AutoModelForCausalLM, AutoTokenizer, GenerationConfig
)
import torch
model_id = 'qwen/Qwen-Audio-Chat'
revision = 'master'

model_dir = snapshot_download(model_id, revision=revision)
torch.manual_seed(1234)
---

--- modify
    # tokenizer = AutoTokenizer.from_pretrained(
    #     args.checkpoint_path, trust_remote_code=True, resume_download=True,
    # )
    tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
    if not hasattr(tokenizer, 'model_dir'):
        tokenizer.model_dir = model_dir
---

--- modify
    # model = AutoModelForCausalLM.from_pretrained(
    #     args.checkpoint_path,
    #     device_map=device_map,
    #     trust_remote_code=True,
    #     resume_download=True,
    # ).eval()
    # model.generation_config = GenerationConfig.from_pretrained(
    #     args.checkpoint_path, trust_remote_code=True, resume_download=True,
    # )
    model = AutoModelForCausalLM.from_pretrained(model_dir, device_map="auto", trust_remote_code=True).eval()
---
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

运行 Web UI

pip install -r requirements_web_demo.txt -i https://mirrors.aliyun.com/pypi/simple/
  • 1

创建 webui.sh,

eval "$(conda shell.bash hook)"
conda activate qwenaudio
CUDA_VISIBLE_DEVICES=0
python webui.py  --server-name 0.0.0.0 --server-port 8001
  • 1
  • 2
  • 3
  • 4

随后运行如下命令,并点击生成链接:

./webui.sh
  • 1

完结!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/696191
推荐阅读
相关标签
  

闽ICP备14008679号