Articlehuggingface.co·2026년 1월 12일·0

Investing in Performance: Fine-tune small models with LLM insights - a CFM case study

Quick Summary

CFM 사례는 금융 뉴스 NER에서 대형 LLM을 직접 쓰기보다 LLM으로 라벨을 만들고 검수한 뒤 소형 모델을 미세조정하면 정확도와 비용 효율을 함께 개선할 수 있음을 보여준다.

Investing in Performance: Fine-tune small models with LLM insights - a CFM case study 관련 대표 이미지

🖼️ 인포그래픽

Investing in Performance: Fine-tune small models with LLM insights - a CFM case study 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Investing in Performance: Fine-tune small models with LLM insights - a CFM case study 내용을 설명하는 본문 이미지

💡 한 줄 요약

CFM 사례는 금융 뉴스 NER에서 대형 LLM을 직접 쓰기보다 LLM으로 라벨을 만들고 검수한 뒤 소형 모델을 미세조정하면 정확도와 비용 효율을 함께 개선할 수 있음을 보여준다.

📌 핵심 요약

  • 이 글은 Capital Fund Management가 Hugging Face 생태계와 오픈소스 LLM을 활용해 금융 뉴스의 기업명 인식 문제를 개선한 과정을 다룬다.
  • CFM은 FNSPID 데이터셋 중 주식 심볼 누락이 없는 Benzinga 헤드라인 약 90만 건에 집중해, 뉴스 제목에서 주식과 관련된 회사명을 추출하는 NER 문제를 정의했다.
  • Llama 3.1 모델은 라벨 생성을 자동화하는 데 사용됐고, 생성된 라벨은 Argilla를 통해 사람이 검토해 품질을 보강했다.
  • Llama3.1-70B-Instruct는 Hugging Face Inference Endpoints로 배포됐으며, 프롬프트에는 금융 전문가 역할, 회사명 추출 지시, 출력 JSON 형식, few-shot 예시가 포함됐다.
  • 결과적으로 GLiNER와 SpanMarker 같은 소형 모델을 LLM 보조 라벨 데이터로 미세조정하면 F1 점수가 크게 올라가고, 대형 LLM 단독 추론보다 최대 80배 저렴한 비용 구조를 만들 수 있었다.

🧩 주요 포인트

  1. 이 글은 Capital Fund Management가 Hugging Face 생태계와 오픈소스 LLM을 활용해 금융 뉴스의 기업명 인식 문제를 개선한 과정을 다룬다.
  2. CFM은 FNSPID 데이터셋 중 주식 심볼 누락이 없는 Benzinga 헤드라인 약 90만 건에 집중해, 뉴스 제목에서 주식과 관련된 회사명을 추출하는 NER 문제를 정의했다.
  3. Llama 3.1 모델은 라벨 생성을 자동화하는 데 사용됐고, 생성된 라벨은 Argilla를 통해 사람이 검토해 품질을 보강했다.
  4. Llama3.1-70B-Instruct는 Hugging Face Inference Endpoints로 배포됐으며, 프롬프트에는 금융 전문가 역할, 회사명 추출 지시, 출력 JSON 형식, few-shot 예시가 포함됐다.
  5. 결과적으로 GLiNER와 SpanMarker 같은 소형 모델을 LLM 보조 라벨 데이터로 미세조정하면 F1 점수가 크게 올라가고, 대형 LLM 단독 추론보다 최대 80배 저렴한 비용 구조를 만들 수 있었다.

🧠 상세 정리

1. 문제 배경과 CFM의 목표

CFM은 파리에 본사를 둔 대체투자 운용사로, 뉴욕과 런던에도 팀을 두고 있으며 총 155억 달러 규모의 자산을 운용한다고 소개된다. 이 회사는 금융 의사결정에 정량적이고 체계적인 방법을 적용하며, 시장 가격 같은 표준 데이터뿐 아니라 뉴스 기사 같은 텍스트 기반 대체 데이터에서도 신호를 얻고자 한다. 핵심 과제는 뉴스 기사나 헤드라인에 등장하는 회사, 주식, 통화 같은 금융 관련 엔티티를 정확히 식별하는 것이다. 데이터 제공자가 태그를 제공하더라도 누락되거나 검증이 필요한 경우가 있기 때문에, CFM은 더 안정적인 금융 NER 방법을 찾는 데 초점을 맞췄다.

