8000 GitHub - orqan137/K-Policy-LLM: 한국어 데이터를 이용해 학습하고 한국 정치자료(국회, 지방의회 회의록, 선거자료, 정당정책, 정부 보도자료 등)로 사후학습한 LLM · GitHub
[go: up one dir, main page]

Skip to content
8000

About

한국어 데이터를 이용해 학습하고 한국 정치자료(국회, 지방의회 회의록, 선거자료, 정당정책, 정부 보도자료 등)로 사후학습한 LLM

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

K-Policy-LLM

K-Policy-LLM은 한국 정치, 정책, 법률 문서를 이해하고 구조화하기 위한 도메인 특화 언어모델 구축 프로젝트입니다. 공개 사전학습 모델을 단순 미세조정하는 방식이 아니라, 토크나이저, 사전학습 데이터팩, 사후학습 데이터팩, 평가 체계를 직접 구성해 from-scratch 계열 실험으로 진행했습니다.

이 저장소는 전체 원시 데이터와 내부 실행 산출물을 그대로 올리는 공간이 아니라, 공개 가능한 모델 설명, 학습 요약, 평가 결과, 사용 예시, 재현 가능한 범위의 코드와 문서를 정리하기 위한 공개용 저장소입니다.

현재 공개 상태

현재 이 저장소에는 make_llm 산출물을 기준으로 공개용 설명 문서, 최종 보고서, 평가표, 그림, 개선 사례, 주요 설정, 참고 스크립트를 정리했습니다. 대용량 모델 파일과 추가 서빙 자료는 공개 범위를 확인한 뒤 별도로 보완합니다.

항목 상태
프로젝트 개요 포함
모델 구조 요약 정리 완료
사전학습 기록 정리 완료
사후학습 기록 정리 완료
v0.0.9 이전 버전 이력 정리 완료
공개 벤치마크 결과 정리 완료
내부 생성형 평가 결과 정리 완료
최종 보고서 포함
평가 그림 포함
개선 사례 포함
주요 설정 파일 포함
참고 스크립트 포함
토크나이저와 export metadata 포함
비모델 재현 스냅샷 포함
모델 가중치 별도 배포 예정
추론 코드와 예시 기본 구조와 llama.cpp 참고 코드 포함
데이터 설명서 초안 포함
모델 카드 초안 포함

저장소 구성

K-Policy-LLM/
├── README.md
├── reports/                 # 최종 보고서와 전체 실험 기록
├── docs/                    # 모델, 데이터, 학습, 평가 설명
├── manifests/               # 재현용 작은 manifest와 보존 우선순위
├── reproducibility/         # make_llm 비모델 재현 스냅샷
├── results/                 # 공개 가능한 평가 요약 CSV
├── assets/figures/          # 보고서·README용 그림
├── examples/                # 사후학습 개선 사례
├── configs/                 # 주요 모델·학습·평가 설정
├── scripts/                 # 데이터, 학습, 평가, 추론 참고 스크립트
└── checkpoints/             # tokenizer, config, export metadata

주요 문서는 다음에서 확인할 수 있습니다.

문서 내용
최종 보고서 보완 논문 스타일 최종 보고서
전체 실험 기록 사전학습, 사후학습, 평가, 한계, 표현 기준 정리
v0.0.9 이전 개발 이력 v0.0.1-v0.0.8 진행 로그, 실패 분석, v0.0.9 설계로 이어진 교훈
모델 카드 초안 모델 목적, 사용 범위, 한계
데이터 설명서 데이터 구성 원칙과 원천 유형
마이그레이션 재현 준비 데이터 재다운로드 목록, 전처리·패키징 절차, 최종 계보 보존 우선순위
데이터 재수집 seed 원본 데이터 provider, dataset id/name, 파일명 seed, 재패키징 seed/rule
시행착오 로그북 실패·우회·재시작·repair·보고서 정정 기록과 전체 log/note 색인
make_llm 비모델 재현 스냅샷 모델 가중치와 원자료를 제외한 코드, 설정, 노트, manifest, 로그, 계보 증거
학습 요약 사전학습과 사후학습 흐름
평가 요약 공개 지표와 내부 생성형 평가 결과
공개 지표 해석 참고 공개 모델 점수와 직접 비교하기 어려운 이유
803문항 자동채점 결과 내부 생성형 평가의 전체 재평가 결과
자동채점 기준과 검산 자체 평가 채점식과 사례 검산 설명

목표

K-Policy-LLM의 목표는 정치·정책·법률 문서를 단순히 이어 쓰는 것이 아니라, 사용자가 검토해야 할 정보를 구조화해 설명하는 것입니다.

주요 목표 작업은 다음과 같습니다.

목표 작업 설명
회의록 구조화 국회·지방의회 회의록에서 안건, 쟁점, 발언, 결정 사항을 분리
법률안·검토보고서 해설 법률안의 목적, 개정 내용, 검토 쟁점, 한계를 설명
정책·공약 비교 정책 방향, 재정 부담, 대상 집단, 집행 가능성을 구분
근거 기반 질의응답 제공 자료 안에서 확인 가능한 내용과 자료 밖 내용을 구분
표·수치 자료 해석 예산, 투표율, 의석수, 증감 폭과 단위를 설명
짧은 사실 질의 기준일이 필요한 현재 사실과 기본 정치·법률 개념을 간결하게 답변

