より優れた LLM ベースのアプリケーションを構築するための 4 つの秘訣

より優れた LLM ベースのアプリケーションを構築するための 4 つの秘訣

アドリアン・トゥルイユ

翻訳者 | ブガッティ

校正 | Chonglou

制作:51CTO テクノロジースタック(WeChat ID:blog)

OpenAI が最初の ChatGPT モデルをリリースして以来、生成 AI への関心が高まっています。大規模言語モデル (LLM) ベースのアプリケーションは現在、生産性と効率性に関する企業の考え方の最前線にあり、生成 AI アプリケーションを構築するためのツールとフレームワークは劇的に拡大しています。しかし、生成 AI 出力の精度については依然として懸念が残るため、開発者は堅牢で信頼性の高いアプリケーションを構築するために、こうした問題に対処する方法をすぐに学ぶ必要があります。

ここでは、LLM 申請の精度を向上させるための提案とテクニック、および適切な LLM を選択するための考慮事項をいくつか紹介します。これらの問題はそれぞれ複雑なため詳細に検討することはできませんが、さらに検討するための提案をいくつか提供することはできます。

機械学習およびデータ サイエンスの Web アプリケーションを迅速に構築して共有するための無料のオープン ソース フレームワークである Streamlit は、最近、Streamlit Community Cloud で 13,000 人を超える開発者によって構築された 21,000 を超える LLM アプリケーションを分析したレポートを発表しました。これまで開発者が使用してきたツールとテクニックの一部を紹介し、以下にいくつかの推奨事項を示します。

たとえば、ベクター検索ツールは LLM ベースのアプリケーションのコンテキスト推奨を効果的に改善できますが、当社の調査では、現在ベクター機能を使用している開発者は少数であることが判明しており、これは将来に大きなチャンスがあることを示しています。

生成 AI を活用したアプリケーションを構築する開発者が増えるにつれ、AI ベースの検索や会話型および支援型のエクスペリエンスが、さまざまなカテゴリや業種のアプリに組み込まれるようになるでしょう。ここでは、開発者が LLM ベースのより優れたアプリケーションを構築し、組織に真に破壊的な影響を与えることができるようにするための 4 つのヒントを紹介します。

1. エージェントとオーケストレーションを使用して、よりスマートなアプリケーションを実現する

LangChain や LlamaIndex などのオーケストレーション フレームワークでは、追加のツールやエージェントを使用して、モデルベースの LLM アプリケーションの機能強化に役立ちます。この文脈では、プロキシは、自然言語で表現された追加機能をアプリケーションに組み込むことができるプラグイン システムと考えることができます。

これらのエージェントを組み合わせることで、AI 推論の改善、バイアスへの対処、外部データ ソースの統合など、LLM 機能を管理および最適化できます。エージェントは、LLM に、間違いを犯したかどうか、およびタスクを正常に完了するために必要な手順について考える方法を提供することもできます。

例として、開発者が特定の機能を提供する API とその機能を説明するドキュメントを作成する方法を考えてみましょう。API はコードとして表現され、ドキュメントでは自然言語が使用されます。プロキシも同様に動作しますが、ドキュメントは他の開発者ではなく LLM の便宜のために提供される点が異なります。したがって、LLM は手元のタスクに焦点を当て、エージェントのドキュメントを確認し、エージェントがタスクの完了を支援できるかどうかを判断します。

これらのエージェントは、アプリケーションが自身のエラーを反映して修正する方法も提供し、LLM アプリケーションの堅牢性を高めます。たとえば、LLM アプリケーションがデータベース内の在庫数量を確認するなどのタスクを実行するための SQL コードを記述したが、そのコードに誤りがあるとします。標準的な「単純な」LLM アプリケーションの場合、このエラーは解決の糸口となります。

