■開発目的 GPT-3ベースの自然言語処理が大流行しているがGPT-3の高精度モデルは1750億パラメータ。パラメータが4バイトとすると読み込むだけでも700GBのRAMが必要となる。
最先端の大規模言語モデルPaLMはGPT-3の3倍以上、5400億パラメータ。GPT-4では5000億から数兆パラメータ(4Tバイト以上のRAMが必要)と推定されている。
最先端のAIはクラウドベースで使うことが前提となっている。
個人的に使おうとしても、100万円超のGPUを数十台、大工場並みの電力供給を揃えることのできる人や組織は、それほど多くはないだろう。

当社の技術は、ChatGPT API利用アプリケーションを除いて、既存のシステムに深層学習AIの推論部分だけを組み込むための技術に特化している。 推論部分はGPU無しでも高速で動作する。
学習は24ギガバイトクラスのGPUを使っている。
提供する技術は全て実際に販売しているアプリケーションに組み込んだ実績がある。
以下のような要望に対応することができる。
Webアプリではなく、クライアントサイドでスタンドアローン実行したい
GPU利用なしの32bit環境でも、深層学習AIを使いたい
マルチスレッドで深層学習AIを高速化したい
一台のサーバーで20プロセス以上の深層学習AI対応アプリを実行したい
Pythonではなく、C++/C#/C言語等から深層学習AIを利用したい

■開発実績

学習部分はTensorflow+Keras等でGPUを使うことが前提となっている。学習済みパラメータのみを使った推論プログラム(GPU不要)を既存のC++/C#/Javaシステムから呼び出すというスタイルで開発を行っている。
以下のような開発実績がある(開発中のものを含む)。
  1. 圧倒的に高速だが、深層学習OCRほどの精度は無い従来型OCRライブラリ(当社製品)をベース
  2. 確信度が低い文字のみ深層学習で再認識することで高速のまま高精度のOCRを実現
  3. 上記ハイブリッド型のOCRライブラリをベース
  4. 深層学習対応自然言語処理AIにより認識結果の文字列の自動分類(法人名、姓名、住所、郵便番号、電話FAX番号、メールアドレス、url、年月日等)
  5. 超高速の従来型RV変換ライブラリをベース
  6. 破線、線と接触した文字、線図形の途切れ、矢尻、交差点の種類を深層学習で判別
    従来型のRV変換の結果をベースにして、探索箇所の候補を端点や交差点に絞ることで、超高速のままRV変換の機能を深層学習対応に拡張
  7. 大規模言語モデルのAPIでProlog言語のプログラムを出力。一階述語論理プログラムとのハイブリッドシステムを実現。
  8. テキストの解析と生成は、大規模言語モデルを利用。Prologの推論部分を使うことで、推論部分の精度を高めたチャットプログラムを開発
    具体的には、小学生向けの高度な文章題を方程式を使わないで解いて、答えを導くまでのプロセスをテキストで提示するチャットプログラムを開発している。 精度は、ChatGPT+GPT-4よりも高い。比較検証のためにChatGPTモデルをファインチューンしたカスタマイズモデルも開発している。

■Denoising Autoencoder

いわゆる深層学習ブームの先駆けとなった。用途を問わない汎用の深層学習モデル
名刺の認識結果のテキストを分類(法人名、姓名、所属、肩書き、郵便番号、住所、電話番号、E-mail等)する機能に利用実績有り
  1. データ量〜1GBの小規模深層学習向き
  2. クラス分類/画像認識/言語処理等、多目的に使える
  3. 学習時間は長く、推論の精度は専用アルゴリズムと比べてわずかに劣る。
  4. 学習/推論ともにC++提供/GPU不要/32bit&64bit実行可能
  5. マルチスレッド実行によってGPU利用と同等以上の速度で推論可能
  6. ソース提供/ライブラリ提供可能

■CNN(Convolutional Neural Network)

画像認識向けのモデル。画像認識に対してはDenoising Autoencoderよりも学習が速く、推論精度も高い
地図上の記号認識に利用実績あり
文字認識ライブラリの深層学習対応で利用実績有り
  1. データ量〜1TBと小規模から大規模学習に利用可能
  2. 画像認識、文字認識、図形認識等に向いている
  3. 学習はPython/TensorFlow/Kerasで提供
    大規模学習ではTFRecord形式で対応
  4. 推論はC++提供/GPU不要/32bit&64bit実行/マルチスレッド実行可能
  5. ソース提供/ライブラリ提供可能

■word2vec

自然言語処理向けのモデル
単語の分散表現を取得することで、文章を多次元ベクトルの配列で表現することができる。多次元ベクトルは、そのまま深層学習の入力データとして利用することができる。
文字認識ライブラリの言語処理で利用実績有り
  1. データ量〜30GBの小・中規模学習向き
  2. 自然言語処理専用
  3. 前処理として文を単語に分割する形態素解析処理がライブラリに組み込み済み
    mecab等の別のライブラリのインストール不要。形態素解析辞書も独自のものを使っており別途インストール不要
    辞書はipadic neologdを独自に改変しています。形態素解析プログラムはオリジナルアルゴリズム(並列全解探索+Viterbiトレリスによる組み合わせ最適化)で組んでいる
  4. 学習/推論ともにC++提供/GPU不要/32bit&64bit実行可能/マルチスレッド実行可能
  5. ライブラリ提供準備中(2023年2月予定)

■大規模言語モデルのファインチューン

大規模言語モデルのAPI対応アプリケーション
本システムは、クラウドアプリケーションで、ローカル実行には対応していない。
  1. ChatGPT APIを使ったファインチューン
  2. 実績:小学校の算数文章題を、方程式を使わないで解いて、解答までの手順の解説テキストを生成する教授データの作成
  3. ChatGPTと既存システムの組み合わせ
  4. 以下の2つのファンチューンで既存システムを利用したチャットシステムを構築
    • 入力テキストを既存システムの入力データに変換するファインチューン
    • 既存システムの出力データからテキストを生成するファインチューン
    実績:小学校の算数文章題専用の数式処理システムにChatGPTによるテキスト解析とテキスト生成を組み合わせたチャットシステムの構築