見出し画像

OpenVINOで生成AI(LLM)を利用する

 某社サマがOpenVINO LLM RAGハンズオンを開催して下さり、参加する機会を得た。「おうちに帰ってブログを書くまでがハンズオン」ということで、少し遅くなってしまったけれども報告させて頂くことにする。それにしても気軽にRAG付き生成AIを試せたことには、大いに驚いた次第。


そもそもOpenVINOとは何か?

 OpenVINOツールキットとは、「推論アプリケーションの開発を手軽に始められる汎用的な推論エンジン」である。

 たぶん過去にどこかで接したと思うけれども、今回のハンズオンの話を聞いても思い出すことができなかった。社内で某A氏に「十年くらい前から、主に産業方面で昔から使われていますね」とコメントされて、見事に『にわか生成AI関係者』との称号を獲得してしまった。
 十年前… その時に知っていれば、某B氏やC氏から相談を頂いた時にも、OpenVINOを紹介するということができた… 悔やんでも『後悔、役に立たず』である。
 ともかくOpenVINO、時代の流れに合わせてChatGPTのような生成AI(LLM)を、ネットワークとは切り離された独立状態で実行可能である。だから産業方面では人気があり、ネットワークで接続されている状態でのセキュリティなども充実している。
 ちなみにIntelはGPU/NPU方面の対応を頑張っており、日頃から利用しているLlama.cppでもSYCL対応版が登場している。2024年4月に登場したばかりで少しドタバタしているけれども、先々が楽しみ… というか、このブログを執筆しているPCには、Intel Arc A770 GPUが2台搭載されている。16GB x 2 =  32GBのVRAMを数万円で実現できており、「NVIDIA Voltga V100 (32GB)が欲しい病」は、きれいさっぱりと消え失せてしまった。
 … 話が逸れた。そんな訳で昔から存在するOpenVINOだけれども、これも大変な勢いで進化が進んでいる。NVIDIAのハードウェアとソフトウェアの進化も大したものだけれども、Intelを始めとするライバルたちも負けてはいないのである。

OpenVINO notebookでRAGを利用

 さて開催前に主催元から資料が事前送付されて来た。それが冒頭の「OpenVINO LLM RAGハンズオントレーニングガイド」である。
 正直言って、予想外だった。ハンズオンの開催目的は、次の二点となっていた。

  • OpenVINO notebooksのRAG(Retrieval Augmented Generation)デモを実行できるまでの環境設定方法について理解する

  • RAGの仕組みを理解する

「… 今さら生成AIの基本?」これが率直な第一印象だった。他の者はいざ知らず、拙宅にはIntel Arc A730とAlder lakeを搭載したノートパソコンもあり、Intel Arc A770 GPUも二台構成で稼働している。正直いって、足回りの話には大して興味はない。
 しかしその事前予想は、良い意味で外れる結果となった。

ハンズオンで利用した環境

提供サーバ(CPUこそがパワー!)

 まず驚いたのが、ハンズオンで利用した環境だ。UbuntuをインストールしたサーバにKVM(仮想マシン)を8台ほど構築し、そこにWindows 11環境が構築されていた。参加者は各々のKVMへアクセスして、サーバ上でOpenVinon notebookを利用するという状況だった。
 試しにoneAPIと検索してみたけれども、まったく反応はなかった。つまり今回はGPUもNPUも利用せず、CPUパワーのみで力押しするというアプローチだったのだ。ちなみにメモリもKVMで各人に割り当てるため、48GBしか確保されてなかった。
 そりゃまあハンズオン会場に持参した僕のAlder Lake&Intel Arc A730M GPU搭載マシンはメモリ64GBに増強してあるけど、それは恐ろしくコスパが悪い。昨今はAI PCが話題になっているけど、それは当然ながら安価だろう。僕のマシンは安かったとは言え、64GBメモリだけで2.5万円は吹っ飛んだ。(Alder lake)NPU&GPU搭載PCで、単なるAI PCではない。SSDも1TBだ。その投資した分だけ『元を取る』必要がある。
 つまり某社はサーバのCPUパワーだけで8人分のRAG付き生成AI環境を実現した訳で、これは大変にコスパの良いことだと言える。それに汎用サーバだから、別に生成AIだけに利用する必要はない。多目的に利用できる。
 おまけにIntel Arc 770とかData Center Maxのような外付けGPUは搭載していないとのことで、完全にiGPU頼みで8台のKVMに対する描画を実現している。うーん… 『最近のサーバ向けCPUパワー、侮るべからず』と驚かされた。