ただし、アプリケーションに SQL を実行するエージェントがある場合は、エラーを確認し、エージェントを使用して何を変更する必要があるかを判断し、エラーを修正できます。これは単なる構文の小さな変更かもしれませんが、エージェントがなければ、LLM は推論を通じてエラーを解決できません。

2. ベクトルマジックとRAGを使って幻影と戦う

場合によっては、一緒に仕事をしている LLM が、意図したタスクを完了するために必要なすべての情報にアクセスできないことがあります。これを使用してヒントに追加情報を挿入できますが、ほとんどの LLM ではこれらのヒントのサイズが制限されています。この制限を克服するために、LLM はベクトルを使用して外部データベースを照会する必要がある場合があります。これは、検索拡張生成 (RAG) と呼ばれる手法です。

RAG が LLM アプリケーションに対して何ができるかを理解するには、3 つの異なるレベルの LLM アプリケーションを検討してください。

• レベル 1: アプリケーションは、LLM 内の既存の知識を使用して結果を生成できます。

• レベル 2: アプリケーションには追加情報が必要であり、プロンプトが表示されたときに挿入できます。プロンプトの制限内に留まっている限り、それはかなり簡単です。

•レベル 3: LLM は、タスクを完了するために外部情報ソース (データベースなど) にアクセスする必要があります。

RAG はレベル 3 で機能します。レベル 3 では、外部データベースがベクターを使用して意味的にインデックス付けされることが多く、そのため、最近ニュースでベクター データベースやベクター検索ツールについてよく耳にすることがあるかもしれません。

ベクター データベースとベクター検索を備えたアプリケーションでは、テキスト、画像、ビデオ、オーディオなどの大規模な非構造化データ セットを分類することで、高速なコンテキスト検索が可能になります。これは、より高速で強力なコンテキスト推奨を行うのに非常に効果的です。しかし、ベクターツールはまだ広く使用されていません。 Streamlit の調査によると、生成 AI ベースのアプリのうち、何らかのベクター テクノロジを使用しているのはわずか 20% でした。

3. チャットボットはユーザーにクエリを絞り込む強力な手段を提供する

チャットボットは生成 AI を主流にしましたが、チャットボットが効果的なインターフェースになるかどうか疑問視する人もいます。チャットボットは、LLM アプリケーションの使用方法に関する十分なコンテキストを提供せずに、ユーザーに自由を与えすぎていると主張する人もいます。過去の失敗に怯える人もいます。「Clippy は大失敗だったのに、チャットボットが今日成功するはずがない」

当然のことながら、チャットボットが適切かどうかは、アプリケーションの目的に応じて異なります。しかし、チャットボットには無視できない非常に便利な利点が少なくとも 1 つあります。それは、スムーズで人間のようなインターフェースを通じて、ユーザーがコンテキストを追加したり回答を絞り込んだりするための簡単で直感的な方法を提供することです。

これがなぜ強力なのかを理解するには、検索エンジンについて考えてみましょう。通常、ユーザーは検索エンジンのクエリを改善することはできません。結果がわずかにずれている場合、検索エンジンに「もう一度試して、X に関する回答を除外してください」や「y に重点を置きます」などと指示する方法はありません。これは便利で強力な機能であり、チャットボットが LLM アプリケーションに提供するものでもあります。

調査によると、Streamlit で構築された生成 AI アプリの 28% はチャットボットであり、アプリの 72% は一般的に会話の改善を許可していません。一方、調査では、これらのチャットボットの週ごとの使用率が約 40% に上昇したのに対し、チャットボット以外のアプリケーションの使用率は低下したことが示されました。したがって、チャットボットはエンドユーザーにとって好ましいインターフェースとなる可能性があります。

4. オープンソースのLLMを含むGPTの代替案を検討する

基本的な GPT モデルは今でも最もよく知られている LLM であり、非常に強力ですが、過去 1 年間でさらに多くのオプションが登場しており、そのうちのいくつかはアプリケーションにより適している可能性があります。考慮すべき要素には、LLM に必要な知識の幅、LLM の規模、トレーニングの要件と予算、LLM がオープン ソースか独自のものかが重要かどうかなどがあります。テクノロジーの世界の多くの側面と同様に、トレードオフが存在します。

