近年、テキスト生成や画像生成に代表される生成AIの発展は目覚ましく、インターネットを介して次々と生成AIを利用したサービスが提供されています。こういったサービスを実行するコンピューターは通常、遠隔地に存在するデータセンターに配置され、高性能なGPUカードでAI処理を高速化しています。

一方、AI監視カメラに代表されるインテリジェントビデオ解析(IVA)分野では、その効率の良さから現場に近い場所でAI処理を実行するエッジAIが普及しています。エッジAI向けハードウェアの性能向上により、生成AIにおいてもエッジAIが注目されています。

AI処理をエッジ側で実行できることにより、AIサービスの提供にネットワーク接続が必須ではなくなることから、通信環境の良くない場所やネットワーク接続が不安定になりがちな自律移動ロボットに生成AIサービスを適用できるようになります。

 

そこでマクニカは、エッジで生成AIを実現するデモンストレーションとしてNVIDIA® Jetson AGX Orin™上で動作するチャットボットを構築し、そのプロセスを本記事にて公開します。

 

[エッジ生成AI Jetson AGX Orinで動作するチャットボットをつくる]

第1話 Jetson Generative AI Lab

第2話 開発環境のセットアップ

第3話 システム構成の検討

第4話 実装(外部情報なし)

第5話 実装(RAG利用)

 

第1話では、生成AIで求められるエッジのハードウェア要件を理解し、Jetson Generative AI Labで公開されているデモアプリケーションを紹介します。

生成AI向けプロセッサーのハードウェア要件

生成AIには、非常に規模が大きいディープニューラルネットワークモデルが採用されています。

高速な演算能力に加えて、大容量で高速なメモリーも必要となります。例として、オープンソースとして提供されているテキスト生成用モデルの代表であるMeta社のLlama2の場合を見てみましょう。

 

Llama2にはパラメーターサイズが7B、13B、70B(BはBillion)の3種類があります。パラメーターのビット長を16ビットで読み込む場合、最小の7Bモデルでも、7G×2bytesで約14GBになります。通常、パラメーター全体がメモリー上に配置される必要があるので、AIモデルをロードするだけで約14GB必要です。アプリケーションとして成立させるためには、さらに多くのメモリーが必要です。

※パラメーターを8ビット整数型や、4ビットに変換して処理する手法もあり、その場合は、それぞれ元のサイズ(16ビット浮動小数点型)の1/2、1/4になります。但し、その精度低下が、生成結果の品質低下につながる可能性があります。

 

また、生成AIは現在も急速に発展しているため、最新の研究成果や最新のソフトウェアをすぐに取り入れたいという要求が高くなります。生成AIを始め、ディープラーニングの分野では広くNVIDIA CUDA® コアGPUが使われ、膨大なソフトウェア資産が蓄積されています。CUDAコアGPUを備えるハードウェアはエッジ向けにおいてもとても有利です。

NVIDIA® Jetson AGX Orin™

生成AI向けプロセッサーのハードウェア要件を考慮すると、NVIDIA社のエッジ向けプラットフォームであるNVIDIA® Jetson AGX Orin™が最有力候補になります。生成AIモデルによる推論に対応できる64GBの大容量メモリーと275 TOPSのAI性能を有します。Jetson AGX Orinは、システムオンモジュール(SOM)として提供されます。これを自社の製品に組み込むことで、その製品にAI機能を持たせることができます。

Jetson AGX Orinの詳細は以下よりご覧ください。(画像をクリックすると製品ページへ遷移します)

Jetson Generative AI Labのご紹介

では、Jetson AGX Orinで、どのような生成AIを実行できるのでしょうか?実際に動作させて試したくなると思います。それには、NVIDIA社がJetson Generative AI Labというウェブサイトで公開しているデモアプリケーションを試すことが一番です。以下に、代表的なものをご紹介します。

Text generation web UI(日本語による質疑応答)

Text generation web UIを利用した、大規模言語モデルによるテキスト生成デモです。

Text generation web UIはいろいろな大規模言語モデルに対応しますが、ELYZA-Japanese-Llama-2-7b-instruct※を利用すると、日本語による質疑応答を試すことができます。

