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,
)

その結果、

* **Visit the Golden Gate Bridge and Alcatraz Island in San Francisco.**\n* **Head to Yosemite National Park and marvel at nature's beauty.**\n* **Explore the bustling metropolis of Los Angeles.**\n* **Relax on the pristine beaches of Santa Monica or Malibu.**\n* **Go whale watching in Monterey Bay.**\n* **Discover the charming coastal towns of Monterey Bay and Carmel-by-the-Sea.**\n* **Visit Disneyland and Disney California Adventure in Anaheim.**\n*

上記のような回答が生成されますね。

ここで以下のような日本語のコードを与えてみます。

# Generate sample
model.generate(
    'LLMに関するポエムを書いてください。',
    device=device,
    output_len=60,
)

ここではLLMに関するポエムを書いてくださいと入力してみます。

すると

\n\n言語の壁を越え、\n有限に抑えられた話。\n無限の領域への追ひ、\n言語の束を突破する.\n\n言語は人生の基礎であり、\n思考や行動の基礎となるが、\n常に変化する。\n\nLLMの魔法、

上記のような回答が得られます。

無料でChatGPTのような品質もそこそこのモノが得られていいと思いましたね。



この記事が気に入ったらサポートをしてみませんか?