ディープラーニング環境構築 cuda、モデル定量化 bitsandbytes、git-lfs インストールチュートリアル windows、linux

cuda、cudann、condaのインストールチュートリアル

次のコマンドを入力して、GPU でサポートされている最も高い CUDA バージョンを表示します。

nvidia-smi

cuda のインストール (cudatoolkit)

前往 Nvidia 的 CUDA 官网:CUDA Toolkit Archive | NVIDIA Developer 

CUDA ツールキット 11.8 ダウンロード | NVIDIA 開発者

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run
sudo sh cuda_11.8.0_520.61.05_linux.run

cudnn のインストール

リナックス

CUDA ツールキット アーカイブ | NVIDIA 開発者

それをダウンロードしてサーバーにスローします。

cudnn-linux-x86_64-8.4.1.50_cuda10.2-archive.tar.xz

gz ではなく xz であることに注意してください。そのため、解凍は次のようになります。

tar -xf cudnn-linux-x86_64-8.4.1.50_cuda10.2-archive.tar.xz

以前はcudnnファイルをcudaのパスに放り込めばOKでしたが、実際には必ずしもcudaのパスに置く必要はなく、LD_LIBRARY_PATHに追加するだけです。

解凍後、ディレクトリ cudnn-linux-x86_64-8.4.1.50_cuda10.2-archive が作成され、その下に include と lib があります。

パスを LD_LIBRARY_PATH に追加し、パスに名前を付けます。

それを構成ファイルに入れます。

echo "export CUDNN_DIR=$(pwd)" >> /etc/profile
echo "export LD_LIBRARY_PATH=$CUDNN_DIR/lib:$LD_LIBRARY_PATH" >> /etc/profile

次に、環境変数を更新します。

source /etc/profile

更新後、正しく追加されたかどうかを確認します。

echo $CUDNN_DIR
/root/cudnn-linux-x86_64-8.4.1.50_cuda10.2-archive

ここに戻っても大丈夫です

LD_LIBRARY_PATH をもう一度見てください。正しいですか?

echo $LD_LIBRARY_PATH

トーチの設置

pip install torchaudio torch==2.0.0+cu118 torchvision ninja --force-reinstall --extra-index-url https://download.pytorch.org/whl/cu118

ローカルで開始 |パイトーチ

Web ページ上で、お使いのコンピュータとシステムに合ったオプションを選択してください。

  • 最初の行は、トーチが安定バージョンであるかどうかを選択することであり、デフォルトは安定バージョンです。
  • 2 行目では、Linux、Mac、Windows などの独自のシステムを選択します。​ 
  • 3 行目はインストール環境を示します。anacoda でのインストール、cmd での pip インストール、libtorch でのインストール、またはソース コードのインストールです。
  • 4 行目は言語の選択です。Python と C++/Java が提供されます。
  • 5 行目では、cuda GPU バージョンを使用することを選択しますか? その場合、自分の cuda バージョン (セルフ Google、Baidu) を確認する必要があります。ここでは、GPU なしで none を選択しているため、torch の CPU バージョンになります。 。
  • 6行目はインストールコマンドを直接コピーし、対応する環境を選択してインストールしますが、多くはanacondaかpipを使用します。

もう 1 つの特別な注意事項として、64 ビット環境を使用する必要があります。Python IDE であれ、Anaconda であれ、必ず 64 ビットをインストールする必要があります。そうしないと、オンラインで試したすべての方法が役に立ちません。 (ブロガーの涙の経験は、時間をかけてオンラインで方法を検索したところ、ビット数に問題があることがわかったということです。32 ビット アナコンダをアンインストールし、64 ビット バージョンをインストールしたところ、ビット数の見方ですが、インストールされている場合 システムPythonを使用します cmdコマンドに直接Pythonを入力します Pythonにシステム環境変数が追加されていることが前提です。以下に示すように、32 ビットのインストールを開始しましたが、さまざまな方法を試しましたが失敗しました。 Ana も最初から 32 ビットです。
 

ビットサンドバイトのインストール

Windows をサポートするために bitsandbytes ライブラリを魔法のように変更しました。

python -m pip install bitsandbytes --prefer-binary --extra-index-url=https://jllllll.github.io/bitsandbytes-windows-webui

bitsandbytes の Windows バージョンをインストールする

または

pip uninstall bitsandbytes
pip install bitsandbytes-windows

別のオプション https://github.com/acpopescu/bitsandbytes/releases/tag/v0.38.0-win0

リナックス

GitHub - TimDettmers/bitsandbytes: PyTorch 用の 8 ビット CUDA 関数

1.pipのインストール

pip install bitsandbytes

2. ローカルでコンパイルし、独自の cuda バージョンを選択します

git clone https://github.com/timdettmers/bitsandbytes.git
cd bitsandbytes

# CUDA_VERSIONS in {110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 120}
# make argument in {cuda110, cuda11x, cuda12x}
# if you do not know what CUDA you have, try looking at the output of: python -m bitsandbytes
CUDA_VERSION=117 make cuda11x
python setup.py install

HuggingFace コンバーターでの Int8 推論の使用

from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(
  'decapoda-research/llama-7b-hf,
  device_map='auto',
  load_in_8bit=True,
  max_memory=f'{int(torch.cuda.mem_get_info()[0]/1024**3)-2}GB')

int4

from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig
from transformers import AutoModelForCausalLM, BitsAndBytesConfig

# quantization configuration for NF4 (4 bits)
quantization_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type='nf4',
    bnb_4bit_compute_dtype=torch.bfloat16
)
。。。。。。
model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen-7B-Chat",
    quantization_config=quantization_config,
    device_map="auto",
    trust_remote_code=True
).eval()

