[금융 LLM 시리즈 1] 성능 좋은 금융 AI 모델의 정의와 평가 방법

올거나이즈는 24년 4월, 금융 전문 LLM 리더보드를 출시하면서 테스트 데이터 셋도 동시에 공개했습니다.

금융 LLM Leaderboard
금융 전문 LLM 리더보드는 금융 용어와 약어를 이해하고, 복잡한 추론에 특화된 한국어 LLM의 성능을 평가합니다. 일반적인 LLM은 범용적으로 사용이 편리하지만, 금융에 필요한 수식 계산과 예외 조건 등을 포함한 복잡한 추론에 특화되어있지 않습니다. 금융 문서 특성상 수치와 트렌드가 강조된 표와 차트를 이해하는 것도 약한 편입니다. 금융 전문 LLM은 금융권 실무자들이 업무 현장에서 바로 사용할 수 있도록 금융 전문 데이터로 파인튜닝한 모델들입니다. 정제된 실험실의 데이터가 아닌 금융 현장의 데이터로 파인튜닝했고, 평가 데이터셋을 모두 공개합니다. 평가 데이터는 수식 계산, 복잡한 차트와 표 이해, RAG 관련 데이터들로, 금융 문서 스타일 및 업무 연관도가 높은 내용으로 구성되어 있습니다. 이 리더보드는 올거나이즈가 운영하고 있습니다.

올거나이즈는 금융 리더보드를 만들면서, 금융의 언어에 특화된 데이터셋으로 다양한 오픈소스 모델까지 포함하여 모델의 성능을 평가해야 한다고 생각했습니다. 금융권이 망분리 규칙 때문에 오픈소스 모델을 활용한 경량화된 LLM을 온프렘으로 많이 사용하시니까요.

올거나이즈가 올 1월부터 기획해 약 3개월간의 제작 기간을 거쳐 금융 전문 LLM 리더보드 및 올거나이즈 자체 금융 LLM을 공개하기까지 진행 과정과 고민했던 사안들에 대해 공유하려고 합니다. 금융 LLM 시리즈는 올거나이즈의 AI 팀에서 작성합니다. 첫 번째, 성능 좋은 금융 LLM의 정의와 평가 방법은 올거나이즈 CAIO(AI 총괄) 신기빈님이 작성했습니다.


1. 올거나이즈는 자체 금융 모델 알파-F(Alpha-F)를 왜 만들게 되었는가?

올거나이즈는 23년 9월, '알리 파이낸스 LLM'을 만들어서 공개하였습니다.

기업용 금융 특화 LLM 모델 만들기 (1)- 필요성과 RAG
기업용 산업 특화 LLM 모델이 꼭 필요할까요? 오픈AI의 GPT-4를 쓰면 되는 게 아닐까요? 올거나이즈의 신기빈 CAIO가 알리 파이낸스 LLM(기업용 금융 특화 LLM)을 만들면서 해왔던 고민과 학습 전략에 대해 노하우를 공유합니다. RAG, 프롬프트 엔지니어링 외에도 기업이 산업 특화 LLM을 어떻게 잘 써야할지 인사이트를 얻으실 수 있습니다.
기업용 금융 특화 LLM 모델 만들기 (2)- 학습전략과 비용
회사 내부의 약어, 전문 용어를 알아듣는 AI를 도입하려면, 비용이 어떻게 될까요? 데이터는 얼마나 준비해야 할까요? ROI를 위한 성능 평가는 어떻게 해야할까요? 기업용 금융 특화 LLM 모델을 만든 올거나이즈의 신기빈 CAIO가 LLM 학습 전략과 노하우를 상세하게 공유합니다.

각종 리더보드에서 오픈소스 LLM들이 오픈AI의 GPT-3.5 turbo의 성능을 뛰어넘었다는 언론 보도가 넘치던 시기었습니다.

하지만 실제로 사용해보면 실망을 금치 못하는 경우가 많았습니다. 벤치마크를 넘어서서 실제 사용하기 위해서는 아쉬운 부분이 많았거든요. 더 정확히 말하자면 실제 사용성능에서는 여전히 오픈AI 모델들의 성능이 압도적이었습니다.

