ローカルLLMの性能が上がってくると、今まで課金が怖くてできなかったこともやっちゃえと思い切ってできるようになってきました。そこで、ある分野の論文の概要をArXivを利用して入手し、RAG用データセットへの加工もトライしてみました。
今回は、同じ要領でRAG用データとして整形します。
すっかりRAGは便利な道具になりました。ハルシネーションに気を付けてソースを確かめることに留意すれば、情報整理やたたき台の作成に利用できます。執筆や情報入手のため、論文などのPDFファイルを活用しての解析や引用が楽になりました。執筆の道具として大変便利です。一方で、大量のデータが扱えるからと言って、大量の論文や集めた情報をかたっぱしにRAGに入れようとすると、過剰な論文やデータをダウンロードすることになります。また、情報によっては記述の量自体も異なるため、ノイズが自然と多くなります。そこで、概要レベルの情報を分析するためのデータセットを作ってみます。
ただ、そのままだと面白くないので、ローカルLLMを使って質問と答えのデータセット形式にします。ぼっちブレストに役に立ちます。当初の目論見ではデータ処理の流れとして、
- ArXiVから検索でタイトル・アブスト・リファレンスを得る。
- LLMは12GBのVRAMで利用できるものを選ぶ。
- JSON形式の出力を得るためにlangchainのparserを利用できる
- 質問・回答生成部ステップと、レビューステップの2ステップで処理をする。
を考えてました。厳しいだろうと思っていた3は、達成できませんでした。1,2,4をColabで実装し得られたデータはGoogleのNotebookLMに突っ込んで遊びます。
LLMの選定
IBMに敬意を表して?Granite 2B and 8B、性能が高いQwen2.5 3B, 7Bを試しました。LLMの呼び出しにはollamaを利用しモデルもollama公式から利用しました。結果は、Granite 2Bモデルでも思ったより指示が効きますし、許容可能なレベルです。7B,8Bクラスと比較して、文章の自然さは落ちます。速度やGPU環境が実用な範囲であったため、Qwen 7Bでお試しします。今までの経験的には、Gemma 7B, 27Bでも可能だろうと思いますが割愛しました。
JSON形式の変換部分にlangchainのJSONparserを使ってみましたが、得られた結果のJSON形式エラーが収束せず断念しました。langchainのプロンプトまで手に入れるのは逆に工数がかかります。こういう点はlangchainの難点かもしれません。
Colabの環境
Colabからローカルランタイム利用します。GPUはRTX 3060(12GB)でColab側から見ると図のようになります。
データセット作成
以下のような文章を仕立てました。
質問:
How does using $k$ nearest neighbor search ($k$NN) improve speech recognition models like Whisper in adapting to different speakers?
回答:
Using $k$ nearest neighbor search ($k$NN) can significantly enhance the adaptability of speech recognition models such as Whisper. Unlike traditional fine-tuning methods that risk catastrophic forgetting when adapting to new categories (like different languages or speaker characteristics), $k$NN offers a non-parametric approach. This means it does not require retraining the underlying model, which is crucial for maintaining performance across various domains and speakers.
の、質問と回答が生成できました。
引用元
author = {Maya K. Nachesa and Vlad Niculae},
title = {We Augmented Whisper With kNN and You Won't Believe What Came Next},
journal = {http://arxiv.org/abs/2410.18850v1}, year = {2024}
ArXivのAPIを使って「RAG Retrieval-Augmented Generation」の最新日付100件を検索し、質問と回答を作成しました。タイトル、著者名、年といったBibtexと、質問・回答をセットとしてCSVで保存しました。(ついでにdataset形式でも保存)
NotebookLMに入れてみる。
NotebookLMは文字数の制限があります。50万字x50ファイルです。この制限にかからないように分割したCSVを用意して、無理やりテキストファイルとして読み込ませますい。(拡張子を変えるだけですけど)
最近のRAGの研究トレンドを聞いてみました。
## RAGの最近の研究トレンド
提供された情報源に基づくと、RAG(Retrieval Augmented Generation)は、さまざまな分野で目覚ましい進歩を遂げていることがわかります。最近の研究トレンドは、主に**効率性、正確性、および安全性**の向上に焦点を当てています。
**1. 効率性の向上**
* **大規模言語モデル(LLM)の処理能力の最適化**: 従来のRAGシステムでは、複雑なデータ構造や空間的制約を扱う際にLLMが非効率になる場合がありました。最近の研究では、コードインタープリター、静的分析、およびモンテカルロ木探索(MCTS)アルゴリズムを統合することで、この問題に対処しています。これらの手法により、LLMは地理空間データ処理などの複雑なタスクをより効率的に処理できるようになります。
* **データ物理化の活用**: 抽象的な概念を理解しやすくするために、データ物理化を用いた教育ツールが開発されています。これは、視覚チャネルの理解を深めるために、さまざまな素材とデータセットを組み合わせて、9つの異なる視覚チャネルを具体的な形で表現するプロトタイプに示されています。このアプローチは、従来の教育方法を補完し、学習者の理解とエンゲージメントを高める可能性を秘めています。
* **音声言語理解(SLU)におけるエンドツーエンドの融合**: 従来のSLUシステムでは、音声認識(ASR)によって生成されたテキストをLLMが処理するというカスケード方式が一般的でした。最近の研究では、音声LLMと呼ばれる新しいアプローチが提案されています。このアプローチは、音声特徴抽出、マルチモーダル情報融合、およびLLM推論を統合することにより、音声とテキストのモダリティをエンドツーエンドで融合します。これにより、音声データのより深い理解と、より効果的なマルチタスクパフォーマンスが可能になります。**2. 正確性の向上**
* **文脈に応じた知識の一般化**: LLMは、情報量の多いデータセットでトレーニングされるため、一見すると知識が豊富に見えます。しかし、「AはBである」から「BはAである」といった情報の逆転を伴うタスクでは、しばしば苦戦します。最近の研究では、LLMが特定の文脈において、このような逆転を伴うタスクにも対応できることが示されています。たとえば、AとBの両方が多肢選択問題の形式で提示された場合、LLMは逆の関係を推論することができます。この能力は、トレーニングデータにおける事実の構造と密接に関係しています。
* **低リソースプログラミング言語(LRPL)のためのコード生成**: LLMは、高リソース言語で優れたコード生成能力を示しますが、LRPLではそのパフォーマンスが低下する傾向があります。最近の研究では、Bridge-Coderと呼ばれる新しいアプローチが提案されています。Bridge-Coderは、自然言語の指示とプログラミング言語の間のギャップを埋めることにより、LRPLのための高品質なコード生成を可能にします。これは、2段階のプロセスを通じて行われます。(1)LRPLのコードを中間言語に翻訳し、(2)中間言語からターゲットLRPLにコードを生成します。このアプローチにより、LLMはLRPLのコードをより正確に生成することができます。**3. 安全性の向上**
* **マルチモーダルLLM(MLLM)の安全性評価**: MLLMは、テキストや画像など、複数のモダリティを処理できるため、従来のLLMよりも強力な機能を備えています。しかし、その一方で、安全性に関する懸念も高まっています。最近の研究では、MLLMの安全性評価のための包括的なフレームワークであるSafeBenchが提案されています。SafeBenchは、自動化された安全性データセット生成パイプラインと、自動化された陪審評決評価プロトコルを備えています。これらのコンポーネントにより、MLLMの安全性評価をより効果的に行うことができます。
* **オープンソースLLMのための堅牢な透かし**: オープンソースLLMの普及に伴い、AI生成テキストの識別と、著作権保護の必要性が高まっています。最近の研究では、オープンソースLLMのための新しい透かしスキームが提案されています。このスキームでは、LLMのパラメータに透かしを埋め込むことで、モデルの出力のみから透かしを検出することができます。この手法は、トークン置換やモデルパラメータの摂動などの攻撃に対しても堅牢性を示しています。**結論**
RAGは、LLMの能力を拡張するための重要な技術として、急速に進歩しています。最近の研究トレンドは、効率性、正確性、および安全性の向上に焦点を当てています。これらの進歩により、RAGは、より複雑なタスクを処理し、より信頼性の高い結果を提供し、より安全な方法で展開することができるようになっています。
**注**: 上記の情報は、提供された情報源に基づいています。RAGの研究トレンドの詳細については、専門的な資料や論文を参照することをお勧めします。
RAGの効率性についての議論をまとめてもらいました。
## RAGの効率性に関する広範な議論
情報源に基づくと、RAG (Retrieval Augmented Generation) システムの効率性は、広範な研究と開発の焦点となっています。 多くの研究努力は、複雑なタスクを処理する際のRAGの能力を損なうことなく、計算コストとリソース要件を最小限に抑えることを目的としています。
### 次元削減と最適化
高次元データの処理における課題に対処するため、次元削減と最適化の手法がRAGシステムに適用されています。
* 特に、デノイジング拡散確率モデル (DDPM) は、データの固有の低次元性を活用することでサンプリングの高速化を実現できることが示されています。 このアプローチは、DDPMの更新規則を、離散化時に適切にパラメータ化された確率微分方程式 (SDE) を実行していると見なすことができるという観察に基づいています。 このSDEのドリフト項の非線形成分は本質的に低次元です。 この特性を活用することにより、DDPMの反復の複雑さは、データ分布の固有次元kに対してほぼ線形にスケールするため、周囲データ次元に比例した反復の複雑さを持つ従来の方法よりも効率的になります。 この最適な適応性により、DDPMは、高次元データの本質的な低次元構造に焦点を当てることにより、生成されたサンプルの品質を損なうことなく、より効率的に処理し、より高速なサンプリング速度を実現できます。
* 別の例では、RRR(Reduced-Rank Regression)に基づく新しい教師ありスコア計算方法が、クラスタリングベースの近似最近傍探索(ANN)アルゴリズムに導入されました。 重要な洞察は、内積近似を多変量回帰問題として扱うことができ、RRRを使用して効率的に解決できることです。 実験により、このアプローチは、最新の多次元データセットにおけるクエリレイテンシとメモリ使用量の両方において、積量子化(PQ)よりも優れていることが実証されています。### 計算の複雑さの軽減
RAGシステムに固有の計算の複雑さを軽減することにより、効率を大幅に向上させることができます。
* 注目すべき例は、モバイルデバイス向けの3Dガウススプラッティング (3DGS) のパフォーマンスを向上させるために、重み付き合計レンダリングの使用です。 重み付き合計レンダリングは、3Dガウススプラッティング (3DGS) における非可換アルファブレンディング操作に関連する計算オーバーヘッドに対処します。 これらの複雑なブレンディング操作を重み付き合計で近似することにより、ビュー依存の並べ替えの必要性がなくなります。これは、大きな計算オーバーヘッドをもたらすコストのかかるプロセスです。 この単純化により、実装の複雑さが軽減されるだけでなく、レンダリングパフォーマンスも向上するため、3DGSはモバイルフォンなどのリソースに制約のあるプラットフォームに適したものになります。
* 同様に、異方性スパイクランダム特徴モデルとの関係を分析することにより、大規模バッチサイズ制限における完全に接続された2層ニューラルネットワークの更新された特徴スペクトルの調査により、一般化誤差の改善の背後にあるメカニズムに対する洞察が得られます。### 並列処理と分散コンピューティング
並列処理と分散コンピューティングの原理を活用することで、RAGシステムの効率性も向上しています。
* たとえば、複雑なニュースイベントシミュレーションの一貫性を高めるために開発されたシミュレータは、ドメイン知識、ユーザー提供の仮定、および地理的に多様な常識と文化規範を意識した知識拡張を組み合わせています。 これらのコンポーネントにより、シミュレーションは、ローカルの社会的および文化的規範に基づいて変化する可能性のあるイベントダイナミクスを正確に表現できます。
### ハードウェアの進歩
ハードウェア機能の進歩により、RAGシステムのパフォーマンスが向上しています。
* より強力なプロセッサと特殊なハードウェアアクセラレータの可用性により、複雑な計算を効率的に実行できるようになり、全体的な処理時間が短縮されます。
### アルゴリズムの改善
RAGシステムの効率性は、使用される基礎となるアルゴリズムの継続的な改善によっても推進されています。
* 研究者たちは、より効率的な検索アルゴリズム、データ構造、および最適化手法を探求しており、これによりリソース使用量が削減され、パフォーマンスが向上しています。
### まとめ
要約すると、RAGシステムの効率性は、次元削減手法、計算の複雑さの軽減、並列処理と分散コンピューティング、ハードウェアの進歩、アルゴリズムの改善など、さまざまな要因の影響を受けます。 これらの進歩により、RAGシステムは複雑なタスクをより効率的に処理できるようになり、リソースの制約が軽減され、応答時間が短縮され、より幅広いアプリケーションが可能になります。
NotebookLMは個人的な調査や勉強には大変助かります。自動で生成したPodcastもかなり良い感じです。自分の専門分野の論文でもチャレンジしたくなりました。なお、今回はデータの出来を見るために質問・回答形式に変換したデータを投入しましたが、単純にTitleとAbstractを整形しただけのデータセットでもNotebookLMで十分に活用できます。
最後に
今回は、ローカルLLMを使ったデータ活用の味見のため、NotebookLMを使いました。NotebookLMはパワフルなツールです。これで使えなければ、自作RAGでは到底扱えないでしょう。今回遊んだ結果、そこそこ使えそうなので、ローカルなRAGのネタデータとして使えそうです。