일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 오픈소스
- 시간적 일관성
- 일론 머스크
- AI
- LORA
- 강화 학습
- 3d 재구성
- PYTHON
- 오픈AI
- AI 기술
- 생성형 AI
- 메타
- LLM
- tts
- 딥러닝
- 트랜스포머
- 다국어 지원
- 오블완
- gradio
- OpenCV
- ChatGPT
- 실시간 렌더링
- 우분투
- 코딩
- 인공지능
- ubuntu
- 확산 모델
- 휴머노이드 로봇
- OpenAI
- 티스토리챌린지
- Today
- Total
AI 탐구노트
NotaGen : 클래식 음악을 작곡하는 심볼릭 음악 생성 모델 본문
음악 생성 기술이 발전하면서 인공지능이 작곡하는 음악의 질이 점점 향상되고 있습니다. 초기의 음악 생성 모델은 단순한 멜로디 패턴을 학습하고 생성하는 수준이었지만, 최근에는 대형 언어 모델(LLM)에서 영감을 받은 기법들이 적용되면서 더욱 정교한 음악을 만들어낼 수 있게 되었습니다.
이 글에서는 NotaGen이라는 심볼릭 음악 생성 모델을 소개합니다. NotaGen 논문에서는 대형 언어 모델의 훈련 패러다임(사전 훈련, 미세 조정, 강화 학습) 을 적용하여 음악의 질을 향상시키는 방법을 탐구하며 특히, CLaMP-DPO라는 강화 학습 기법을 통해 사람의 평가 없이도 자동으로 음악성을 개선하는 방식을 제안하고 있습니다.
심볼릭 음악(SM, Symbolic Music) : 음표, 리듬, 코드 등과 같은 음악 요소를 기호화하여 데이터로 표현한 것. MIDI와 악보(sheet music) 데이터가 대표적인 예. 심볼릭 음악을 활용하면 인간이 직접 연주할 수 있는 형식으로 음악을 생성할 수 있기 때문에 음악 생성 모델의 음악성이 중요한 평가 요소가 됨
심볼릭 음악 생성 기존 방식의 문제점
심볼릭 음악 생성에서 기존 모델들이 직면한 문제점은 다음과 같습니다.
- 고품질 음악 데이터 부족 : 음악 생성 모델을 학습시키려면 방대한 양의 고품질 음악 데이터가 필요합니다. 하지만 기존 데이터셋은 부족하거나, MIDI 형식에 편중되어 있습니다.
- 음악적 일관성 부족 : 일반적인 LLM 기반 모델들은 단순한 다음 음표 예측 방식(next-token prediction)으로 학습되기 때문에, 음악의 구조적인 일관성이 떨어질 수 있습니다.
- 강화 학습의 높은 비용 : 음악성을 높이기 위해 사람의 피드백을 반영하는 강화 학습(RLHF, Reinforcement Learning from Human Feedback) 을 사용할 수 있지만, 사람이 직접 평가해야 하므로 비용이 높습니다.
NotaGen
NotaGen의 접근 방식
NotaGen은 대형 언어 모델(LLM)의 훈련 방식을 음악 생성에 적용하여 위 문제를 해결하고자 합니다. 이를 위해 3단계 학습 전략을 사용합니다.
1) 사전 훈련 (Pre-training)
- 160만 개 이상의 악보 데이터를 활용하여 기초적인 음악 구조를 학습합니다.
- 여러 악기와 스타일을 포함한 대규모 데이터셋을 활용하여 다양한 음악적 특징을 익힙니다.
2) 미세 조정 (Fine-tuning)
- 152명의 클래식 작곡가의 작품 9,000개를 기반으로, 특정 스타일(예: "바로크-바흐-건반악기")을 반영하도록 학습합니다.
- 특정 시대/작곡가/악기에 맞는 음악을 생성하는 능력을 향상시킵니다.
3) 강화 학습 (Reinforcement Learning with CLaMP-DPO)
- CLaMP-DPO 기법을 적용하여 모델이 자동으로 음악성을 개선할 수 있도록 합니다.
- 사람의 피드백 없이도, 기존의 고품질 음악 데이터와 비교하여 더 나은 음악을 생성하도록 최적화합니다.
NotaGen에 적용된 세부 기술
1) CLaMP-DPO: 자동화된 강화 학습 기법
- 기존의 RLHF와 달리, 사람이 직접 평가하지 않고도 모델이 스스로 더 좋은 음악을 만들도록 학습합니다.
- 모델이 생성한 음악을 기존의 고품질 음악과 비교하여 "좋은 음악"과 "나쁜 음악"을 자동으로 구분하고, 더 좋은 음악을 생성하도록 강화합니다.
- 이를 위해 Direct Preference Optimization (DPO) 알고리즘을 활용합니다.
DPO 알고리즘 : AI 모델이 사람의 선호도를 학습하는 방식. 좋은 음악 여부를 판단할 때 CLaMP 2 모델을 사용함
CLaMP 2 : AI가 만든 음악을 기존의 고품질 음악과 비교해 평가하도록 학습된 모델. 멜로디/화성/리듬/구조/악기의 적절한 배치/작곡가 스타일 등 다양한 기준에 맞춰 분석 평가를 진행함
2) ABC 표기법(ABC Notation) 기반의 데이터 표현 방식
- 악보 데이터를 효과적으로 표현하기 위해 ABC Notation을 사용합니다.
- 기존의 MIDI 방식보다 더 직관적으로 악보를 표현할 수 있어, 다양한 음악 스타일을 효과적으로 학습할 수 있습니다.
3) 바 패치(bar-stream patching) 기법을 활용한 구조적 학습
- 음악을 작은 단위(바, 마디)로 나누어 학습하여 구조적인 일관성을 높입니다.
- 바흐(Bach) 같은 작곡가들의 대위법(counterpoint) 구조도 더 잘 반영할 수 있습니다.
NotaGen 제약사항
- 대규모 모델 학습 비용 : LLM 기반 모델을 활용하기 때문에 학습에 많은 GPU 리소스가 필요합니다.
- 오케스트라 음악 생성의 어려움 : 소규모 앙상블(예: 피아노 솔로, 현악 4중주)에서는 우수한 성과를 보였지만, 대규모 오케스트라 음악에서는 한계가 있었습니다.
NotaGen은 대형 언어 모델의 훈련 패러다임을 활용하여 심볼릭 음악 생성의 음악성을 획기적으로 향상시킨 모델입니다.
- 대규모 사전 훈련을 통해 다양한 음악적 요소를 학습
- 미세 조정을 통해 특정 작곡가/악기 스타일을 반영
- CLaMP-DPO 강화 학습을 활용하여 자동으로 음악성을 개선
실험 결과, NotaGen은 기존 모델(MuPT, MET)보다 더 높은 음악성을 보여주었으며, 인간이 작곡한 음악과 비교했을 때도 높은 평가를 받았습니다. 앞으로는 재즈, 팝 등의 다양한 장르에도 적용할 수 있도록 연구를 확장할 예정이라고 합니다.
참고자료
- 사이트) NotaGen 프로젝트 사이트 (링크)
- 논문) NotaGen: Advancing Musicality in Symbolic Music Generation with Large Language Model Training Paradigms (링크)
- 코드) NotaGen github repo (링크)
Q&A
Q. NotaGen이 기존 음악 생성 모델과 다른 점은 무엇인가요?
대형 언어 모델(LLM)의 훈련 방식을 적용하고, CLaMP-DPO 기법을 통해 사람이 직접 평가하지 않아도 자동으로 음악성을 개선할 수 있습니다.
Q. NotaGen을 활용하면 어떤 음악을 만들 수 있나요?
클래식 음악을 중심으로 작곡가 스타일, 시대적 특성을 반영한 음악을 생성할 수 있으며, 향후 다양한 장르로 확장할 계획입니다.
Q. NotaGen의 한계점은 무엇인가요?
대규모 GPU 연산 비용이 필요하며, 오케스트라와 같은 복잡한 음악에서는 여전히 개선이 필요합니다.
'AI 기술' 카테고리의 다른 글
Phi-4 : Mixture-of-LoRAs를 활용한 강력한 멀티모달 언어 모델 (0) | 2025.03.08 |
---|---|
DiffRhythm : 빠르고 일관성있는 혁신적인 음악 제작 기술 (1) | 2025.03.07 |
olmOCR: PDF에서 자연어 처리를 위한 최적의 텍스트 추출 솔루션 (0) | 2025.03.04 |
Wan 2.1 : 알리바바 그룹의 고품질 영상 생성 모델 (1) | 2025.03.04 |
Mercury: 상업 규모의 첫 확산 기반 대형 언어 모델 (1) | 2025.03.02 |