ベクトルデータのクラスタリングツールをリリースしました
作成したAI関連ツールが無事に Microsoft の審査を通過しました。
この場で簡単に説明させて頂きたく思います。
なお、今回は珍しく真面目な文体で書いた記事となります。
公開ソフト名
Machine Learning Clustering Tool
概要
LLM 等が利用する高次元のベクトルデータを既存ツールより短時間でクラスタリングを行うツール。
対応言語
英語・日本語
対応環境
Windows10, 11 (Windows11Pro を推奨)
機能
高次のベクトルデータを多数のクラスタに分割する。
特徴
本アプリケーションは多くの特徴を持ちます。以下に特徴を列挙します。
長所
クラスタ数は最大10,000です。クラスタ数は最大・最小・間隔の指示を行うことが出来ます。そのため、クラスタ数を1,000 から 5,000 まで 500 単位で一括して出力することも可能です。なお、クラスタ数が10,000を越えるとパフォーマンス悪化が目立ってくるため、クラスタ数は10,000を上限としてください。
ベクトルデータが多次元空間にゆらぎを含む形で存在していることを仮定することも可能です。その場合、ベクトルデータの密度ゆらぎを極力減らすようなオプションをして苦して下さい。これはデフォルトで有効となっています。これを有効にすることで、密度ゆらぎがあっても極力均質なクラスタを生成するようになります。
複数スレッドに対応しています。動作環境に合わせて適切な値を設定してください。データ数が多くなればなるほどスレッドが有効に働きます。
短所
安定したアルゴリズムではありません。そのため、動かすたびに結果が同じになることは保証できません。
比較的大量のメモリを消費します。これは、データハンドリング上の問題であり、当面は制限事項となります。
メモリの消費量が大きくなった場合、アプリケーションの応答が悪くなります。これは、アプリ側での回避が難しい問題なので、当面は制限事項となります。
実例
公開されているベクトルデータ(chiVe, v1.2 mc5)をクラスタリングした結果を以下に示します。
実行環境
Memory : 128GB
CPU : Xeon Gold 5120 (14C28T)
Clock : 2.2GHz
OS : Windows11 Pro
実行条件
Cluster 数:100から5000まで100刻み
正規化:ベクトルサイズの正規化(比較処理ではコサイン類似度を用いるので蛇足ではある)
ゆらぎ対応:密度ペナルティ
類似判定:コサイン類似度
スレッド数:18
実行時間:10:17:26.108。(約10時間強です)
なお、実行結果の CSV ファイルは 22GB もあるため共有はかなり難しい状態です。とはいえ、同じ計算をあちこちでやることも問題化と思いますので、必要な方は私まで連絡頂ければ提供いたします。
但し、22GB のファイル受渡の手段を考える必要があります。
想定される用途
以下の用途でのアプリケーションを作成予定です。
多次元ベクトル空間内での類似ベクトル計算(これは、別途公開中の EBt の意味ベースの検索機能として実装予定です)
機械学習データの品質評価(これは、近日中に Machine Learning Data Checker として公開予定です)
テストデータセット中の外挿データ群の抽出(これは、Machine Learning Data Checker に機能として後日追加予定です)
注意事項・その他情報
以下の注意事項およびその他情報があります。
注意事項
本アプリケーションは、当面は無償での公開となりますが、将来的にはサブスクリプションの購入が必要となります。時期は未定です。
その他情報
学術機関の方へはサブスクリプション版の公開後も無償で提供します。弊社まで連絡を下さい。パスキーを発行する等の対応を致します。
このアプリケーションで使用しているクラスタリングエンジンが必要な場合、弊社まで連絡を下さい。開発を伴う修正や機能追加などもご相談ください。
公開先
Microsoft Store にて公開しております。以下のURL よりアクセスしてください。
https://www.microsoft.com/store/apps/9PJ9GZ8PVDDM
引き続き AI / Machine Learning 関連のツールを公開していきます。ご興味がありましたら、それらも評価していただけますと幸いです。