## Memo
- [[ファインチューニング|Fine Tuning]]ではなく、[[In-Context Learning]]の範疇でロギング文を生成されるフレームワーク。
## Abstract
ロギングは、ロギング文の位置、冗長度レベル、ログメッセージを決定することを目的とし、ソフトウェアの信頼性向上にとって重要なプロセスである。近年、ロギングタスクの1つ(例えば、try-catchブロックでロギングするかどうかの提案を提供する)で開発者を支援するために、多くの自動ロギングツールが設計されてきました。これらのツールは、特定の状況では有用であるが、一般的には包括的なロギングソリューションを提供することはできない。さらに、最近の研究は、エンドツーエンドのロギングを探求し始めたが、それは、微調整の高いコストによってまだ大きく制約されており、ソフトウェア開発における実用的な有用性を妨げている。これらの問題に対処するために、本稿では大規模言語モデル([[notes/data-science/LLM]])のコンテキスト内学習([[In-Context Learning|ICL]])パラダイムに基づく自動ロギングフレームワークであるUniLogを提案する。具体的には、UniLogは、モデルのチューニングなしに、5つのデモ例を含むプロンプトだけで適切なロギング文を生成することができる。さらに、UniLogは、数百のランダムサンプルを用いたウォームアップの後、そのロギング能力をさらに向上させることができる。1,465のGitHubリポジトリから抽出された12,012のコードスニペットを含む大規模なデータセットでUniLogを評価しました。その結果、UniLogは自動ロギングにおいて、(1)ロギング位置の選択精度76.9%、(2)冗長度の予測精度72.3%、(3)ログメッセージの生成におけるBLEU-4スコア27.1という、最先端の性能を達成した。一方、UniLogは、同じLLMを微調整するのに必要なパラメータチューニング時間の4%未満しか必要としません。