고갱
[인공지능] 졸업 작품 #7, 처음부터 되짚어보기 본문
상당히 오랜만에 쓰는 게시물이다.
마지막 게시물 작성이 벌써 반년 전이니까 그 동안에 진척된 사항과 앞으로의 계획을 적고자 한다.
(이제 완성 기한까지 2달도 채 안남아있다.)
❗시작하기에 앞서
시작하기에 앞서 몇 가지가 변경됐다.
사실 난 판결문을 완성해주는 인공지능 모델을 목표로 잡고있었지만,
교수님이 극구 반대하셔서 결국 진행하지 못하게 되었다.
(GPU 자원을 사용하려면 교수님의 입김이 절대적이기 때문에 따라갈 수 밖에 없었다.)
그래서 새로운 목표는 "양형기준안" 과 "법률" 을 토대로 하여 어떻게 하면 유리한 변호가 가능한지,
또는 재판에서의 쟁점은 어떤 부분인지 등 정도를 분석하는 인공지능 모델이 목표가 되었다.
👈 지난 학기에는 무엇을 했는가?
우선 지난 번에는 QLoRA 를 이용해서 파인튜닝을 하고, 이를 토대로 적용 가능한 법률을 도출하도록 만들었다.
근데 그 당시에는 파악되지 않았지만 4월 무렵에 큰 문제점이 발견되었다.
일부 범죄 사실에 대해서 이상한 답변이 도출되는 현상이였다.
예를 들어 아래와 같은 범죄 사실이 있다고 하자. (실제 있는 판결문 중 일부 발췌)
피고인의 휴대전화의 카메라 기능으로 피해자의 나체를 촬영하였다.
그러면 보통 응답은 아래처럼 나와야 정상이다.
성폭력범죄의처벌등에관한특례법 제14조
근데 답변이 아래처럼 무한 반복되는 현상이 존재했다.
성폭력범죄의처벌등에관한특례법 제14조에 의해 성폭력범죄의처벌등에관한특례법 제14조에 의해 성폭력범죄의처벌등에관한특례법 제14조에 의해 성폭력범죄의처벌등에관한특례법 제14조에 의해 .....
원인을 파악하려 해보아도 좀처럼 감이 잡히지 않았다.
일단 예상되는 추정 원인은 손실률이였다.
지금이야 1학기 기록이 존재하지 않아서 확인할 수 없지만 당시에 Loss가 좀처럼 줄어들지 않았던 것으로 기억한다.
실제로 몇 가지 사례를 찾아보면 Loss 값과 Gradient Norm 값에 의해서 이 같은 현상이 발생할 수 있다고 보고가 올라와있다.
After fine-tuning, the model repeat the answer and not stop · Issue #467 · tloen/alpaca-lora
After fine-tuning, I have encountered an unexpected behavior where the model repeatedly generates the same answer without stopping. i tried different models of llama decapoda-research/llama-7b-hf y...
github.com
어쨌든 '학습이 잘못된 것 같다' 라는 결론을 가지고 있었고, 이는 잠시 보류해둔 상태로 다른 작업에 돌입하기로 했다.
1️⃣ 그래서 어떤 작업을 했는가?
내가 만드는 작품은 이 법률 도출만이 끝이 아니다.
도출해낸 법률과 양형기준안, 그리고 현행법 데이터 등을 조합해서 재판의 쟁점을 찾아주는 모델이다.
즉, 지금 이렇게 판결문 데이터 가지고 파인튜닝을 한다고 해서 해결되는 문제가 아닌 것이다.
양형기준안, 그리고 현행법 데이터를 활용해야 되는 것이다. (RAG를 쓰던, 파인튜닝을 하던)

