New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Introducing auto_install.sh #1329
Conversation
I am a bit opposed to the auto install being at the root, while it covers the "common" use case, there is a growing variety of setups (ROCm, MPS, XPU...) I also think that there is no need for such a script as the docker images cover the difficult part of setting it up. So I am not sure who this helps, power users already have a conda install and most likely the correct pytorch version. End users should just pull the docker image. |
You make a fair case that the Docker images likely cover much of the complexity for many users. However, as you rightly mentioned, not all users currently utilize Docker. I recently came across several incidents on Discord and elsewhere where users faced issues installing Axolotl, for example this popular Reddit post Reddit post, where a user faced frustration while installing Axolotl. This inspired me to consider simplifying the initial setup process for those who could benefit. It can also support different platforms. I just created a very initial version; there is more to go. Moreover, it would just serve as an additional option for users - they could follow other methods if they prefer. |
Gemma config change and auto setup should be two different PR, so they don't go in together. Also, please add some documentation that this autoconfig is only for linux. |
Done, Thank you! |
Thanks @monk1337, I do find value in having this script as having docker adds another layer of complexity over a native install. I do worry that having a script adds another point of maintenance/testing/support. Currently our docker images are well tested as we typically run tests against the built images themselves. I think a good compromise would be to indicate that the install script itself is "beta" and have a date somewhere where it was last updated/tested, just for visibility to end users. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this is the start of a one-stop installer (like how text-webui supports several options), this may be a good starting point. Otherwise, I believe it would be better to improve the current pip/conda installation instructions.
Edit: I also agree with suggestion above where this has to be stated for Nvidia-only.
auto_install.sh
Outdated
conda install -y -c "nvidia/label/cuda-12.1.1" cuda --yes | ||
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia --yes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some systems do not support 12.1, so this may be an issue? One alternative could be like ooba where they allow option to use 11.8?
auto_install.sh
Outdated
pip3 uninstall deepspeed -y | ||
pip3 install deepspeed==0.13.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pip3 uninstall deepspeed -y | |
pip3 install deepspeed==0.13.1 |
This will not be necessary anymore. There's a separate PR which addresses this.
README.md
Outdated
#### Automated Installation Guide | ||
|
||
To use the automated installation script, follow these steps in your terminal: | ||
|
||
```bash | ||
# Grant execution permissions to the script | ||
chmod +x auto_install.sh | ||
|
||
# Execute the script to start the installation | ||
./auto_install.sh | ||
``` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section may be better integrated with the pip/conda section?
Objective:
This PR introduces an automated setup script (auto_install.sh) designed to streamline the installation process of Axolotl. It addresses common challenges faced by users not utilizing Docker, particularly in configuring the correct CUDA, PyTorch versions, and related dependencies. This enhancement is motivated by community feedback highlighting difficulties in manual setup processes.
Features and Implementation:
Planned Enhancements:
Note: This script presents an additional option for users seeking an easier installation route without mandating its use. Users retain the freedom to choose their preferred installation method. The primary goal of this script is to reduce setup time and complexity, offering an alternative to manual configuration.