「Keras 3.0 すべてを知るために必要なこと」

Keras 3.0 Everything you need to know

 

このエキサイティングな開発の詳細に入る前に、より理解するためにシナリオを探求してみましょう。シニアデータサイエンティストとして、洗練された画像分類プロジェクトをリードしているとしましょう。あなたのTensorFlowベースのモデルは非常に優れたパフォーマンスを発揮しています。しかし、さらに機能を追加すると、チームメンバーの中にはスケーラビリティのためにJAXを好む人もいれば、ユーザーフレンドリーな性質からPyTorchを好む人もいます。チームリーダーとして、さまざまなディープラーニングフレームワーク間でモデルの効率を維持しながらシームレスなコラボレーションを実現するにはどうすればよいでしょうか?

この課題を認識し、KerasチームはKeras Coreを紹介します。これはTensorFlow、JAX、およびPyTorchをサポートするKeras APIの革新的なマルチバックエンド実装です。このライブラリは2023年秋にKeras 3.0に進化します。しかし、Keras 3.0に直接進む前に、まずKerasの歴史を簡単に見てみましょう。

 

Kerasと3.0への道のりの概略

 

2015年、François CholletはPythonで書かれたオープンソースの深層学習ライブラリであるKerasを紹介しました。このシンプルでパワフルなAPIは、複雑なニューラルネットワークの構築を合理化することで、研究者、学生、専門家の間で急速に人気を集めました。Kerasは時間の経過とともに重要な改良を受け、ディープラーニングコミュニティにさらに魅力をもたらしました。最終的には、KerasはGoogleの最先端のディープラーニングフレームワークであるTensorFlowの不可欠な部分となりました。同じ時期に、FacebookのAI研究ラボは、直感的で柔軟なモデル構築で知られるPyTorchを開発しました。同時に、JAXは高性能な機械学習研究のための別の強力なフレームワークとして登場しました。これらのフレームワークが勢いを増すにつれて、開発者たちはフレームワークの選択のジレンマを経験し始めました。これにより、ディープラーニングコミュニティはさらに分裂することになりました。

分断されたフレームワークによって引き起こされる課題を認識したKerasの開発者たちは、Keras 3.0を生み出すことでライブラリを再び革新することを決定しました。

 

Keras 3.0の主な特徴

 

Keras 3.0は、チームとの効果的なコラボレーションを可能にします。TensorFlow、JAX、およびPyTorchの強みを組み合わせることで、高度なモデルを統一されたフロントエンドで開発することができます。以下は、Keras 3.0が絶対的なゲームチェンジャーとなる理由のいくつかです:

 

1. マルチバックエンドのサポート

 

Keras 3.0は、TensorFlow、JAX、およびPyTorchをシームレスに組み合わせて使用することができるスーパーコネクターとして機能します。開発者は、コードを変更することなく、特定のタスクに最適なツールをミックスアンドマッチする自由があります。

 

2. パフォーマンスの最適化

 

パフォーマンスの最適化は、Keras 3.0の主要な特徴です。デフォルトでは、Keras 3.0はXLA(加速された線形代数)コンパイルを活用します。XLAコンパイルは、数学計算を最適化し、GPUやTPUなどのハードウェア上でより高速に実行するためのものです。また、AIモデルに最適なバックエンドを動的に選択することも可能です。このようなパフォーマンスの最適化機能は、より多くのモデルをトレーニングし、より多くの実験を行い、より迅速な結果を得ることができるため、非常に重要です。

 

3. 拡大されたエコシステムの範囲

 

Kerasモデルは、PyTorchのモジュール、TensorFlowのSavedModels、またはJAXの大規模なTPUトレーニングインフラストラクチャの一部として使用することができます。つまり、各フレームワークの強みを活用することができます。したがって、Keras 3.0の拡張されたエコシステムでは、特定のエコシステムにロックされることはありません。お気に入りのデバイスを任意のマシンに接続することができるユニバーサルアダプタのようなものです。

 

4. クロスフレームワークの低レベル言語

 

keras_core.opsの導入は、異なるディープラーニングフレームワーク間でカスタム操作を一度書いて使い回すことができる画期的な機能です。 keras_core.opsは、Pythonで数値計算に広く使用されているNumPy APIに似たツールと関数のセットを提供します。このようなクロスフレームワークの互換性のレベルは、コードの再利用性を高め、コラボレーションを促進します。

 

5. 複雑性の段階的開示

 

Keras 3.0のこの設計アプローチは、他のディープラーニングフレームワークとは異なるものです。Keras 3.0を使用してシンプルなニューラルネットワークを構築したいと思う初心者を想像してみてください。最初に、最も直感的なワークフローが提示されます。基本を把握した後は、すべての高度な機能と低レベルの機能にアクセスできます。事前に定義されたワークフローに制約されることはありません。このアプローチの美しさは、その適応性にあり、初心者と経験豊富なディープラーニングの実践者の両方にとって歓迎されるものです。

 