2. 접근 방식의 큰 구조

글의 중심 접근은 대형 LLM을 최종 추론 모델로만 쓰는 것이 아니라, 라벨 생성과 데이터 정제의 도구로 활용한 뒤 소형 모델을 미세조정하는 것이다. CFM은 제로샷 NER, LLM 보조 데이터 라벨링, 사람이 검토한 데이터셋 기반 소형 모델 미세조정이라는 여러 경로를 비교했다. 이 방식은 대형 모델의 범용성과 언어 이해 능력을 활용하면서도, 실제 운영 환경에서 중요한 비용과 확장성 문제를 함께 다룬다. 특히 금융 애플리케이션처럼 대량의 텍스트를 반복 처리해야 하는 경우에는 고성능 대형 모델을 매번 호출하는 방식보다, 라벨링과 학습에 LLM을 활용하고 추론은 더 작은 모델에 맡기는 구성이 실용적이다.

3. 성능과 비용 비교

제시된 표에 따르면 Llama 3.1-70B는 제로샷 F1 점수 95.0%로 가장 높은 성능을 보였지만 시간당 추론 비용이 8달러로 높게 제시됐다. Llama 3.1-8B는 제로샷 F1 88.0%, 시간당 4달러로 중간 수준의 선택지로 나타난다. 반면 GLiNER는 제로샷 87.0%에서 미세조정 후 93.4%로 향상됐고, SpanMarker는 제로샷 47.0%에서 미세조정 후 90.1%까지 개선됐다. 두 소형 모델의 추론 비용은 GPU 기준 시간당 0.50달러, CPU 기준 0.10달러로 제시되어, 대형 LLM 단독 사용 대비 최대 80배 저렴한 비용 효율을 달성할 수 있다는 점이 강조된다.

4. 데이터셋 선택과 작업 정의

실험의 대상은 Financial News and Stock Price Integration Dataset, 즉 FNSPID의 뉴스 헤드라인과 기사 데이터다. 이 데이터셋은 Bloomberg, Reuters, Benzinga 등 여러 출처의 뉴스와 해당 주식 심볼을 함께 포함한다. CFM은 여러 뉴스 출처를 분석한 뒤 Benzinga 뉴스에는 주식 심볼 누락값이 없다는 점을 확인했고, 더 일관되고 신뢰할 수 있는 분석을 위해 Benzinga 헤드라인 약 90만 건으로 범위를 좁혔다. 작업은 헤드라인에서 주식과 관련된 회사명을 추출하는 것으로 정의되며, 예시에는 회사명이 하나인 경우, 여러 회사명이 있는 경우, 회사명이 없는 경우가 함께 제시된다.

5. LLM 보조 라벨링과 사람 검토

모델 비교와 미세조정을 위해서는 먼저 신뢰할 수 있는 평가 및 학습 데이터셋이 필요하다. CFM은 Llama 3.1을 사용해 데이터 샘플에 대한 라벨을 자동 생성하고, 그 결과를 오픈소스 데이터 주석 플랫폼인 Argilla에서 사람이 검토하는 방식을 사용했다. 이 절차는 라벨링 속도를 높이면서도 자동 생성 라벨의 오류를 그대로 사용하는 위험을 줄이는 데 목적이 있다. 즉, LLM은 대량 라벨 초안을 만드는 역할을 하고, Argilla 기반 검수는 품질 보증과 데이터 정제의 역할을 맡는다.

6. Hugging Face Inference Endpoints 배포

CFM은 Llama3.1-70B-Instruct에 안전하고 빠르게 접근하기 위해 Hugging Face Inference Endpoints를 선택했다. 이 서비스는 머신러닝 모델을 프로덕션 환경에 배포할 때 인프라를 직접 관리하지 않아도 되도록 돕는 방식으로 설명된다. 사용자는 Hugging Face Hub의 CapitalFundManagement 조직 계정으로 로그인한 뒤, Inference Endpoints UI에서 meta-llama/Llama-3.1-70B-Instruct 모델을 선택해 새 엔드포인트를 만든다. UI에서는 클라우드 제공자, 리전, 인스턴스 유형을 선택할 수 있고, 글에서는 모델 크기에 맞춘 예로 Nvidia L40S 4개를 사용하는 인스턴스가 선택됐다고 설명한다.

