![見出し画像](https://assets.st-note.com/production/uploads/images/125170742/rectangle_large_type_2_2c4dd2746db2980980cb28fe5f043f29.png?width=800)
Google Colab で Nekomata-14B を試す
「Google Colab」で「Nekomata-14B」を試したので、まとめました。
【注意】Google Colab Pro/Pro+のA100で動作確認しています。
1. Nekomata
「Nekomata」は、「rinna」が開発した「Qwen」ベースの日本語継続事前学習モデルです。
2. Nekomata のモデル
「Nekomata」は、現在4つのモデルが提供されています。
・rinna/nekomata-14b : ベースモデル
・rinna/nekomata-14b-instruction : 指示モデル
・rinna/nekomata-7b : ベースモデル
・rinna/nekomata-7b-instruction : 指示モデル
3. Colabでの実行
Colabでの実行手順は、次のとおりです。
(1) Colabのノートブックを開き、メニュー「編集 → ノートブックの設定」で「GPU」の「A100」を選択。
(2) パッケージのインストール。
# パッケージのインストール
!pip install -U transformers sentencepiece accelerate bitsandbytes
!pip install -U tiktoken einops transformers_stream_generator
(2) トークナイザーとモデルの準備。
今回は、「rinna/nekomata-14b-instruction」を読み込みました。
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
"rinna/nekomata-14b-instruction",
trust_remote_code=True
)
model = AutoModelForCausalLM.from_pretrained(
"rinna/nekomata-14b-instruction",
device_map="auto",
trust_remote_code=True,
bf16=True
)
(3) 推論の実行。
# プロンプトの準備
prompt = '''
以下は、タスクを説明する指示と、文脈のある入力の組み合わせです。要求を適切に満たす応答を書きなさい。
### 指示:
あなたはQAアシスタントです。ユーザーの質問に対して回答とその理由を返答してください。
### 入力:
まどか☆マギカでは誰が一番かわいい?
### 応答:
'''
# 推論の実行
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),
max_new_tokens=200,
do_sample=True,
temperature=0.5,
repetition_penalty=1.0,
pad_token_id=tokenizer.pad_token_id,
bos_token_id=tokenizer.bos_token_id,
eos_token_id=tokenizer.eos_token_id
)
output = tokenizer.decode(output_ids[0][token_ids.size(1) :])
print(output)
まどかが一番かわいいです。理由は、まどかは、物静かで、優しく、純粋で、心が広く、そして何よりも、魔法少女としての能力が高く、キュゥべえを倒すことができるからです。<|endoftext|>
この記事が気に入ったらサポートをしてみませんか?