Googleの最新モデルGemmaを使用してみた結果
Gemmaの概要
Googleがまた新たなモデルをオープンソースで公開したようです。
Geminiモデルを作成するのと同じ技術、研究を用いて構築された最先端オープンモデルのファミリーです。
Gemma - Google が提供する最先端の軽量オープンモデル ファミリー。 | Google AI for Developers
以下の記事でも紹介しましたが、gemmaには大きく分けて2つのモデルが存在しています。
生成AIの1つである大規模自然言語モデルを開発している企業一覧|みずぺー | コンサル×AI×公共事業(河川、道路) (note.com)
Google clobでGemmaを動かしてみた
Gemmaを動かすためには最低条件として
kaggleのAPIの開設
gemmaのリクエスト承認
この二つの作業が必要になります。
順を追ってみていきましょう。
kaggleAPIの開設
下記のようにCreate New TokenよりAPIのjsonを発行してください。
gemmaのリクエスト承認
以下のURLよりGemmaのモデルを見つけてRequest Accessをクリック。
Find Pre-trained Models | Kaggle
その後規約が出てきますが、これもすべて入力してAcceptをクリックします。
Google clobでGemmaを動作
二つの準備が整ったところでGemmaを動かします。
と言ってもデモのコードがあるので、そちらを参考にすればいいだけなのですが、軽く解説しますね。
ここで実際のモデルの大きさおよび処理ユニットの選択を行います。
# Choose variant and machine type
VARIANT = '2b-it' #@param ['2b', '2b-it', '7b', '7b-it', '7b-quant', '7b-it-quant']
MACHINE_TYPE = 'cuda' #@param ['cuda', 'cpu']
こちらがチャットを入力するテンプレートですね。
例えばUSERのpromptとMODELのpromptの方針を入れて
それをmodel.generateでプロンプトとデバイスを与えてあげて、出力を指定します。
# Generate with one request in chat mode
# Chat templates
USER_CHAT_TEMPLATE = '<start_of_turn>user\n{prompt}<end_of_turn>\n'
MODEL_CHAT_TEMPLATE = '<start_of_turn>model\n{prompt}<end_of_turn>\n'
# Sample formatted prompt
prompt = (
USER_CHAT_TEMPLATE.format(
prompt='What is a good place for travel in the US?'
)
+ MODEL_CHAT_TEMPLATE.format(prompt='California.')
+ USER_CHAT_TEMPLATE.format(prompt='What can I do in California?')
+ '<start_of_turn>model\n'
)
print('Chat prompt:\n', prompt)
model.generate(
USER_CHAT_TEMPLATE.format(prompt=prompt),
device=device,
output_len=100,
)
その結果、
上記のような回答が生成されますね。
ここで以下のような日本語のコードを与えてみます。
# Generate sample
model.generate(
'LLMに関するポエムを書いてください。',
device=device,
output_len=60,
)
ここではLLMに関するポエムを書いてくださいと入力してみます。
すると
上記のような回答が得られます。
無料でChatGPTのような品質もそこそこのモノが得られていいと思いましたね。
この記事が気に入ったらサポートをしてみませんか?