asr-inference / README.md
ankush13r's picture
Update README.md
45eb9bc verified
|
raw
history blame
4.68 kB
---
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
* [How To Install and Use Docker on Ubuntu 22.04 | DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-22-04)
* [https://docs.docker.com/engine/install/ubuntu/](https://docs.docker.com/engine/install/ubuntu/)
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 <code>[http://0.0.0.0:7860](http://0.0.0.0:7860) </code> 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 <code>[http://0.0.0.0:7860](http://0.0.0.0:7860) </code>
**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.