見出し画像

Google Colab で Weblab-10B を試す

「Google Colab」で「Weblab-10B」を試したので、まとめました。

【注意】Google Colab Pro/Pro+のA100で動作確認しています。


1. Weblab-10B

Weblab-10B」は、「東京大学松尾研究室」が開発した、100億パラメータサイズ・日英2ヶ国語対応の大規模言語モデルです。

2. Weblab-10Bのモデル

「Weblab-10B」では、次の2種類のモデルが公開されています。

matsuo-lab/weblab-10b : ベースモデル
matsuo-lab/weblab-10b-instruction-sft : 指示モデル

3. Colabでの実行

Colabでの実行手順は、次のとおりです。

(1) パッケージのインストール。

# パッケージのインストール
!pip install transformers sentencepiece accelerate bitsandbytes

(2) トークナイザーとモデルの準備。
今回は、指示モデル (matsuo-lab/weblab-10b-instruction-sft) を利用しています。

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# トークナイザーとモデルの準備
tokenizer = AutoTokenizer.from_pretrained(
    "matsuo-lab/weblab-10b-instruction-sft"
)
model = AutoModelForCausalLM.from_pretrained(
    "matsuo-lab/weblab-10b-instruction-sft",
    torch_dtype=torch.float16,
    device_map="auto",
)

(3) 推論の実行。

# プロンプトの準備
text = """以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。

### 指示:
まどか☆マギカでは誰が一番かわいい?

### 応答:
"""

# 推論の実行
token_ids = tokenizer.encode(text, add_special_tokens=False, return_tensors="pt")
with torch.no_grad():
    output_ids = model.generate(
        token_ids.to(model.device),
        max_new_tokens=100,
        do_sample=True,
        temperature=0.7,
        top_p=0.9,
    )
output = tokenizer.decode(output_ids.tolist()[0])
print(output)
以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。

### 指示:
まどか☆マギカでは誰が一番かわいい?

### 応答:
まどかは、魔法少女たちの中で最もかわいいです。
<|endoftext|>



この記事が気に入ったらサポートをしてみませんか?