🪶

【Google Colaboratory】gemma3n-E4B-itを使ってみる

に公開

自分用の備忘録ですが、よかったら参照ください。

0 前提

  • HuggingFaceのアカウントは持っているとする
  • モデルはgemma3b-E4B-itを使用(音声付き動画とテキスト入力がしたかったため)
  • 環境はGoogle Colaboratoryを使用
  • コードについては、Googleのチュートリアル「Video Analysis with Gemma」を使用

1. HuggingFaceでトークン取得

HuggingFaceでトークンを取得します。

2. gemma3nの利用許可(規約に同意)

gemma3系は利用規約の同意が必要なモデルであるため、HuggingFaceのgemma3nのサイトより規約に同意します。

Hugging Face : gemma-3n-E4B-it
https://huggingface.co/google/gemma-3n-E4B-it

3. 公式のコードでテスト

今回はgoogleのVideo analysis with Gemmaのコードを使用します。
https://ai.google.dev/gemma/docs/capabilities/vision/video-understanding
まずは、上記URLから【Run in Google Colab】をクリック

そのまま進めていくと、huggingfaceへのログインの部分でエラーが出るので、
左メニューの鍵マークをクリックして、HT_TOKENを設定します。
名前は「HF_TOKEN」で値の部分にHuggingFaceで生成したTokenの文字列(HF_で始まる文字列)を入力(コピペ)します。
参考までに、私は以下の画像の設定にしました。

あとは順番にチュートリアルを進めていきましょう。

簡易的な解説(折りたたみ)

Prepare video data prompt

動画データを入力するために、FFmpegを使用して、audio(音声データ)とimages(複数枚の画像)に分割します。

実行後には、Colab上のフォルダ内に分割された画像と音声データが格納された状態になります。

make messages

gemma3nに入力するために、音声データと画像のPATHを使用して、promptの元になるmessagesを作成します。

ちなみに、変数messagesの中身は以下の通り、複数枚の画像 > 音声データ > テキスト(指示)の順番で格納されてます(結構力業で解決しているんですね...)

モデルのダウンロードは5分程度かかりました。(モデルサイズは14.71GB)

推論は6分程度かかりました。
※無料版のGPUにはモデルが乗り切らないため、一部CPUを使用しており遅くなったと推測

エラー集

SecretNotFoundError

原因

HuggingFaceのTokeがColabのシークレットに設定されていない場合に、発生

解決策

左メニューの鍵アイコン(シークレット)から、名前と値を設定し、ノートブックからのアクセスをONにしてください。

OSError / HTTPError

Configure modelでエラーが上記エラーが発生する場合がある

原因
  • gemma3n-E4B-itのモデルの利用規約に同意していない。
  • ネットワークに接続できていない
解決策
  • gemma3n-E4B-itのHuggingFaceのサイトへアクセスして、利用規約に同意する
  • ネットワークに接続できているか確認する

変更が反映されない

HF_TOKENを設定したのに、未設定と同じエラーが発生する等

原因

コード実行後の(シークレット等の)設定変更が、Google Colaboratory上で反映されない場合がある

解決策

ランタイムを再起動して、再度コードを上から順番に実行する

4. まとめ

  • 動画(音声+複数画像)を入力可能なモデル「gemma3n-E4B-it」のチュートリアルを実行し、使い方を学んだ
  • 過程で、Google Colabのシークレットを用いたHuggingFaceのTokenの設定方法について理解した。
  • 変更が反映されていない場合は、ランタイム再起動が有効(PCの再起動と同じ)

Discussion