iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
AI & Data

利用SeamlessM4T學習語音辨識架構及應用系列 第 6

DAY06 - SeamlessM4T安裝及使用環境建置

  • 分享至 

  • xImage
  •  

本篇介紹使用SeamlessM4T前的環境建置,分為Colab及本機端兩種方式,其中Colab環境建置已經很完善,所以不需要太多的步驟。而本機端則需要比較繁瑣的步驟,其中SeamlessM4T引用的程式庫fairseq2不支援Windows作業系統,筆者以Windows系統透過WSL(Windows Subsystem for Linux)來使用SeamlessM4T。

在Colab安裝

首先下載官方github提供的所需檔案,進到目錄”seamless_communication”,執行路徑底下的安裝檔setup.py。如此即可安裝完成,備妥SlealessM4T的使用環境。

!git clone https://github.com/facebookresearch/seamless_communication.git
%cd seamless_communication
!pip install .

在本機端環境安裝:

如果在本機端直接執行以下程式碼*,會出現錯誤訊息:

git clone https://github.com/facebookresearch/seamless_communication.git
cd seamless_communication
pip install .

出現的錯誤訊息是關於安裝其中一個程式庫fairseq2時,無法找到對應的版本:

INFO: pip is looking at multiple versions of fairseq2 to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement fairseq2n==0.1.0 (from fairseq2) (from versions: none)
ERROR: No matching distribution found for fairseq2n==0.1.0

這源自於fairseq2不支援windows系統,Windows系統的使用者建議需安裝WSL2,官方建議說明如下:

We do not support Windows and have no plans to support it (mostly due to lack of bandwidth and lack of experience in Windows development). I will make sure that I have some installation instructions for WSL2 though. Considering that WSL2 now has pretty stable CUDA support, I 
hope that this will be a sufficient middle ground for Windows users.
For Mac users, I am also working on pre-built ARM64 binaries. We use GitHub Actions for our CI and unfortunately GHA still has no support 
for M1/M2 runners, so this requires some manual work on my end.

接下來我們在本機端安裝WSL2 (安裝WSL(Microsoft)):

wsl --install

安裝完成顯示其預設系統Ubuntu版本

Ubuntu 22.04.2 LTS (GNU/Linux 5.15.90.1-microsoft-standard-WSL2 x86_64)

至此完成在Windows系統安裝WSL,往後即可在Windows系統使用Ubuntu(Linux系統)。

進入Ubuntu環境:

wsl --distribution Ubuntu --user <username>

進Linux環境中安裝python:

sudo apt install python3
python3 --version

使用shell指令sudo apt install安裝python,安裝完成使用python3 --version檢查安裝版本。

(選擇性安裝)安裝PyPI:

sudo apt update
sudo apt install python3-pip
pip3 --version

先更新軟體庫sudo apt update,使用shell指令sudo apt install安裝pip,確認版本pip3 --version。做完這一步之後重新執行程式碼*,即可成功安裝 SeamlessM4t。

SeamlessM4T釋出兩個版本,SeamlessM4T_large(儲存容量10.7GB,參數量2.3B)及SeamlessM4T_medium(儲存容量6.4GB,參數量1.2B),視本機硬體規格選擇。其實還有small模型,適用終端裝置AI,不過只支援少量語言。然而在導入SeamlessM4T模型前還需要先設定環境變數:

export LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH

不然會有以下錯誤訊息:

Could not load library libcudnn_cnn_infer.so.8. Error: libcuda.so: cannot open shared object file: No such file or directory
Aborted

在設定環境變數前可以先確認libcudnn_cnn_infer.so.8檔案是否在/usr/lib/wsl/lib路徑底下:

ldconfig -p | grep cuda

心得

此篇針對使用SeamlessM4t介紹兩種建置環境,在Colab上建置相對容易非常快速,由於Col對於使用時間及使用容量有限制,如果不考慮此兩者因素,建議直接在Colab上使用即可。然而若要長時間使用SeamlessM4T,而Colab限制使用時間,在本機端使用就沒這個問題,安裝上主面對的問題是程式庫fairseq2只支援Linux及Mac系統,所以Windows使用者必須安裝WSL才可以使用。


上一篇
DAY05 - SeamlessM4T所引用的程式庫
下一篇
DAY07 - SeamlessM4T的S2TT(Speech-to-Text Translation)功能體驗
系列文
利用SeamlessM4T學習語音辨識架構及應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言