jitsi / skynet

AI core services for Jitsi
Apache License 2.0
20 stars 7 forks source link

Hardware requirement for skynet ? #79

Closed shooding closed 2 days ago

shooding commented 2 months ago

Which OS is recommended ? I bought a gigabyte 3060 for this project but struggle to bring it up.

Ubuntu 20.04 (w/ CUDA from Nvidia website) is still using python 3.8 but pytorch in skynet requires python3.11. After installing python3.11 breaks many Ubuntu applications.

Or Windows is suggested ?

saghul commented 2 months ago

We run it on Ubuntu 20.04. Best would be to use Docker and pass through the GPU, since the image will have all dependencies installed.

shooding commented 2 months ago

to run with docker, need to mount models folder with -v but

  File "/app/.venv/lib/python3.11/site-packages/huggingface_hub/_snapshot_download.py", line 275, in snapshot_download
    os.makedirs(os.path.dirname(ref_path), exist_ok=True)
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 215, in makedirs
  File "<frozen os>", line 215, in makedirs
  [Previous line repeated 1 more time]
  File "<frozen os>", line 225, in makedirs
PermissionError: [Errno 13] Permission denied: '/home/me'

already tried chmod -R me:me /home/me/models and chmod -R 755 /home/me/models

Wonder why do we need makedirs if the model is already mounted ? I tried move everything to root home, then got a lot of filelock & try release from huggingface

saghul commented 2 months ago

Try with a subdirectory, not your entire home directory.

shooding commented 2 months ago

Need update README

Using GPU

install nvidia container toolkit from https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#installing-with-apt

Pass --gpus all to docker run and notice on "WHISPER_MODEL_PATH" should be set to /models, not $HOME/models because we're running within docker.

docker run -p 8000:8000 \
-u $(id -u):$(id -g) \
-v $HOME/models:/models \
--gpus all \
-e "BEAM_SIZE=1" \
-e WHISPER_MODEL_NAME="medium" \
-e ENABLED_MODULES="streaming_whisper" \
-e BYPASS_AUTHORIZATION=False \
-e WHISPER_MODEL_PATH="/models/streaming-whisper" \
-e "BYPASS_AUTHORIZATION=true" \
skynet:test-whisper

Still need to wait several min on Attempting to acquire lock 124698291842448 ... and finally

Skynet became self aware

:)

saghul commented 2 months ago

Great work! Would you mind sending a PR?