こんにちは、ソラコムのテクノロジー・エバンジェリスト 松下(ニックネーム: Max)です。
生成 AI をさらに使いこなすための5つの考え方を、前後編で紹介しています。
- マルチモーダル情報の認識
- 時系列データへの適用
- データ加工・処理の自動化
- UX の拡張 ― オフライン動作や、クラウド上の LLM との協調
- 物理世界へのフィードバック
ここでは後半の2つ「UX の拡張」「物理世界へのフィードバック」を解説します。
UX の拡張 ― オフライン動作や、クラウド上の LLM との協調
現在の生成 AI は、クラウド上の基盤モデル利用が主流です。対して「デバイス内で動く生成 AI」も、具体的な実装とユースケースが見えてきました。ここでの技術キーワードは「SLM」= 小規模言語モデルです。SLM は LLM(大規模言語モデル)と比較して、その名の通りモデル(主にファイルの)サイズがコンパクトであることが特徴です。
ここで注意したいのは、サイズの大小が生成 AI の良し悪しを決めるものでは無い事です。LLM は多くの知識を持っており、汎用的なタスクを処理できる一方で、大量のリソース消費や応答速度に難があります。SLM は保有知識や実行できる事は限定的ですが、省リソースかつ高速応答で動作できます。
以下は SLM の一つ、Microsoft の SLM「Phi-3.5」を、小型コンピューター「Raspberry Pi 5 (8GB モデル)」上で動かしている様子です。ローカル環境で LLM を実行できる Ollama を使っています。
SLM は昨今注目され始めた技術です。考えられるユースケースには「オフライン環境の生成 AI 利用」と「クラウド上の LLM との仲介を行うインターフェース」があります。
オフラインで生成 AI を使う ― エッジコンピューティングとの組み合わせ
オフライン環境、すなわち通信やクラウドを介さずデバイス単体で動作するメリットには、低遅延処理・独立稼働が挙げられます。SLM の方向性は、実はエッジコンピューティングの目指すところと似ています。エッジコンピューティングの AI 処理の部分に SLM が使えるわけです。
例えば、画像からテキストを抽出してデータ量の削減や匿名化をローカルで行うことで、セキュリティ向上や通信コストの最適化が見込めます。他には、スマートフォンのマップや翻訳アプリのように、特定タスクを都度ダウンロード、オンデマンドで利用するといった使い方が考えられます。
「エッジ」は文脈によって異なる意味があります。たとえば、クラウドではユーザーに近いサーバー(主に CDN)を指し、IoT ではセンサーやカメラデバイス内、もしくはゲートウェイデバイスを意味します。本ブログではデバイス上でのデータ処理を、エッジコンピューティングと称しています。
クラウド上の LLM とのインターフェイスとしての SLM
LLM を使いこなすには、プロンプトと呼ばれる指示文作成が不可欠です。デバイス上の SLM にプロンプトを作ってもらったり、LLM からの回答の要約や音声化・映像化を SLM に行ってもらうのが「LLM とのインターフェイスとしての SLM」です。
プロンプトは自然言語で書くことができ、プログラムよりは万人向けです。しかし、書式や文章の書き方によって精度が異なるため、より精度の高い結果を得るためには専門の書き方=プロンプトエンジニアリングを学ぶことになります(参考: OpenAI 社のプロンプトエンジニアリング)。また昨今では、プロンプト自体を AI で生成できるようになってきました(参考: OpenAI 社のプロンプトジェネレーター、Anthropic 社のプロンプトジェネレーター)。
このプロンプト生成タスクにエッジデバイス上の SLM を用いて、話し言葉や少ない情報を基に LLM から情報を引き出すというテクニックが考えられます。また、LLM からの回答を精査して要約したり、音声や映像といった他の形式への変換タスクも考えられるでしょう。
SLM によるエッジコンピューティングの課題と挑戦
Google は Gemini Nano を Google Pixel に搭載するなど、エッジコンピューティングでの AI 活用も現実のものになり始めています。
そこで今後 SLM に取り組む際に課題となるのが「更新の仕組み」です。
Microsoft の Phi-3 に関するブログでも「SLM は単純なタスクに向いており、微調整(ファインチューニング)が容易」としており、SLM はそのまま使うというよりも、ファインチューニングの土台として使う事が想定されています。すなわち SLM は更新され続けるものです。
そのため、SLM を用いたデバイスにはシステム更新の仕組みが必須である事を理解しておく必要があります(SLM に限った話ではありませんが)。
物理世界へのフィードバック
生成AIは、現実世界における機器の操作にも活用され始めています。ここでの技術キーワードは「デジタルツイン」です。
デジタルツインは、IoTデバイスを通じて現場の状況をクラウドに反映し、データをもとに状況を把握する技術として利用されてきました。生成 AI 登場後は、デバイスから集めたデータを基にシミュレーションを行うことで、予測や検証ができるようになりました。
その一例が、前編で紹介した空調設定の最適化です。IoT と生成 AI によって導き出した結果を人間が参考にする “アシスタント” として活用することで、効果を出しています。このように生成 AI は「IoT によるデータ収集」から「データを基にしたシミュレーション」と、デジタルツインを次の段階に押し上げる技術と言えます。
今後は、現実世界での省力化や機器の自動制御、複数機器の協調動作といった事が期待できますが、一方で、生成 AI の結果をそのまま使う事には、課題が多くあるのも事実です。
今できる事としては IoT によるデータ収集と、先の例のように、人間のアシスタントとして利用するというのが「生成 AI との付き合い方」となるでしょう。
おわりに
前編と後編に渡り、生成 AIをさらに使いこなすためのユースケースと注目技術について、以下の5つを紹介しました。
すでに利用できるものから、これからの技術まで幅広く取り上げています。総じて言えるのが、生成 AI は魔法のような技術では無く、より人間に近い技術ということです。
本ブログで何度か取り上げている空調設定の最適化も、最初から最良の成果が出せたわけではありません。生成 AI に与える指示(プロンプト)の調整や、情報量(データ)を増やすことで精度が向上しました。まるで他者に仕事を依頼する時と似ており、そういった面で「人間に近い」と感じています。
一方で生成 AI の強みは、人間の観測だけでは得られないデータも扱える事です。多様な情報を IoT で得ることで、生成 AI の精度が高まります。こうした「人間以外の視点」を取り込むことは、生成 AI の適用範囲を広げるポイントです。
チャットボットで終わらない・終わらせない、これからの生成 AI 活用のヒントになれば幸いです!
― ソラコム 松下 (Max) ※ mixi2 はじめました! (@ma2shita)