실제 사람의 선호도를 비교한 Chatbot Arena에서의 상위권은 GPT와 Claude3, Gemini가 모두 차지하고 있습니다.Claude-1이 Claude-2보다 높은 점수인 것이 눈에 띄네요.

실제 사람의 선호도를 비교해서 점수를 매기는 Chatbot Arena(LMSys Chatbot Arena Leaderboard - a Hugging Face Space by lmsys)에서 24년 4월 현재 Top 10모델중 오픈소스로 공개된 것은 Qwen1.5-72B-Chat (2024/02) 하나뿐입니다. 오픈AI의 GPT-3.5 Turbo는 지금까지도 20위 내에서 순위를 지키고 있습니다.

GPT-3.5 Turbo보다 점수가 높은 오픈소스 모델은 Cohere의 Qwen1.5-72B(2024/02), Command R(2024/03), Starling-LM-7B(2024/03)과 Mistral model들이 있네요. 23년에 나온 모델 중에서 GPT-3.5 Turbo보다 선호도가 높은 모델은 단 하나도 없습니다. Claude3도 올해 3월에 발표되었으니 가히 OpenAI 모델들의 독무대라 할 만했습니다.

오픈소스 LLM의 지시 순응(instruction following) 능력은 전반적으로 실망스러웠지만 fine-tune을 통한 성능개선의 여지는 확실하게 느낄 수 있었습니다. 이를 이용해서 금융 특화 LLM을 만들기로 결정하였습니다.

부족한 오픈소스 LLM의 성능을 가지고, 어떻게 좋은 금융 LLM을 만들 수 있을까 고민했고 그 때의 생각은 간단했습니다.

  1. 금융 용어를 잘 이해할 것.
  2. 금융 업계의 사용 패턴에 맞는 instruction을 잘 따를 것.

금융 업계의 사용 패턴에 맞는 instruction을 요약과 RAG라고 정의하였습니다.

RAG를 기준으로 정한 이유는 다음과 같습니다.

실제 금융 현장에서 쓰이는 문서에서 텍스트를 추출했을 때는, PDF의 다단 편집 등으로 인해서 문장이 자연스럽게 이어지지 않는 경우가 많습니다.(아래 이미지 참고)

PDF 속 정돈되어 보이는 Text는 실제로는 사람이 읽기 매우 어려운 형태로 추출되는 경우가 많습니다.

또한 LLM 모델의 제한된 컨텍스트 창(context window)에 문서 내용을 넣기 위해서는 요약(summerizer)을 1차로 하는 경우가 많은데, 요약 이후에는 매끄러운 문장이 아닌 형태로 되는 경우가 많습니다. 기존의 벤치마크에서 보던 매끄럽고 완결성 있는 문장과는 다르게 되지요.

이렇게 매끄럽지 않은 문장들 속에서 핵심을 찾아서 답변하는 능력이 오픈AI 모델들은 좋았지만, 오픈소스 모델들은 그렇지 않았습니다.

그래서 올거나이즈 AI 팀은 금융 용어를 이해해 금융 전문 문제를 잘 풀고, 지저분한 금융 문서를 기반한 RAG를 잘 수행하는 모델을 좋은 금융 LLM으로 정의하였습니다.

그렇게 23년 9월, '알리 파이낸스 LLM(현재 Alpha-F(v1))'을 출시하였습니다.

이후 오픈소스 LLM도 빠르게 발전하였습니다. 이전보다 instruction을 훨씬 잘 따르는 모델들이 속속 공개되었고, 이전에 우려했던 지저분한(?) context 속에서도 답변을 잘 하는 모델들이 공개되기 시작했습니다.

불과 7~8개월 사이에 오픈소스 LLM들의 성능도 엄청나게 높아지기 시작했습니다.
이제 오픈소스 모델들도 지저분한(?) RAG에 대해서도 답을 내어 줍니다.

그럼에도 불구하고 고객들에게 오픈소스 LLM을 사용해도 문제를 잘 풀 수 있다고 이야기하기에는 여전히 결과물이 만족스럽지 못했고, 그 원인을 분석하였습니다.

그래서 24년 초, 올거나이즈는 알파-F v2(금융 전문 LLM)를 만드는 작업을 시작했습니다.

2. 좋은 금융 모델이란?