Windows 11対応!

 KVMで提供されているのはWindows 11だった。「当り前じゃね?」と思った貴方は甘い。変化の激しい上に複雑な機器類を使用する環境では、多様な構成に対応するのは難しい。スパコンでは最近になってUbuntu 22.04へ移行するとか、未だにNVIDIA CUDA 11.7が利用されているのが一般的だったりするのだ。
 ちなみに実はOpenVINO notebookも、当ブログを執筆している時点ではWindows 11に正式対応していないらしい。

GitHubのReadMEにあったOpenVINO notebookシステム構成

 つまり講師は淡々と話しを進めていたけれども、実は参加者である我々のために特別仕様の環境を構築&事前検証して下さっていた… らしい。ちなみにgitコマンドでopenvinotoolkitを普通にダウンロードすると2024.2となってしまうので、わざわざ実績豊富な2024.1をダウンロードして環境構築して下っていたのだ。このような検証環境の整合性確保は、日頃から同じように足回りの設定で苦労している者としては大変に苦労していることである。当日は何も気にせずハンズオンを進めることができたことに対して、講師陣には大いに感謝している次第である。

Jupyter notebookベース

 それからOpenVINO Notebooksで驚いたのは、Jupyter notebookベースになっていたことだ。そりゃまあ様々な分析業務を依頼されるデータサイエンティストにとってJupyter notebookは当たり前の存在だけれども、僕のように特定目的にだけRAG付き生成AIを利用しているような者は、Jupyterなど殆ど利用しない。てっきり今回のハンズオンはマイクロコンピュータ応用技術者3級という過去経験から声をかけられたと思っていたけれども、Jupyterに触れる機会を得ることが出来たのは幸いだった。
 ちなみに今回はローカル環境向けに環境構築するイメージを獲得することが目的だったので各人へKVM環境が割り当てられたけれども、JupyterならばJupyter Hubなどを利用すれば効率的に資源共有できる。その点でOpenVINOがJupyter notebookベースとなっていたのは嬉しいことだった。

 もちろんIntel主導でOpenVINOが整備されているので、OpenVINOやOpenVINO notebooksに限らず、OpenVINOのRAGに関する情報も豊富に提供されている。

 それから少し覗いただけだけれども、Hugging FaceにはOpenVINO用に変換されたIRモデルも散見された。このOpenVINO向け変換も少しばかりコツが必要そうだけれども、これからIntel製GPUやNPUが本格的に立ち上がるに伴って、充実してくれそうなので心強い限りである。
 ちなみにRAG標準化に関してはIntelも頑張っているようだけれども、今回のハンズオンとは全く関係ないとのことだった。昨今はRAG付き生成AI(LLM)から始めるのが一般化しているので、これは本当に偶然であると思う。

しめくくり

 ちょっと想定外だっただけれども、今回はRAG付き生成AI利用に関しても、OpenVINO環境を利用できることが分かった。産業向けアプリケーション分野での利用はモチロンのこと汎用的に利用可能なので、AI PCが脚光を浴びている状況では興味深い存在だと言えそうだ。
 それにしてもOpenVINO notebooksはRAG環境も整備されて、本当に便利になっている。生成AIに馴染みのないお客様だけでなくてプロにも興味を持たれそうで、当面はアンテナを立てておくのが良さそうだ。

 そんな訳で貴重な機会をご提供くださった某社関係者の方々と、声をかけてくださった社内某氏たちには大いに感謝する次第である。本当にありがとうございました。

 それでは今回は、この辺で。ではまた。

------
 記事作成:小野谷静(オノセー)


この記事が気に入ったらサポートをしてみませんか?