주말동안 루나트랜스에 대해 좀 공부해 본 거 공유 겸 정리 글 작성
좀 두서 없을 수도 있음
1. 다중 자막
루나트랜스는 여러가지 번역을 동시에 띄울 수 있는 툴이고
따라서 여러가지 번역 API를 동시에 활용할 수 있음
이때 번역 자막의 색상을 지정해서 구분되게 띄울 수 있음
나의 경우 파파고는 청색, LLM 번역은 녹색을 사용해서 구분했음
2. LLM 기반 번역
루나트랜스가 다른 후킹 툴들과 가장 차별점을 가지는 기능
LLM 기반으로 한 번역을 지원함
설정법
번역 설정 - 대형 모델 범용 인터페이스 활성화 - 오른쪽 톱니바퀴
범용 LLM 모델이어도 별도의 설정 없이도 바로 번역이 실행되는 것으로 보아(AI가 사족을 안달고 번역문만 딱 출력함) 자체적으로 루나트랜스에서 프롬프트를 입력해주기 때문으로 보임
물론 사용자 정의 프롬프트를 사용하여 지시사항을 추가할 수도 있음
나는 몇 가지 프롬프트를 입력해서 좀 더 번역을 교정해 보려했는데 (예시: 「 」 2가지 기호로 둘러싸인 텍스트는 인물의 대사이므로 구어체로 번역하고, 나머지는 문어체로 번역하라.)
그렇게 썩 말을 잘 알아듣는 것 같지는 않았음
근데 이건 내가 프롬프트를 잘 모르고 맘 대로 해본거라 더 효과적인 프롬프트가 있을거라 생각함
그 아래에는 언어 모델의 파라미터를 몇가지 설정할 수 있음
Temperature는 언어 모델에서 단어를 선택하는 확률의 분포를 어떻게 가져갈 것인지를 뜻함
이 값이 낮을수록 언어 모델이 추론한 가장 확률 높은 단어를 선택할 확률이 올라가고
값이 높을 수록 다양한 단어를 선택할 확률이 올라감
top p 는 누적확률샘플링을 뜻함
확률이 높은 단어부터 확률을 누적하여 top p 값에 도달하기 전까지의 단어만을 고려하게 됨
우리가 원하는 것은 정확한 번역이니 여러 연구 결과에 따르면
Temperature 값은 0.0 ~ 0.2 사이의 값, top p는 0.9~1.0 사이의 값이 이상적이라고 함
아무튼 이 기능을 사용하여
많이들 사용하는 Gemini를 사용한 번역 역시 가능함
그 밖에도 많은 api들을 지원함
api 키만 넣으면 자동으로 모델들까지 불러들여주는 간편한 기능임
제미나이를 써서 설정하는 내용은 찾아보면 이미 정보가 많이 있어서 나는 로컬에서 LLM을 돌려서 하는걸 설명해보겠음
3. 로컬 LLM을 이용한 번역
로컬 LLM이어도 기본적으로 대규모 모델들과 동작원리는 똑같음
차이점은 파라미터 갯수가 차이가 나게 되고 이에 따라 언어 모델의 성능의 차이가 발생하는 것이고, 또 빅테크들마다 언어 모델의 약점을 보완하기 위한 다양한 기술들이 적용되어 있기 때문에 여기서도 차이가 발생할 수 있음
실시간 번역에 사용할 때 로컬 LLM의 장점
- 외부 네트워크를 통하지 않아서 딜레이가 거의 없음(가벼운 모델에 한해서만)
- api token 구매를 위한 비용이 들지 않음
- 번역에 특화되게 세부적인 조정이나 튜닝이 가능함
실시간 번역에 사용할 때 로컬 LLM의 단점
- 어느 정도 성능이 받쳐주는 PC가 있어야함 (특히 그래픽카드)
- 사이즈 큰 모델은 오히려 빅테크 모델들보다 느릴 수 있음
- 파라미터가 적어서 번역 성능이 딸릴 수도 있음
일단 로컬 LLM을 사용하기 위해서는 Ollama 라는 프로그램을 설치해야함
로컬 모델을 다운받고 실행하고 서버로 배포하는 것까지 간편하게 해줄 수 있는 프로그램임
글 짤릴까봐 링크는 생략하고 구글에 Ollama 검색하면 바로 나옴
간편하게 GUI 환경도 제공해 주지만 우리는 CLI 환경에서 몇가지 설정을 해주어야함
일단 다운받을 모델에 대한 설정
윈도우에서 cmd 창을 열고 원하는 모델을 찾은 다음
ollama run {모델 명}
으로 명령어를 실행시켜주면
모델이 다운받아지게 됨
커멘드창에서도 언어모델을 사용할 수 있지만 이걸 하고싶은건 아니니
일단 CTRL + D 를 눌러서 빠져나오고
ollama serve
명령어를 쳐주면 웹 서버가 실행되게 됨
이 서버의 역할은 제미나이 등에서의 api 서버가 수행하는 역할을 로컬에서 가능하게 해줌
즉, 이렇게 서버를 구동하면 언어 모델을 루나트랜스에서 활용할 수 있게 된다는 것
이제 다시 루나트랜스 설정 화면으로 돌아오면
위와 같이 Ollama 인터페이스 주소 프로파일이 있음 이걸 선택해주면 됨
따로 설정을 바꾸지 않았으면 포트번호는 11434 번으로 열릴 거임
로컬 모델의 경우 API KEY는 필요 없고 이제 model 옆의 새로고침 표시를 한번 누르면
이렇게 현재 로컬에 설치되어있는 모델이 표시될 것임
모델을 하나 고르고 매개변수 설정을 마치고 확인을 누르면 제미나이와 마찬가지로 인공지능 번역을 사용할 수 있음
로컬 모델 역시 사용법은 간단하지만
어떤 모델을 사용할지는 정답이 없고 컴퓨터 사양이나 사용목적에 따라 달라짐
3.1 모델 선택
현재는 대 AI 시대에 걸맞게 오픈소스로 수많은 모델들이 나와있음
Google에서 만든 gemma, Meta에서 만든 Llama, 중국 Deepseek 등등 셀 수 없이 많은 언어 모델들이 있고 이중에 우리는 골라서 쓰면 되는 것임
모델들을 살펴보면 이름 뿐만 아니라 옆에는 알 수 없는 숫자와 기호들이 붙어있는데
이것의 의미에 대해 필수적인 것만 간단하게 설명하면
8b, 12b, 32b -> 모델 파라미터의 갯수임. 이 숫자가 올라갈 수록 모델이 무거워지고 필요한 VRAM이 증가하게 됨. 대신 그만큼 성능도 올라간다.
Q4, Q8 -> 양자화 모델. 기존 원본 모델을 양자화 시켜서 구동 시 필요한 VRAM 용량을 줄인 모델.
일반적으로 Q4 양자화가 모델 성능 감소가 심하지 않으면서도 용량을 획기적으로 줄인 선택지이고 특별한 이유가 없으면 이 모델을 선택하면 됨
내가 사용하는 그래픽카드 모델은 5070ti 이고 이 모델은 16GB의 Vram을 갖추고 있기 때문에 Q4 양자화 기준 16GB가 넘지 않는 모델을 선택하는 것이 적합함
물론 Vram보다 큰 모델을 사용하더라도 사실 문제 없이 돌아가기는 함
단지 모자라는 용량을 Dram을 끌어다가 공유 Vram 으로 사용하기 때문에 추론속도가 확연하게 느려지고 이렇게 되면 우리의 목적인 실시간 번역에는 적합하지 않음.
한줄 번역하는데 10초씩 걸리면 겜 못해먹을 정도이니 이런 상황은 피하는게 좋겠지?
참고로 Q4 모델 기준 파라미터 갯수 별 필요 Vram 양은 일반적으로 다음과 같음
8B: 4.5~6GB
12B: 7~9GB
27B: 14~17GB
32B: 18~22GB
각자 컴퓨터 사양에 맞춰서 모델을 선택하면 됨
3.2 모델 별 간단한 사용 소감
내가 테스트 삼아 사용해본 몇 가지 모델들에 대해 사용해 본 결과를 적어둘테니 모델 선택할 때 참고바람
gemma3:27b-it-q4_K_M
속도: 1~3초 정도 약간 딜레이가 있지만 못 써먹을 정도는 아님
번역: 번역 퀄 좋음. 다만 말투가 통일되지 못하는 경향성이 약간 있었음.
Qwen3-14B-GGUF:Q4_K_M
속도: 왜 그런지 모르겠지만 추론시간이 너무 길게 잡혀 도저히 못써먹을 정도. 뭔가 모델을 생각을 오래하는 걸로 잘못받은 건지도 모르겠음. 번역퀄은 따로 확인하지 않음
deepseek-r1:8b
속도: 엄청나게 빠름.
번역: 파라미터가 적은 모델이라서 인지는 몰라도 도저히 못 써먹을 정도. 중간중간 한자도 뜬금없이 튀어나옴
aya-expense:8b
속도: 엄청나게 빠름. 파파고 보다 빠른듯
번역: 소형 모델임에도 불구하고 꽤나 쓸만한 번역성능인 것 같음. gemma 급은 되는 것 같은 느낌이 듬
aya-expense:32b
속도: Vram 한계로 속도 상당히 느림. gemma3 보다도 느림.
번역: 8b 모델에 비해 번역퀄도 더 좋아지고 상당히 괜찮은 것 같음
아카라이브 익명 유저의 파인튜닝모델(링크 댓글)
속도: 매우 빠름.
번역: 미연시 번역을 위해 파인튜닝된 모델답게 좋은 성능. 다만 뭔가 루나트랜스랑 설정이 안맞는지 불필요한 문자열이 자꾸 출력됨
(불필요한 문자열 예시)
4. 후리가나 표시 기능
설정법
사전 설정 - 형태소 분석기 - 리소스 다운로드 - 다운로드
이후 형태소 분석 & 발음 표기 항목의
"발음 표기 표시" 활성화
5. 단어 사전 검색 기능
겜 하다 일본어 모르는 단어가 나올 때 그 단어를 클릭하면 인터넷 단어사전으로 이동하는 기능
아무 인터넷 사전이나 다 사용할 수 있음
설정법
사전설정 - 단어를 클릭할 때 - 외부링크 열기(링크 표시)
원하는 인터넷 사전 링크 입력
네이버 사전의 경우 다음 링크를 입력하면 됨
링크: https://ja.dict.naver.com/#/search?query={word}
6. 최종 사용형태
최종적으로 Papago + Gemma3 두개
후리가나랑 사전기능까지 사용해서 이렇게 플레이 하는중
일단은 이렇게 하고 또 쓰다 보면 또 더 좋은 방식이 떠오르지 않을까 생각 중
아카라이브 링크:
https://arca.라이브/b/alpaca/156688039
금지어 설정때문에 라이브 -> live로 변경해야함
고수네...
ai 생기고 면시하기 진짜 편해진게 느껴지더라. 00년대에는 게임 어떻게 했을까 존경하게 되더라고
설마 면시하며 컴성능 업글해야하나 고민하는 날이 오게될줄이야 ㅋㅋㅋ - dc App
나도 로컬모델 써볼까 고민만 했었는데 정리해줘서 고맙다
이글보고 덕분에 잘 따라했는데 중간에 olama serve 입력하고 웹서버 여는거 안되서 건너뛰었는데도 번역은 큰 문제없이 되는거 같은데 하고 안하고 차이가 있나요?
지금 확인해보니까 ollama 프로그램이 실행중이면 서버 수동으로 안켜도 자동으로 켜지는 것으로 확인함. 그래서 잘 되는거 같음 그리고 본문에 olama serve -> ollama serve 오타나서 명령어 안먹힌듯 ㅋㅋ 수정해놓음
오 이런게 있구나 좋넹
로컬 모델은 gemma 3n E4B가 모델 크기 대비 좋더라고요