KerasHubの登場:プレトレインモデルの統一ライブラリ

Keras Hubの導入: 事前学習モデルのワンストップショップ

ディープラーニングの世界は急速に進化しており、特に事前学習モデルの重要性が高まっています。Kerasは、その使いやすさに定評があり、特にテキストベースのモデル向けのKerasNLPや、コンピュータビジョンモデル向けのKerasCVといった専門的なライブラリを通じて、この動きの先頭に立っています。しかし、最近ではモデルが異なるモダリティの境界を曖昧にする傾向が強まっています。たとえば、画像入力を持つ強力なチャットLLMや、テキストエンコーダを活用したビジョンタスクが挙げられます。このような状況では、NLPとCVの分業は現実的ではなくなり、多様なアプリケーションの開発や展開が難しいという問題点があります。

Keras Hubの発表

この課題に対応するため、Kerasエコシステムにおいて重要な進化が行われました。**Keras Hub**は、事前学習モデルのための統一された包括的なライブラリです。これにより、最先端のNLPおよびCVアーキテクチャに対して簡単にアクセスできるようになりました。Keras Hubでは、テキスト分析におけるBERTモデルや、画像分類のためのEfficientNetなどの最新モデルを探索し、利用することができます。

統一された開発者体験

Keras Hubの導入により、モデルの発見と使用が簡素化され、エコシステム全体が一層統一されます。この新しいプラットフォームでは、以下のような高度な機能を利用できます。

  • モデルのパブリッシングと共有が簡単に行える
  • LoRAファインチューニングによるリソース効率のよい適応
  • 量子化による性能の最適化
  • ロバストなマルチホストトレーニングによって、大規模データセットに対応

Keras Hubは、強力なAIツールへのアクセスを民主化し、革新的なマルチモーダルアプリケーションの開発を加速する重要なステップです。

Keras Hubの初めの一歩

Keras Hubをシステムにインストールするところから始めましょう。最新のKeras Hubリリースをインストールするには、以下のコマンドを実行します。

$ pip install --upgrade keras-hub

インストールが完了したら、Keras 3のエコシステムにある数多くのモデルを探索する準備が整いました。以下は、Keras Hubを使用するための標準的な環境設定例です。

import os
os.environ["KERAS_BACKEND"] = "jax"
import keras
import keras_hub

Keras Hubを利用したコンピュータビジョンおよび自然言語モデルの使用

KerasHubを使ってモデルにアクセスし、利用を開始できます。以下にいくつかの例を示します。

Gemmaモデル

Gemmaは、Googleが開発した最先端かつアクセス可能なオープンモデルのコレクションです。このモデルは、Geminiモデルに基づいており、様々なテキスト生成タスクで優れた性能を発揮します。質問に答えたり、情報を要約したり、論理的な推論を行うことができます。

# KaggleからGemmaのモデルをロード
gemma_lm = keras_hub.models.GemmaCausalLM.from_preset("gemma_2b_en")

# Gemmaを使用してコンテンツを生成
gemma_lm.generate("Keras is a", max_length=32)

PaliGemmaモデル

PaliGemmaは、画像とテキストの両方を理解するコンパクトなオープンモデルです。PaLI-3からインスパイアを受けており、さまざまなビジュアルコンテンツに関する詳細な回答を提供します。

# PaliGemmaモデルをインポート
pali_gemma_lm = keras_hub.models.PaliGemmaCausalLM.from_preset("pali_gemma_3b_mix_224")

# テスト画像をダウンロードし、Keras Hubで使用する準備をする
url = 'https://storage.googleapis.com/keras-cv/models/paligemma/cow_beach_1.png'
img_path = get_file(origin=url)
img = img_to_array(load_img(image_path))

# 画像に関する質問を含むプロンプトを作成
prompt = 'answer where is the cow standing?'

# PaliGemmaを使用してコンテンツを生成
output = pali_gemma_lm.generate(inputs={"images": img, "prompts": prompt})

KerasNLPおよびKerasCV開発者にとっての変化

KerasNLPからKerasHubへの移行は、インポート文を更新するだけで行うことができます。また、KerasCVのユーザーもさらなる利点を享受できます。

  • モデルの読み込みが簡素化され、コードがシンプルになる
  • 様々なフレームワークへの柔軟性が向上する
  • 新たに追加されたアーキテクチャが中央リポジトリで簡単に見つかる

KerasHubの活用を始める

KerasHubへの第一歩を踏み出し、以下のリンクを使って学びを深めていくことができます。

Kerasのコミュニティに参加し、統一された、アクセスしやすく効率的なディープラーニングモデルの力を発見してみてください。AIの未来はマルチモーダルであり、KerasHubがその扉を開く手助けをします。