-
Hi, I managed to alltalk_tts installed on a fairly recent oobabooga. The base (without deepspeed) ran fine. , restarting ooba caused this error
(and in my machine nvcc and friends are all in I then changed the following lines in
and then that error went away.. When ooba is starting up, I saw this
but the deepspeed button does not seem to show up on ooba's chat tab settings for AllTalk. and then I did the demo/Test TTS then I got this on the ooba console I attached the diagnostics.log from alltalk_tts Thank you. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 3 replies
-
Hi @devzzzero So to confirm you went through this setup when you installed deepspeed? https://github.com/erew123/alltalk_tts#-deepspeed-installation-options DeepSpeed specifically needs access to the CUDA toolkit when it first compiles, otherwise it has issues. hence typically you will ONLY need to set the export paths as per step 7 in the above instructions, at time of doing the The deepspeed installation on Linux looks for nvcc (Nvidia's cuda compiler driver, which helps other processes figure out if a CUDA toolkit exists and what version it is) and THEN it will compile deepspeed, hence your original error, as TGWUI sets it own paths for its own version of PyTorch CUDA (which it typically needs when you start TGWUI, hence we only set them temporarily when compiling deepspeed). As AllTalk detected DeepSpeed, it should give you the checkbox, BUT, it may not do if DeepSpeed hasn't compiled correctly. I would suggest you change the paths back to this:
Then close your terminal window and try starting TGWUI again. If you want to restart the DeepSpeed installation process, you can run If you still have a problem after that, please let me know. Also, Im not sure what flavour of linux you are on, so that could be handy to know. Thanks |
Beta Was this translation helpful? Give feedback.
-
Text-gen-webui along with PyTorch w/CUDA will create the CUDA_HOME and CUDA_PATH at time of installation, to point to the custom Text-gen-webui Python installation (stored in installer_files). This is done because all the LLM model loaders etc rely on lots of aspects of CUDA and they also need to access the specific versions of files that match the Text-gen-webui PyTorch CUDA version, selected when a user installs Text-gen-webui. Hence, changing the CUDA_HOME and CUDA_PATH that Text-gen-webui & the LLM loaders have access to may well impact various things. Nvcc is not something that can be automatically installed into a Python environment, however, Nvidia have made an installer that acts as a placeholder to say its not installed https://pypi.org/project/nvidia-cuda-nvcc/ Coming back to DeepSpeed, when Microsoft have written the compilation routine for DeepSpeed, it has to be compiled/built for the specific Linux variant you are on and also customised to the specific Python environment you are in (its features and various other bits). For it to compile/build, it DeepSpeed checks if nvcc exists as various parts of the compilation script get version numbers from nvcc and also access various features of the Nvidia CUDA Development Toolkit available within PyTorch's CUDA build. So the way it finds nvcc and the CUDA Development toolkit is to look at the environment variables of CUDA_HOME and CUDA_PATH. As such, when you start Text-gen-webui, it sets CUDA_HOME and CUDA_PATH to point to the custom path in its installer_files folder, however, to install DeepSpeed, we have to compile it with the Nvidia CUDA Development Toolkit which means we temporarily want to hijack CUDA_HOME and CUDA_PATH in our custom Text-gen-webui Python environment to point to our installed Nvidia CUDA Development Toolkit (nvcc etc), let it compile/build and install, then have our CUDA_HOME and CUDA_PATH set back to the Text-gen-webui installer_files path, for our LLM model loaders to make use of the correct versions of files that match the PyTorch versions. Needless to say, its annoying, but there's no great way around it that I know of for Linux. Hope that details what you need. Thanks |
Beta Was this translation helpful? Give feedback.
So, I think what happened in my case was that I had a partially broken conda env
I basically deleted everything
ooba/installer_files
and followed the MANUAL installation instructions for ooba.i.e. I created a brand new miniconda env, activated it, and installed everything for ooba (installed cuda, not cuda-runtime!) according to ooba's MANUAL install instructions into this new miniconda env.
Then I followed the MANUAL install instructions for alltalk_tts (including TEMPORARILY setting CUDA_HOME, PATH, LD_LIBRARY_PATH)
Now everything works! no ugly hack on
ooba/start_linux.sh
needed.All done! Thank you for your help!