좋은 금융 모델이란 무엇일까요? 냉정하게 생각하면 좋은 일반 모델이 좋은 금융모델이 되는 것이 당연합니다.

물론 금융 산업의 지식이나 용어에 대해 잘 이해하지 못할 수도 있습니다. 하지만 이런 전문적인 지식은 RAG를 통해 주입받는 것이 훨씬 안정적입니다. RAG의 retriever가 잘 동작한다는 가정하에 general instruction을 잘 따르는 모델이 domain 여부와 상관없이 잘할 겁니다.

현 시점에서 이러한 정의에 잘 부합하는 모델은 GPT-4와 Claude3일 것입니다. 하지만 이 모델들은 on-prem으로 제공하기 어렵습니다. 망분리 규제가 있고, 보안이 중요한 금융업계 특성에 맞지 않죠.

그렇다면 오픈소스 모델들을 금융 업계에서 사용하기에 부족한 부분은 무엇이 있을까요?

위에 말했다시피 RAG는 이미 상향평준화 되었습니다. 다른 기능은 어떨까요?

  • 금융 업계의 문서에서는 많은 양의 표가 존재합니다. 이런 표에 대해서 이해하고 잘 대답할 수 있어야합니다.
  • 숫자를 다루는 문서가 많다보니 숫자를 이해하고 잘 대답해야합니다.
  • 금융 규정들의 경우 서로간 참조가 많이 이루어집니다. 이런 복잡한 참조 안에서도 논리적으로 대답해야합니다.

그리고 발전된 오픈소스 LLM의 성능,즉 일반적인 모델로서의 기능도 잃지 않아야합니다.

Opensource LLM들은 이렇게 복잡한 질문에 대해서 논리적으로 답할 수 있을까요?

3. 어떻게 평가해야 할까?

좋은 금융모델이 가져야할 성능을 어떻게 평가해야할까요?
지금까지 나온 벤치마크 Set들은 다음을 평가하고 있습니다.

  1. 분류 문제
  2. 추출기반 문제
  3. 생성 답변

분류문제는 긍부정 판별이나 4지선다 문제처럼 몇가지 선택지가 존재하고 선택지중에 답을 고르는 문제입니다. 정답을 맞췄는지 가장 확실한 기준이 있으므로 자동화하기 쉽습니다.

추출기반 문제의 경우 주어진 context 중에 정답이 있고 해당 정답을 찾아내는 문제입니다. 가장 유명한 경우는 SQuAD를 위시한 기계독해 문제들입니다. 이 경우에도 전체를 그대로 출력해야하므로 자동화 할 수 있습니다.

생성답변의 경우는 RAG나 요약처럼 정답과 똑같은 대답을 해야만 맞았다고 판단하기 어려운 경우입니다. ROUGE나 BLUE같은 평가지표가 있지만 결국은 정답과 얼마나 유사한지를 평가하는 것이므로 항상 옳다고 판단하기 어렵습니다.

그리고 우리가 평가하고자 하는 모델은 LLM입니다. 기본적으로 말을 생성하는 모델이므로 분류문제라 할지라도 정확히 정답만 말하지 않는 경우가 많습니다. 아무리 답만 말하라고 지시해도 잘 따르지 않는 경우가 발생합니다. 그리고 어떤 경우에는 CoT(Chain-of-Thought Prompting Elicits Reasoning in Large Language Models)같은 기법으로 일부러 근거를 말하도록 하는게 좋은 성능을 발휘하기도 합니다. 추출기반도 마찬가지입니다. 데이터셋에 따라 오타나 띄어쓰기 오류가 있을 경우 이를 수정해서 대답하는 경우도 있기 때문에 단순히 정확한 문구를 내보내는지 평가하는 것은 어렵습니다.

무엇보다 중요한 것은 우리가 정의한 좋은 금융모델은 금융문서를 기반으로 대답을 잘하는 모델이므로 궁극적으로 분류, 추출기반 문제로는 평가를 할 수 없습니다. 하지만 생성 답변을 매번 사람이 판단하는 것은 기준의 모호함으로 봐도 시간, 비용으로 봐도 선택할 수 없었습니다.

