日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用AMD CPU實例部署通義千問Qwen-Audio-Chat

更新時間:
一鍵部署
我的部署

本文介紹如何使用阿里云AMD CPU云服務器(g8a)和龍蜥容器鏡像,基于通義千問Qwen-Audio-Chat搭建語音AI服務助手

背景信息

Qwen-Audio是阿里云研發的大規模音頻語言模型(Large Audio Language Model)。Qwen-Audio可以以多種音頻(包括說話人語音、自然音、音樂、歌聲)和文本作為輸入,并以文本作為輸出。在Qwen-Audio的基礎上,利用對齊機制打造出基于大語言模型的語音AI助手Qwen-Audio-Chat,它支持更靈活的交互方式,包括多音頻、多輪問答、創作等能力。支持多種語音場景,包括聲音理解和推理、音樂欣賞、多音頻分析、多輪音頻-文本交錯對話以及外部語音工具的使用等。

重要

Qwen-Audio-Cha模型依照LICENSE開源,免費商用需填寫商業授權申請。您應自覺遵守第三方模型的用戶協議、使用規范和相關法律法規,并就使用第三方模型的合法性、合規性自行承擔相關責任。

創建ECS實例

  1. 前往實例創建頁

  2. 按照界面提示完成參數配置,創建一臺ECS實例。

    需要注意的參數如下,其他參數的配置,請參見自定義購買實例

    • 實例:Qwen-Audio-Chat模型的推理過程需要耗費大量的計算資源,運行時占用大量內存,為了保證模型運行的穩定,實例規格至少需要選擇ecs.g8a.4xlarge(64 GiB內存)。

    • 鏡像:Alibaba Cloud Linux 3.2104 LTS 64位。

    • 公網IP:選中分配公網IPv4地址,帶寬計費模式選擇按使用流量,帶寬峰值設置為100 Mbps。以加快模型下載速度。

      image..png

    • 系統盤:Qwen-Audio-Chat的運行需要下載多個模型文件,會占用大量存儲空間,為了保證模型順利運行,建議系統盤設置為100 GiB。

  3. 添加安全組規則。

    在ECS實例安全組的入方向添加安全組規則并放行22、443、7860端口(用于訪問WebUI服務)。具體操作,請參見添加安全組規則

  4. 創建完成后,在ECS實例頁面,獲取公網IP地址。

    說明

    公網IP地址用于進行AI對話時訪問WebUI服務。

    image.png

創建Docker運行環境

  1. 遠程連接該ECS實例。

    具體操作,請參見通過密碼或密鑰認證登錄Linux實例

  2. 安裝Docker。

    具體操作,請參見在Alibaba Cloud Linux 3實例中安裝Docker

  3. 創建并運行PyTorch AI容器。

    龍蜥社區提供了豐富的基于Anolis OS的容器鏡像,包括針對AMD優化過的PyTorch鏡像,您可以直接使用該鏡像直接創建一個PyTorch運行環境。

    以下命令首先拉取容器鏡像,隨后使用該鏡像創建一個以分離模式運行的、名為pytorch-amd的容器,并將用戶的家目錄映射到容器中,以保留開發內容。

    sudo docker pull registry.openanolis.cn/openanolis/pytorch-amd:1.13.1-23-zendnn4.1
    sudo docker run -d -it --name pytorch-amd --net host -v $HOME:/root registry.openanolis.cn/openanolis/pytorch-amd:1.13.1-23-zendnn4.1

部署Qwen-Audio-Chat

手動部署

步驟一:安裝配置模型所需軟件

  1. 進入容器環境。

    sudo docker exec -it -w /root pytorch-amd /bin/bash
    重要

    后續命令需在容器環境中執行,如意外退出,請使用以上命令重新進入容器環境。如需查看當前環境是否為容器,可以執行cat /proc/1/cgroup | grep docker查詢(有回顯信息則為容器環境)。

  2. 安裝部署Qwen-Audio-Chat所需的軟件。

    yum install -y git git-lfs wget tmux xz gperftools-libs anolis-epao-release
  3. 啟用Git LFS。

    下載預訓練模型需要Git LFS的支持。

    git lfs install

步驟二:下載源碼與模型

  1. 創建一個tmux session。

    tmux
    說明

    下載預訓練模型耗時較長,且成功率受網絡情況影響較大,建議在tmux session中下載,以免ECS斷開連接導致下載模型中斷。

  2. 下載Qwen-Audio-Chat項目源碼和預訓練模型。

    git clone https://github.com/QwenLM/Qwen-Audio.git
    git clone https://www.modelscope.cn/qwen/Qwen-Audio-Chat.git qwen-audio-chat
  3. 查看當前目錄。

    ls -l 

    下載完成后,當前目錄顯示如下。

    image.png

