Slide 21
Slide 21 text
20
© NTT CORPORATION 2023
オープンな LLM を用いた文章の生成
オープンな LLM のパラメータの重みやその学習データは HuggingFace や GitHub などの
Web サイトで数多く公開されており、わずか数行の Python コードで利用可能
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# トークナイザとモデルの読み込み
model_name = "meta-llama/Llama-2-7b-hf"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name, torch_dtype=torch.float16).to("cuda")
# プロンプト
prompt = "Mt. Fuji is the highest mountain in Japan. Its peek is at"
# プロンプトをトークン化し、モデルに入力
inputs = tokenizer(prompt, return_tensors='pt').to(model.device)
outputs = model.generate(**inputs, max_new_tokens=32, do_sample=False)
# モデルの出力を文字列にデコードして表示
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
d
例: Llama-2-7B を利用した文章の生成
Mt. Fuji is the highest mountain in Japan.
Its peek is at 3,776 meters above sea level.
It is located in the Fuji-Hakone-Izu
National Park. It is a d
実行結果
プロンプトに追加
(生成) された部分
インストラクションチューニングを行う
前のベースモデルは適切なところで出力
を「止めること」を学習していないため、
最大長まで延々と出力することがある
※ このコードの実行には NVIDIA 社の GPU (VRAM 16GB程度)
を搭載した計算機、Python, PyTorch, CUDA Toolkit の実行環
境、HuggingFace Hub へのログイン、LLaMA ライセンスへの
同意等の事前準備が必要です。