국룰, 1달
https://kio.ac/c/bAnbzPJARpLrz4hQWOwP0b
24GB이상의 VRAM이 있는 사람에게 추천 / 12GB 이상의 VRAM 권장 (집컴 또는 연구실/직장 컴퓨터)
[24기가 언더에서도 가능하나 Vram이 낮을수록 성능은 떨어짐 12GB 이상의 Vram이있으면 27B모델 대신 12B 모델을 사용하면 성능이 미세하게 떨어지지만 충분히 대체 가능 그 이하는 애매 ]Ollama 세팅이 되어있으면 편하고 기본적으로 파이썬이나 로컬 LLM을 다뤄본 사람에게 권장
잘 쓰던 번역툴 있으면 그거 쓰시면 좋아요 기존에 번역툴이 불편한데 sLLM은 다룰줄 아는 경우 좋음
사용 로컬 LLM 모델 : https://huggingface.co/yanolja/YanoljaNEXT-Rosetta-27B-2511
해당 글에선 Ollama 및 모델 파일 세팅에 관한 내용 및 파이썬 코드에 관한 내용을 다루지 않습니다.
만들게 된 이유
GeminiAPI는 검열이 심하고 Free-tier에 경우 과도하게 연속으로 실패하면 계정필터를 먹이는 문제가 있었음
Translator++ 나 기존 번역툴들은 sLLM을 사용하기엔 편하지 않았음.
파이썬을 통한 sLLM을 사용한다면 (1) 커스터마이징이 간단하고 (2) 특정 에러에 대한 피드백이 매우 빠르며 (3) 무제한 무료 (4) 검열이 없음
Yanolja Next- Rosseta나 TranslateGemma 이후 로컬 LLM의 번역성능이 꽤나 높게 올라와서 봐줄만함
번역 방법
쯔익으로 번역할 파일을 전부 txt로 추출합니다.
번역할 파일들을 input 폴더에 넣습니다.
본인의 Ollama 주소에 맞게 parser.add_argument('--api', default='http://localhost:11434') 랑
parser.add_argument('--model', default='hf.co/yanolja/YanoljaNEXT-Rosetta-27B-2511-GGUF:q4_K_M') 를 수정합니다.
Tip : 로컬이면 Ollama 그대로 쓰면 되고 연구실이나 사무실 PC면 Tailscale을 통해 IP를 땡겨올 수 있음requirements (아마 pip install requests 하나면 될 듯?)를 설치합니다.
python MVtranslate.py
기본 3회까지 재번역해주는데 3번 연속 실패하면 failed 폴더 들어가서 원인 파악
failed가 있을 경우 원인이 되는원문을 살짝 건드려준뒤 그대로 돌리면 이미 번역된 chunk는 두고 빈 chunk만 알아서 번역해줌
주의 - 번역 퀄리티 체크용으로 샘플로 번역해둔 파일이 있는데 Output폴더랑 temp 폴더를 지우고 번역하는게 좋음
번역 과정 설명
1. input에 있는 파일을 순차적으로 하나씩 불러옵니다.
2. 100줄씩 쪼개서 청크로 분할합니다.
3. Translator++와 같은 원리로 -----, \n[1]등이 망가지지 않게 placeholder로 바꿔줍니다.
4. 번역합니다.
4-1. 실패하면 온도를 바꿔가며 3번까지 재시도하고
5. placeholder를 제자리에 가져다 둡니다.
6. 합칩니다.
코드 자체는 Yanolja Next- Rosseta에 최적화 되어있음
개인적으로 일-한 30B 언더 모델중엔 베스트라고 생각함
Translategemma도 좋다곤 하는데 일-한 번역에선 좀 떨어진다 느꼈음 Qwen-3.5는 훌륭한 모델이지만 27B도 30B A3B도 번역 모델은 아니라 느리고 삑이 많이남
번역 퀄은 RJ01593865에 Commonevents 번역해둔 txt파일이 있으니 확인해보면 될 듯
보통 다른 모델은 system prompt를 받는데
로제타는 조금 구조가 달라서 다른 번역기에 쓰는 시스템 프롬프트를 그대로 쓰면 안됨.
자세한건 허깅페이스 페이지 참조
Ollama를 다룰줄 아는사람이면 아마 파이썬 파일은 Gemini 딸깍으로 만들 수 있을 것 같은데
그냥 세팅값 공유의 개념이라고 생각해주면 좋을 것 같음
sLLM을 좀 다뤄본 사람이면 로제타 허깅페이스를 한번 훑어보면 좋음
기본적으로 tone을 통해 어투를 조정하고 glossary를 통해 사용자 사전을 조정하는데
이 부분은 프롬프팅에 영역이라 정답이 없음. 꿀도르랑 저기 옆동네 AI 채팅 좋아하시는분들이 만들걸 좀 참조해서 프롬프팅을 해봤는데
최적은 아님. 기본적으로 로제타는 기업에서 야X자 운영을 위해 만든 모델이라 표현자체를 순하게 하려는 경향성이 있어서 프롬프팅, 특히 사용자사전을 잘먹여줄 필요성이 있어서 이걸 집단지성으로 좀 개조할 수 있으면 좋겠음
sLLM으로 번역하는사람은 초 마이너겠지만 개선방향이나 프롬프트를 업로드 해준다면 큰 도움이 될 것 같음.
추가 - 번역할때 Actor 불러와서 명사 끝에 조사 맞춰주는거 안했는데
주인공명 같이 유동적일 경우 적용이 안될 것 같아서 Auto조사 플러그인 만들었음
https://kio.ac/c/aXPph-sWgFMFP0uOVGwz0b
아마 찾아보면 있지 싶은데 안보여서 Gemini딸깍해봄. plugins 폴더에 집어넣고 plugins.js 수정
수정(4.5 - 5:22) - Line수가 원본이랑 다르면 재번역 하는기능을 추가함
4.5 - 14:58- Gemma 26B 모델을 써봤는데 성능이 심상치 않음 로제타보다 훨씬 좋은 느낌이라 Gemma4에 맞는 튜닝버전을 제작중