K-FSF 첫 번째 프로젝트
우선, 데이터 준비 파트의 시퀀스 다이어그램 공유한다. 시퀀스는 프로그래머끼리의 필수 소통 방식으로 졸라맨 하나 넣어주면 use case도 포함한다(use case가 사실 가장 중요하긴 하지만, 그림 그리는 공간과 그 규모를 봤을 때 실무 필드에서는 안 그리는 것이 맞다)
공개된 chatGPT 모델의 라이선스 논란 외 단어장 생성 자체의 저작권 꼬투리를 안 잡히려면 그냥 알파벳으로 출발하는 것이 좋다. a, b, c,... , x, y, z 말이다. 이것까지 라이선스가 있다고 한다면 영어로 생각하는 사람 모두 혹은 세종대왕이 한글로 생각하는 사람 모두에게 라이선스 비용을 받아야 하는 것과 같을 것이다. 저작권은 적당한 파급력에서는 홍보를 위해 사실상 없는 것이고, 엄청난 파급력을 가질 때는 원작자의 노고를 충분히 치하해 줄 만큼 보호가 되어야 한다. 그러나 보통은 원작자의 기준보다는 법을 잘 아는 사람이 저작권을 가질 확률이 월등히 높다. 그런 생태계 자체를 파괴하고 싶은 것이 K-FSF의 열망이라는 사실을 먼저 전하고 시작한다. a로 시작하는 영어를 물어보는 것부터 하면 되는데 너무 많다. 그래서 aa, ab, ac,...로 순서대로 진행하면서 단어를 물어본다. 늘 그렇듯 바로 Log 분석으로 들어가면,
=== 빠른 수정 버전 영어 단어 수집 ===
접두사당 목표 단어 수: 25
모델: gpt-oss:120b
--------------------------------------------------
처리할 접두사 수: 491
예상 최대 단어 수: 12,275
'aa' 접두사 수집 중... 14개
'ab' 접두사 수집 중... 25개
'ac' 접두사 수집 중... 25개
'ad' 접두사 수집 중... 25개
'ae' 접두사 수집 중... 25개
'af' 접두사 수집 중... 25개
'ag' 접두사 수집 중... 25개
'ah' 접두사 수집 중... API 오류 (시도 1/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 2/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 3/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
응답 없음
'ai' 접두사 수집 중... 25개
'aj' 접두사 수집 중... 8개
'ak' 접두사 수집 중... API 오류 (시도 1/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 2/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 3/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
응답 없음
'al' 접두사 수집 중... 25개
'am' 접두사 수집 중... 25개
'an' 접두사 수집 중... 25개
'ao' 접두사 수집 중... 0개
'ap' 접두사 수집 중... 25개
'aq' 접두사 수집 중... API 오류 (시도 1/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 2/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 3/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
응답 없음
'ar' 접두사 수집 중... 25개
'as' 접두사 수집 중... 25개
'at' 접두사 수집 중... 25개
'au' 접두사 수집 중... 25개
'av' 접두사 수집 중... 25개
'aw' 접두사 수집 중... 25개
'ax' 접두사 수집 중... 25개
'ay' 접두사 수집 중... API 오류 (시도 1/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 2/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
API 오류 (시도 3/3): HTTPConnectionPool(host='localhost', port=11434): Read timed out. (read timeout=30)
응답 없음
진행률: 25/491 (5.1%) - 총 472개 단어 (평균 18.9개/접두사)
'az' 접두사 수집 중... 25개
'ba' 접두사 수집 중... 25개
'bb' 접두사 수집 중... 0개
'bc' 접두사 수집 중... 0개
'bd' 접두사 수집 중... 25개
'be' 접두사 수집 중... 25개
이런 식으로 뜻을 물어볼 단어장을 만든다.
어제 만든 첫 번째 버전은 딱히 상태가 좋지 않아서, 오늘 다시 만들면서 글을 쓰고 있다. 그러나 뽑아낸 단어로 단어장을 만드는 것은 아래처럼 된다는 것을 확인하였다.
공개된 chatGPT는 이 전 글에서 말한 대로 gpt4-turbo의 성능이라 웬만큼 번역도 된다. 그리고 앞으로 모델 성능이 올라간 버전이 공개될수록 (꼭 chatGPT가 아니라도) 단어장의 품질은 올라갈 수밖에 없다.
나는 굳이 이제 내가 아니어도 향 후에는 완전 무료인 단어장 리스트를 마음껏 쓸 수 있다는 사실을 알 고 있다. 다른 사람이 안 만든다면 내가 계속해서 사실로 만들면 된다.
미래를 예측하는 가장 쉬운 방법은 미래를 직접 만들면 되는 것이다.
K-FSF의 모든 소스는 다음 repo에서 공개합니다. 한 동안은 ubuntu 폴더를 쓰게 될 것 같습니다.
https://github.com/EXCorpDEV/repo_hajunho.slack.com/tree/master/ubuntu/gpt-oss/ollama/dictmaker