그래서 많은 모델의 평가를 위해 첫 번째로 좋은 정량 평가 벤치마크를 찾고 이를 기준으로 1차적으로 성능을 검증합니다. 일정 정도 성능이 나오는 모델들에 한해 사람이 정성평가를 하여 최종적으로 더 나은 모델을 선정하기로 하였습니다.

좋은 정량평가 벤치마크가 꼭 좋은 정성평가 점수를 보장하는 것은 아니지만 일반적으로 좋은 모델로 평가 받는 모델들이 정량평가 점수도 좋은 경향이 있습니다. api 모델들은 특정 벤치마크를 높이기 위해 fine-tune되어있지 않을 것이므로 이러한 점을 고려해본다면 양의 상관관계가 있을 것입니다.

Claude3 모델의 성능은 일반적으로 opus > sonnet > haiku 순으로 성능이 좋다고 알려져 있습니다. 좋은 정량평가 지표라면 이러한 성능순으로 따를 것이라고 예상해 볼 수 있습니다. 위는 Allganize에서 공개한 금융 전문 LLM 리더보드에서 금융 MMLU의 모델간 점수 비교입니다.

또한 LLM Benchmark와 Arena Elo 점수의 상관관계를 본다면 좋은 정량평가지표는 좋은 모델을 판별하는데 좋은 기초자료가 될 수 있습니다.

좋은 정량평가지표는 Chatbot Arena ELO점수와 매우 높은 상관계수를 갖습니다.Blaze (Balázs Galambosi) on Twitter / X

4. 공정한 평가를 위해

아무리 좋은 평가 지표를 사용하고 공정하게 평가했다고 해도 내부 자료로만 끝난다면 올거나이즈 금융 전문 모델, 알파-F의 성능을 의심받을 수 밖에 없습니다. 그래서 처음부터 테스트데이터를 투명하게 공개하고 테스트 방법 역시 투명하게 공개하기로 결정하였습니다.

정량평가야 그정도로 공개하면 되지만 역시나 결국은 정성평가로 평가받아야합니다. 그래서 Arena ELO 처럼 모델이 출력한 내용을 기반으로 사람이 평가할 수 있도록 공개하고 그 결과도 보여주기로 하였습니다.

다만 Arena ELO처럼 Zero-Shot 응답의 선호도로는 금융의 복잡한 문서기반의 대답을 평가할 수 없습니다. Context는 복잡할 수 밖에 없고 이를 기반으로한 질문 역시 복잡합니다. 따라서 정량평가용 Context에서 나오는 출력들과 더불어 내부 정성 평가용 질문들을 함께 공개하여 실제 모델의 출력을 평가받도록 하였습니다.


올거나이즈는 앞으로 '금융 LLM 시리즈'를 통해 평가 데이터의 선정, 학습 데이터의 생성 과정, 실제 평가과정에서 일어난 각종 문제들과 학습된 모델들간의 비교를 통해 데이터의 변경과 학습방법의 변경에 따른 모델 성능 차이등을 차례로 공개할 예정입니다.

이어지는 블로그 포스트를 기대해주십시오.

금융 전문 LLM 리더보드에서 모델간 성능 평가를 직접 해보고 싶다면 아래 링크를 방문해 주세요.

금융 LLM Leaderboard
금융 전문 LLM 리더보드는 금융 용어와 약어를 이해하고, 복잡한 추론에 특화된 한국어 LLM의 성능을 평가합니다. 일반적인 LLM은 범용적으로 사용이 편리하지만, 금융에 필요한 수식 계산과 예외 조건 등을 포함한 복잡한 추론에 특화되어있지 않습니다. 금융 문서 특성상 수치와 트렌드가 강조된 표와 차트를 이해하는 것도 약한 편입니다. 금융 전문 LLM은 금융권 실무자들이 업무 현장에서 바로 사용할 수 있도록 금융 전문 데이터로 파인튜닝한 모델들입니다. 정제된 실험실의 데이터가 아닌 금융 현장의 데이터로 파인튜닝했고, 평가 데이터셋을 모두 공개합니다. 평가 데이터는 수식 계산, 복잡한 차트와 표 이해, RAG 관련 데이터들로, 금융 문서 스타일 및 업무 연관도가 높은 내용으로 구성되어 있습니다. 이 리더보드는 올거나이즈가 운영하고 있습니다.