生成 AI
AI を「組み込む」技術
生成 AI は、人工知能技術の中でも近年特に注目されている分野の一つです。進化のスピードは非常に速く、業務支援から研究用途まで、活用範囲は着実に広がっています。
三栄ハイテックスでは、こうした生成 AI を単体で利用するのではなく、システムの一部として実装・運用することを前提とした研究開発を進めています。システム全体の実用性・信頼性に加え、既存の業務プロセスとの整合性にも最大限に配慮しながら、各種ユースケースにおける適切な実装方法を検討しています。
以下ではエンジニアリング企業としての当社の取り組みを、LLM(大規模言語モデル)のシステム実装を例にご紹介します。
三栄ハイテックスでは、こうした生成 AI を単体で利用するのではなく、システムの一部として実装・運用することを前提とした研究開発を進めています。システム全体の実用性・信頼性に加え、既存の業務プロセスとの整合性にも最大限に配慮しながら、各種ユースケースにおける適切な実装方法を検討しています。
以下ではエンジニアリング企業としての当社の取り組みを、LLM(大規模言語モデル)のシステム実装を例にご紹介します。
大規模言語モデル(LLM)の利用
LLM とは何か
生成 AI を代表する技術として、大規模言語モデル(Large Language Model:LLM)があります。LLM は自然言語テキストを入力として受け取り、文章生成や要約、分類などのタスクを実行するモデルです。
近年ではパラメータ数が数兆規模に達するモデルも登場しており、学習や運用には高い計算資源が必要となっています。そのため、公開されている基盤モデルや API を活用し、用途に応じて調整・拡張する手法が広く用いられています。
近年ではパラメータ数が数兆規模に達するモデルも登場しており、学習や運用には高い計算資源が必要となっています。そのため、公開されている基盤モデルや API を活用し、用途に応じて調整・拡張する手法が広く用いられています。
RAG(検索拡張生成)による用途特化
LLM のチューニング手法の一つに、検索拡張生成(Retrieval-Augmented Generation:RAG)があります。RAG は、入力文と関連するドキュメントを事前に検索し、それらを入力情報として LLM に与えることで出力精度を高める手法です。
ドメイン固有の知識を外部データとして補完できるため、業務システムや専門分野での利用において有効です。多様な業務要件に対応するためには、このような用途別の設計が不可欠となります。
ドメイン固有の知識を外部データとして補完できるため、業務システムや専門分野での利用において有効です。多様な業務要件に対応するためには、このような用途別の設計が不可欠となります。
LLM を前提としたシステム実装
当社における RAG 実装の検討例として、クラウドサービス上に LLM 実行環境を構築し、オープンモデルである Llama を採用した構成を示します。
VPN 接続を用いることで、オンプレミス環境と同等のセキュリティー要件を満たしつつ、短期間で検証環境を整備しました。LLM 実行部分を切り替え可能な構成とすることで、有料 API との比較検討も容易に行えます。
また、LLM をシステムに組み込むことで、プロンプト設計にとどまらない入出力制御が可能になります。たとえば、モデルへの入力履歴を内部的に制御することで、比較的小規模なモデルであっても出力形式を一定に保つといった対応が可能です。こうした実装上の知見を蓄積し、各種システムへの適用研究を進めています。
VPN 接続を用いることで、オンプレミス環境と同等のセキュリティー要件を満たしつつ、短期間で検証環境を整備しました。LLM 実行部分を切り替え可能な構成とすることで、有料 API との比較検討も容易に行えます。
また、LLM をシステムに組み込むことで、プロンプト設計にとどまらない入出力制御が可能になります。たとえば、モデルへの入力履歴を内部的に制御することで、比較的小規模なモデルであっても出力形式を一定に保つといった対応が可能です。こうした実装上の知見を蓄積し、各種システムへの適用研究を進めています。

RAG の構成とデータフローの一例
アジャイル開発による検証と改善
実装にあたってはアジャイル型の開発手法を採用しています。
gradio などのライブラリを用いた Web アプリケーションを構築し、試用とフィードバックを繰り返しながら、機能要件や操作性の改善を行いました。
gradio などのライブラリを用いた Web アプリケーションを構築し、試用とフィードバックを繰り返しながら、機能要件や操作性の改善を行いました。

gradio で作成したチャットボット Web アプリのスクリーンショット
マルチモーダルモデルの活用
マルチモーダルモデルとは
近年の言語モデルには、テキストに加えて画像や音声など、複数種類のデータを入力として扱えるものがあります。このような特徴を持つモデルは、マルチモーダルモデルと呼ばれます。中でも、画像を入力可能な Vision Language Model(VLM)は、画像処理技術との親和性が高く、当社における重点的な研究対象となっています。
ドライブレコーダー映像を用いたシーン分類
研究成果の一例として、ドライブレコーダーの走行データを用いたシーン分類を紹介します。対象とするのは、交差点、悪天候、緊急車両の通過など、走行時に注意を要する特徴的なシーンです。これらのシーンを含むフレームを分類する際、明度や色相といった画素ベースの特徴量では前後フレームとの差が小さく、従来手法による分類が困難な場合があります。そこで、各フレーム画像を VLM により文章として説明させ、その出力文を特徴量として利用する手法を採用しました。日本語対応 VLM である Asagi により特徴を抽出し、その後 Llama を用いて文章フォーマットを統一します。得られた特徴文に対して一致度に基づく凝集的クラスタリングを行うことで、信号機や大型車両が写り込むシーンなど、特定条件を多く含むクラスタを抽出しました。言語モデルを単体で扱うのではなく、システムの部品として段階的に組み合わせることで、このような多段構成の構築が可能になります。

スタンドアロンアプリによるシーン分類の実行結果
内部構成の把握と探究
言語モデル実装における課題
言語モデルを組み込んだシステムでは、モデルサイズや入出力データ量が設計上の重要な要素となります。大規模モデルの実装に当たっては、プルーニング・蒸留・量子化といったパラメータ削減手法の検討が不可欠であり、同時に入出力データの管理方法も課題となります。LLM は出力を次の入力として扱うループ構造を必要とするため、モデル外部の設計も含めた検討が求められます。
Transformer 構造と組み込み環境への適用
LLM の中核となるのは Transformer レイヤーです。行列積を求める部分がこのレイヤーにおける演算処理の多くを占めるため、計算量は多いものの処理構造自体は比較的単純です。一方で、Attention 機構における高速化手法の中には KV キャッシュのように、計算量削減と引き換えにメモリ使用量が増加するものが存在します。これらをエッジデバイスにそのまま適用すると、メモリ帯域やデータ転送がボトルネックとなる場合があります。当社では、こうした組み込み環境特有の制約を踏まえ、各種デバイスへの言語モデル実装に関する研究を継続しています。

KV キャッシュを有する Attention モジュールの計算グラフ(Netron にて可視化)