💎
Googleの最新軽量LLMモデル「Gemma」をKaggleで触ってみた
Gemmaとは
Gemmaは、Gemini(旧称Bard)と同じ技術を活用した軽量LLMモデルで、同規模の他のモデルと比較しても、ベンチマーク的に高いパフォーマンスを発揮すると言われています。(まあ毎回この文言見ますけどね)
Gemmaの面白いところに、入口からKaggleを紹介しているという点があります。
GPUをブラウザ上で使用できる環境が整っており、多くのユーザーが自分のノートブックを公開しているため面白い試みだと思いました。(Discussionもあるし)
Kaggleで触ってみる
そんなわけでKaggleで触ってみます
GemmaのKaggleのリンクにアクセスすると、Gemmaを使用したノートブックが共有されています。
Modelの認証
GemmaをKaggleで利用するには、まずモデルの認証を受ける必要があります。
Modelから赤丸で囲んだ「Request Access」をクリックし、必要事項を入力後、画面下部の「Accept」をクリックしてください。
Notebookのコピー
公開されているNotebookから興味のあるものを選び、開いてみてください。
個人的にはGemma - First Stepsが特にシンプルでオススメです。(※2bモデルですが)
ノートブックを開くと、次に示すような画面に移動します。ここで「Edit My Copy」を押すと、ノートブックが自分の環境にコピーされます。
入出力例(日本語)
my_prompt = ['Gemmaではどのようなことができますか']
LLM.generate(my_prompt, max_length=360)
出力
['Gemmaではどのようなことができますか?\n\nGemmaGemmaは、デジタルコンテンツ作成やデジタルマーケティングのためのツールやサービスを提供する企業です。\n\nGemmaGemmaは、以下の機能を提供しています。\n\n* **コンテンツ作成**:ブログ記事、ウェブサイト、ソーシャルメディア投稿など、さまざまなコンテンツを自動生成するツール\n* **マーケティングツール**: SEO対策、ソーシャルメディアマーケティング、広告など、さまざまなマーケティングツールを提供する\n* **マーケティング分析**:マーケティングデータに基づいた分析を提供するツール\n\nGemmaGemmaは、さまざまな企業にデジタルコンテンツやマーケティングサービスを提供しています。\n\n**主な機能の例:**\n\n* **ブログ記事自動生成ツール**は、ブログ記事のタイトルと本文を自動生成する機能を提供します。\n* **SEO対策ツール**は、ブログ記事のタイトルと本文を自動生成し、検索エンジンに最適化する機能を提供します。\n* **ソーシャルメディア投稿ツール**は、ソーシャルメディアアカウントに自動的に投稿する機能を提供します。\n\n**主な企業への提供**\n\nGemmaGemmaは、さまざまな企業にデジタルコンテンツやマーケティングサービスを提供しています。特に、以下の企業とパートナー関係を構築しています。\n\n* **株式会社アソラ**\n* **株式会社アフィリエイト**\n* **株式会社アトラクション**\n* **株式会社メディアプラス**\n* **株式会社メディアファクトリー**\n\n**主な特徴**\n\n* **自動化**:自動化されたコンテンツ作成やマーケティングツールは、より効率的で低コストなコンテンツやマーケティングサービスを提供します。\n* **マーケティング分析**:マーケティングデータに基づいた分析は、より効果的なマーケティング戦略を構築するための基盤を提供します。\n* **顧客サポート**:']
若干、目が滑る文章ですが悪く無さそうです。
コード修正
my_prompt = ['''次のコードを修正してください
"""def calculate_total(items):
total_cost = 0
for item in items:
total_price += item.price
return total_price"""
''']
LLM.generate(my_prompt, max_length=360)
出力
['次のコードを修正してください\n"""def calculate_total(items):\n total_cost = 0\n for item in items:\n total_price += item.price\n return total_price"""\n```\n\nこのコードは、`items` の要素の `price` を合計する計算を行うコードですが、`total_price` が `item.price` であることに注意してください。\n\n修正したコードは次のとおりです。\n\n```python\ndef calculate_total(items):\n total_cost = 0\n for item in items:\n if item.price:\n total_cost += item.price\n return total_cost\n```']
変数名間違い程度ですが、修正出来てました。
短文作成
my_prompt = ['「どんより」を使用して短文を作りなさい']
LLM.generate(my_prompt, max_length=360)
出力
['「どんより」を使用して短文を作りなさい。\n\nどんより、どんより、\nどんより、どんより、\nどんより、どんより、\nどんより、どんより、\nどんより、どんより。\n\nこの短文は、どんよりの繰り返しで、どんよりの持つ悲しみと絶望を表していると考えられます。']
流石に少し難しかったか・・・?
全体的には軽量LLMにしては良さそうに思えます。
Discussion