Updated Home (markdown)
parent
e4fe2fe951
commit
f9f1305716
1 changed files with 390 additions and 1 deletions
391
Home.md
391
Home.md
|
|
@ -594,4 +594,393 @@ PARAMETER stop </s>
|
|||
|
||||
### 8. Test command
|
||||
|
||||
`ollama run my-model "<s>\nQ: \nWhat is the capital of France?\nA:\n"`
|
||||
`ollama run my-model "<s>\nQ: \nWhat is the capital of France?\nA:\n"`
|
||||
|
||||
|
||||
## NVIDIA Pascal Support
|
||||
|
||||
Support for NVIDIA Pascal family of cards, specifically the P40 and P100.
|
||||
|
||||
### Setup Guide
|
||||
|
||||
1. Create three files (`Dockerfile`, `unsloth_env_file.yml`, and `docker-compose.yml`) with the contents provided below.
|
||||
2. Ensure Docker and Docker Compose are installed on your system.
|
||||
3. Install the NVIDIA Container Toolkit for GPU support if not already done.
|
||||
4. Place all three files in the same directory.
|
||||
5. Open a terminal and navigate to the directory containing these files.
|
||||
6. Run the following command to build and start the container:
|
||||
|
||||
```
|
||||
docker-compose up --build
|
||||
```
|
||||
|
||||
7. Once the container is running, access Jupyter Lab by opening a web browser and navigating to `http://localhost:8888`.
|
||||
|
||||
### Configuration Files
|
||||
|
||||
#### 1. Dockerfile
|
||||
|
||||
```dockerfile
|
||||
# Stage 1: Base image with system dependencies
|
||||
FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 as base
|
||||
|
||||
# Install system dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
build-essential \
|
||||
git \
|
||||
vim \
|
||||
curl \
|
||||
wget \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Miniconda only if it's not already installed
|
||||
RUN if [ ! -d "/opt/conda" ]; then \
|
||||
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
|
||||
bash miniconda.sh -b -p /opt/conda && \
|
||||
rm miniconda.sh; \
|
||||
fi
|
||||
|
||||
# Set path to conda
|
||||
ENV PATH /opt/conda/bin:$PATH
|
||||
|
||||
# Set path to conda
|
||||
ENV PATH /opt/conda/bin:$PATH
|
||||
|
||||
# Stage 2: Python environment setup
|
||||
FROM base as python-env
|
||||
|
||||
COPY unsloth_env_file.yml unsloth_env_file.yml
|
||||
|
||||
RUN conda env create -f unsloth_env_file.yml
|
||||
|
||||
SHELL ["conda", "run", "-n", "unsloth_env", "/bin/bash", "-c"]
|
||||
|
||||
# Stage 3: Final image
|
||||
FROM python-env as final
|
||||
|
||||
# Install Unsloth (This step is separate because it's likely to change more frequently)
|
||||
RUN pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
|
||||
|
||||
ENV PATH /usr/local/cuda/bin:$PATH
|
||||
ENV LD_LIBRARY_PATH /usr/local/cuda/lib64:$LD_LIBRARY_PATH
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /workspace
|
||||
|
||||
# Set the default command to run Jupyter Lab
|
||||
CMD ["conda", "run", "--no-capture-output", "-n", "unsloth_env", "jupyter", "lab", "--ip=0.0.0.0", "--no-browser", "--allow-root", "--NotebookApp.token=''", "--NotebookApp.password=''"]
|
||||
```
|
||||
|
||||
#### 2. unsloth_env_file.yml
|
||||
|
||||
```yaml
|
||||
name: unsloth_env
|
||||
channels:
|
||||
- xformers
|
||||
- pytorch
|
||||
- nvidia
|
||||
- conda-forge
|
||||
- defaults
|
||||
dependencies:
|
||||
- _libgcc_mutex=0.1=conda_forge
|
||||
- _openmp_mutex=4.5=2_gnu
|
||||
- aiohttp=3.9.5=py310h5eee18b_0
|
||||
- aiosignal=1.2.0=pyhd3eb1b0_0
|
||||
- anyio=4.2.0=py310h06a4308_0
|
||||
- argon2-cffi=21.3.0=pyhd3eb1b0_0
|
||||
- argon2-cffi-bindings=21.2.0=py310h7f8727e_0
|
||||
- arrow-cpp=16.1.0=hc1eb8f0_0
|
||||
- async-lru=2.0.4=pyhd8ed1ab_0
|
||||
- async-timeout=4.0.3=py310h06a4308_0
|
||||
- attrs=23.1.0=py310h06a4308_0
|
||||
- aws-c-auth=0.6.19=h5eee18b_0
|
||||
- aws-c-cal=0.5.20=hdbd6064_0
|
||||
- aws-c-common=0.8.5=h5eee18b_0
|
||||
- aws-c-compression=0.2.16=h5eee18b_0
|
||||
- aws-c-event-stream=0.2.15=h6a678d5_0
|
||||
- aws-c-http=0.6.25=h5eee18b_0
|
||||
- aws-c-io=0.13.10=h5eee18b_0
|
||||
- aws-c-mqtt=0.7.13=h5eee18b_0
|
||||
- aws-c-s3=0.1.51=hdbd6064_0
|
||||
- aws-c-sdkutils=0.1.6=h5eee18b_0
|
||||
- aws-checksums=0.1.13=h5eee18b_0
|
||||
- aws-crt-cpp=0.18.16=h6a678d5_0
|
||||
- aws-sdk-cpp=1.10.55=h721c034_0
|
||||
- babel=2.14.0=pyhd8ed1ab_0
|
||||
- beautifulsoup4=4.12.3=py310h06a4308_0
|
||||
- blas=1.0=mkl
|
||||
- bleach=4.1.0=pyhd3eb1b0_0
|
||||
- boost-cpp=1.82.0=hdb19cb5_2
|
||||
- bottleneck=1.3.7=py310ha9d4c09_0
|
||||
- brotli-python=1.0.9=py310h6a678d5_8
|
||||
- bzip2=1.0.8=h5eee18b_6
|
||||
- c-ares=1.19.1=h5eee18b_0
|
||||
- ca-certificates=2024.7.4=hbcca054_0
|
||||
- certifi=2024.7.4=pyhd8ed1ab_0
|
||||
- cffi=1.16.0=py310h5eee18b_1
|
||||
- charset-normalizer=3.3.2=pyhd3eb1b0_0
|
||||
- cuda-cudart=11.8.89=0
|
||||
- cuda-cupti=11.8.87=0
|
||||
- cuda-libraries=11.8.0=0
|
||||
- cuda-nvrtc=11.8.89=0
|
||||
- cuda-nvtx=11.8.86=0
|
||||
- cuda-runtime=11.8.0=0
|
||||
- cuda-version=11.8=hcce14f8_3
|
||||
- cudatoolkit=11.8.0=h6a678d5_0
|
||||
- datasets=2.19.1=py310h06a4308_0
|
||||
- debugpy=1.6.7=py310h6a678d5_0
|
||||
- decorator=5.1.1=pyhd3eb1b0_0
|
||||
- defusedxml=0.7.1=pyhd3eb1b0_0
|
||||
- dill=0.3.8=py310h06a4308_0
|
||||
- entrypoints=0.4=py310h06a4308_0
|
||||
- ffmpeg=4.3=hf484d3e_0
|
||||
- filelock=3.13.1=py310h06a4308_0
|
||||
- freetype=2.12.1=h4a9f257_0
|
||||
- frozenlist=1.4.0=py310h5eee18b_0
|
||||
- fsspec=2024.3.1=py310h06a4308_0
|
||||
- gflags=2.2.2=h6a678d5_1
|
||||
- glog=0.5.0=h6a678d5_1
|
||||
- gmp=6.2.1=h295c915_3
|
||||
- gmpy2=2.1.2=py310heeb90bb_0
|
||||
- gnutls=3.6.15=he1e5248_0
|
||||
- h11=0.14.0=pyhd8ed1ab_0
|
||||
- h2=4.1.0=pyhd8ed1ab_0
|
||||
- hpack=4.0.0=pyh9f0ad1d_0
|
||||
- httpcore=1.0.5=pyhd8ed1ab_0
|
||||
- httpx=0.27.0=pyhd8ed1ab_0
|
||||
- hyperframe=6.0.1=pyhd8ed1ab_0
|
||||
- icu=73.1=h6a678d5_0
|
||||
- idna=3.7=py310h06a4308_0
|
||||
- importlib-metadata=7.0.1=py310h06a4308_0
|
||||
- importlib_metadata=7.0.1=hd8ed1ab_0
|
||||
- importlib_resources=6.4.0=pyhd8ed1ab_0
|
||||
- intel-openmp=2023.1.0=hdb19cb5_46306
|
||||
- ipykernel=6.28.0=py310h06a4308_0
|
||||
- ipython_genutils=0.2.0=pyhd3eb1b0_1
|
||||
- jedi=0.19.1=py310h06a4308_0
|
||||
- jinja2=3.1.4=py310h06a4308_0
|
||||
- jpeg=9e=h5eee18b_2
|
||||
- json5=0.9.25=pyhd8ed1ab_0
|
||||
- jsonschema=4.19.2=py310h06a4308_0
|
||||
- jsonschema-specifications=2023.7.1=py310h06a4308_0
|
||||
- jupyter-lsp=2.2.5=pyhd8ed1ab_0
|
||||
- jupyter_client=7.4.9=py310h06a4308_0
|
||||
- jupyter_core=5.7.2=py310h06a4308_0
|
||||
- jupyter_events=0.10.0=py310h06a4308_0
|
||||
- jupyter_server=2.14.1=py310h06a4308_0
|
||||
- jupyter_server_terminals=0.4.4=py310h06a4308_1
|
||||
- jupyterlab=4.2.4=pyhd8ed1ab_0
|
||||
- jupyterlab_pygments=0.3.0=pyhd8ed1ab_1
|
||||
- jupyterlab_server=2.27.3=pyhd8ed1ab_0
|
||||
- krb5=1.20.1=h143b758_1
|
||||
- lame=3.100=h7b6447c_0
|
||||
- lcms2=2.12=h3be6417_0
|
||||
- ld_impl_linux-64=2.38=h1181459_1
|
||||
- lerc=3.0=h295c915_0
|
||||
- libabseil=20240116.2=cxx17_h6a678d5_0
|
||||
- libboost=1.82.0=h109eef0_2
|
||||
- libbrotlicommon=1.0.9=h5eee18b_8
|
||||
- libbrotlidec=1.0.9=h5eee18b_8
|
||||
- libbrotlienc=1.0.9=h5eee18b_8
|
||||
- libcublas=11.11.3.6=0
|
||||
- libcufft=10.9.0.58=0
|
||||
- libcufile=1.9.1.3=0
|
||||
- libcurand=10.3.5.147=0
|
||||
- libcurl=8.7.1=h251f7ec_0
|
||||
- libcusolver=11.4.1.48=0
|
||||
- libcusparse=11.7.5.86=0
|
||||
- libdeflate=1.17=h5eee18b_1
|
||||
- libedit=3.1.20230828=h5eee18b_0
|
||||
- libev=4.33=h7f8727e_1
|
||||
- libevent=2.1.12=hdbd6064_1
|
||||
- libffi=3.4.4=h6a678d5_1
|
||||
- libgcc-ng=14.1.0=h77fa898_0
|
||||
- libgomp=14.1.0=h77fa898_0
|
||||
- libgrpc=1.62.2=h2d74bed_0
|
||||
- libiconv=1.16=h5eee18b_3
|
||||
- libidn2=2.3.4=h5eee18b_0
|
||||
- libjpeg-turbo=2.0.0=h9bf148f_0
|
||||
- libnghttp2=1.57.0=h2d74bed_0
|
||||
- libnpp=11.8.0.86=0
|
||||
- libnvjpeg=11.9.0.86=0
|
||||
- libpng=1.6.39=h5eee18b_0
|
||||
- libprotobuf=4.25.3=he621ea3_0
|
||||
- libsodium=1.0.18=h7b6447c_0
|
||||
- libssh2=1.11.0=h251f7ec_0
|
||||
- libstdcxx-ng=11.2.0=h1234567_1
|
||||
- libtasn1=4.19.0=h5eee18b_0
|
||||
- libthrift=0.15.0=h1795dd8_2
|
||||
- libtiff=4.5.1=h6a678d5_0
|
||||
- libunistring=0.9.10=h27cfd23_0
|
||||
- libuuid=1.41.5=h5eee18b_0
|
||||
- libwebp-base=1.3.2=h5eee18b_0
|
||||
- llvm-openmp=14.0.6=h9e868ea_0
|
||||
- lz4-c=1.9.4=h6a678d5_1
|
||||
- markupsafe=2.1.3=py310h5eee18b_0
|
||||
- mistune=2.0.4=py310h06a4308_0
|
||||
- mkl=2023.1.0=h213fc3f_46344
|
||||
- mkl-service=2.4.0=py310h5eee18b_1
|
||||
- mkl_fft=1.3.8=py310h5eee18b_0
|
||||
- mkl_random=1.2.4=py310hdb19cb5_0
|
||||
- mpc=1.1.0=h10f8cd9_1
|
||||
- mpfr=4.0.2=hb69a4c5_1
|
||||
- mpmath=1.3.0=py310h06a4308_0
|
||||
- multidict=6.0.4=py310h5eee18b_0
|
||||
- multiprocess=0.70.15=py310h06a4308_0
|
||||
- nb_conda_kernels=2.3.1=py310h06a4308_0
|
||||
- nbclassic=1.1.0=py310h06a4308_0
|
||||
- nbclient=0.8.0=py310h06a4308_0
|
||||
- nbconvert=7.10.0=py310h06a4308_0
|
||||
- nbformat=5.9.2=py310h06a4308_0
|
||||
- ncurses=6.4=h6a678d5_0
|
||||
- nest-asyncio=1.6.0=py310h06a4308_0
|
||||
- nettle=3.7.3=hbbd107a_1
|
||||
- networkx=3.3=py310h06a4308_0
|
||||
- notebook=6.5.7=py310h06a4308_0
|
||||
- notebook-shim=0.2.3=py310h06a4308_0
|
||||
- numexpr=2.8.7=py310h85018f9_0
|
||||
- numpy=1.26.4=py310h5f9d8c6_0
|
||||
- numpy-base=1.26.4=py310hb5e798b_0
|
||||
- openh264=2.1.1=h4ff587b_0
|
||||
- openjpeg=2.4.0=h9ca470c_2
|
||||
- openssl=3.3.1=h4bc722e_2
|
||||
- orc=2.0.1=h2d29ad5_0
|
||||
- overrides=7.4.0=py310h06a4308_0
|
||||
- packaging=24.1=py310h06a4308_0
|
||||
- pandas=2.2.2=py310h6a678d5_0
|
||||
- pandocfilters=1.5.0=pyhd3eb1b0_0
|
||||
- pillow=10.4.0=py310h5eee18b_0
|
||||
- pip=24.0=py310h06a4308_0
|
||||
- platformdirs=3.10.0=py310h06a4308_0
|
||||
- prometheus_client=0.14.1=py310h06a4308_0
|
||||
- prompt_toolkit=3.0.43=hd3eb1b0_0
|
||||
- psutil=5.9.0=py310h5eee18b_0
|
||||
- ptyprocess=0.7.0=pyhd3eb1b0_2
|
||||
- pure_eval=0.2.2=pyhd3eb1b0_0
|
||||
- pyarrow=16.1.0=py310h1128e8f_0
|
||||
- pycparser=2.21=pyhd3eb1b0_0
|
||||
- pysocks=1.7.1=py310h06a4308_0
|
||||
- python=3.10.14=h955ad1f_1
|
||||
- python-dateutil=2.9.0post0=py310h06a4308_2
|
||||
- python-fastjsonschema=2.16.2=py310h06a4308_0
|
||||
- python-json-logger=2.0.7=py310h06a4308_0
|
||||
- python-tzdata=2023.3=pyhd3eb1b0_0
|
||||
- python-xxhash=2.0.2=py310h5eee18b_1
|
||||
- pytorch=2.1.0=py3.10_cuda11.8_cudnn8.7.0_0
|
||||
- pytorch-cuda=11.8=h7e8668a_5
|
||||
- pytorch-mutex=1.0=cuda
|
||||
- pytz=2024.1=py310h06a4308_0
|
||||
- pyyaml=6.0.1=py310h5eee18b_0
|
||||
- pyzmq=24.0.1=py310h5eee18b_0
|
||||
- re2=2022.04.01=h295c915_0
|
||||
- readline=8.2=h5eee18b_0
|
||||
- referencing=0.30.2=py310h06a4308_0
|
||||
- regex=2023.10.3=py310h5eee18b_0
|
||||
- requests=2.32.3=py310h06a4308_0
|
||||
- rfc3339-validator=0.1.4=py310h06a4308_0
|
||||
- rfc3986-validator=0.1.1=py310h06a4308_0
|
||||
- rpds-py=0.10.6=py310hb02cf49_0
|
||||
- s2n=1.3.27=hdbd6064_0
|
||||
- safetensors=0.4.2=py310ha89cbab_1
|
||||
- send2trash=1.8.2=py310h06a4308_0
|
||||
- setuptools=69.5.1=py310h06a4308_0
|
||||
- six=1.16.0=pyhd3eb1b0_1
|
||||
- snappy=1.1.10=h6a678d5_1
|
||||
- sniffio=1.3.0=py310h06a4308_0
|
||||
- soupsieve=2.5=py310h06a4308_0
|
||||
- sqlite=3.45.3=h5eee18b_0
|
||||
- stack_data=0.2.0=pyhd3eb1b0_0
|
||||
- sympy=1.12=py310h06a4308_0
|
||||
- tbb=2021.8.0=hdb19cb5_0
|
||||
- terminado=0.17.1=py310h06a4308_0
|
||||
- tinycss2=1.2.1=py310h06a4308_0
|
||||
- tk=8.6.14=h39e8969_0
|
||||
- tokenizers=0.19.1=py310hff361bb_0
|
||||
- tomli=2.0.1=pyhd8ed1ab_0
|
||||
- torchaudio=2.1.0=py310_cu118
|
||||
- torchtriton=2.1.0=py310
|
||||
- torchvision=0.16.0=py310_cu118
|
||||
- tornado=6.4.1=py310h5eee18b_0
|
||||
- tqdm=4.66.4=py310h2f386ee_0
|
||||
- traitlets=5.14.3=py310h06a4308_0
|
||||
- typing-extensions=4.11.0=py310h06a4308_0
|
||||
- typing_extensions=4.11.0=py310h06a4308_0
|
||||
- tzdata=2024a=h04d1e81_0
|
||||
- urllib3=2.2.2=py310h06a4308_0
|
||||
- utf8proc=2.6.1=h5eee18b_1
|
||||
- webencodings=0.5.1=py310h06a4308_1
|
||||
- websocket-client=1.8.0=py310h06a4308_0
|
||||
- wheel=0.43.0=py310h06a4308_0
|
||||
- xformers=0.0.22.post7=py310_cu11.8.0_pyt2.1.0
|
||||
- xxhash=0.8.0=h7f8727e_3
|
||||
- xz=5.4.6=h5eee18b_1
|
||||
- yaml=0.2.5=h7b6447c_0
|
||||
- yarl=1.9.3=py310h5eee18b_0
|
||||
- zeromq=4.3.5=h6a678d5_0
|
||||
- zipp=3.17.0=py310h06a4308_0
|
||||
- zlib=1.2.13=h5eee18b_1
|
||||
- zstd=1.5.5=hc292b87_2
|
||||
- pip:
|
||||
- accelerate==0.33.0
|
||||
- asttokens==2.4.1
|
||||
- bitsandbytes==0.43.2
|
||||
- comm==0.2.2
|
||||
- docstring-parser==0.16
|
||||
- exceptiongroup==1.2.2
|
||||
- executing==2.0.1
|
||||
- gguf==0.9.1
|
||||
- hf-transfer==0.1.8
|
||||
- huggingface-hub==0.24.2
|
||||
- iprogress==0.4
|
||||
- ipython==8.26.0
|
||||
- ipywidgets==8.1.3
|
||||
- jupyterlab-widgets==3.0.11
|
||||
- markdown-it-py==3.0.0
|
||||
- matplotlib-inline==0.1.7
|
||||
- mdurl==0.1.2
|
||||
- parso==0.8.4
|
||||
- peft==0.12.0
|
||||
- pexpect==4.9.0
|
||||
- prompt-toolkit==3.0.47
|
||||
- protobuf==3.20.3
|
||||
- pure-eval==0.2.3
|
||||
- pygments==2.18.0
|
||||
- rich==13.7.1
|
||||
- sentencepiece==0.2.0
|
||||
- shtab==1.7.1
|
||||
- stack-data==0.6.3
|
||||
- transformers==4.43.3
|
||||
- trl==0.8.6
|
||||
- tyro==0.8.5
|
||||
- wcwidth==0.2.13
|
||||
- widgetsnbextension==4.0.11
|
||||
```
|
||||
|
||||
#### 3. docker-compose.yml
|
||||
|
||||
```yaml
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
unsloth-env:
|
||||
environment:
|
||||
- NVIDIA_VISIBLE_DEVICES=all
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
count: all
|
||||
capabilities: [gpu]
|
||||
volumes:
|
||||
- ./cache:/root/.cache
|
||||
- ./workspace:/workspace
|
||||
working_dir: /workspace
|
||||
ports:
|
||||
- "8888:8888" # For Jupyter Lab
|
||||
tty: true
|
||||
stdin_open: true
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
```
|
||||
Loading…
Add table
Add a link
Reference in a new issue