WSLでQwen-72B-Chat-Int4
GPT-4に匹敵する出来になるのでは?と期待されていたQwen-72Bが
公開されましたね!
どれどれ・・・
ご家庭のパソコンで70Bなんて無理無理かたつむり・・・
あれ?以前に70Bモデルを動かしたことあったような・・・?
やってました・・・
Windows11(CPUメモリ128G) RTX4090 (GPUメモリ24G), Python3.11です。
もう一度やってみましょう!その次にQwenを試してみます。
TheBloke/Xwin-LM-70B-V0.1-GPTQ
信頼と実績のまどマギ☆ベンチマークでテイスティングです。
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained("TheBloke/Xwin-LM-70B-V0.1-GPTQ", use_fast=True)
model = AutoModelForCausalLM.from_pretrained("TheBloke/Xwin-LM-70B-V0.1-GPTQ", device_map="auto", trust_remote_code=False, revision="main")
# プロンプトの準備
prompt = """### Instruction:
まどか☆マギカで誰が一番かわいい?
### Response:
"""
# 推論の実行
with torch.no_grad():
token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
output_ids = model.generate(
token_ids.to(model.device),
temperature=0.7,
do_sample=True,
top_p=0.95,
top_k=40,
max_new_tokens=256,
)
output = tokenizer.decode(output_ids.tolist()[0][token_ids.size(1) :], skip_special_tokens=True)
print(output)
CPUメモリはとても遅いので・・・ 約5分ほど待つと出力されました。
Qwen/Qwen-72B-Chat-Int4
Qwen-72BのINT4なら48Gなので動くはず・・・
仮想環境をつくって・・・
python -m venv .venv &&
source .venv/bin/activate &&
pip install -U pip &&
pip install -U packaging setuptools wheel &&
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 &&
pip install flash-attn --no-build-isolation &&
pip install "transformers>=4.32.0" accelerate tiktoken einops scipy transformers_stream_generator==0.0.4 peft deepspeed &&
pip install auto-gptq optimum
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen-72B-Chat-Int4", trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen-72B-Chat-Int4", device_map="auto", trust_remote_code=True).eval()
# プロンプトの準備
prompt = """### Instruction:
まどか☆マギカで誰が一番かわいい?
### Response:
"""
# 推論の実行
with torch.no_grad():
token_ids = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
output_ids = model.generate(
token_ids.to(model.device),
temperature=0.7,
do_sample=True,
top_p=0.95,
top_k=40,
max_new_tokens=256,
)
output = tokenizer.decode(output_ids.tolist()[0][token_ids.size(1) :], skip_special_tokens=True)
print(output)
約10分後に出力されました・・・
これは芳醇な! みこっと・・・?な出来栄え?
ソムリエは「去年よりもおいしい」「まるで摘みたての赤い果実をそのまま口にほおばったような味わい」と評価しています。
この記事が気に入ったらサポートをしてみませんか?