0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

日本語特化モデルをGoogle Colaboratoryを動かしてみた

Last updated at Posted at 2023-09-17

2023年08月22日に東京大学から発表された、日本語に特化したAIモデルをGoogle Colaboratory上で動かしてみました。
このモデルはhugging faceで公開されています。

ちなみにモデル名を変更すれば、今話題のcodellamaなども動かせます!
今後もどんどん色々なモデルが出てくると思うので試してみると楽しいかも。

記事 https://www.t.u-tokyo.ac.jp/press/pr2023-08-18-001
hugging face https://huggingface.co/
モデル https://huggingface.co/matsuo-lab/weblab-10b-instruction-sft
codellamaのモデル https://huggingface.co/codellama/CodeLlama-7b-hf

以下のコードを実行するのに課金が必要かもしれません。課金済み(Colab Pro)の状態で実行しています。
途中でメモリ不足でクラッシュしたので増量して再度実行しました

今回動かすコード

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# 学習済みファイルのダウンロード部分
tokenizer = AutoTokenizer.from_pretrained("matsuo-lab/weblab-10b")
model = AutoModelForCausalLM.from_pretrained("matsuo-lab/weblab-10b", torch_dtype=torch.float16)

if torch.cuda.is_available():
    model = model.to("cuda")

# llm実行部分
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.95
    )

output = tokenizer.decode(output_ids.tolist()[0])
print(output)

動かす手順

手順1

まずはGoogle Colaboratoryでgpuを動かす設定を行います
スクリーンショット 2023-09-17 20.38.53.png
スクリーンショット 2023-09-17 20.39.08.png

手順2

以下のコマンドを実行してgpuが使用できているかを確認します

!nvidia-smi

スクリーンショット 2023-09-17 20.39.52.png

手順3

必要なライブラリをインストールします

!pip install git+https://github.com/huggingface/transformers.git@main accelerate

スクリーンショット 2023-09-17 20.42.49.png

手順4

上記のコードのファイルの不ダウンロード部分を実行します
約22GBのデータをダウンロードするのに7分ほどかかりました。何回かダウンロードを繰り返すと激遅になります

google driveとマウントすることもできるようです。
https://note.com/npaka/n/n0b942a95ca5b

画像は後ほど

手順5

llmの実行を行います

画像は後ほど

Google Colaboratoryのコードの入力欄を増やす方法

画面上部の「+ コード」のボタンを押します
コードの増やし方.png

今後やりたいこと

物理や数学に特化したAIモデルそのものを作りたいです。物理の新しい理論を答えてくれるようなAIがあったらとても面白いと思っています。
まだどんな風にやればいいかよくわからずllmを勉強中です。(おそらくfine tuningが候補かな)

最後に

以前から興味のあった日本語特化モデルを動かすことに成功しました!
このコードを参考にhugging face上に公開されているAIモデルを実行することが可能となるので、ぜひ参考にしてみてください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?