Downloads · 30 days
0
netgamer/korean-llm-finetune
korean-llm-finetune is a machine learning model from netgamer. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
이 프로젝트는 Llama 3.2 1B 모델을 한국어 QA 데이터로 파인튜닝하는 예시입니다. LoRA(저랭크 어댑터) 방법을 사용하여 효율적인 파인튜닝을 수행합니다.
Downloads · 30 days
0
Access
Public
Updated Jul 4, 2025
Repo size
—
Likes
2
Public
Click a slice to open those files.
.md13.5 KB · 28%
From the Hugging Face model README
이 프로젝트는 Llama 3.2 1B 모델을 한국어 QA 데이터로 파인튜닝하는 예시입니다. LoRA(저랭크 어댑터) 방법을 사용하여 효율적인 파인튜닝을 수행합니다.
korean-llm-finetune/
├── README.md # 프로젝트 설명
├── requirements.txt # 필요한 패키지 목록
├── model_card.md # 모델 카드
├── configs/
│ └── lora_config.yaml # LoRA 설정
├── data/
│ └── ko_samples.jsonl # 한국어 샘플 데이터
├── scripts/
│ ├── train_lora.py # 파인튜닝 스크립트
│ ├── evaluate.py # 평가 스크립트
│ └── preprocess.py # 전처리 스크립트
├── inference_demo.ipynb # 추론 데모 노트북
└── outputs/ # 학습 결과 저장
# 필요한 패키지 설치
pip install -r requirements.txt
data/ko_samples.jsonl 파일에 한국어 QA 데이터를 준비합니다:
{"instruction": "다음 질문에 답하세요", "input": "한국의 AI 정책은?", "output": "정부는 2025년부터 독자 AI 파운데이션 모델을 개발 중입니다."}
Llama 3.2 1B 모델을 Hugging Face에서 다운로드합니다:
from transformers import AutoTokenizer, AutoModelForCausalLM
# 토크나이저 다운로드
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.2-1B")
# 모델 다운로드 (Meta 라이선스 동의 필요)
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.2-1B")
cd scripts
python train_lora.py \
--model_name_or_path meta-llama/Llama-3.2-1B \
--data_path ../data/ko_samples.jsonl \
--output_dir ../outputs \
--num_train_epochs 3 \
--per_device_train_batch_size 1 \
--learning_rate 2e-4
python evaluate.py \
--base-model meta-llama/Llama-3.2-1B \
--adapter-path ../outputs/final_model \
--test-data ../data/ko_samples.jsonl
Jupyter 노트북을 실행하여 모델을 테스트합니다:
jupyter notebook inference_demo.ipynb
| # | 질문 | 입력 | 예상 답변 | 생성 답변(요약) |
|---|---|---|---|---|
| 1 | 다음 질문에 답하세요 | 한국의 AI 정책은? | 정부는 2025년부터 독자 AI 파운데이션 모델... | 한국의 AI 정책은 AI 기술의 발전과 동시에... |
| 2 | 다음 질문에 답하세요 | 대한민국의 수도는? | 서울입니다. 서울은 대한민국의 수도이자... | 서울, 서울은 한국에서 가장 인구가 많은 도시... |
| 3 | 다음 질문에 답하세요 | 인공지능이란 무엇인가요? | 인공지능(AI)은 인간의 학습능력과... | 인공지능은 컴퓨터가 인간과 비슷한 특성을... |
| 4 | 다음 질문에 답하세요 | 한국의 대표적인 음식은? | 김치, 불고기, 비빔밥 등 | 한국의 대표적인 음식은 김치이다... |
| 5 | 다음 질문에 답하세요 | 머신러닝과 딥러닝의 차이점은? | 머신러닝은 데이터로부터 패턴을... | 머신러닝과 딥러닝의 차이점은... |
| 6 | 다음 질문에 답하세요 | 한국의 4계절은? | 봄, 여름, 가을, 겨울 | 한국은 4계절이 아니라 4가지 시기에... |
| 7 | 다음 질문에 답하세요 | 자연어처리란 무엇인가요? | NLP는 인간의 언어를 컴퓨터가... | 자연어처리란 인간의 언어를 컴퓨터에게... |
| 8 | 다음 질문에 답하세요 | 한국의 전통문화는? | 한복, 한글, 태극기 등 | 한국의 전통문화는 고려시대부터... |
| 9 | 다음 질문에 답하세요 | 빅데이터란 무엇인가요? | 빅데이터는 기존의 데이터베이스... | 빅데이터는 많은 데이터를 수집, 분석... |
| 10 | 다음 질문에 답하세요 | 한국의 경제 현황은? | 한국은 세계 10위권의 경제대국... | 한국의 경제 현황은 물가상승률이 10%... |
| # | 질문 | 입력 | 예상 답변 | 생성 답변(요약) |
|---|---|---|---|---|
| 1 | 다음 질문에 답하세요 | 우주 탐사의 주요 목적은? | 우주의 기원, 생명체 탐구, 자원·기술 개발 | 우주 탐사의 주요 목적은 탐사하는 것... |
| 2 | 다음 질문에 답하세요 | 태양계의 중심은? | 태양 | 태양계의 중심은 지구에 가까운 부분... |
| 3 | 다음 질문에 답하세요 | 블랙홀이란 무엇인가요? | 강력한 중력, 빛도 빠져나올 수 없음 | 블랙홀은 거대한 껍질을 가지고 있다... |
| 4 | 다음 질문에 답하세요 | 태양계의 주요 행성은? | 수성, 금성, 지구, 화성, 목성, 토성, 천왕성, 해왕성 | 태양, 목성, 지구, 마우로타우루스, 토요토마스... |
| 5 | 다음 질문에 답하세요 | 우주 망원경과 지상 망원경의 차이점은? | 대기 간섭, 파장 관측, 유지보수 | 우주 망원경은 지구에서 관측할 수 있는 범위를 더 넓게... |
| 6 | 다음 질문에 답하세요 | 계절적 변화가 없는 행성은? | 수성, 금성 | 계절적 변화가 없는 행성은 별이 변하지 않기 때문에... |
| 7 | 다음 질문에 답하세요 | 우주에서 데이터 분석은 어떻게 이루어지나요? | 망원경·탐사선 데이터, AI 활용 | 우주에서 데이터 분석은 해본 사람들과의 대화... |
| 8 | 다음 질문에 답하세요 | 우주 탐사의 대표적인 성과는? | 아폴로 달 착륙, 화성 로버, 허블·제임스웹 망원경 | 우주 탐사의 대표적인 성과는 거대한 파편이 발견... |
| 9 | 다음 질문에 답하세요 | 우주에서 빅데이터의 역할은? | 천체 특성, 우주 구조, 암흑물질 연구 | 빅데이터는 데이터 분석, 데이터베이스, 데이터 웨어하우스... |
| 10 | 다음 질문에 답하세요 | 국제 우주 정거장의 역할은? | 과학 실험, 기술 개발, 국제 협력 | 우주 정거장의 역할은 지구의 대기와 같은 온도, 기온, 강수... |
from transformers import AutoTokenizer, AutoModelForCausalLM
from peft import PeftModel
# 모델 로드
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-3.2-1B")
base_model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-3.2-1B")
model = PeftModel.from_pretrained(base_model, "./outputs/final_model")
# 추론
prompt = "### 질문: 다음 질문에 답하세요\n입력: 한국의 수도는?\n### 답변:"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=128)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
이 프로젝트는 MIT 라이선스 하에 배포됩니다. Llama 3.2 모델 사용을 위해서는 Meta의 라이선스 동의가 필요합니다.
프로젝트에 대한 문의사항이 있으시면 이슈를 생성해주세요.