[re:Invent 2019 워크샵] AWS DeepComposer: Get started with generative AI #reinvent
안녕하세요! 클래스메소드 주식회사 의 김태우입니다!
이번 re:Invent 에서 새롭게 발표된 DeepComposer 워크샵에 다녀왔습니다. 저는 DeepComposer 발표되기 전에 GenerativeAI 워크샵이 있어서 신청해놓은거였는데, 발표되고 나니까 워크샵명이 DeepComposer 로 바뀌었더군요! 다들 몇시간씩 기다려서 walk-up 으로 겨우 입장하시던데, 저는 굉장히 편하게 제시각에 슥 들어가서 DeepComposer 키보드도 받아왔다는..^^;;
AWS 에서는 모든 개발자가 수학적 지식이나 박사학위가 없이도 AI 를 마음껏 가지고 놀면서 창조적인 무언가를 만들어내기를 기대하고 또 그를 위해 아낌없이 지원해주고 있습니다. Deep Learning 의 기본적인 지식을 익히기 위해 DeepLens 를 출시했고, Reinforcement Learning 를 익히기 위해 DeepRacer 를, 그리고 GenerativeAI 를 익히기 위해 이번엔 DeepComposer 를 출시했다고 합니다!
참고로, DeepComposer 를 제 블로그를 통해 처음 접하신 분이 계시다면, 심플한 패턴의 악보를 입력하면 이를 기반으로 재즈, 락, 발라드 등 주어진 GAN 모델에 따라 제각각의 멋진 음악을 작곡해주는 서비스입니다. SoundCloud 랑도 연계되어 있어서 생성된 음악을 바로 SoundCloud 등에 업로드하여 공유하는 것도 가능합니다!
AWS 공식블로그 를 읽어보시면 대략 어떤느낌인지 감을 잡으실 수 있을 것 같습니다. 본 포스팅에서는 워크샵에서 진행한 내용과 소감에 대해 적어보려고합니다.
목차
워크샵에서 진행했던 내용
10분전에 입장해서 시작을 기다리면서 두근두근 하는 마음으로 한장 찍었습니다!! 저 키보드를 워크샵에 참여한 전원에게 주었다는..^^;;;
키보드에 대해 설명하는 부분인데 저 그림보고는 이해가 안갔는데 직접 몇번 만져보니까 바로 이해되더군요! 옥타브를 버튼으로 조절할 수 있고, 페달 밟은 효과나 1옥타브 위의 음을 자동으로 번갈아 눌러지는 효과같은 것들이 있었습니다. 이어폰을 끼면서 실습을 진행해서 소리 녹음을 못해와서 조금 아쉽네요.. (받은 DeepComposer 로 제가 직접 작곡해보고 후기글 다시 올리겠습니다ㅎㅎ)
Agenda
처음에 머신러닝의 기본적인 내용들, Supervised Learning / Unsupervised Learning / Reinforcement Learning 에 대한 짧은 설명을 해주고 질문을 10분정도 받았습니다.
그 후에는 GAN 에 대해 5분정도 설명하고 15분정도 Q&A 를 진행했습니다. GAN 에 대해 하나하나 다 설명하려고 하면 끝도 없으니 그냥 일단 한번 해봐~ 라는 식의 마인드로 하이레벨에서의 Q&A 가 이어졌습니다.
그 후에는 직접 키보드로 입력한 음원파일로 기본적으로 주어진 모델에 이것저것 생성해보는 실습(Lab1)을 진행했습니다.
DeepComposer 에 대한 내부 구조에 대해서도 잠깐 설명을 해주었는데요, 아래와 같은 구성도로 표현된다고 합니다.
DeepComposer 콘솔에서는 정말 심플한 인터페이스라서 정말 이게 전부입니다.
DeepComposer 콘솔 인터페이스
Music Studio
Models
Composition
보시는대로 Music Studio 에서 Generate composition 버튼만 누르면 그냥 바로 음원이 생성되는데요,
이런식으로 DeepComposer 에서 디폴트로 제공하는 모델을 선택하거나, SageMaker 로 직접 만든 모델을 선택할 수 있어서 해당 모델을 어떻게 빌드했냐에 따라서 완전히 다른 느낌의 음악을 생성할 수 있습니다. 이 모델을 SageMaker 위에서 직접 커스터마이징하는 과정에서 GAN(Generative Adversarial Networks) 에 대한 깊이 있는 이해가 가능해지는거죠!
생성된 음악은 대략 이런식으로 키보드 외의 다른 악기의 소리가 합해져서 음원이 제작됩니다.
이걸 바로 다운받을 수도 있고, SoundCloud 로 직접 업로드 할 수도 있습니다.
시간 관계상 전체적으로는 Lab2 는 진행하지 못했지만, 저는 살짝 먼저 이것저것 살펴보았는데, SageMaker 인스턴스가 ml.c5.4xlarge 타입으로 세팅되어 있었습니다. 개인이 몇시간 이상 사용하게 되면 비용적으로 부담스러울 수도 있다고 생각할지도 모르지만 Spot Instance 를 활용하시면 굉장히 할인을 많이 받을 수 있으니 모델 학습은 Spot Instance 를 활용하시는것을 추천합니다.
SageMaker 에 대해 직접 실습을 통해 공부하고 싶으신 분들은 제가 어제 작성한 SageMaker 포스트를 참고해주세요!
워크샵 참가 후기
저희 회사에서는 올해 한해동안 DeepRacer 에 대한 열기가 가득했었는데요, 저는 개인적으로 별로 관심이 없었습니다. 장난감으로 무슨 딥러닝을 배운다고.. 라고 생각하며 거의 거들떠보지도 않았는데, 막상 re:Invent 에 참여해보니 생각보다 훨씬 더 제대로 학습하기 위한 툴이구나! 라는 생각이 많이 들었습니다. DeepRacer 의 경우에는 강화학습의 원리나 개념뿐아니라 parameter tuning 을 통해 머신러닝 엔지니어링을 깊숙히 체험하며 학습할 수 있다는 걸 알게되었고, DeepComposer 도 마찬가지로, 직접 SageMaker 와 Jupyter Notebook 을 통해 하나하나 코드레벨에서 GAN 을 깊숙하게 이해할 수 있겠다라는 확신이 들었습니다.
그럼 다음 블로그로 찾아뵙겠습니다~!