すごさをColabで試したい。
Gemma2の日本語性能の高さにたまげてたらあっというまに日本語継続事前学習モデルのEZOが登場しました。
https://huggingface.co/HODACHI/EZO-Humanities-9B-gemma-2-it
Gemma2はOllamaで触っていたのですが、EZOはまだOllamaに上がっていなかったのでColabで試しました。
その前に
とか書いてから投稿する前に調べたらOllamaで上げてくださった方がいらっしゃったようです。
https://note.com/lucas_san/n/neb35a4060f2d
一応Commonのみ?っぽいのでこの記事はHumanitiesモデルを触るためということでご容赦ください。
コード
大まかにはhuggingfaceのコード通りでいいのですがColabでは下記コードが必要そうです。
!pip install transformers==4.42.3
!pip install accelerate
transformersのバージョンがColabでは若干古いのでアップグレードが必要です。
4.42.3にGemma2のアーキテクチャが取り込まれたようなのでそちらにアップグレードします。
また、それにともなってかaccelerateのインストールも必要です。なぜ依存ライブラリとしてインストールされないのかはわかってないです。
from transformers import AutoTokenizer, AutoModelForCausalLM
import transformers
import torch
model_id = "HODACHI/EZO-Humanities-9B-gemma-2-it"
dtype = torch.bfloat16
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
device_map="cuda",
torch_dtype=dtype,)
ここまででモデルのロードが完了します。
chat = [
{ "role": "user", "content": "アニメ、シュタインズ・ゲートで主題となっているのはどのような概念でしょうか?" },
]
prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer.encode(prompt, add_special_tokens=False, return_tensors="pt")
outputs = model.generate(input_ids=inputs.to(model.device), max_new_tokens=300)
print(tokenizer.decode(outputs[0]))
下記が回答です。
シュタインズ・ゲートの主題となっている概念は、主に以下の3つが挙げられます。
1. **因果律と時間旅行のジレンマ:**
- 物語の中心は、時間移動装置「D-メール」を用いた時間操作によって引き起こされる、複雑な因果関係とパラドックスです。
- 過去を変えようとする行為が、未来に予想外の波及効果をもたらす、時間旅行の倫理的な問題や、自己矛盾に陥る可能性を浮き彫りにします。
2. **選択と責任:**
- 時間旅行によって、主人公の岡部倫太郎は何度も異なる未来を選択し、その結果に責任を問われます。
- 彼の選択が、周りの人々の運命や、世界全体の未来に大きな影響を与えることを描き、個人の行動がもたらす影響の重さを強調しています。
3. **人間関係と愛:**
- 時間旅行を通して、岡部と仲間たちは、愛する人々との絆を深め、失ったものを取り戻そうと奮闘します。
- しかし、時間操作によって関係が歪んだり、新たな葛藤が生じることも描かれ、愛と喪失、そして人間関係の複雑さを表現しています。
これらの概念は、SF的な時間旅行の枠組みの中で、哲学的な問いと人間ドラマを巧みに融合させて、シュタインズ・ゲート
感想
9Bモデルで、Zero-shotの特定のアニメの質問にここまで精度良く返されて驚いています。固有名詞も正しいものが入っていて恐ろしいです。とうとうオープンモデルがここまで来てしまったのかという気持ちです。
速度もGPUはL4を使ったところ、11.5トークン/秒の速度で生成されました。
これならさまざまな分野で、特にAIキャラクターの分野で速度、精度ともに十分すぎるほど実用的なのではないでしょうか。
ローカルデバイスでのアシスタントも現実的です。今後もいろいろ遊んでいこうと思います。