모델 개요

최종 보고서 기준 모델은 약 1.221B 파라미터 규모의 dense decoder-only causal language model입니다.

구분 설정
모델 유형 Llama 계열 decoder-only causal LM
파라미터 규모 약 1.221B
레이어 수 28
은닉 차원 2,048
FFN 차원 4,096
어텐션 16 heads, 8 KV heads, GQA
위치 인코딩 RoPE
문맥 길이 4,096 tokens
토크나이저 SentencePiece BPE, 80K vocabulary
학습 정밀도 bf16

학습 흐름

전체 학습은 사전학습과 사후학습으로 나누어 진행했습니다.

사전학습 데이터 구성
        |
80K 한국어 중심 토크나이저 학습
        |
1.221B decoder-only LM 사전학습
        |
15B 토큰학습량 지점 선택
        |
추가 사전학습(CPT)
        |
지도학습(SFT)
        |
선호학습(DPO)

사전학습

사전학습 데이터팩은 한국어 일반 말뭉치와 정치·정책·법률 관련 자료를 함께 사용했습니다. 최종 사전학습 데이터팩은 약 31.21B 토큰 규모이며, 실제 보고서 기준 베이스 모델은 중간 체크포인트 평가 결과를 바탕으로 토큰학습량 15B 지점으로 선택했습니다.

항목 수치
최종 사전학습 데이터팩 31.21B tokens
한국어 토큰 비율 93.67%
영어 토큰 비율 6.33%
최종 기준 베이스 15B 토큰학습량

15B를 기준 베이스로 선택한 이유는 16B까지 추가 학습했을 때 일부 일반 지표는 소폭 개선되었지만, 한국어 확장 지표와 전체 확장 지표가 15B보다 낮아졌기 때문입니다. 따라서 16B를 실패로 폐기한 것이 아니라, 평가 결과상 사후학습으로 전환하는 편이 더 적절하다고 판단했습니다.

토큰학습량 한국어 확장 가중 평균
1.5B 26.00
6B 28.06
9.5B 28.06
13.5B 28.06
15B 28.59
16B 27.52

사후학습

사후학습은 추가 사전학습(CPT), 지도학습(SFT), 선호학습(DPO) 순서로 진행했습니다.

단계 목적 해석
CPT 법령·정책 문체와 도메인 용어 추가 노출 지시응답 개선보다는 도메인 문체 보강
SFT 답변 형식, 단답, 문서 구조화, 법률 8000 안 해설 학습 질문에 맞는 답변 형식과 직접성이 개선됨
DPO 선호 답변과 비선호 답변 대비 학습 반복, 질문 복사, 근거 없는 단정 억제에 기여

SFT와 DPO는 공개 객관식 벤치마크 점수를 크게 끌어올리기보다는, 실제 목표 작업에서 나타난 실패 유형을 줄이는 데 초점을 두었습니다. 예를 들어 장황한 무관 답변을 간결한 단답으로 바꾸거나, 정책 설명에서 자료 유형과 확인 기준을 분리하는 식의 개선이 관찰되었습니다.

평가 결과 요약

평가는 두 축으로 수행했습니다.

  1. 공개 한국어 객관식 벤치마크
    KMMLU, CLIcK, KoBEST 등 공개 지표를 같은 평가 프로토콜로 실행해 사전학습 및 사후학습 단계별 변화를 확인했습니다.

  2. 내부 생성형 자동채점 평가
    프로젝트 목표 작업에 맞춘 803개 생성형 진단 문항을 구성하고, 네 단계 모델에 대해 모두 생성·채점했습니다.

공개 벤치마크

공개 벤치마크는 zero-shot next-token 방식으로 선택지 문자의 로그확률을 비교해 채점했습니다. 이 방식은 공개 모델 기술보고서에서 흔히 사용하는 5-shot accuracy 또는 F1 평가와 다를 수 있으므로, 아래 점수는 공개 모델과의 직접 순위 비교가 아니라 같은 프로토콜 안에서 우리 모델의 단계별 변화를 보기 위한 진단 지표로 해석해야 합니다.

지표 사전학습 베이스라인 CPT SFT DPO
KMMLU 28.70 28.34 27.91 27.99
KMMLU-hard 24.24 24.54 24.56 24.68
KMMLU-Pro 20.02 20.41 18.92 18.85
CLIcK 24.61 24.61 26.02 26.02
KoBALT-700 9.14 8.43 9.57 9.29
HAERAE 20.47 20.80 20.52 20.60
KoBEST-BoolQ 48.01 48.29 49.72 50.00
KoBEST-COPA 51.80 52.40 50.00 50.50
KoBEST-HellaSwag 23.40 22.60 24.80 24.60
KoBEST-SentiNeg 52.39 51.64 50.38 51.13
KoBEST-WiC 49.13 49.21 51.59 51.75