步驟三:部署運行環境

  1. 更換pip下載源。

    在安裝依賴包之前,建議您更換pip下載源以加速安裝。

    1. 創建pip文件夾。

      mkdir -p ~/.config/pip
    2. 配置pip安裝鏡像源。

      cat > ~/.config/pip/pip.conf <<EOF
      [global]
      index-url=http://mirrors.cloud.aliyuncs.com/pypi/simple/
      
      [install]
      trusted-host=mirrors.cloud.aliyuncs.com
      EOF
  2. 安裝Python運行依賴。

    yum install -y python3-transformers python-einops
    pip install typing_extensions==4.5.0 tiktoken transformers_stream_generator accelerate gradio
  3. 安裝ffmpeg。

    1. 下載ffmpeg安裝包。

      說明

      ffmpeg安裝包下載較慢,建議您直接下載ffmpeg后,上傳到當前用戶家目錄(例如/home/ecs-user/)下。

      wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-6.1-amd64-static.tar.xz
    2. 解壓并安裝ffmpeg。

      tar -xf ffmpeg-6.1-amd64-static.tar.xz
      cp ffmpeg-6.1-amd64-static/{ffmpeg,ffprobe} /usr/local/bin
      rm -rf ffmpeg-6.1-amd64-static*
  4. 設置環境變量OMP_NUM_THREADSGOMP_CPU_AFFINITY

    ZenDNN運行庫需要針對硬件平臺顯式設置環境變量OMP_NUM_THREADSGOMP_CPU_AFFINITY

    cat > /etc/profile.d/env.sh <<EOF
    export OMP_NUM_THREADS=\$(nproc --all)
    export GOMP_CPU_AFFINITY=0-\$(( \$(nproc --all) - 1 ))
    EOF
    source /etc/profile

步驟四:進行AI對話

  1. 執行如下命令,開啟WebUI服務。

    cd ~/Qwen-Audio
    export LD_PRELOAD=/usr/lib64/libtcmalloc.so.4
    python3 web_demo_audio.py -c=${HOME}/qwen-audio-chat/ --cpu-only --server-name=0.0.0.0 --server-port=7860

    當出現如下信息時,表示WebUI服務啟動成功。

    image.png

  2. 在瀏覽器地址欄輸入http://<ECS公網IP地址>:7860,進入Web頁面。

  3. 單擊Upload(上傳文件)上傳語音文件,然后在Input對話框中,輸入對話內容,單擊Submit(發送),即可開始語音問答、創作等。

    說明

    以下示例遠非Qwen-Audio-Chat能力的極限,您可以通過更換不同的語音文件和提示詞(Prompt),來進一步挖掘Qwen-Audio-Chat的能力。

    image.png

自動化部署

阿里云提供了自動部署腳本,可以一鍵部署運行Qwen-Audio-Chat模型。

  1. 下載自動部署腳本。

    wget https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/en-US/20231213/celp/deploy_qwen-audio-chat_amd-docker.sh
  2. 下載ffmpeg安裝包。

    說明

    ffmpeg安裝包下載較慢,建議您直接下載ffmpeg后,上傳到當前用戶家目錄(例如/home/ecs-user/)下。

    wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-6.1-amd64-static.tar.xz
  3. 進入容器環境。

    sudo docker exec -it -w /root pytorch-amd /bin/bash
    重要

    后續命令需在容器環境中執行,如意外退出,請使用以上命令重新進入容器環境。如需查看當前環境是否為容器,可以執行cat /proc/1/cgroup | grep docker查詢(有回顯信息則為容器環境)。

  4. 下載tmux并創建一個tmux session。

    yum install -y tmux
    tmux
    說明

    該腳本運行中會下載模型文件,耗時較長,建議在tmux session中啟動部署,以免ECS斷開連接導致部署中斷。

  5. 為自動化部署腳本添加執行權限。

    chmod +x deploy_qwen-audio-chat_amd-docker.sh
  6. 運行自動化部署腳本。

    ./deploy_qwen-audio-chat_amd-docker.sh

    當顯示結果如下所示時,說明自動部署腳本已完成。

    image.png

    說明

    該腳本運行時間較長,在tmux session中進行部署的過程中,如果斷開了ECS連接,重新登錄ECS實例后執行tmux attach命令即可恢復tmux session,查看腳本運行進度。

  7. 在瀏覽器地址欄輸入http://<ECS公網IP地址>:7860,進入Web頁面。

  8. 單擊Upload(上傳文件)上傳語音文件,然后在Input對話框中,輸入對話內容,單擊Submit(發送),即可開始語音問答、創作等。

    說明

    以下示例遠非Qwen-Audio-Chat能力的極限,您可以通過更換不同的語音文件和提示詞(Prompt),來進一步挖掘Qwen-Audio-Chat的能力。

    image.png