따라서 법률 데이터를 모두 크롤링하여 텍스트로 저장하는 작업을 우선 진행하였다.
그리하여 우측 그림처럼 시행일에 따른 법률별로 다 저장해주었고,
이렇게 하여 범죄 당시의 법률과 현행법 두 법률을 다 가지고 있을 수 있게 되었다.
(두 법률이 다 필요한 이유는 이전 게시물을 참고)
물론 이게 끝은 아니다.
왜냐하면 아직은 변경 이력을 자동으로 연결해주는 로직이 구현되어 있지 않을 뿐 더러 아직 벡터 데이터베이스를 구축하지조차 못했기 때문이다.
2️⃣ 그 다음은?

그 다음은 위에서 언급했던 양형기준안 데이터였다.
양형기준안 PDF 파일을 모두 불러왔고, 이를 토대로 텍스트로 바꿔서 벡터 데이터베이스를 구축해줘야 했다.
하지만 당시에 쓸 수 있는 좋은 수단을 써보아도 정확도가 그리 높지 않았다.
(ChatGPT 4.5, Llama 4, LLaVa, Perplexity, Qwen Vision 등)
그래서 일차적으로 Qwen을 이용하여 텍스트 데이터를 만들게 하였고, 이를 하나하나 검토하는 쪽으로 방향을 잡았다.
(ChatGPT가 그나마 정확도가 높았지만, 비용 문제로 지원받지 못했다.)
양형 기준안이 많은 만큼 하나하나 검토하기가 정말 힘들었지만 그래도 졸업작품인 만큼 최선을 다하고자 했다.
여기서 왜 Vision 모델을 썻냐면, Raw PDF 파일을 그냥 LLM에 넘겨주면 정확도가 아예 쓸 수 없는 수준이기 때문이다.
![]() |
![]() |
각각 PDF를 이미지로 변환하여 분석을 요청한 것과, Raw PDF 파일을 넘기고 분석을 요청한 부분이다.
좌측은 대부분 잘 분석한 것으로 보이지만 일부분 (과잉방위 > 고의의 부정) (범행에 취약한 피해자 > 법령에 취약한 피해자) 오타가 자주 등장하는 편이다.
그리고 우측은 아예 형편없다.
10년에서 16년은 1016년이 되어있고, 15년에서 20년은 1520년이 되어있고 좀 안좋은 상황이다.
따라서 일단 Vision 모델을 사용하고 오탈자를 수동으로 점검하는 방식을 택하고자 했다.
3️⃣ 그리고?
그리고 이제 문제가 터지게 된다.
첫 번째 법률 데이터는 크롤링하기 상당히 복잡하게 되어있어서 Selenium 기반으로 수동 크롤링을 진행했고,
두 번째 양형 기준안은 수동으로 하나하나 검토해주었다.
그만큼 1학기 대부분이라는 상당히 많은 시간을 소요했다.
그리고 방학이 시작되었고 나는 유럽을 갔다오고 본가에서 사업 준비를 했다.
그리고 8월 초에 다시 내 원격 서버에 접속했다.
Network error: Connection timed out
그리고 나타난 오류가 이거였다.
처음에는 단순히 랜선이 뽑혀있거나 전원이 꺼졌겠거니 했다.
그래서 학교에 있는 관리자한테 연락해서 내 서버좀 살펴달라고 했다.
![]() |
![]() |
하지만 돌아온 답변은 진짜 죽은 것...
내가 사용하는 GPU 서버랑 내가 관리하는 서버는 다 시놀로지 NAS랑 RAID 설정까지 다 해두었는데 하필 내 개인 서버는 그 두개가 모두 되어있지 않았다.
정말 큰일난 상황이였다.
- 법률 데이터 100% 손실
- 양형기준안 100% 손실
- 판결문 데이터 85% 손실
정리하면 위와 같은 상황이였다.
법률 데이터와 양형 기준안은 전적으로 내 개인 서버에서 진행했고,
판결문 데이터도 개인 서버에 있는 상황에서 그나마 GPU 서버에 파인튜닝하려고 3년치 데이터를 옮겨둬서 그나마 건진 것이였다.
암담했다.
👉 지금은 뭐하고 있나?
그냥 그렇게 기운 없이 손 놓고 있을 수만은 없는 노릇이라 급하게 법률 데이터 수집과 동시에 다시 파인튜닝을 진행 중이다.
그 중에 법률 데이터 수집 같은 경우에는 단순 크롤링을 반복하는 것이니까 생략하도록 하겠다.
그리고 파인튜닝의 경우에는 이번에 파인튜닝은 좀 더 제대로 하고있다.
기존 파인튜닝용 데이터는 약간 품질이 떨어졌다.
판결문 데이터는 1,000 개가 있다고 한다면 그 중 몇 개 혹은 수십 개가 잘못된 데이터가 있다.
판결문 파일을 재가공하던 중 범죄사실이 비게된 경우가 있는데 이런 경우에도 파인튜닝용 데이터로 따라 들어갔었다.
(판결문 파일들이 모두 동일한 포맷이 아니다 보니 간혹 범죄 사실 추출이 잘 안되는 경우가 있다.)
법률 모델인 만큼 이러한 문제는 엄밀히 해결해야하는 문제라 판단했고, 이를 해결하기 위해 온전한 판결문들이 일부 소실되는 한이 있더라도 더 로직을 까다롭게 작성하여 아예 데이터셋의 품질을 끌어올렸다.
(어차피 이를 제외해도 18만건 이상의 판결문이 존재했다.)