ELYZA-Japanese-Llama-2-7b-instructモデルは、Meta社により開発されたLlama2をベースとして、ELYZA社が日本語テキストで追加学習を行い、さらに、ユーザーからの指示に従い様々なタスクを解くことを目的として事後学習:ファインチューニングを施したものです。

※Akira Sasaki, Masato Hirakawa, Shintaro Horie, and Tomoaki Nakamura.Elyza-japanese-llama-2-7b, 2023.

LLaVA(提示した画像に関する質問に対してAIモデルが回答)

LLaVAモデルが画像の内容を認識して、その画像に関するユーザーからの質問に答えるものです。

LLaVAモデルは既に、あらゆる画像を学習してありますので、ユーザーが面倒なタグ付けや、バウンディングボックス追加など、いわゆるアノテーション作業とそれに連なる学習を実行することなく、非常に多くの事柄を画像から認識可能です。

(生成された文章)

The image depicts a large sailing ship docked in a harbor, surrounded by tail buildings and possibly some other boats. The ship has several sails up on its mast, indicating that it may be ready for departure or returning from a journey. It seems to be well-maintained as a tourist attraction in the city.

 

(日本語訳)

画像は、港に停泊している大きな帆船を描いたもので、周囲には高層ビルと、おそらく他のいくつかのボートがある。船のマストにはいくつかの帆が掲げられており、出航や帰港の準備ができていることを示している。市内の観光名所としてよく整備されているようだ。

Stable Diffusion XL(テキストから画像を生成)

有名なStable Diffusionによる画像生成です。

Stable Diffusionの発展形であるStable Diffusion XLモデルによる画像生成をお試しいただけます。

既にご存知の方々も多いと思いますが、このAIモデルはユーザーがテキストで入力する指示に従った画像を生成してくれます。

パラメーター調整により、同じ指示文でも異なったニュアンスの画像を生成できるところも面白いです。

Prompt: boys play baseball

Negative Prompt: low quality

TAM(あらゆる物体をトラッキング)

何でもセグメンテーションして、かつそれをトラッキングし続けるTAM(Track-Anythingモデル)と呼ばれるモデルを利用したデモです。

先ほどご紹介したLLaVAモデルと同様、TAMはあらゆる物体を認識かつ、セグメンテーションできるよう学習済みです。そのためユーザーが動画の一場面において、トラッキングしたい物体を指定するだけでトラッキングし続けることが可能です。

NanoDB(テキストから画像を検索するベクトルデータベース)

ベクトルデータベースのNanoDBは、ユーザーが指定したキーワードにマッチした画像を高速に検索します。

利用しているAIモデルはOpenAI社のCLIPモデルです。

ベクトルデータベースは情報を高次元のベクトルへ変換して保持され、ユーザーが入力したテキストのベクトルと、データベースに保持されているベクトル群を高速に照合して、マッチした画像が表示されます。

本デモでは、約12万枚の画像の中から、目的の画像を検索します。

第2話以降で、Jetson上で動作するチャットボット開発手順を解説します

本記事ではJetson Generative AI Labで公開されているデモアプリケーションをご紹介しました。Jetson AGX Orinは、これらの生成AIを動作させるために十分な性能を持ち、エッジへ生成AIを展開できます。

次回第2話では、Jetson上で動作する生成AIアプリケーションの開発環境について説明します。

 

 

[エッジ生成AI Jetson AGX Orinで動作するチャットボットをつくる]

第1話 Jetson Generative AI Lab

第2話 開発環境のセットアップ

第3話 システム構成の検討

第4話 実装(外部情報なし)

第5話 実装(RAG利用)

 

※本連載記事は2024年2月に作成し、チャットボットはJetPack 5.1.2 を用いて構築しております。

エッジAIデバイスで生成AIの実現をご検討の方は、ぜひお問い合わせください

マクニカでは生成AIを実現するNVIDIAソフトウェアソリューションやJetsonを用いた開発のご支援にて多くの実績がございます。これからAI導入をご検討されていてお困りごとがありましたら、ぜひお問合せください。