int4 効果、12G グラフィックス カードで駆動可能

from transformers import AutoModelForCausalLM, BitsAndBytesConfig, AutoTokenizer

# quantization configuration for NF4 (4 bits)
quantization_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type='nf4',
    bnb_4bit_compute_dtype=torch.bfloat16
)

# quantization configuration for Int8 (8 bits)
# quantization_config = BitsAndBytesConfig(load_in_8bit=True)
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-7B-Chat", trust_remote_code=True)

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen-7B-Chat",
    device_map="cuda:0",
    quantization_config=quantization_config,
    trust_remote_code=True,
).eval()

response, history = model.chat(tokenizer, "你好", history=None)
print(response)
response, history = model.chat(tokenizer, "给我讲一个年轻人奋斗创业最终取得成功的故事。", history=history)
print(response)
你好!很高兴为你提供帮助。
这是一个关于一个年轻人奋斗创业最终取得成功的故事。

这个年轻人叫做李明,他来自一个普通的家庭。他从小就对商业感兴趣,梦想着有一天能够成为一名成功的企业家。然而,他的家庭条件并不富裕,他需要通过自己的努力来实现自己的梦想。

李明在大学期间就开始创业,他成立了一家电子商务公司。一开始,公司的发展并不顺利,面临着很多困难和挑战。但是,李明并没有放弃,他坚定地相信自己的梦想,并且不断地努力工作。

他不断地学习和探索,寻找新的商机和创意。他也不断地与人交流和合作,寻求帮助和支持。最终,他的公司开始逐渐发展壮大,获得了越来越多的客户和投资者。

经过几年的努力,李明的公司已经成为了一家成功的电子商务企业。他的创业经历也激励了很多人,让他们相信只要努力奋斗,就能够实现自己的梦想。

这个故事告诉我们,创业并不是一件容易的事情,需要付出大量的努力和时间。但是,只要我们相信自己,不断努力工作,就一定能够取得成功。

pyopenjtalk のインストール

ModuleNotFoundError: 'pyopenjtalk' という名前のモジュールがありません。

pip install pyopenjtalk --no-build-isolation

他の定量化方法

model = model.quantize(4).cuda()

git-lfsのインストール

1. git-lfs の概要
git-lfs は GIT 拡張機能で、通常、バージョン管理と大きなファイルの管理に使用されます。LFS の正式名は、Large File Storage です。これにより、Git ユーザーは、大きなバイナリ ファイルを Git リポジトリに直接ではなく、外部オブジェクト ストアに保存して管理できるようになります。 git-lfs を使用すると、ユーザーは大きなバイナリ ファイルを Git リポジトリに保存する必要がなくなり、Git リポジトリのパフォーマンスと保守性が向上します。
git-lfs を使用するには、まず拡張機能をインストールし、次に Git リポジトリ内の対応する LFS 追跡ルールを構成して、LFS を使用して管理する必要があるファイルを指定する必要があります。構成が完了すると、Git ユーザーは他のコード ファイルと同じように大きなバイナリ ファイルを管理できるようになります。 Git 操作を実行する場合、git-lfs は LFS によって追跡される大きなバイナリ ファイルを自動的に処理し、これらのファイルが正しくアップロード、ダウンロード、およびバージョン管理できるようにします。

2. インストール

apt-get update  # 更新安装包列表
apt-get install git  # 安装git
apt-get install git-lfs  # 安装git-lfs
git lfs install  # 初始化


 

参考文献

GitHub - jllllll/bitsandbytes-windows-webui: text-generation-webui で使用するための bitsandbytes の Windows コンパイル。

GitHub - Keith-Hon/bitsandbytes-windows: Windows 10 の PyTorch 用の 8 ビット CUDA 関数

おすすめ

転載: blog.csdn.net/m0_61634551/article/details/132373081