카카오 멀티모달 언어모델 카나나를 내 맥북에 설치해서 학습시키려면 어떻게 해야하는지 알아봅니다.
작성자 정보
- 삼둡 작성
- 작성일
컨텐츠 정보
- 31 조회
- 목록
본문
◻ 실행/추론(Inference)만 하려는 경우
Apple Silicon (M1/M2/M3) 기반 맥북이면 가능은 함
3B 모델은 8GB RAM 이상에서 실행 가능 (최소)
15.7B 모델은 로컬에서 실행하기 매우 어렵고, 분산 환경 or 클라우드 GPU가 필요
◻ 학습(fine-tuning)까지 하려는 경우
3B 모델 fine-tuning: 가능하지만 RAM 16GB 이상, 8GB VRAM 이상 GPU 필요
맥북 내장 GPU(M1/M2)는 성능이 제한적이라 full fine-tuning은 비효율적
→ LoRA(Low-Rank Adaptation) 방식의 경량 학습 방법 사용 추천
brew install git python pyenv
pyenv install 3.10.13 # 권장 버전
pyenv global 3.10.13
pip install --upgrade pip
pip install torch transformers accelerate peft
M1/M2 맥북이라면 PyTorch는 아래처럼 설치:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
✅ 필요한 툴 설치 (M1/M2 맥북 기준 정리)
1. Python 설치 (권장: pyenv 사용)
bash
복사편집
brew install pyenv pyenv install 3.10.13 pyenv global 3.10.13
2. 가상환경 만들기 (선택사항, 권장)
bash
복사편집
python -m venv venv source venv/bin/activate
3. pip 업그레이드
bash
복사편집
pip install --upgrade pip
4. PyTorch 설치 (M1/M2 맞춤 버전)
◻ 방법 1: Metal 가속 버전 (GPU 활용 가능)
bash
복사편집
pip install torch torchvision torchaudio
※ 이 경우는 macOS + M1/M2 칩을 자동 인식해서 Metal 가속 버전 설치됨 (pip 최신 버전 사용 시)
◻ 방법 2: CPU-only 경량 버전 (GPU 미사용)
bash
복사편집
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
이건 GPU 안 쓰는 환경에서 메모리 아끼려고 쓰는 버전이에요.
✅ 그 외 필수 패키지 설치 (둘 다 공통)
bash
복사편집
pip install transformers accelerate peft datasets
◻ Fine-tuning (파인튜닝)이란?
이미 사전 학습(pretrained)된 대형 언어모델(예: Kanana-1.5-v-3b)을,
내가 원하는 특정 목적에 맞게 추가 학습하는 것을 말합니다.
예: 의료 데이터, 한의학 문장, 특정 도메인 질문응답 등
사용자가 보유한 데이터셋으로 "조금 더" 훈련
◻ 경량 학습이란?
GPT류 모델들은 수억~수천억 개 파라미터가 있어서 전체를 학습하려면 GPU 메모리가 수십 GB 필요합니다.
하지만 대부분의 사용자는 그렇게 큰 자원을 못 쓰기 때문에,
일부 레이어만 업데이트하는 식으로 경량화된 학습 방식을 사용합니다.
✅ LoRA란?
**LoRA (Low-Rank Adaptation)**는 경량 Fine-tuning 방식의 하나로:
원래 모델의 파라미터는 고정(=동결)해 두고,
**매우 작은 수의 추가 파라미터(저랭크 행렬)**만 학습합니다.
성능은 거의 비슷하게 나오는데, GPU 메모리 사용량이 대폭 줄어듭니다.
예:
원래 모델이 3B 파라미터라고 해도,
LoRA로 학습하는 건 수백만 개 수준의 파라미터만 조정하는 것에 그칩니다.
✅ 그래서 LoRA 기반 Fine-tuning은 어떤 의미?
"대형 모델 전체를 학습하지 않고, 작은 조각만 추가로 학습해서 원하는 결과를 얻을 수 있다"
라는 의미입니다.
예를 들어
내가 한의학 상담 데이터를 가지고 있음
이를 Kanana 모델에 적용하고 싶다면,
LoRA를 활용해 저렴한 리소스로도 학습이 가능

녹취 한 것을 JSON으로 전환해주는 툴이 있나?
ChatGPT의 말:
네, **녹취(음성)**를 자동으로 텍스트로 전사하고, 이를 JSON 형태로 구조화해주는 도구들이 존재합니다. 목적에 따라 다양한 접근이 가능한데, 아래에 현실적인 방법들을 카테고리별로 정리해드릴게요.
✅ 1. 녹음 파일 → 텍스트 (음성 인식)
우선 음성을 자동으로 텍스트로 바꾸는 음성 인식(ASR: Automatic Speech Recognition) 단계가 필요합니다.
◻ 주요 툴
도구
장점
특징
Whisper (OpenAI)
매우 정확
로컬 사용 가능, 한의학 용어도 잘 인식
Naver CLOVA Note
한국어에 특화
발화자 분리, 웹 기반, 무료 요금제 있음
**네이버 클로바 노트(CLOVA Note)**는 기본적으로 텍스트 전사 + 발화자 분리 + 타임라인을 제공하지만,
JSON 파일로 직접 다운로드하는 기능은 기본적으로 제공하지 않습니다.
하지만 다음과 같은 방식으로 JSON 구조로 변환하는 것이 가능합니다.
[00:00:01.00] 화자1: 요즘 자꾸 배가 아프고 설사를 해요.
[00:00:06.50] 화자2: 식사 후에 증상이 더 심해지시나요?
[00:00:09.30] 화자1: 네, 특히 점심 먹고 나면 그렇습니다.
위와 같이 네이버 클로바로 추출을 하고
다음 파이썬으로 정리
import re, json
lines = open("clova_note.txt", encoding="utf-8").read().splitlines()
result = []
for line in lines:
match = re.match(r"\[(.*?)\] (화자\d+): (.+)", line)
if match:
time, speaker, text = match.groups()
result.append({
"speaker": speaker,
"timestamp": time,
"text": text
})
with open("clova_note.json", "w", encoding="utf-8") as f:
json.dump(result, f, ensure_ascii=False, indent=2)
[
{ "speaker": "화자1", "text": "요즘 자꾸 배가 아프고 설사를 해요." },
{ "speaker": "화자2", "text": "식사 후에 증상이 더 심해지시나요?" }
]
관련자료
-
이전
-
다음