7. 프롬프트 설계와 출력 형식

Llama가 금융 NER 작업에 맞는 출력을 내도록 하기 위해 프롬프트는 여러 부분으로 구성됐다. 먼저 모델을 영어 능력이 뛰어난 금융 전문가로 설정하고, 헤드라인에서 기사와 관련된 주식의 회사명만 추출하라고 지시한다. 또한 CAC40이나 Dow Jones 같은 주식 지수는 포함하지 말라고 명시해, 추출 대상과 제외 대상을 구분한다. 출력은 result와 normalized_result 키를 가진 딕셔너리 형태로 요구되며, result에는 원문에 쓰인 회사명이나 주식 심볼을 그대로 넣고 normalized_result에는 이에 대응하는 표준화된 회사명을 같은 순서와 같은 길이로 넣도록 설계됐다.

8. 비동기 요청과 구조화된 응답

엔드포인트와 프롬프트가 준비된 뒤에는 데이터셋의 제목들을 엔드포인트로 보내 예측을 얻는 단계가 이어진다. 글에서는 huggingface_hub 라이브러리의 AsyncInferenceClient를 사용한다고 설명하며, 이는 asyncio와 aiohttp 기반의 비동기 클라이언트로 여러 요청을 동시에 보내 처리 속도를 높이는 데 쓰인다. 또한 모델 응답이 구조화된 형태를 따르도록 Pydantic의 Companies 스키마를 사용해 result와 normalized_result 리스트를 정의한다. 생성 설정으로는 최대 토큰 수 512와 낮은 temperature 값 0.1이 제시되어, 비교적 결정적이고 형식이 안정적인 응답을 얻으려는 의도가 드러난다.

🧾 핵심 주장 / 시사점

  • 대형 LLM은 항상 최종 추론 모델로 쓰기보다, 라벨 생성과 데이터셋 구축을 가속하는 보조 도구로 활용할 때 비용 대비 효과가 커질 수 있다.
  • 금융 NER처럼 도메인 특화 정확도가 중요한 작업에서는 자동 라벨링만으로 끝내지 않고 Argilla 같은 검토 도구를 결합해 데이터 품질을 관리하는 과정이 핵심이다.
  • GLiNER와 SpanMarker의 결과는 적절히 큐레이션된 LLM 보조 라벨 데이터가 있으면 소형 모델도 운영 비용을 크게 낮추면서 실용적인 성능에 도달할 수 있음을 보여준다.

✅ 액션 아이템

  • CFM 사례처럼 FNSPID에서 주식심볼 누락이 없는 Benzinga 헤드라인 90만 건을 추린 뒤, 금융 뉴스 제목 기업명 추출 NER 대상군을 명확히 정의한다.
  • Llama 3.1으로 생성한 라벨을 Argilla에서 사람 검토로 보강해 오류를 줄이고, 통일된 규칙에 맞는 GLiNER 및 SpanMarker 미세조정 학습데이터로 정제해 반영한다.
  • Llama3.1-70B-Instruct 배포 시 프롬프트에 금융전문가 역할, 회사명 추출 지시, JSON 출력 형식, few-shot 예시를 고정해 라벨 포맷 일관성을 지속적으로 유지한다.

❓ 열린 질문

  • LLM 보조 라벨 데이터로 미세조정한 GLiNER와 SpanMarker의 F1 개선폭은 우리 적용 도메인에서 어떤 수준으로 확인할 수 있는가?
  • 주식심볼 누락이 없는 기사만 사용하면, 누락 기사 처리 방식이 추출 정확도와 커버리지에 어떤 한계를 남길 가능성이 있는가?
  • 대형 LLM 단독 추론 대비 80배 저렴한 비용 우위를 실제 운영에서 지키려면 LLM 라벨 생성 빈도와 사람 검수 규모는 어느 지점이 적정인가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.