ChatGPTのような大規模言語モデル(LLM)は、個人でも試すことができます。この記事では、Google Colab上で簡単に動かせる軽量モデルを紹介します。
LLMとは?
LLM(Large Language Model)は、大量のテキストを学習して自然な文章を生成できるAIモデルです。ChatGPTやGeminiなどのサービスは、この技術を基に作られています。
Colabで動かせる軽量モデル
Google Colabでは、大規模モデルはメモリ制限により動かせませんが、小型のオープンソースモデルなら実験可能です。代表的なのは以下のようなものです:
- DistilGPT2(Hugging Face提供、GPT-2を軽量化したモデル)
- rinna/japanese-gpt2-medium(日本語に特化したGPT-2モデル。rinna社が公開しており、日本語の自然な文章生成に強みがあります)
- Phi-2(Microsoft):性能とサイズのバランスが良い研究用モデル
- TinyLlama:Llama系を軽量化した教育・実験用モデル
実際に動かしてみよう
ここでは、rinna/japanese-gpt2-medium(日本語対応のGPT-2モデル)をColab上で動かして、文章を自動生成する例を紹介します。
# !pip install transformers torch
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# モデルとトークナイザーの読み込み
model_name = "rinna/japanese-gpt2-medium"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# プロンプト(入力文)
prompt = "AIが進化すると私たちの生活は"
inputs = tokenizer(prompt, return_tensors="pt")
# GPUが利用可能かチェックし、デバイスを設定
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
inputs.to(device)
# === 文章生成(重要な修正箇所) ===
# do_sample=True: 確率に基づいて単語を選択し、より人間らしい文章を生成します。
# max_new_tokens: 生成するトークンの最大数(文章の長さ)。
# top_p: 上位p%の確率の単語からサンプリングし、多様性を高めます。
# temperature: 確率分布を調整し、値を小さくすると一貫性が増し、大きくすると多様性が増します。
outputs = model.generate(
**inputs,
do_sample=True,
max_new_tokens=80,
top_p=0.95,
temperature=0.7,
pad_token_id=tokenizer.pad_token_id, # モデルによっては必須
eos_token_id=tokenizer.eos_token_id
)
# 生成結果のデコードと表示
# 不要なエンコード/デコードを削除し、直接printします。
text = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(text)
出力結果の例
実行1回目
が進化すると私たちの生活はかなり 楽になるでしょう。 最近 私たちは いろいろな 変化を 経験しているので 注意が必要です。 ・ 私は いつも 私を 愛している ・ 私は あなたを愛している ・ 私は あなたを愛している ・ 私は あなたを愛している ・ 私は あなたを愛している ・ 私は あなたを愛している ・
→ 感情表現が繰り返される傾向があり、確率的サンプリングの影響が見られます。
実行2回目
が進化すると私たちの生活はとても便利で快適になりました。 さて、今回は、私たちの身の回りでよく使われる便利な文房具を 紹介します。 私も、普段使う文房具をたくさん持っていますが、その中でも、特に最近、話題になっているのが、この「文房具」です。 今回は、そんな文房具の中から、おしゃれでかわいい
実行3回目
が進化すると私たちの生活はどうなるのでしょうか? 私たちが自然の摂理を無視し、自然を壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、破壊し、
まとめ
Google Colabを使えば、無料で小規模なLLMを体験できます。まずはDistilGPT2などの軽量モデルで試し、慣れたらより高度なモデルや独自データでのファインチューニングに挑戦してみましょう。
※ LLMの出力結果は確率的に変化し、事実とは異なる内容を含む場合があります。研究・実験目的でご利用ください。

0 件のコメント:
コメントを投稿