Vecteusで遊ぶメモ
このメモを読むと
・話題のローカルLLMを試せる
検証環境
・Windows11
・VRAM24GB
・ローカル(Anaconda)
・python3.10
・2024/5/B時点
事前準備
Anacondaを使うメモ|おれっち (note.com)
Gitを使うメモ|おれっち (note.com)
Vecteus
LOCAL AI HACKATHON#001にて金賞を受賞した、7bのLLM。
ご家庭マシンで、高品質な日本語を生成してくれるモデルです。
サポートアイテムの導入
環境構築に先んじて、ninjaを導入します。
flash-attnのセットアップにとんでもなく時間がかかるので、それを短縮するためです。
1. 下記からninja-win.zipをダウンロードし展開
https://github.com/ninja-build/ninja/releases
2. 展開したものを好きな場所に移動させ、パスを通す
私は C:\Program Files\ninja-win に移動しパスとして通しました。
3. 動作確認
バージョンが帰ってきたらOK。
ninja --version
環境構築
とても簡単です!
1. 仮想環境を作成し、環境切替
conda create -n vecteustest python=3.10
activate vecteustest
2. 追加パッケージのインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install transformers accelerate sentencepiece protobuf
pip install flash-attn --no-build-isolation
完了です!
実行
下記スクリプトを実行
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "Local-Novel-LLM-project/Vecteus-v1"
new_tokens = 1024
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True, torch_dtype=torch.float16, attn_implementation="flash_attention_2", device_map="auto")
tokenizer = AutoTokenizer.from_pretrained(model_id)
system_prompt = "あなたは料理家です。\nアドバイスをください\n-------- "
prompt = input("Enter a prompt: ")
system_prompt += prompt + "\n-------- "
model_inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
generated_ids = model.generate(**model_inputs, max_new_tokens=new_tokens, do_sample=True)
print(tokenizer.batch_decode(generated_ids)[0])
長文が出た!
おわり
小説に特化したモデルだからか、トークン上限まで文章が出力されます。
内容も筋が通っており大きな破綻もなく、”楽しませる文”としては十分すぎる性能ではないでしょうか。
おしょうしな
この記事が気に入ったらサポートをしてみませんか?