2024 最初のリリース、JAVA ネイティブ AI アルゴリズム エンジン EasyAI が Dromara オープンソース コミュニティに参加

現在、AIプロジェクトは産業分野と生活分野の両方で徐々に深化し始めており、chatGPTやWen Xinyiyanなどの大型モデルが本格化しており、AIの威力を実感することができます。AI の分野にすぐに関わりたいと考えている友人が何人いるかわかりません。さまざまな理由から、JAVA は常に AI 分野における伝統的な弱点でしたが、JAVA プログラマーは国内プログラマー雇用の半分を占めているため、今回は Java ネイティブのオープンソース AI アルゴリズム エンジン-easyAI (依存しない) を導入しました。あらゆるサードパーティ ライブラリ、すぐに使用できるエンジン上で)、すべての人に紹介されます。


EasyAI - JAVA ネイティブ AI アルゴリズム エンジン

著者について

  • オープンソース組織 dromara のメンバー、dromara/easyAI の作者。
  • JAVA開発エンジニアとして2年、ゲーム開発エンジニアとして2年、画像・自然言語アルゴリズムの研究者兼エンジニアとして5年。私は IT 業界で 9 年間働いており、アルゴリズムの仕事をしながら、視覚アルゴリズムと言語アルゴリズムに関する合計 3 件の発明特許 (独立発明) といくつかのプロジェクトを生み出しました。実務経験は主に画像アルゴリズムに焦点を当てており、言語によって補われます。ゲーム制作ではカジュアルゲームを数多く制作し、JAVA制作ではミドルウェアの開発に注力しています。

背景と紹介

企業、特に中小企業は次のような問題点に直面したことがありますか?

1. 会社のバックエンドは、特定のビジネス シナリオを支援する AI モジュールを突然必要としましたが、従来のビジネス関係により、会社のバックエンドのほとんどは Java プログラマです。「上級アルゴリズムエンジニアを採用しましょう。採用にかかる時間コストの話はやめましょう。これだけの需要があるからといって、そんな高額な人材を探すのはあまりにも不経済です。結局は外注するしかありません。」

2. 急に特定の AI モジュールが必要になり、既製の AI モジュール一式をインターネットから購入するには長い時間とコストがかかりましたが、それが py または cpp であることが判明しました。あらゆる場面で cuda 環境をインストールする必要があります (cuda 環境をインストールしたことのある人なら、そこに落とし穴がたくさんあることを知っています) 環境を考慮する必要がある場合もあれば、環境を埋め込む必要がある場合もあり、py 間の相互呼び出しを考慮する必要があります。 /cpp と java、およびその結果として生じる効率とセキュリティの問題など。自分のシステムと完全に互換性があることを好みます。実行環境の面倒な調整やさまざまな互換性の問題を考慮したくないです。パッケージを Maven に直接導入し、外部環境から使用できるようにしたいです。箱。

3. 行きます!chatGPT は素晴らしく、使うのがとても楽しいのですが、私のシステムには対応できません。大きなモデルであるのは良いことですが、私のシステムには大きなモデルは必要ありません。私に必要なのは、カスタマイズしてシステムに埋め込んでシステムにサービスを提供できる小さなモデルです。大きなモデルは人間が使用するためのものですが、システムにサービスを提供するためにシステムに埋め込むことはできません。

  • 上記の問題点がある場合は、easyAI がお手伝いします。easyAI は純粋な Java ネイティブ アルゴリズム エンジンです。最下層は行列演算と微分導出で構成されます。中間層から機械学習や強化学習などのさまざまなアルゴリズム、最上層では画像視覚や自然言語を実装しており、これらはすべてeasyAiエンジンに含まれています。
  • このように、最下位レベルの基本操作から上位レベルの AI アルゴリズムの上流および下流までを包括的にカバーしているため、easyAi の Maven パッケージを導入している限り、Java プロジェクトをシームレスに呼び出すことができ、サード ライブラリに依存せずに Java プログラマを作成できます。快適バッチリ!
  • しかし、これはまだ終わりではなく、easyAi は Java 開発者向けのエンジンであるため、より徹底的にカプセル化したいと考えています。そこで、誰もが何も考えずに使えるように、easyAi エンジンに依存する完全な AI ビジネス アプリケーションをカプセル化しました。これを直接使用することも、変更して独自のビジネスに統合することもできます。
  • 現時点では、easyAI は、アルゴリズムの知識を理解し、easyAI に組み込まれた低レベルのアルゴリズム ツールを使用してアルゴリズムを深く開発できるアルゴリズム スタッフに満足できます。また、既製のアプリケーション ビジネス コードを使用して独自のシステム、サービス、AI を組み込みたいと考えている一般の Java ビジネス開発者のニーズも満たします。
  • 次に強調したいのは、easyAI は主流のアルゴリズム JAVA を無差別に再実装したものではなく、アプリケーションのシナリオに応じて主流のアルゴリズムを最適化および修正し、ユーザーが通常のアルゴリズムでもすぐに実行できるようにすることです。コンピューター。 。また、通常のサーバーやパソコンの CPU でも十分なパフォーマンスを発揮し、スムーズに動作することを保証します。つまり、私の言う「簡単」というのは単にシンプルという意味ではなく、安価で低コストな方向へのアルゴリズムの最適化という意味です。特定のアルゴリズムに対して安価で最適化されたアルゴリズムを実装できない場合は、それを easyAI に組み込むことはありません。
  • easyAI の核となるコンセプトは、一方では Java 開発者にサービスを提供することであり、他方では、ターゲットを絞ったビジネス、高パフォーマンス、低コストの最適化に重点を置いた中小規模のモデル用のアルゴリズム エンジンです。

