WSL2のUbuntuを使用してopen-calm-7bを動かしてみる。

IT Blogs

はじめに

Pytorchのインストール方法が分かってきたので、次にCyberAgent社のopen-calm-7bを動かしてみました。

前提

  • WindowsにNVIDIAのドライバーを導入済み
  • Pythonの仮想環境は使用していません。

手順

Ubuntu-22.04のインストール

1.ターミナルを起動して、以下コマンドを実行する。

 wsl --install -d Ubuntu-22.04 

2. Windowsを再起動する。

WSL2用のCUDAをインストール

1.CUDAをドキュメントを参照してインストールする。

今回は、pytorchが対応している12.1.1を使用しています。

CUDA Toolkit 12.1 Update 1 Downloads

cuDNNをインストール

cuDNNのダウンロード

以下のURLからアカウントを作成して、「Local Installer for Ubuntu22.04 x86_64 (Deb)」をダウンロードする。

Log in

cuDNNの配置先フォルダを作成し、ファイルを配置する。

私はC:\workのフォルダを作成して、ファイルを配置しました。

パッケージのインストール

sudo dpkg -i /mnt/c/work/cudnn-local-repo-ubuntu2204-8.9.7.29_1.0-1_amd64.deb

Pytorchのインストール

以下コマンドを実行する。

pip3 install torch torchvision torchaudio

transformersのインストール

pip install transformers

Accelerateのインストール

※acceleratorではないので、注意です。自分は間違えてしまいました。。。

pip install accelerate

open-clam-7bの実行

Pythonで実行するファイルの作成

Hugging FaceからUsageを確認し、ファイル(open-calm-7b.py)を作成する。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("cyberagent/open-calm-7b", device_map="auto", torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained("cyberagent/open-calm-7b")

inputs = tokenizer("AIによって私達の暮らしは、", return_tensors="pt").to(model.device)
with torch.no_grad():
    tokens = model.generate(
        **inputs,
        max_new_tokens=64,
        do_sample=True,
        temperature=0.7,
        top_p=0.9,
        repetition_penalty=1.05,
        pad_token_id=tokenizer.pad_token_id,
    )
    
output = tokenizer.decode(tokens[0], skip_special_tokens=True)
print(output)

LLMの実行

python3 open-calm-7b.py

コメント

タイトルとURLをコピーしました