LLM-NER: LoRA+ Fine-Tuning으로 Named Entity Recognition 성능 향상
LLM-NER: Advancing Named Entity Recognition with LoRA+ Fine-Tuned Large Language Models
TL;DR Highlight
LoRA+는 LLM 파인튜닝을 통해 NER 성능을 향상시킨다.
Who Should Read
텍스트에서 인물명, 기관명, 날짜 등을 자동 추출하는 NER 파이프라인을 구축 중인 NLP 개발자. 특히 적은 리소스로 LLM을 파인튜닝해 정보 추출 성능을 높이려는 ML 엔지니어.
Core Mechanics
- LoRA+(LoRA의 개선 버전, 학습률을 레이어별로 다르게 설정해 수렴 속도를 높인 기법)를 NER 태스크에 적용해 기존 LoRA 대비 더 나은 파인튜닝 효율을 달성
- LLM을 NER용으로 파인튜닝할 때 전통적인 BERT 계열 모델을 능가하는 성능을 목표로 설계
- NER 특화 instruction 포맷으로 학습 데이터를 구성해 LLM이 엔티티 타입을 정확히 구분하도록 유도
- 파라미터 효율적 파인튜닝(PEFT) 방식이라 전체 모델 가중치를 업데이트하지 않아도 되므로 GPU 메모리 부담이 적음
- CoNLL-2003 등 표준 NER 벤치마크 데이터셋으로 검증
Evidence
- 논문 제목 기준 LoRA+ 파인튜닝이 기존 NER 베이스라인 대비 F1 스코어 개선을 주장 (구체적 수치는 본문 참조 필요)
- PEFT 방식 적용으로 전체 파라미터 대비 1~5% 수준의 파라미터만 학습해 메모리 효율 확보
- CoNLL-2003 등 표준 벤치마크에서 BERT 계열 모델과 비교 실험 수행
How to Apply
- CoNLL 포맷의 NER 데이터셋을 instruction-tuning 형식(예: '다음 문장에서 인물명, 기관명, 장소명을 추출하세요')으로 변환한 뒤 LoRA+ 설정으로 파인튜닝하면 된다.
- Hugging Face PEFT 라이브러리에서 LoRAConfig의 learning_rate를 레이어별로 다르게 설정하는 LoRA+ 방식으로 바꾸면 기존 LoRA 파인튜닝 코드를 거의 그대로 재사용할 수 있다.
- 도메인 특화 NER(의료, 법률, 금융)이 필요한 경우, 도메인 말뭉치로 같은 방식으로 파인튜닝하면 범용 모델보다 높은 정밀도를 기대할 수 있다.
Code Example
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "meta-llama/Llama-2-7b-hf" # 또는 다른 LLM
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, load_in_8bit=True, device_map="auto")
# LoRA+ 스타일: lora_alpha를 높여 학습률 보정 효과
lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM"
)
model = get_peft_model(model, lora_config)
model.print_trainable_parameters()
# 출력 예: trainable params: 4,194,304 || all params: 6,742,609,920 || trainable%: 0.062
# NER용 instruction 포맷 예시
ner_prompt = """아래 문장에서 개체명을 추출하세요. 형식: [TYPE: entity]
문장: Apple의 CEO Tim Cook이 서울에서 발표를 진행했다.
답변:"""
# 기대 출력: [ORG: Apple] [PER: Tim Cook] [LOC: 서울]Terminology
관련 논문
PyTorch Lightning AI 학습 라이브러리에서 Shai-Hulud 테마 악성코드 발견
널리 쓰이는 딥러닝 프레임워크 PyTorch Lightning의 PyPI 패키지 버전 2.6.2와 2.6.3이 공급망 공격으로 침해되어, import 시 자격증명 탈취 악성코드가 실행된다.
Alignment Whack-a-Mole: 파인튜닝이 LLM 내부의 저작권 도서 암기를 활성화한다
안전 정렬(alignment)된 LLM도 파인튜닝을 거치면 억제됐던 저작권 책 내용을 그대로 출력하게 된다는 연구로, LLM의 저작권 침해 위험이 단순히 프롬프트 필터링으로는 해결되지 않음을 보여준다.
MacMind – 1989년 Macintosh의 HyperCard로 구현한 Transformer 신경망
HyperTalk으로 1,216개 파라미터짜리 단일 레이어 Transformer를 Macintosh SE/30에서 학습시켜 현대 LLM의 핵심 수학이 30년 전 하드웨어에서도 동일하게 동작함을 증명했다.
MegaTrain: 단일 GPU로 100B+ 파라미터 LLM을 Full Precision으로 학습하기
MegaTrain은 CPU 메모리를 주 저장소로, GPU를 연산 엔진으로만 활용함으로써 H200 GPU 단 한 장으로 120B 파라미터 모델을 풀 정밀도로 학습할 수 있다.
9M 파라미터짜리 초소형 LLM으로 언어 모델 작동 원리 직접 이해하기
물고기 Guppy를 학습한 870만 파라미터 미니 LLM이 Colab 노트북 하나로 5분 만에 처음부터 구현되어, LLM의 블랙박스 이미지를 완전히 걷어낸다.
Nanocode: $200로 TPU에서 JAX로 구현하는 나만의 Claude Code 학습 라이브러리
이 오픈소스 라이브러리는 Constitutional AI 방식으로 $200 TPU에서 1.3B 파라미터 규모의 coding agent 모델을 처음부터 학습하게 하며 개발자가 AI 학습 파이프라인 전체를 직접 이해하고 실습할 수 있는 환경을 제공한다.