8月18日に東京大学松尾研究室が日英2ヶ国語対応の大規模言語モデルWeblab-10Bを公開しました。
今まで、無料Colabではメモリが足りなかったため、このモデルは利用できなかったのですが、今回、軽量な4bit量子化モデルが公開されたため、早速試してみることにしました。
なお、最近、transformersがAutoGPTQを統合したため、GPTQ(学習後量子化手法)で量子化した軽量モデルがGoogle Colabや自宅のパソコンで簡単に利用できるようになっています。
1.Weblab-10Bの概要
8月18日、東京大学松尾研究室は、日本語と英語の2ヶ国語に対応した100億パラメータサイズの大規模言語モデル(LLM)を公開しました。
最近は、Stability AIのJapanese StableLM AlphaやLINEのjapanese-large-lmなど日本語に対応したLLMが次々と公開されていますが、それらに続く動きです。
日本で主流の70億パラメータサイズ以下のLLMよりも大規模なモデルとなっています。
日本語と英語の2ヶ国語対応で、パラメータ数は100億
ベースモデルのweblab-10bと事後学習済みモデルのweblab-10b-instruction-sftの2種類を公開
事前学習にはThe Pile(英語)と Japanese-mC4、事後学習には、Alpaca(英・日)やFlan(英語)のデータセットを使用
事後学習には、Supervised Fine-tuning(SFT)を採用
事後学習により、日本語ベンチマークのJGLUE評価値が66%→78%に改善
商用利用不可
他の公開モデルとの性能比較は以下のとおり。
2.無料Colabでの利用方法
今回は、dahara1さんが公開したweblab-10b-instruction-sftの4bit量子化モデルのweblab-10b-instruction-sft-GPTQを使用します。
(1) モデルの準備
以下のコードをコピーして、Colabノートの新しいセルにCtrl+Vで貼り付け、GPUを設定して、セルを実行してください。
!pip install auto-gptq
from transformers import AutoTokenizer
from auto_gptq import AutoGPTQForCausalLM
quantized_model_dir = "dahara1/weblab-10b-instruction-sft-GPTQ"
model_basename = "gptq_model-4bit-128g"
tokenizer = AutoTokenizer.from_pretrained(quantized_model_dir)
model = AutoGPTQForCausalLM.from_quantized(
quantized_model_dir,
model_basename=model_basename,
use_safetensors=True,
device="cuda:0")
(2) モデルの実行
上のセルの実行完了後、以下のコードを別のセルにコピーして実行してください。
prompt_text = "日本で一番高い山を教えてください"
prompt_template = f'以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。\n\n### 指示:{prompt_text}\n\n### 応答:'
tokens = tokenizer(prompt_template, return_tensors="pt").to("cuda:0").input_ids
output = model.generate(input_ids=tokens, max_new_tokens=500, do_sample=True, temperature=0.8)
print(tokenizer.decode(output[0]))
すると、セルの下に以下のような回答が表示されます。
以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。
<|endoftext|>
"日本で一番高い山を教えてください"の部分を書き換えて、色々な質問を試すことができます。
3.色々な質問
(1) 日常会話
日常会話には問題なく受け答えできますが、あまり新しい情報は把握していないようです。ChatGPTよりも情報が古いと感じることがあります。
(2) 算数の問題
一桁の計算も間違えることが多く、Stability AIのJapanese StableLM Alphaと同様に、計算や算数の問題は苦手なようです。
(3) 常識に関する問題
論理的推論能力もあまり期待できないようです。
(4) 日本に関する知識
日本に関する常識的な知識を持っているようです。
(5) 国際的な知識
国際的な常識も備えているようですが、情報が古いようです。
(6) 日本の歴史
日本の歴史に関する知識は、Japanese StableLM Alphaよりも足りないようです。
(7) 世界の歴史
世界の歴史もあまり得意ではないようです。
(8) 日本の文学
日本の文学の知識は、ほぼ壊滅状態でした。
(9) 表現力
表現力以前に、回答が長くなると、内容に一貫性のある筋の通った文章を書くことができないようです。
(10) コンテンツ規制
Japanese StableLM Alphaと同様にコンテンツ規制は緩いようです。但し、あまり難しい文章も書けないので、危険な情報を提供する可能性も低いようです。
以下は、以前にStability AIのJapanese StableLM Alphaの性能をテストしたときの記事です。ほぼ同じ内容の質問でテストしていますので、是非、比較してみてください。
4.まとめ
日常会話の短い文章の受け答えは問題ありませんが、少し回答が長くなってくると、意味不明で支離滅裂な文章になることが多いようです。
また、Stability AIのJapanese StableLM Alphaと同様に、簡単な計算も正解することができず、論理的推論能力は期待できないようです。
日本に関する一般常識は、ある程度備えているようですが、日本の歴史や文学に関する知識は、Japanese StableLM Alphaと比べても、全然足りていないようです。
表現力については、それ以前に、筋の通った長い文章を書くことができないようです。
コンテンツ規制は、ほとんど適用されていないように見えます。どんな質問をしても、回答を拒否されることはありませんでした。
結論として、Weblab-10Bの性能は大体、Japanese StableLMと同程度です。日本に関する知識や文章の安定性は、Japanese StableLMの方が上かも知れません。パラメータ数が違うので当然ですが、GPT-3.5とは比べられません。
短い日常会話の受け答えはできますが、回答が長くなると意味不明な文章になります。論理的思考力が足りないため、難しい質問には対応できず、日本に関する知識も十分ではありません。
難しいタスクにも対応できるような論理的思考力を高めるには、やはり、かなり大きなパラメータサイズが必要なのでしょうか。
少なくとも、日本特有の知識については、もう少し頑張ってもらいたいところです。