6. レイヤー、モデル、メトリクス、およびオプティマイザーのための状態を持たないAPI

 

ディープラーニングの文脈において、状態とはトレーニングプロセス中に変化する内部変数とパラメータを指します。しかし、JAXは状態のない原則で動作するため、関数には可変変数や内部状態はありません。Keras 3.0は、状態を持たないAPIを介してJAXの状態のなさを受け入れます。これにより、ディープラーニングの基本要素であるレイヤー、モデル、メトリクス、およびオプティマイザーを状態を持たない方法で設計することができます。このユニークな互換性により、Keras 3.0は現代のAI開発において欠かせないツールとなっています。

 

Keras 3.0のはじめ方

 

Keras CoreはLinuxとMacOSシステムと互換性があります。Keras 3.0のセットアップは簡単なプロセスです。以下は、ステップバイステップのガイドです:

 

1. リポジトリのクローンとナビゲーション

 

以下のコマンドを使用してリポジトリをローカルシステムにクローンします。

git clone https://github.com/keras-team/keras-core.git

 

次に、クローンしたkeras-coreディレクトリに移動します。

cd keras-core

 

2. 依存関係のインストール

 

以下のコマンドを実行して必要な依存関係をインストールします。

pip install -r requirements.txt

 

4. インストールコマンドの実行

 

以下のスクリプトを実行してインストールプロセスを処理します。

python pip_build.py --install

 

5. バックエンドの設定

 

Keras CoreはデフォルトでバックエンドフレームワークとしてTensorFlowを厳密に必要としますが、次の2つの方法で設定することができます:

オプション01: KERAS_BACKEND環境変数を好みのバックエンドオプションに設定することができます。

export KERAS_BACKEND="jax"

 

オプション02: ~/.keras/keras.jsonにあるローカルのKeras設定ファイルを編集することができます。テキストエディタでファイルを開き、”backend”オプションを好みのバックエンドに変更します。

{
    "backend": "jax",
    "floatx": "float32",
    "epsilon": 1e-7,
    "image_data_format": "channels_last"
}

 

6. インストールの確認

 

選択したバックエンドでKeras Coreが正しくインストールされていることを確認するために、ライブラリをインポートしてテストすることができます。PythonインタプリタまたはJupyter Notebookを開き、次のコードを実行してください:

import keras_core as keras

 

終わりに

 

Keras 3.0には現在のTensorFlowの依存性や他のバックエンドでのtf.dataサポートの制限などの制約がありますが、このフレームワークの将来の可能性は期待できます。Kerasはベータ版をリリースしており、開発者から貴重なフィードバックを提供することを奨励しています。詳細についてさらに探索したい場合は、Keras Core(Keras 3.0)のドキュメントをここで見つけることができます。新しいアイデアを試すことを恐れずにください。Keras 3.0は強力なツールであり、進化の一環に参加するには、エキサイティングな時期です。    カンワル・メフリーンは、データサイエンスと医療へのAIの応用に興味を持つ、将来有望なソフトウェア開発者の志望者です。カンワルは、Google Generation Scholar 2022のAPAC地域の受賞者として選ばれました。カンワルは、トレンドのトピックに関する記事を書くことで技術的な知識を共有することが好きで、テック業界における女性の表現力向上に情熱を持っています。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AIニュース

OpenAIのAPIとBubbleを使用した4つのアプリのアイデア

これが、AIとノーコードを組み合わせて、人々が愛するアプリを作成する方法です

機械学習

「イギリスのテックフェスティバルが、クリエイティブ産業でAIを活用するスタートアップ企業を紹介する」

英国最大的技术节之一,企业和初创公司本周正展示他们最新的创新成果,举办研讨会,并庆祝位于英国西南部的技术生态系统的不...

AIニュース

「ChatGPTのためにNGINXを使用してOpenAIリバースプロキシを設定する」

「ChatGPT OpenAIリバースプロキシとNGINXのステップバイステップの手順で、Janitor AIや他のサービスへのシームレスな統合を...

データサイエンス

推論:可観測性のAI主導の未来?

この記事では、オペラビリティの後続としての推論、AIOpsからの教訓、その成功の不足、および推論ソリューションの新興原則に...

機械学習

ラストマイルAIは、AiConfigをリリースしました:オープンソースの構成駆動型、ソースコントロールに対応したAIアプリケーション開発フレームワーク

AIアプリケーション開発の進化する風景の中で、AI Configは、LastMile Ai から登場し、開発者がAIモデルを統合し、管理する方...

人工知能

リアルタイムなSlackボットを生成的AIで構築する

「Apache NiFi、LLM、Foundation Models、およびストリーミングを使用して、クールなSlackbotを構築する方法を学びましょうモ...