따라서 위 형태의 파인튜닝용 데이터를 구축했고 이를 토대로 파인튜닝을 진행했다.
![]() 파인튜닝 진행중인 GPU 모습 |
![]() 진행 정도 |
그리하여 위와 같이 순조롭게 파인튜닝이 진행됨을 알 수 있다.
(중간에 데이터가 잘리지 않도록 문자가 너무 긴 판결문도 쳐내도 18만건이 넘는다.)
🤔 앞으로는 어떻게 할까?
일단 파인튜닝은 1,000 스텝마다 저장되게 해두었는데, 아마 중간중간에 사용해보면서 잘 되고 있는지 테스트를 거쳐볼 것 같다.
그리고 파인튜닝이 진행되는 동안에는 당연히 놀고있을건 아니고, 양형 기준안 데이터들을 텍스트로 바꾸는 작업을 진행하던가 혹은 법률 데이터를 가공하지 않을까 싶다.
둘 중 어느 하나 쉬운건 없기 때문에 정말 바쁜 나날을 보내야만 순조로이 진행할 수 있지 않을까 싶다.
🗣 여담
사업화랑 병행하니까 엄청 바쁘긴 하다는걸 체감 중이다.
오죽 바쁘면 지금 사업화하던 곳에는 잠시 운영 중단한다고 공지까지 띄워놓았다.
어서 빨리 졸업작품 마무리를 해야 좀 한가해지지 않을까 싶다.
👍 참고 자료
파인튜닝된 모델 답변이 이상한 부분 Issue
After fine-tuning, the model repeat the answer and not stop · Issue #467 · tloen/alpaca-lora
After fine-tuning, I have encountered an unexpected behavior where the model repeatedly generates the same answer without stopping. i tried different models of llama decapoda-research/llama-7b-hf y...
github.com
'인공지능 > 졸업작품' 카테고리의 다른 글
| [인공지능] 졸업 작품 #9, ChromaDB 구축 (0) | 2025.10.17 |
|---|---|
| [인공지능] 졸업 작품 #8, QLoRA 파인튜닝 결과 (0) | 2025.09.21 |
| [인공지능] 졸업 작품 #6, LoRA 파인튜닝 과정 (0) | 2025.03.08 |
| [인공지능] 졸업 작품 #5, LLM 한계점 극복 (0) | 2025.02.05 |
| [인공지능] 졸업 작품 #4, LLM + RAG (0) | 2025.01.05 |