공개 벤치마크의 절대 점수는 공개 한국어 특화 LLM과 비교해 낮은 수준입니다. 특히 4지선다형에서 25% 근처, 2지선다형에서 50% 근처인 결과는 무작위 기준선에 가깝게 해석해야 합니다. 따라서 이 프로젝트는 공개 벤치마크 경쟁 성능을 주장하기보다, 도메인 특화 모델 구축 과정과 단계별 개선 방향을 분석하는 연구 성격이 강합니다.

내부 생성형 자동채점 평가

내부 평가는 본 프로젝트의 목표 작업에 맞추어 직접 구성한 803개 생성형 진단 문항으로 수행했습니다. 채점은 사람이 점수를 매기는 방식이 아니라, 문항별 요구 구획, 필수어, 금지어, 수치 정답, 단위 조건을 대조하는 규칙 기반 자동채점 방식입니다.

단계 문항 수 평균 점수
사전학습 베이스라인 803 35.6
CPT 803 35.5
SFT 803 36.1
DPO 803 36.5

항목별로는 법률안·검토보고서 해설, 근거 부족·문서 한계 진단, 기본 정치 사실·단답에서 일부 개선이 나타났습니다. 반면 표 수치 해석과 정책·공약 비교는 여전히 낮은 점수를 보여 후속 데이터 보강과 별도 수치 추론 학습이 필요합니다.

관찰된 개선 사례

사후학습의 목적은 단순 점수 상승이 아니라, 실제 질문에서 반복, 무관 답변, 근거 없는 단정, 장황한 답변을 줄이는 것이었습니다.

관찰된 개선 방향은 다음과 같습니다.

유형 사전학습 단계의 문제 사후학습 후 관찰된 변화
단답 질의 질문과 무관한 장문 생성 SFT 이후 짧고 직접적인 답변 생성
현재 사실 질의 기준일 없는 일반론 또는 무관 답변 기준일을 포함한 직접 답변 생성
계산 교정 반복 문장과 근거 없는 답변 계산식, 차이, 단위를 포함한 답변 생성
정당 설명 특정 지역·시점 발언으로 이탈 중립적 개요와 기준일 확인 필요성 제시
정책 설명 근거 없는 적용 범위 단정 DPO 이후 기준과 자료 한계를 함께 제시
자료 연결 설명 공약, 법률안, 예산, 회의록의 역할 혼재 자료 유형별 기능과 확인 기준을 분리

한계

현재 모델은 공개 한국어 특화 LLM과 비교할 수 있는 범용 성능을 확보했다고 보기 어렵습니다. 특히 공개 객관식 벤치마크의 절대 점수는 낮고, 내부 자동채점 평가에서도 표 수치 해석과 정책·공약 비교 항목의 성능이 충분하지 않습니다.

또한 내부 생성형 평가는 프로젝트 목표에 맞춘 진단셋이므로, 범용 모델 성능을 대표하는 공식 순위표처럼 해석해서는 안 됩니다. 개선 사례도 자동채점 후보 중 단계별 출력을 대조해 선별한 사례이며, 별도의 사람 평가 점수로 산출한 결과는 아닙니다.

포함된 주요 그림

그림 내용
사전학습 손실 곡선 15B 토큰학습량 기준 사전학습 손실
15B 선택 지표 사전학습 토큰학습량별 공개 지표 흐름
사후학습 공개지표 11개 사전학습 베이스라인, CPT, SFT, DPO 비교
803문항 자체평가 내부 생성형 자동채점 결과
사전학습 실패 질의 개선 SFT와 DPO의 개선 사례 흐름

포함된 주요 결과 파일

파일 내용
한국어 공개지표 11개 CSV 사후학습 단계별 공개 지표
803문항 전체 평균 CSV 내부 생성형 평가 전체 평균
803문항 항목별 CSV 내부 생성형 평가 항목별 결과
사전학습 체크포인트별 CSV 15B 기준 베이스 선택 근거

모델 파일 배포 계획

대용량 모델 가중치와 GGUF 변환본은 이 저장소에 직접 포함하지 않았습니다. 현재 checkpoints/에는 tokenizer, config, generation config, export metadata를 포함했습니다. 가중치 공개 범위와 GitHub LFS 사용 여부를 정한 뒤 별도로 배포합니다.

사용 안내

이 모델은 연구용 도메인 특화 언어모델입니다. 출력은 법률 자문, 선거 조언, 정책 판단의 최종 근거로 사용해서는 안 되며, 실제 판단에는 반드시 원문 자료와 공식 출처 확인이 필요합니다.

정치·정책 사안에 대해서는 특정 정당, 후보, 입장을 지지하도록 설득하기보다 판단 기준을 중립적으로 제시하는 것을 목표로 합니다.

License

라이선스는 공개할 모델 파일, 코드, 문서, 데이터 파생물의 범위를 확정한 뒤 명시할 예정입니다. 원천 데이터의 라이선스와 배포 가능 범위를 우선 확인합니다.

About

한국어 데이터를 이용해 학습하고 한국 정치자료(국회, 지방의회 회의록, 선거자료, 정당정책, 정부 보도자료 등)로 사후학습한 LLM

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0