asr-inference / README.md
ankush13r's picture
Update README.md
45eb9bc verified
|
raw
history blame
4.68 kB
metadata
title: ASR UI
emoji: 🤫
colorFrom: indigo
colorTo: red
sdk: gradio
sdk_version: 4.20.0
app_file: app.py
pinned: false
tags:
  - whisper-event

Instruccions per l'ús d'interfície d'usuari de reconeixement de la parla

Resum

Aquest document està preparat per a explicar l'ús, requisits i la instal·lació d'interfície d'usuari (IU) de reconeixement de la parla de BSC-LT. Per poder comprovar els models que estem desenvolupant, hem preparat aquest IU. L'aplicació està empaquetada amb docker, per això la instal·lació de docker és un dels requisits i l'aplicació està dissenyada pels navegadors.

Requisits

OS: Ubuntu/Debian (Està comprovat amb 20.04.6 LTS)

Requisits minims:

  • CPU 4 vCores
  • 16 GB RAM
  • 25 GB espai lliure

Requisit suggerit:

  • GPU: Nvidia T4, 16GB VRAM

L’ús de GPU accelera la inferència considerablement. Sense GPU el rendiment de la inferència és aproximadament x3 RTF (real-time-factor), és a dir necessita 30 segons per transcriure 10 segons d'àudio. Però amb una GPU el RTF és menor a 1.

Instruccions

Passos per desplegar l'aplicació d'IU és

  • Instal·lar docker (opcional: afegir docker al grup d'usuaris sudo)
  • Descarregar la imatge de docker mitjançant el docker pull
  • Configurar un reverse proxy per fer disponible l'aplicació

Instal·lació docker

Es pot seguir les instruccions d'aquestes pàgines

Però en resum:

## Add Docker's official GPG key

$ sudo apt-get update
$ sudo apt-get install ca-certificates curl gnupg
$ sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

## Add the repository to Apt sources

$ echo \
  "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

## Post Installation Steps

#Add create docker group, add your user to the group for executing docker without sudo
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

#To automatically start Docker and containerd on boot for other Linux distributions using systemd, run the following commands:
sudo systemctl enable docker.service
sudo systemctl enable containerd.service

Desplegament d'aplicació

Per descarregar i córrer la imatge de docker:

docker run -d -p 7860:7860 --name asr-inference --platform=linux/amd64 \
    registry.hf.space/projecte-aina-asr-inference:latest python app.py

Durant la primera execució el docker run descarrega la imatge i els models necessaris per córrer l'aplicació. Si tot funciona sense errors, l'aplicació de web estarà disponible a localhost:7860. (IP_DE_SERVIDOR:7860)

Per consultar logs de l’aplicacio:

docker logs asr-inference

Si després d’uns minuts d'iniciar l’aplicació surt això als logs:

Running on local URL:  http://0.0.0.0:7860
To create a public link, set `share=True` in `launch()`.

L'aplicació s'ha desplegat correctament.

Per aturar l'aplicació:

docker stop asr-inference

Per reiniciar l'aplicació

docker start asr-inference

Connexió a l'IU

Amb les instruccions anteriors si tot ha funcionat bé l'aplicació ja serà disponible a localhost al port 7860. Si l'aplicació està desplegada al local, només cal anar a http://0.0.0.0:7860 a un navegador per l'accés. Si l'aplicació està desplegada a una màquina virtual o un servidor en remot, hi ha dues maneres de conectar-hi:

ssh port forwarding:

ssh -L 7860:localhost:7860 <vm-server-address>

D'aquesta manera es pot connectar a l'IU com estigués corrent al màquina local i.e. a l'adreça http://0.0.0.0:7860

Mitjançant un web server:

Si la màquina virtual de l'aplicació està dins la mateixa xarxa i/o els ports de la màquina virtual estan oberts a fora, es pot connectar simplement amb apuntar el navegador a http://<vm-server-address>:7860 per apuntar l'IP a un domini, es pot fer un reverse proxy mitjançant una eina com Apache o nginx.