要約すると、次の背景を要約します。

  • 広範さ: easyAI は、国内プログラマーの半数以上を占める JAVA ビジネス プログラマー向けに AI ビジネスを開発し、基礎となるアルゴリズム エンジンのパワーを提供できます。

  • 詳細: easyAI には依存関係がありません。基盤となる基本アルゴリズム ツールから上位レベルのアルゴリズム モデルまですべてをカバーします。専門的な詳細な開発をサポートでき、シンプルで直接的なビジネス層の組み込み AI も提供でき、これは継続されています。拡大するために。

  • ビジネスシステムに組み込める中小規模のモデルに主に焦点を当てた安価さ、トレーニングサンプル要件の低さ、計算能力要件の低さ、この 2 つの方向でアルゴリズム モデルを最適化することが easyAI の方向性です。

  • 互換性: ネイティブ JAVA で開発されており、サード ライブラリに依存しないため、JAVA プロジェクトの場合、環境異常による問題がなく、パッケージを導入した後すぐに使用できます。

EasyAIの応用例

  • easyAIのダウンロードリンク: https://gitee.com/dromara/easyAi

  • easyAI メイン API の詳細ドキュメント: https://wlhlwl.com/gw/easyAi.html

  • easyAI の詳細なビデオ チュートリアル: https://www.bilibili.com/video/av89134035

  • easyAI はアルゴリズム エンジンです。その上に構築されたアプリケーション プロジェクトのデモから、その威力を直感的に感じる必要があります。今回は、アプリケーション ケースの 1 つである、ユーザーとの自動コミュニケーションをサポートする強力な独立したインテリジェントな顧客サービス ツールを取り上げます。会話、会話の中でユーザーのニーズを汲み取り、注文を自動生成!ユーザーの質問に独自に回答したり、消費を誘発したりできます。easyAi アルゴリズム エンジンに基づいたインテリジェントな脳の構築 - myJecs

myJecs 分類構成と注釈の背景

  • ログインページログインページ
  • 事業分類や分類命令に必要なキー情報を設定する注文カテゴリとキーワードを設定する
  • 機密ビジネスのトレーニング サンプルを入力し、重要な情報にマークを付ける注釈インターフェース
  • チャット相談の注釈がテーブルの位置に直接入力されます注釈インターフェース

myJecs インテリジェント カスタマー サービスの基本プロセスのデモンストレーション

  • ユーザーは自分の考えを表現するために初めて入力しますユーザー入力 1
  • myJecs は、ユーザーの説明に注文に必要な情報が不足していることに気づき、質問をしました。ユーザーは myJecs の修辞的な質問を受けて、さらに自分の考えを追加しました。ユーザー入力 2
  • ユーザーが 2 回目に情報を入力しても、バックエンド 14 カテゴリーの法律相談注文の重要な情報要件を満たしていないため、引き続き情報を補足し、最終的に注文情報の補足を完了して注文を生成します。ユーザー入力 3
  • ユーザーが聞きたい質問を入力すると、myJecs がユーザーの質問に自動的に回答します。ユーザー入力 4

上記は、myJecs のカスタム ビジネス インターフェイスの簡単なケース デモンストレーションです。具体的なインストール、展開、詳細については、ホームページからダウンロードしてください: https://gitee.com/ldp_dpsmax/my-jecs

建築デザイン

一般的に使用される基礎となるアルゴリズム モジュール

  • 基本的な行列およびライン生成計算モジュール:

    1. 組み込みの行列クラスと行列計算クラス。パリティ、多重線形回帰、ロジスティック回帰、ユークリッド距離、コサイン類似度、im2col、逆 im2col、代数余因子、逆行列、および随伴行列の 4 つの一般的に使用される行列演算を実行できます。内積など微分と一連のAPI。

    2. RGB 3 チャネル マトリックス。画像変換、シャーリング、ブロッキング、画像マトリックスの生成を実行して、後続の計算を容易にします。

  • 機械学習 - クラスタリング:

    kクラスタリング、混合ガウスクラスタリング、密度クラスタリング、学習ベクトル量子化クラスタリングなど。

  • 機械学習 - 分類とフィッティング: 多層フィードフォワード ニューラル ネットワーク、多層リカレント ニューラル ネットワーク、残差ネットワーク、多層残差リカレント ニューラル ネットワーク、畳み込みニューラル ネットワーク、デシジョン ツリー、ランダム フォレスト、k 最近傍など。

  • ヒューリスティックアルゴリズム: 粒子群、アリコロニー、シミュレーテッドアニーリング

  • 強化学習動的計画法、モンテカルロ分析、マルコフ、時間差分

一般的に使用される上位レベルのアルゴリズム モジュール

  • ビジュアルイメージ:画像認識、画像要約、ターゲット検出

  • 自然言語: 意味理解、単語の分割、繊細な推論とキーワード、文の完成、言語コミュニケーション

  • ゲームロボット: 自律戦略、自律アクション

使用

1. プロジェクトをダウンロードし、ローカルの Maven ライブラリにパッケージ化します。

2. easyAi pom ファイルアドレスをプロジェクトに導入します

プロジェクトをフォローする

プロジェクトについてアイデアや提案がある場合は、私の QQ コミュニケーション グループ (222475213) または vx:thenk008 に参加するか、一緒にプロジェクトを改善するための問題を作成できます。

おすすめ

転載: www.oschina.net/news/274271
おすすめ