## Memo
## Memo with LLM
### LogRAG が対処するログ分析の課題
LogRAGは、深い単一クラス分類器とRetrieval Augmented Generation ([[RAG]]) を組み合わせた、半教師ありのログ異常検出フレームワークです。このフレームワークは、既存のログ異常検出手法が抱える以下の3つの課題に対処することを目的としています。
* **ログ解析エラーの影響**: 現在のログ異常検出手法は、ログパーサーに大きく依存しています。しかし、ログパーサーはキーワードやパラメータを正確に解析できない場合があり、重要な意味情報が見落とされる可能性があります。これは、ログが異常かどうかを判断する上で重要な要素となる可能性があります。図1に示すように、解析エラーによって、元のログの重要な情報 (例:interrupt) が失われる可能性があります。その結果、解析されたデータでは、正常な状態と異常な状態を区別することができなくなります。わずかな解析エラーでも、後続の異常検出タスクに大きな影響を与える可能性があります。LogRAGは、ログトークンとログテンプレートを段階的に使用することで、ログ解析エラーのリスクを軽減します。
* **シーケンスモデリングの難しさ**: ログメッセージがプログラムの想定される実行順序と一致しない場合、不安定なシーケンスが発生します。EvLogで述べられているように、これらのシーケンスは、異なるスレッド間でログメッセージがインターリーブされたり、ソフトウェアの更新によって新しいログイベントが導入されたり、システムが進化したりすることによって発生する可能性があります。既存の手法はシーケンスモデリングに頼ることが多いですが、これらの手法は、これらの要因によって引き起こされる不安定性に対処するのが難しい場合があります。一方、シーケンスモデリング手法では、指定されたウィンドウサイズのログシーケンスを使用してモデルを学習する必要があるため、異常検出ウィンドウの粒度を柔軟に調整することができません。LogRAGは、シーケンス情報に依存しない深い単一クラス分類器を使用してシステムの正常な動作を学習することで、不安定なログシーケンスの影響を軽減します。
* **未知のログ問題**: システムが進化するにつれて、学習段階では存在しなかった「未知のログ」が多数出現する可能性があります。多くの研究で、未知のログの問題が調査されています。例えば、LogOnlineでは、BGLデータセットを用いてこの問題を調査し、ログイベントのわずか10.1%しか変化せず、1532個のユニークなログイベントの40%以上が、実験条件下では異種として分類されることを明らかにしました。既存の手法は、これらの未知のログに適応するのが難しいことが多く、多数の未知の正常なログを異常として誤分類し、その結果、大量の誤検知が発生します。LogRAG は、RAG ベースの後処理段階を導入することで、この問題に対処します。過去の正常なデータから異常なログテンプレートを検索し、プロンプトを構築し、LLM を使用して異常検出を行うことで、LogRAG は誤検知を大幅に削減します。
これらの課題に対処することで、LogRAGは、ログの異常検出において、より高い精度と効率性を実現し、システムの安定稼働に大きく貢献することができます。
## Abstract