社内使用のための生成 AI アプリケーションを構築する場合は、社内の企業データを使用して LLM をトレーニングすることをお勧めします。ほとんどの企業では、セキュリティ上の理由から機密データをパブリック LLM と共有することはできません。そのため、多くの企業は既存のクラウド セキュリティ境界内で LLM を実行し、AI21 や Reka などの小規模な LLM を選択することになります。

非常に大規模な LLM はレイテンシも高くなる傾向があり、必要な計算リソースのために実行コストが一般的に高くなります。アプリケーションがテキストの翻訳やドキュメントの要約などの比較的単純なタスクを実行する場合は、より小さな LLM でも十分に機能し、使用と運用にかかるコストが大幅に削減される可能性があります。

OpenAI、Anthropic、Cohere などの独自の LLM よりも、Meta の LLaMA などのオープン ソース LLM を好む理由もあるかもしれません。独自の LLM では、モデルのソース コード、トレーニング データ、重み、その他の詳細は通常、公開されません。オープンソースの LLM では、推論のためにセルフホスティングまたはホスティング プロバイダーを使用する必要がありますが、モデルのソース コードやその他の詳細は、より簡単に入手できます。

5. まとめ: 今すぐジェネレーティブAIを使い始めましょう

生成 AI はまだ急速に発展している分野ですが、必要なツールとテクニックは急速に進化しており、今日から始めるための選択肢は数多くあります。この機会を捉える開発者は、AI アプリケーションを日常の業務やタスクの標準的な機能として活用することで、組織に多大な価値をもたらすことができます。生成 AI が組織内の役割と責任を再形成し続けるにつれて、LLM ベースのアプリケーションに依存し、その能力を身につけた開発者が目立つようになり、上記のアドバイスは適切なスタートを切るのに役立ちます。

オリジナルリンク: https://thenewstack.io/4-key-tips-for-building-better-llm-powered-apps/

<<:  表の数学的推論の正解率は98.78%です! UCLA が新しい「カメレオン推論フレームワーク」を発表

>>: 

ブログ    

推薦する

40の言語を同時に理解する人工知能が異言語コミュニケーションを支援

先日行われた世界的に権威のある多言語理解評価XTREME(Cross-Lingual Transfe...

OpenAIがChatGPT Enterprise Editionをリリース: GPT-4の無制限使用、より高いセキュリティとプライバシー保護

8月29日、OpenAIは、企業ユーザーのニーズを満たし、より高いセキュリティとプライバシー保護を提...

ディープラーニングに基づくターゲット検出ネットワークが誤検出を起こす可能性がある理由と、ターゲット検出の誤検出問題を最適化する方法について説明します。

顔検出などの物体検出用のディープラーニング ネットワークにとって、誤検出は非常に厄介なものです。犬を...

...

信用デフォルト予測モデリングでは、ランダムフォレストが 91.1% でトップに!

みなさんこんにちは、ピーターです〜この記事は、Kaggle での機械学習の実践的なケーススタディです...

ついに、私は物語を作るのをやめました! AIが「グーグル」を学習、Q&Aの精度は90%

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

機械学習モデルを .NET 環境にデプロイするにはどうすればよいでしょうか?

データ中心のエンジニアにとって、Python と R はデータセンターで最も人気のあるプログラミング...

アルゴリズム: Javascript をエレガントに使用して構造ツリーを再帰的に描画する方法

[[376839]]再帰と末尾再帰簡単に言えば、再帰とは関数が自分自身を呼び出すことです。プログラミ...

...

...

...

人工知能がスマートな警察活動を可能にする

[[257520]]都市化と経済発展の加速に伴い、我が国の社会保障を構成する要素が拡大し、公安機関の...

...