괜찮다고 생각되는 TTS 모델에 한국어는 많이 없다.따라서 직접적으로 파인튜닝을 하는 일들이 많은 데, 이때 tts에는 음소와 음절 패딩 부분이 데이터셋에 존재하는 경우가 있다. 음소는 한국어의 자음, 모음처럼 ㄱ, ㄴ, ㄷ, ...ㅏ,ㅑ,ㅓ..등등 각각 따로따로 발음하는, 말 그대로 음의 소리를 나타내어 발음하는 것이다. 이를 영어로는 Phoneme라고 한다. 영어는 음소 언어이므로, 만약 알파벳인 apple을 바꾸면 이렇게 될 것이다. [a,p,p,l,e] 같은 방식으로 한국어도 '사과' 라는 단어가 있다면 [ㅅ,ㅏ,ㄱ,ㅗ,ㅏ]가 된다. 그렇다면 결국 TTS 모델은 숫자를 처리해야 하는데, 음을 어떻게 처리할까? 해답은 간단하다. 바로 각 발음에 숫자를 매겨 조합하는 것이다. 모든 발음과 말은 결국 ..
멀티 에이전트에는 감독형 에이전트와 협력형 에이전트가 있다.이번 프로젝트를 진행할 때, 필자의 팀은 감독형 에이전트를 사용해 심리 상담 에이전트를 구축했었다. 왜 이렇게 구축했냐면, 심리 상담 시스템은 협력해서 결론을 내는 게 아니라 각 전문가가 대답하고, 해당 대답을 모아서 적절한 걸 반환하는 게 맞다고 생각했기 때문이다.실제로 이렇게 구축하면 supervisor가 각 agent에게 대답을 전부 물어보고, 각 대답이 모여 충분히 되었다고 판단되었을 때 어떤 Agent의 대답이 적절한지 판단하고 반환된다. 처음에 LangChain의 ReACT 에이전트로 구성했었는데, 다음과 같은 문제가 발생했다.Invalid or incomplete responseParsing LLM output produced bot..
보호되어 있는 글입니다.
Attention 구조는 시간복잡도 면에서 필연적으로 토큰의 수의 제곱의 시간이 필요하다.이 구조를 타파하기 위해서 Linear Attention 등 많은 해결책을 제시했지만, 결국 토큰이 많아질 수록 모델의 아웃풋이 느려지는 건 해결하지 못했다. Mamba 논문은 그 후 거의 7년만에 나온 대안책으로서, Selective State Space라는 상태 공간 모델링을 통해 RNN, LSTM과 같은 기존 시계열 구조를 쓰면서도, 상태 방정식과 게이트 메커니즘도 도입하여 아웃풋 시간이 토큰의 수와 선형적인 증가를 이룸으로서 문제를 해결했다고 주장한다. 2023년 12월에 나왔지만 최근까지도 LLM 분야에서 굉장히 핫한 이 논문을 오늘 구현해보고, 코드를 살펴보자. 논문 구현에 앞서 확인해야 할 포인트Read..
LLM 세대를 연 가히 혁명적인 논문. 필자는 사실 수십번도 더 봤던 논문이다.그러나 구현 과정에 대해서 자세히 살펴보지 않았었는데, 이번에는 Pytorch 코드를 보면서 어떤 구조로 되어 있는지 정말 정밀하고, 자세하게 살펴보도록 하겠다.논문 구현에 앞서 확인해야 할 포인트Read1. 논문 제목(title)과 초록(abstract), 도표(figures) 읽기2. 도입(introduction), 결론(conclusion), 도표(figures)를 읽고 필요없는 부분 생략3. 수식은 처음 읽을 때는 과감하게 생략4. 이해가 안되는 부분은 빼고 전체적으로 읽는다. QnA1. 저자가 뭘 해내고 싶어했는가?2. 이 연구의 접근에서 중요한 요소는 무엇인가?3. 당신(논문독자)는 스스로 이 논문을 이용할 수 있는..
논문 구현에 앞서 확인해야 할 포인트 Read1. 논문 제목(title)과 초록(abstract), 도표(figures) 읽기2. 도입(introduction), 결론(conclusion), 도표(figures)를 읽고 필요없는 부분 생략3. 수식은 처음 읽을 때는 과감하게 생략4. 이해가 안되는 부분은 빼고 전체적으로 읽는다. QnA1. 저자가 뭘 해내고 싶어했는가?2. 이 연구의 접근에서 중요한 요소는 무엇인가?3. 당신(논문독자)는 스스로 이 논문을 이용할 수 있는가?4. 당신이 참고하고 싶은 다른 레퍼런스에는 어떤 것이 있는가? 구현하기1. 수식 이해하고 직접 연산하기2. 코드 연습하기(오픈소스를 받아 직접 구현) 1. 논문 제목(title)과 초록(abstract), 도표(figures) 읽기H..